Show
Ignore:
Timestamp:
04/26/08 10:59:21 (9 months ago)
Author:
rporter
Message:

trunk/data/compile_helike.in - the compile command has changed, update this file
trunk/data/compile_hlike.in - add this file to compile the hlike recomb data/compile_helike.in
trunk/data/h_iso_recomb.dat - store He+ levels up to 40 (like H) instead of 20 (like rest of sequence)
trunk/source/hydroeinsta.cpp - cache As from collapsed to resolved
trunk/source/iso.h - declare several new routines and variables related to collapsed levels; change number of levels in He+ recomb data file to be same as H and He
trunk/source/iso_collide.cpp - only kill some collisions with "case b hummer" for h-like sequence (i.e., do nothing for he-like)
trunk/source/iso_create.cpp - allocate space for new variables, refactor iso_cascade, define new functions iso_collapsed_Aul_update, iso_collapsed_bnl_print, iso_collapsed_bnl_set, and iso_collapsed_lifetimes_update.
trunk/source/iso_radiative_recomb.cpp - break out effective recomb calculation into its own routine.
trunk/source/iso_solve.cpp - call new routines related to getting collapsed to resolved As correct.
trunk/source/parse_abundances.cpp - remove redundant "CAME" parsing, and non-existant "NLR" option from print statement.
trunk/source/parse_atom_iso.cpp - change to RREC_MAXN
trunk/source/parse_compile.cpp - change to RREC_MAXN and LIKE_RREC_MAXN
trunk/source/prt_lines_helium.cpp - add "TOTL" 10830 as line with regular label as well
trunk/source/rt_line_all.cpp - remove dead code

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/source/hydroeinsta.cpp

    r1732 r1969  
    4848        long ipISO = ipH_LIKE; 
    4949        /* charge to 4th power, needed for scaling laws for As*/ 
    50         double z4 = POW2((double)nelem+1); 
     50        double z4 = POW4((double)nelem+1.); 
    5151        DEBUG_ENTRY( "hydro_transprob()" ); 
    52  
    53         z4 *= z4; 
    5452 
    5553        if( ipHi >= iso.numLevels_max[ipISO][nelem]-iso.nCollapsed_max[ipISO][nelem] ) 
     
    6967                        Aul = H_Einstein_A( N_(ipHi), L_(ipLo)+1, N_(ipLo), L_(ipLo), nelem+1 ); 
    7068 
     69                        iso.CachedAs[ipISO][nelem][ N_(ipHi)-iso.n_HighestResolved_max[ipISO][nelem]-1 ][ ipLo ][0] = (realnum)Aul; 
     70 
    7171                        Aul *= (2.*L_(ipLo)+3.) * 2. / (2.*(double)N_(ipHi)*(double)N_(ipHi)); 
    7272 
     
    7676                                Aul1 = H_Einstein_A( N_(ipHi), L_(ipLo)-1, N_(ipLo), L_(ipLo), nelem+1 ); 
    7777 
     78                                iso.CachedAs[ipISO][nelem][ N_(ipHi)-iso.n_HighestResolved_max[ipISO][nelem]-1 ][ ipLo ][1] = (realnum)Aul1; 
     79 
    7880                                /* now add in this part after multiplying by stat weight for lHi = lLo-1.       */ 
    7981                                Aul += Aul1*(2.*L_(ipLo)-1.) * 2. / (2.*(double)N_(ipHi)*(double)N_(ipHi)); 
    8082                        } 
     83                        else 
     84                                iso.CachedAs[ipISO][nelem][ N_(ipHi)-iso.n_HighestResolved_max[ipISO][nelem]-1 ][ ipLo ][1] = NULL; 
    8185                        iso_put_error(ipISO,nelem,ipHi,ipLo,IPRAD,0.01f); 
    8286                        ASSERT( Aul > 0.);