Changeset 685

Show
Ignore:
Timestamp:
12/05/06 18:14:43 (21 months ago)
Author:
gary
Message:

dayslow_master.pl - use icl rather than gcc for slow test suite
ion_solver.cpp - undo bug introduced in rev 622. now looks at matrix elements to see if singular
rt_stark.cpp - resolved ambiguous overload
blr_n09_p18_Z20.in - add punch convergence error command
limit_hi_ion.in - renamed func_hi_ion.in to this since it tests code in high ionization limit

Location:
trunk
Files:
7 modified
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/scripts/dayslow_master.pl

    r324 r685  
    6767#$exe_org = "$c:/projects/cloudy/trunk/release/trunk.exe"; 
    6868# use fast gcc exe 
    69 $exe_org = "$c:/projects/cloudy/trunk/gcc/release/cloudy_gcc.exe"; 
     69$exe_gcc = "$c:/projects/cloudy/trunk/gcc/release/cloudy_gcc.exe"; 
     70$exe_icl = "$c:/projects/cloudy/trunk/icl/release/cloudy_icl.exe"; 
     71$exe_org = $exe_icl; 
    7072system("cp $exe_org $out_dir "); 
    7173#$exe = "c:/projects/Cloudy/trunk/release/trunk.exe"; 
    7274#$exe = "$out_dir"."trunk.exe"; 
    73 $exe = "$out_dir"."cloudy_gcc.exe"; 
     75$exe_gcc = "$out_dir"."cloudy_gcc.exe"; 
     76$exe_icl = "$out_dir"."cloudy_icl.exe"; 
     77$exe = $exe_icl; 
    7478printf(ioLOG "exe is $exe\n"); 
    7579 
  • trunk/source/atmdat_adfa.cpp

    r682 r685  
    11/* This file is part of Cloudy and is copyright (C)1978-2006 by Gary J. Ferland 
    22 * For conditions of distribution and use see copyright notice in license.txt */ 
    3 /*atmdat_phfit derive photoionization cross sectoins for first 30 elements */ 
     3/*atmdat_phfit derive photoionization cross sections for first 30 elements */ 
    44#include "cddefines.h" 
    55#include "physconst.h" 
     
    6363 
    6464                bool lgErr = false; 
    65                 long i, j, k, n; 
     65                long i=-1, j=-1, k=-1, n; 
    6666 
    6767                lgErr = lgErr || ( fscanf( io, "%ld", &i ) != 1 ); 
  • trunk/source/date.h

    r652 r685  
    88 * in the morning so no date conflict happens */ 
    99#define YEAR    106 
    10 #define MONTH   10 
    11 #define DAY     29 
     10#define MONTH   11 
     11#define DAY     5 
  • trunk/source/hot_issues.txt

    r636 r685  
    11HOT ISSUES 
     2 
     3sim blr_n09_p18_Z20.in has very different convergence properties for PvH than here.  cause by r622 
    24 
    35code review - behar - gu uta data read in atmdat_readin.cpp 
  • trunk/source/ion_solver.cpp

    r652 r685  
    4545        int lgNegPop; 
    4646        static int lgMustMalloc=TRUE; 
    47         static double *sink, *source; 
     47        static double *sink, *source , *sourcesave; 
    4848        int32 nerror; 
    4949        static int32 *ipiv; 
     
    221221                        BadMalloc(); 
    222222                if( (source=(double*)MALLOC( (sizeof(double)*(unsigned)ncell ))) == NULL ) 
     223                        BadMalloc(); 
     224                if( (sourcesave=(double*)MALLOC( (sizeof(double)*(unsigned)ncell ))) == NULL ) 
    223225                        BadMalloc(); 
    224226                if( (ipiv=(int32*)MALLOC( (sizeof(int32)*(unsigned)ncell ))) == NULL ) 
     
    514516                        MAT( xmatsave, i, j ) = MAT( xmat, i, j ); 
    515517                } 
     518                sourcesave[i] = source[i]; 
    516519        } 
    517520 
     
    523526        * will not be removed, a possible source of error, but they must not 
    524527        * have been significant, given that the molecular fraction is so small */ 
     528        if( !lgHomogeneous && ion_range==2 ) 
     529        { 
     530                /* solve algebraically */ 
     531                double a = MAT( xmatsave, 0, 0 ),  
     532                        b = MAT( xmatsave, 1, 0 ) , 
     533                        c = MAT( xmatsave, 0, 1 ) , 
     534                        d = MAT( xmatsave, 1, 1 ); 
     535                b = SDIV(b); 
     536                d = SDIV(d); 
     537                double ratio1 = a/b , ratio2 = c/d , fratio1=fabs(a/b),fratio2=fabs(c/d); 
     538                if( fabs(ratio1-ratio2)/MAX2(fratio1,fratio2) <DBL_EPSILON*1e4 ) 
     539                { 
     540                        abund_total = SDIV( dense.gas_phase[nelem] -  dense.xMolecules[nelem] ); 
     541                        lgHomogeneous = TRUE; 
     542                } 
     543        } 
     544#       if 0 
    525545        if( nelem==ipHYDROGEN &&  
    526546                fabs(dense.xMolecules[nelem]) / SDIV(dense.gas_phase[ipHYDROGEN]) <DBL_EPSILON*100. ) 
    527547        { 
     548                abund_total = SDIV( dense.gas_phase[nelem] -  dense.xMolecules[nelem] ); 
    528549                lgHomogeneous = TRUE; 
    529550        } 
     551#       endif 
    530552 
    531553        /* this is true if no source terms  
     
    566588        } 
    567589 
     590        for( i=0; i< ion_range; ++i ) 
     591        { 
     592                for( j=0; j< ion_range; ++j ) 
     593                { 
     594                        MAT( xmatsave, i, j ) = MAT( xmat, i, j ); 
     595                } 
     596                sourcesave[i] = source[i]; 
     597        } 
     598 
    568599        if ( FALSE && nelem == ipHYDROGEN && dynamics.lgAdvection&& iteration>1 )  
    569600        { 
     
    728759                enum {DEBUG_LOC=FALSE}; 
    729760                /*@+redef@*/ 
    730                 if( DEBUG_LOC && (nzone >380 ) && nelem == ipHYDROGEN ) 
    731                 { 
    732                         fprintf(ioQQQ,"debuggg\t%.2f\t%.4e\t%.4e\tIon\t%.3e\tRec\t%.3e\n",  
     761                if( DEBUG_LOC && nelem == ipHYDROGEN ) 
     762                { 
     763                        fprintf(ioQQQ,"debuggg ion_solver1 \t%.2f\t%.4e\t%.4e\tIon\t%.3e\tRec\t%.3e\n",  
    733764                                fnzone, 
    734765                                phycon.te, 
  • trunk/source/rt_stark.cpp

    r604 r685  
    5858         * with negative optical depths, 
    5959         * NB did not understand why neg optical depths started */ 
    60         aa = pow(SDIV(EmisLines[ipH_LIKE][ipHYDROGEN][ipH2p][ipH1s].TauIn),-0.75f); 
     60        aa = (float)SDIV(EmisLines[ipH_LIKE][ipHYDROGEN][ipH2p][ipH1s].TauIn); 
     61        aa = pow( aa ,-0.75); 
    6162        hydro.pestrk[ipH1s][ipH2p] = strkla/2.*MAX2(1.,aa); 
    6263 
  • trunk/tsuite/auto/blr_n09_p18_Z20.in

    r670 r685  
    2525punch dr "blr_n09_p18_Z20.dr" 
    2626punch convergence reason "blr_n09_p18_Z20.cvr" 
     27punch convergence error "blr_n09_p18_Z20.cve" 
    2728c 
    2829c commands giving the asserts    ========= 
  • trunk/tsuite/auto/limit_hi_ion.in

    r656 r685  
    1010c 
    1111c commands controlling output    ========= 
    12 punch heating "func_hi_ion.het" 
    13 punch cooling "func_hi_ion.col" 
     12punch heating "limit_hi_ion.het" 
     13punch cooling "limit_hi_ion.col" 
    1414c  
    1515c commands giving the asserts    =========