Changeset 1175
- Timestamp:
- 06/08/07 10:50:41 (1 year ago)
- Files:
-
- trunk/data/readme_data.htm (modified) (1 diff)
- trunk/source/cool_eval.cpp (modified) (4 diffs)
- trunk/source/date.h (modified) (1 diff)
- trunk/source/init_defaults_preparse.cpp (moved) (moved from trunk/source/init_defaults.cpp)
- trunk/source/mole_h2.cpp (modified) (20 diffs)
- trunk/source/mole_h2_etc.cpp (modified) (28 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/data/readme_data.htm
r919 r1175 161 161 <h3>fe2nn.dat</h3> 162 162 <p>nn(142) - actual level numbers for each of Zhang and Pradhan levels</p> 163 <h3> fe2levels.dat</h3>164 <p>This gives the spectroscopic levels sorted in increasing order within the 165 model atom.</p>163 <h3> 164 fe2energies.dat</h3> 165 <p>This gives the energy levels in increasing order.</p> 166 166 <hr> 167 167 <h2>Molecular hydrogen files</h2> trunk/source/cool_eval.cpp
r1122 r1175 139 139 if( hmi.lgNoH2Mole ) 140 140 { 141 /* this branch - do not include molecules */ 141 142 hmi.hmicol = 0.; 142 143 CoolHeavy.brems_cool_hminus = 0.; … … 159 160 else 160 161 { 161 162 /* save it */ 162 /* save various molecular heating/cooling agent */ 163 163 thermal.heating[0][15] = hmi.hmihet; 164 164 thermal.heating[0][16] = hmi.h2plus_heat; … … 227 227 /* add to heating is net heating is positive */ 228 228 thermal.heating[0][8] = MAX2(0.,hmi.HeatH2Dexc_used); 229 229 230 /* add to cooling if net heating is negative */ 230 231 CoolAdd("H2cX",0,MAX2(0.,-hmi.HeatH2Dexc_used)); … … 234 235 /*thermal.dCooldT += MAX2(0.,-hmi.HeatH2Dexc_used)* ( 30172. * thermal.tsq1 - thermal.halfte );*/ 235 236 /* >>chng 04 jan 25, check sign to prevent cooling from entering here, 236 * also enter neg sign since going into cooling stack (bug), in hea dsum237 * also enter neg sign since going into cooling stack (bug), in heatsum 237 238 * same term adds to deriv of heating */ 238 239 if( hmi.HeatH2Dexc_used < 0. ) trunk/source/date.h
r1168 r1175 9 9 #define YEAR 107 10 10 #define MONTH 5 11 #define DAY 411 #define DAY 7 trunk/source/mole_h2.cpp
r1167 r1175 3394 3394 return; 3395 3395 } 3396 /*lint -e668 possible bad pointer */ 3397 /*lint -e802 possible bad pointer */ 3396 3398 3397 3399 /*H2_cooling evaluate cooling and heating due to H2 molecule, called by … … 3401 3403 void H2_Cooling( 3402 3404 /* string saying who called this routine, 3403 * H2lupcall within H2 level populations solver3404 * CoolEvaluatecall from main cooling routine */3405 * "H2lup" call within H2 level populations solver 3406 * "CoolEvaluate" call from main cooling routine */ 3405 3407 const char *chRoutine) 3406 3408 { 3407 static long int nCount=0;3408 3409 long int iElecHi , iElecLo , iVibHi , iVibLo , iRotHi , iRotLo; 3409 3410 double heatone , … … 3412 3413 long int nColl, 3413 3414 ipHi, ipLo; 3414 double Big1_heat , Big1_cool; 3415 double Big1_heat , Big1_cool, 3416 H2_X_col_cool , H2_X_col_heat; 3415 3417 long int ipVib_big_heat_hi,ipVib_big_heat_lo ,ipRot_big_heat_hi , 3416 3418 ipRot_big_heat_lo ,ipVib_big_cool_hi,ipVib_big_cool_lo , 3417 3419 ipRot_big_cool_hi , ipRot_big_cool_lo; 3418 static double old_HeatH2Dexc=0.;3419 3420 /*# define DEBUG_DIS_DEAT*/ 3420 3421 # ifdef DEBUG_DIS_DEAT … … 3422 3423 long int iElecBig , iVibBig , iRotBig; 3423 3424 # endif 3424 /* option to keep track of strongest single heating agent */ 3425 # define DEBUG_H2_COLL_X_HEAT false 3425 3426 /* option to keep track of strongest single heating agent due to collisions 3427 * within X */ 3428 enum {DEBUG_H2_COLL_X_HEAT=false }; 3426 3429 3427 3430 DEBUG_ENTRY( "H2_Cooling()" ); 3431 3432 /* possible debug counters, counter itself, counter to turn on 3433 * debug output, and counter for stopping */ 3434 static long int nCount=-1; 3435 long int nCountDebug = 930, 3436 nCountStop = 940; 3437 ++nCount; 3428 3438 3429 3439 /* nCallH2_this_iteration is not incremented until after the level … … 3439 3449 return; 3440 3450 } 3441 3442 old_HeatH2Dexc = hmi.HeatH2Dexc_BigH2;3443 3451 3444 3452 hmi.HeatH2Dish_BigH2 = 0.; … … 3491 3499 * collisional transitions within X */ 3492 3500 hmi.HeatH2Dexc_BigH2 = 0.; 3501 H2_X_col_cool = 0.; 3502 H2_X_col_heat = 0.; 3493 3503 /* these are the colliders that will be considered as depopulating agents */ 3494 3504 /* the colliders are H, He, H2 ortho, H2 para, H+ */ 3495 3505 /* atomic hydrogen */ 3496 if( DEBUG_H2_COLL_X_HEAT && nCount == 692 || nCount==693 ) 3497 { 3498 /*lint -e668 possible bad pointer */ 3499 /*lint -e802 possible bad pointer */ 3506 long int nBug1 = 200 , nBug2 = 201; 3507 /* fudge(-1) returns number of fudge factors entered on fudge command */ 3508 if( fudge(-1) > 0 ) 3509 { 3510 nBug1 = (long)fudge(0); 3511 nBug2 = (long)fudge(1); 3512 } 3513 if( DEBUG_H2_COLL_X_HEAT && nCount == nBug1 || nCount==nBug2 ) 3514 { 3500 3515 FILE *ioBAD=NULL; 3501 if( nCount== 692)3516 if( nCount==nBug1 ) 3502 3517 { 3503 3518 ioBAD = fopen("firstpop.txt" , "w" ); 3504 3519 } 3505 else if( nCount== 693)3520 else if( nCount==nBug2 ) 3506 3521 { 3507 3522 ioBAD = fopen("secondpop.txt" , "w" ); … … 3517 3532 } 3518 3533 fclose(ioBAD); 3519 /*lint +e668 possible bad pointer */3520 /*lint +e802 possible bad pointer */3521 3534 } 3522 3535 … … 3546 3559 for( ipLo=0; ipLo<ipHi; ++ipLo ) 3547 3560 { 3548 double oneline;3561 double coolone , oneline; 3549 3562 ip = H2_ipX_ener_sort[ipLo]; 3550 3563 iVibLo = ipVib_H2_energy_sort[ip]; … … 3576 3589 }/* end loop over all colliders */ 3577 3590 3578 /* net heating due to collisions within X - this will usually be heating - 3591 /* net heating due to collisions within X - 3592 * positive if heating, negative is cooling 3593 * this will usually be heating if X is photo pumped 3579 3594 * in printout and in punch heating this is called "H2cX" */ 3580 oneline = (rate_dn_heat - rate_up_cool)*3595 heatone = rate_dn_heat * 3581 3596 (energy_wn[iElecHi][iVibHi][iRotHi] - energy_wn[iElecLo][iVibLo][iRotLo]) * 3582 3597 ERG1CM; 3598 coolone = rate_up_cool* 3599 (energy_wn[iElecHi][iVibHi][iRotHi] - energy_wn[iElecLo][iVibLo][iRotLo]) * 3600 ERG1CM; 3601 /* this is net heating, negative if cooling */ 3602 oneline = heatone - coolone; 3583 3603 hmi.HeatH2Dexc_BigH2 += oneline; 3584 3604 3585 if( DEBUG_H2_COLL_X_HEAT && (nCount == 692 || nCount==693) ) 3605 /* keep track of heating and cooling separately */ 3606 H2_X_col_cool += coolone; 3607 H2_X_col_heat += heatone; 3608 3609 if( 0 && DEBUG_H2_COLL_X_HEAT && (nCount == 692 || nCount==693) ) 3586 3610 { 3587 3611 static FILE *ioBAD=NULL; … … 3598 3622 fprintf(ioBAD,"DEBUG start \n"); 3599 3623 } 3600 fprintf(ioBAD,"DEBUG BAD DAY %li %li %li %li %.3e \n",3601 iVibHi , iRotHi, iVibLo , iRotLo , oneline );/**/3624 fprintf(ioBAD,"DEBUG BAD DAY %li %li %li %li %.3e %.3e\n", 3625 iVibHi , iRotHi, iVibLo , iRotLo , heatone , coolone );/**/ 3602 3626 if( ipHi==nLevels_per_elec[iElecHi]-1 && 3603 3627 ipLo==ipHi-1 ) … … 3605 3629 } 3606 3630 3607 /* derivative wrt temperature - assume exp wrt ground - this needs to be3608 * divided by square of temperature in wn -3631 /* derivative wrt temperature - assume exp wrt ground - 3632 * this needs to be divided by square of temperature in wn - 3609 3633 * done at end of loop */ 3610 hmi.deriv_HeatH2Dexc_BigH2 += (float)(oneline *energy_wn[iElecHi][iVibHi][iRotHi]); 3634 hmi.deriv_HeatH2Dexc_BigH2 += (float)(oneline * 3635 energy_wn[iElecHi][iVibHi][iRotHi]); 3611 3636 3612 3637 /* oneline is net heating, positive for heating, negative … … 3646 3671 * nCountDebug is count to turn on debug prints, 3647 3672 * nCountStop is count to abort code */ 3648 long int nCountDebug = 630,3649 nCountStop = 700;3650 3673 if(nCount>nCountDebug ) 3651 3674 { 3652 3675 fprintf(ioQQQ, 3653 "DEBUG H2_Cooling A %li %15s, Te %.3e Heat(Xcol) %.2e H+/0 " 3676 "DEBUG H2_Cooling A %li %15s, Te %.3e net Heat(Xcol) %.2e " 3677 "heat %.2e cool %.2e H+/0 " 3654 3678 "%.2e n(H2)%.3e Sol rat %.3e grn J1->0%.2e frac heat 1 line " 3655 3679 "%.2e Hi(v,j)%li %li Lo(v,J)%li %li frac cool 1 line %.2e " … … 3658 3682 phycon.te, 3659 3683 hmi.HeatH2Dexc_BigH2 , 3684 H2_X_col_cool , 3685 H2_X_col_heat , 3660 3686 dense.xIonDense[ipHYDROGEN][1]/SDIV(dense.xIonDense[ipHYDROGEN][0]), 3661 3687 hmi.H2_total, … … 3735 3761 fprintf(ioQQQ,"\n"); 3736 3762 } 3737 ++nCount;3738 if( nCount > nCountStop )3739 {3740 cdEXIT( EXIT_FAILURE );3741 }3742 # if 03743 else if( nCount > 630 )3744 {3745 mole.nH2_TRACE = mole.nH2_trace_full;3746 trace.npsbug = 1;3747 trace.lgTrace = true;3748 geometry.nprint = 1;3749 iterations.IterPrnt[0] = 1;3750 }3751 # endif3752 3763 } 3753 3764 … … 3767 3778 3768 3779 { 3769 enum {DEBUG_LOC= true };3780 enum {DEBUG_LOC=false }; 3770 3781 if( DEBUG_H2_COLL_X_HEAT && DEBUG_LOC && 3771 3782 (fabs(hmi.HeatH2Dexc_BigH2) > SMALLFLOAT) ) … … 3811 3822 rate_dn_heat, 3812 3823 rate_up_cool); 3824 if( nCount>= nCountStop ) 3825 cdEXIT(EXIT_FAILURE); 3813 3826 } 3814 3827 } … … 3836 3849 } 3837 3850 3851 # if 0 3838 3852 /* this can be noisy due to finite accuracy of solution, so take average with 3839 3853 * previous value */ … … 3848 3862 old_HeatH2Dexc = hmi.HeatH2Dexc_BigH2; 3849 3863 } 3850 { 3851 enum {DEBUG_LOC=true}; 3852 if( DEBUG_LOC && DEBUG_H2_COLL_X_HEAT ) 3853 { 3854 static long int kount = 0; 3855 ++kount; 3856 fprintf(ioQQQ,"DEBUG H2_cooling E %15s vib deex %li Te %.3e heat %.2e J7/5 %.4e J13/11 %.4e\n", 3864 # endif 3865 { 3866 enum {DEBUG_LOC=false}; 3867 if( DEBUG_LOC /*&& DEBUG_H2_COLL_X_HEAT*/ ) 3868 { 3869 fprintf(ioQQQ,"DEBUG H2_cooling E %15s %c vib deex %li Te %.3e net heat %.3e cool %.3e heat %.3e\n", 3857 3870 chRoutine , 3858 kount, 3871 TorF(conv.lgSearch), 3872 nCount, 3859 3873 phycon.te, hmi.HeatH2Dexc_BigH2, 3874 H2_X_col_cool , 3875 H2_X_col_heat /*, 3860 3876 H2_populations[0][0][7]/SDIV(H2_populations[0][0][5]) , 3861 H2_populations[0][0][13]/SDIV(H2_populations[0][0][11]) );/**/ 3862 /*if( kount > 635 ) 3863 cdEXIT(EXIT_FAILURE);*/ 3877 H2_populations[0][0][13]/SDIV(H2_populations[0][0][11])*/ ); 3878 if( 0 && nCount > nCountStop ) 3879 { 3880 cdEXIT( EXIT_FAILURE ); 3881 } 3864 3882 } 3865 3883 } … … 3874 3892 return; 3875 3893 } 3876 #undef DEBUG_H2_COLL_X_HEAT3877 3894 3878 3895 … … 4058 4075 return; 4059 4076 } 4060 4061 4077 /*lint +e668 possible bad pointer */ 4078 /*lint +e802 possible bad pointer */ 4079 4080 trunk/source/mole_h2_etc.cpp
r1163 r1175 39 39 iElecLo = 0; 40 40 41 /* find rate (s-1) h2 dissoc into X continuum by Solomon process and41 /* find rate (s-1) h2 dissociation into X continuum by Solomon process and 42 42 * assign to the TH85 g and s states 43 43 * these will go back into the chemistry network */ 44 44 45 /* rates [s-1] for dissociation from s or g, into elec excited states45 /* rates [s-1] for dissociation from s or g, into electronic excited states 46 46 * followed by dissociation */ 47 47 hmi.H2_Solomon_dissoc_rate_BigH2_H2g = 0.; … … 53 53 54 54 /* at this point we have already evaluated the sum of the radiative rates out 55 * of the electronic excited states - this is H2_rad_rate_out[elec ][vib][rot]55 * of the electronic excited states - this is H2_rad_rate_out[electronic][vib][rot] 56 56 * and this includes both decays into the continuum and bound states of X */ 57 57 … … 64 64 { 65 65 66 /* loop over all lower levels within ground of X to find decay rates from H2g to continuum 67 * nEner_H2_ground is number of levels in H2g as determined by ENERGY_H2_STAR */ 66 /* loop over all lower levels within ground of X to find 67 * decay rates from H2g to continuum 68 * nEner_H2_ground is number of levels in H2g as determined 69 * by ENERGY_H2_STAR */ 68 70 for( iplo=0; iplo < nEner_H2_ground; ++iplo ) 69 71 { … … 73 75 if( lgH2_line_exists[iElecHi][iVibHi][iRotHi][0][iVibLo][iRotLo] ) 74 76 { 75 /* this is the rate {cm-3 s-1] that mole goes from lower level into electronic excited 76 * states then into continuum */ 77 /* this is the rate {cm-3 s-1] that mole goes from 78 * lower level into electronic excited states then 79 * into continuum */ 77 80 double rate_up_cont = 78 81 H2_populations[iElecLo][iVibLo][iRotLo]* … … 80 83 H2_dissprob[iElecHi][iVibHi][iRotHi] / H2_rad_rate_out[iElecHi][iVibHi][iRotHi]; 81 84 82 /* this is H2g up to exec excit then to continuum - cm-3 s-1 at this point */ 85 /* this is H2g up to excited then to continuum - 86 * cm-3 s-1 at this point */ 83 87 hmi.H2_Solomon_dissoc_rate_BigH2_H2g += rate_up_cont; 84 88 85 /* rate elec state decays into H2g */89 /* rate electronic state decays into H2g */ 86 90 hmi.H2_Solomon_elec_decay_H2g += 87 91 H2_populations[iElecHi][iVibHi][iRotHi]* … … 100 104 if( lgH2_line_exists[iElecHi][iVibHi][iRotHi][0][iVibLo][iRotLo] ) 101 105 { 102 /* this is the rate {cm-3 s-1] that mole goes from lower level into elec excited 103 * states then into continuum */ 106 /* this is the rate {cm-3 s-1] that mole goes from 107 * lower level into electronic excited states then 108 * into continuum */ 104 109 double rate_up_cont = 105 110 H2_populations[iElecLo][iVibLo][iRotLo]* … … 107 112 H2_dissprob[iElecHi][iVibHi][iRotHi] / H2_rad_rate_out[iElecHi][iVibHi][iRotHi]; 108 113 109 /* this is H2s up to exec excit then to continuum - cm-3 s-1 at this point */ 114 /* this is H2s up to exec excited then to continuum 115 * cm-3 s-1 at this point */ 110 116 hmi.H2_Solomon_dissoc_rate_BigH2_H2s += rate_up_cont; 111 117 112 /* rate elec state decays into H2s */118 /* rate electronic state decays into H2s */ 113 119 hmi.H2_Solomon_elec_decay_H2s += 114 120 H2_populations[iElecHi][iVibHi][iRotHi]* … … 174 180 iRotLoX = ipRot_H2_energy_sort[ip]; 175 181 iVibLoX = ipVib_H2_energy_sort[ip]; 176 /* now find all pumps up to elec excited states */182 /* now find all pumps up to electronic excited states */ 177 183 /* sum over all electronic states, finding dissociation rate */ 178 184 for( iElecHi=1; iElecHi<mole.n_h2_elec_states; ++iElecHi ) … … 184 190 if( lgH2_line_exists[iElecHi][iVibHi][iRotHi][0][iVibLoX][iRotLoX] ) 185 191 { 186 /* this is the rate {cm-3 s-1] that mole goes from lower level into elec excited 187 * states then into continuum */ 192 /* this is the rate {cm-3 s-1] that mole goes from 193 * lower level into electronic excited states then 194 * into continuum */ 188 195 double rate_up_cont = 189 196 H2_populations[0][iVibLoX][iRotLoX]* … … 191 198 192 199 double decay_star = H2_rad_rate_out[iElecHi][iVibHi][iRotHi] - H2_dissprob[iElecHi][iVibHi][iRotHi]; 193 /* loop over all other levels in H2g, subtracting their rate - remainder is rate into star 194 * this is usually only a few levels */ 200 /* loop over all other levels in H2g, subtracting 201 * their rate - remainder is rate into star, this is 202 * usually only a few levels */ 195 203 for( ipOther=0; ipOther < nEner_H2_ground; ++ipOther ) 196 204 { … … 209 217 /* MAX because may underflow to negative numbers is rates very large 210 218 * this is fraction that returns to H2s */ 211 decay_star = MAX2(0., decay_star)/ H2_rad_rate_out[iElecHi][iVibHi][iRotHi];219 decay_star = MAX2(0., decay_star)/SDIV(H2_rad_rate_out[iElecHi][iVibHi][iRotHi]); 212 220 hmi.H2_H2g_to_H2s_rate_BigH2 += rate_up_cont*decay_star; 213 221 214 222 }/* end if line exists */ 215 }/* end loop rot elec excit*/216 }/* end loop vib elec excit*/217 }/* end loop elec elec excit*/223 }/* end loop rot electronic excited */ 224 }/* end loop vib electronic excited */ 225 }/* end loop electronic electronic excited */ 218 226 } 219 227 … … 222 230 223 231 DEBUG_EXIT( "H2_gs_rates()" ); 224 225 232 return; 226 233 } … … 236 243 DEBUG_ENTRY( "H2_zero_pops_too_low()" ); 237 244 238 /* >>chng 05 jan 26, add this block to set populations to ltevalue */245 /* >>chng 05 jan 26, add this block to set populations to LTE value */ 239 246 for( iElec=0; iElec<mole.n_h2_elec_states; ++iElec ) 240 247 { … … 252 259 } 253 260 /* zero everything out - loop over all possible lines */ 254 /* >>chng 05 jan 26, set to ltevalues, since we still need to accumulate Lyman line261 /* >>chng 05 jan 26, set to LTE values, since we still need to accumulate Lyman line 255 262 * optical depths to have correct self-shielding when large h2 does come on */ 256 263 for( iElecHi=0; iElecHi<mole.n_h2_elec_states; ++iElecHi ) … … 263 270 { 264 271 long int lim_elec_lo = 0; 265 /* now the lower levels */266 /* NB - iElecLo the lower electronic level is only X267 * we don't consider excited elec to excit elec trans here, since we are only268 * concerned with excited electronic levels as a photodissociation process269 * code exists to relax this assumption - simply change following to iElecHi */272 /* now the lower levels 273 * NB - iElecLo the lower electronic level is only X 274 * we don't consider excited electronic to excited electronic trans here, since we are only 275 * concerned with excited electronic levels as a photodissociation process 276 * code exists to relax this assumption - simply change following to iElecHi */ 270 277 for( iElecLo=0; iElecLo<=lim_elec_lo; ++iElecLo ) 271 278 { 272 /* want to include all vib states in lower level if different elec level,273 * but only lower vib levels if same elec level */279 /* want to include all vib states in lower level if different electronic level, 280 * but only lower vib levels if same electronic level */ 274 281 long int nv = h2.nVib_hi[iElecLo]; 275 282 if( iElecLo==iElecHi ) … … 287 294 288 295 /* population of lower level */ 289 /* >>chng 05 jan 26, set to ltevalue */296 /* >>chng 05 jan 26, set to LTE value */ 290 297 H2Lines[iElecHi][iVibHi][iRotHi][iElecLo][iVibLo][iRotLo].Lo.Pop = 291 298 H2_populations[iElecLo][iVibLo][iRotLo]; … … 329 336 330 337 DEBUG_EXIT( "H2_zero_pops_too_low()" ); 331 332 338 return; 333 339 } … … 380 386 H2_stat[iElec][iVib][iRot] / part_fun; 381 387 /*if( iElec==0 && iVib < 2) 382 fprintf(ioQQQ,"DEBUG ltepop\t%i\t%i\t%e\n",388 fprintf(ioQQQ,"DEBUG LTE pop\t%i\t%i\t%e\n", 383 389 iVib,iRot,H2_populations_LTE[iElec][iVib][iRot]*hmi.H2_total);*/ 384 390 } … … 394 400 395 401 DEBUG_EXIT( "mole_H2_LTE()" ); 396 397 402 return; 398 399 403 } 400 404 … … 404 408 /* the order of the electronic states is 405 409 * X, B, C+, C-, B', D+, and D- */ 406 /* this will be the number of vibration levels within each elec */410 /* this will be the number of vibration levels within each electronic */ 407 411 /* number of vib states within electronic states from 408 412 * >>refer H2 energies Abgrall, */ … … 413 417 long int Jlowest_init[N_H2_ELEC] = {0 , 0 , 1 , 1 , 0 , 1 , 1 }; 414 418 415 /* number of rotation levels within each elec - vib */419 /* number of rotation levels within each electronic - vib */ 416 420 /*lint -e785 too few init for aggregate */ 417 421 long int nRot_hi_init[N_H2_ELEC][50]= … … 450 454 /* the order of the electronic states is 451 455 * X, B, C+, C-, B', D+, and D- */ 452 /* this will be the number of vibration levels within each elec */456 /* this will be the number of vibration levels within each electronic */ 453 457 /* number of vib states within electronic states from 454 458 * >>refer H2 energies Abgrall, */ … … 486 490 487 491 /* number of times large molecules evaluated in this iteration, 488 * is false if never evaluated, on next evaluation will start with ltepopulations */492 * is false if never evaluated, on next evaluation will start with LTE populations */ 489 493 nCallH2_this_iteration = 0; 490 494 … … 504 508 505 509 DEBUG_EXIT( "H2_Reset()" ); 506 507 510 return; 508 509 511 } 510 512 … … 519 521 520 522 /* this is the smallest ratio of H2/H where we will bother with the large H2 molecule 521 * this value was chosen so that large mole used at very start of TH85 standard pdr,523 * this value was chosen so that large mole used at very start of TH85 standard PDR, 522 524 * NB - this appears in headinfo and must be updated there if changed here */ 523 525 /* >>chng 03 jun 02, from 1e-6 to 1e-8 - in orion veil large H2 turned on half way … … 626 628 627 629 DEBUG_EXIT( "H2_Zero()" ); 628 629 630 return; 630 631 } … … 834 835 } 835 836 836 /*k = pow(10.,H2_He_coll_fit_par[init][final][0]+b2+c2) + pow(10.,H2_He_coll_fit_par[init][final][4]+f2);*/837 837 sum1 = H2_He_coll_fit_par[init][final][0]+b2+c2; 838 838 sum2 = H2_He_coll_fit_par[init][final][4]+f2; … … 846 846 { 847 847 /* rate of 1e-6 is largest possible rate according to Phillip 848 * Stancil email 07 may 27 */848 * Stancil email 07 may 27 */ 849 849 fprintf(ioQQQ,"PROBLEM H2-He rate coefficient hit cap, upper index of %li" 850 850 " lower index of %li rate was %.2e resetting to 1e-6, Te=%e\n",
