Show
Ignore:
Timestamp:
05/10/08 09:03:02 (4 months ago)
Author:
peter
Message:

Merging all changes from mainline upto r2033, except r1902.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/c08_branch/source/iso_collide.cpp

    r1853 r2034  
    6363         * factor.  The result was a collisional recombination that had residual exponentials of 
    6464         * the form exp(x/kT), which blew up at small T.        */ 
    65         if( !iso.lgLevelsLowered[ipISO][nelem] && ipISO == ipHE_LIKE ) 
    66                 iso.ColIoniz[ipISO][nelem][iso.numLevels_max[ipISO][nelem]-1] *= 1.E5; 
    67  
    68         //if( !iso.lgLevelsLowered[ipISO][nelem] && ipISO == ipH_LIKE ) 
    69         //      iso.ColIoniz[ipISO][nelem][iso.numLevels_max[ipISO][nelem]-1] *= 1.E5; 
    70  
    71         fixit(); /* h-like should be arbitrarily scaled at highest level also. */ 
    72          
    73         /* hummer and storey option for case b kills coll ioniz from 1 and 2 */ 
    74         if( opac.lgCaseB_HummerStorey ) 
    75         { 
    76                 if( ipISO == ipH_LIKE ) 
    77                 { 
    78                         iso.ColIoniz[ipISO][nelem][ipH1s] = 0.; 
    79                         iso.ColIoniz[ipISO][nelem][ipH2p] = 0.; 
    80                         iso.ColIoniz[ipISO][nelem][ipH2s] = 0.; 
    81                 } 
    82                 else if( ipISO == ipHE_LIKE ) 
    83                 { 
    84                         iso.ColIoniz[ipISO][nelem][ipHe1s1S] = 0.; 
    85                         iso.ColIoniz[ipISO][nelem][ipHe2s1S] = 0.; 
    86                         iso.ColIoniz[ipISO][nelem][ipHe2p1P] = 0.; 
    87                         fixit();   
    88                         /* Some case b Hummer & Storey models have botches 
    89                  * if these are turned off.  But should they be? 
    90                  * Or should we change the model?  What defines HS? */ 
    91 #if     0                 
    92                         iso.ColIoniz[ipISO][nelem][ipHe2s3S] = 0.; 
    93                         iso.ColIoniz[ipISO][nelem][ipHe2p3P0] = 0.; 
    94                         iso.ColIoniz[ipISO][nelem][ipHe2p3P1] = 0.; 
    95                         iso.ColIoniz[ipISO][nelem][ipHe2p3P1] = 0.; 
    96 #endif                   
    97                 } 
    98                 else 
    99                         TotalInsanity(); 
     65        if( !iso.lgLevelsLowered[ipISO][nelem] ) 
     66        { 
     67                iso.ColIoniz[ipISO][nelem][iso.numLevels_max[ipISO][nelem]-1] *= 10.;/*1.E5;*/ 
     68                iso.ColIoniz[ipISO][nelem][iso.numLevels_max[ipISO][nelem]-1] *= 10.;/*1.E5;*/ 
    10069        } 
    10170         
     
    297266                                                Transitions[ipISO][nelem][ipHi][ipLo].Coll.csi[ipALPHA] = 0.; 
    298267                                        } 
     268                                        else 
     269                                                TotalInsanity(); 
    299270                                         
    300271                                        if( N_(ipHi) != N_(ipLo) ) 
     
    323294                                } 
    324295                        } 
    325  
    326                         /* this kills collisional excitation from n=1 and n=2 
    327                          * in the case b hummer and storey option */ 
    328                         if( opac.lgCaseB_HummerStorey && ipISO == ipH_LIKE ) 
    329                         { 
    330                                 for( ipLo=0; ipLo<=ipH2p; ipLo++ ) 
     296                } 
     297                 
     298                /* the case b hummer and storey option, 
     299                 * this kills collisional excitation and ionization from n=1 and n=2 */ 
     300                if( opac.lgCaseB_HummerStorey && ipISO==ipH_LIKE ) 
     301                { 
     302                        for( ipLo=0; ipLo<iso.numLevels_max[ipISO][nelem]-1; ipLo++ ) 
     303                        { 
     304                                if( N_(ipLo)>=3 ) 
     305                                        break; 
     306 
     307                                iso.ColIoniz[ipISO][nelem][ipLo] = 0.; 
     308 
     309                                for( ipHi=ipLo+1; ipHi<iso.numLevels_max[ipISO][nelem]; ipHi++ ) 
    331310                                { 
    332                                         for( ipHi=3; ipHi<iso.numLevels_max[ipISO][nelem]; ipHi++ ) 
    333                                         { 
    334                                                 Transitions[ipISO][nelem][ipHi][ipLo].Coll.cs = 0.; 
    335                                                 Transitions[ipISO][nelem][ipHi][ipLo].Coll.csi[ipPROTON] = 0.; 
    336                                                 Transitions[ipISO][nelem][ipHi][ipLo].Coll.csi[ipHE_PLUS] = 0.; 
    337                                                 Transitions[ipISO][nelem][ipHi][ipLo].Coll.csi[ipALPHA] = 0.; 
    338                                         } 
     311                                        Transitions[ipISO][nelem][ipHi][ipLo].Coll.cs = 0.; 
     312                                        Transitions[ipISO][nelem][ipHi][ipLo].Coll.csi[ipPROTON] = 0.; 
     313                                        Transitions[ipISO][nelem][ipHi][ipLo].Coll.csi[ipHE_PLUS] = 0.; 
     314                                        Transitions[ipISO][nelem][ipHi][ipLo].Coll.csi[ipALPHA] = 0.; 
    339315                                } 
    340316                        } 
    341317                } 
    342                  
     318 
    343319                /*********************************************************************** 
    344320                 *                                                                     *