- Member cdTemp (const char *chLabel, long int IonStage, double *TeMean, const char *chWeight)
- 2 this should have a last argument like cdIonFrac for whether or not weighting is wrt electron density
- Member ChargTranEval (void)
1 update ct to Kimura et al. (1996)
1 above rate not intended for very low temperatures - find ref for low-T rate, probably is 1e-9 like above
0 these should be values at 1e5 K
2 not currently used - include as deexcitation process
- Member ContCreatePointers ()
- 2 what are we trying to print here?
- Member ContCreatePointers ()
- 2 what are we trying to print here?
- Member ContRate (double *freqm, double *opacm)
- 2 - this routine is very important since it sets the pace for the calculation, and directly affects the convergence of the code. Most of the logic is very old and messy. 1) make sure all test cases have save dr 2) cat all these reasons together into one file and sort on the reason 3) discover what logic is the main pacesetter for the code 4) which are never triggered and so can be removed
- Member ConvBase (long loopi)
- 0 PvH prefers test against err/10
- Member dBaseAbund (long ipSpecies)
- 0 this pointer should be cached one time, and the species removed from the list if it is not computed
- Member diatomics::diatomics (const string &a, const double &e_star, const double *const abund, double(*fun)(double))
- 3 these should be const since cannot change, are flags
- Member diatomics::init (void)
1 add this as a Lya excitation process
2 put supra thermal excitation into excitation of electronic bands
- Member DoSatelliteLines (long nelem)
- 2 say where these come from
- Member DummyEmis
- 2 bring these two together.
- Member ForbiddenAuls (long nelem, long nHi, long lHi, long sHi, long jHi, long nLo, long lLo, long sLo, long jLo)
2 find a transition probability for this 2^3P0 - 2^3P1 transition. It will require a bit of trickery to insert into the rate matrix, because of the fact that the lower level has a higher index. See discussion "Energy order within 2 3P" near the top of helike.c
2 find a transition probability for this 2^3P1 - 2^3P2 transition. It will require a bit of trickery to insert into the rate matrix, because of the fact that the lower level has a higher index. See discussion "Energy order within 2 3P" near the top of helike.c
- Member GrainChargeTemp ()
2 this algorithm might be more efficient with Brent
2 should collisional heating/cooling be included here?
2 use something like log(ThermRatio) + log(delta) ????
2 this algorithm might be more efficient with Brent
- Member GrainCollHeating (size_t, realnum *, realnum *)
- 2 a self-consistent treatment for the heating by Compton recoil should be used
- Member GrainElecEmis1 (size_t, long, double *, double *, double *, double *)
- - add ionizations due to cosmic rays
- Member GrainsInit ()
- xray - StickElec depends on Te ???? use elec_esc_length(1.5*kTe,nd) ????
- Member HeatSum (void)
- 1 add part of hard heat to secondaries
- Member InitBinAugerData (size_t, long, long)
- xray - Compton recoil still needs to be added here
- Member iso_create ()
- 2 this should support j-resolved transitions as wavl depends strongly on that
- Member iso_create ()
- 2 this should support j-resolved transitions as wavl depends strongly on that
- Member iso_level (const long int ipISO, const long int nelem, double &renorm)
- 2 the indices for the two-photon rates must be changed for further iso sequences.
- Member iso_photo (long ipISO, long int nelem)
- 2 - hydro.lgHInducImp should depend on iso and nelem, even better - just call one gamnc and within that code check to see whether induced is important by looking at occnum near threshold
- Member iso_satellite (void)
- 2 say where these come from
- Member iso_update_rates (void)
- 2 the indices for the two-photon rates must be changed for further iso sequences.
- Member lgElemsConserved ()
- 2 this assert is not passed if error made much smaller. This error should be related to a check on convergence of the molecular networks and their sum rules, with a criteria used here and there
- Member lgElemsConserved ()
- 2 this assert is not passed if error made much smaller. This error should be related to a check on convergence of the molecular networks and their sum rules, with a criteria used here and there
- Member lines_continuum (void)
- 2 this block of lines should have nInu, InwT, InwC like main vector of continuum points
- Member mole_h2_grain_form (void)
- 2 - put in actual composition dependent Tad - this is only valid for bare surfaces - not ice - for ice Tad is 555K hmi.Tad is binding energy expressed as a temperature note that hmi.Tad is set to 800. in zero tau_nu the first equation in section 2.5 equation one paragraph before equation 2 at low grain temperatures all end in para, J=0
- Member mole_h_reactions (void)
2 following always true, why? either remove test or use it - it is here to save time - this step routine is called very often
2 this should be done with new populations after converged soln
- Member NewChargeData (long)
- 2 should any of the following 3 statements be removed?
- Member OpacityAddTotal (void)
2 add charged heavy elements
1 stupid - why this test on opacity_abs ? - we only get here if we already passed above test on this very thing
- Member ParseDynaWind (Parser &p)
2 Need to include divergence terms in pressure balance if flux index is != 0
2 Need to include divergence terms in pressure balance if flux index is != 0
- Member ParseMonitorResults (Parser &)
- 2 NB this is not used, should do both, and more molecules (H2 only for now)
- Member ParseMonitorResults (Parser &)
- 2 NB this is not used, should do both, and more molecules (H2 only for now)
- Member ParseVLaw (Parser &p)
- 2 is there a need to keep this negative?
- Member PE_init (size_t, long, long, double *, double *, double *, double *, double *, double *, double *)
- xray - add fluoresence in energy balance
- Member PresTotCurrent ()
2 this is the total binding energy of the molecules, and is negative, the energy need to get back to free atoms never set and only appears in print statements
0 add this press term due to cosmic rays - hextra.cr_energydensity
0 code has variable magnetic energydensity and pressure, which are equal, as they must be - del one or the other
- Member PresTotCurrent ()
2 this is the total binding energy of the molecules, and is negative, the energy need to get back to free atoms never set and only appears in print statements
0 add this press term due to cosmic rays - hextra.cr_energydensity
0 code has variable magnetic energydensity and pressure, which are equal, as they must be - del one or the other
- Member PrtComment (void)
- 2 extend to all iso and elem
- Member PrtLinePres (FILE *ioPRESSURE)
- 1 make this and eval rad pressure same routine, with flag saying to print contributors - copy code from other routine - this code has been left behind
- Member rayleh (double ener)
- 2 update to astro-ph/0308073, Lee, H-W, ApJ in press
- Member renorm_solution (long nelem, long ion_range, long ion_low, double *source, double abund_total, bool *lgNegPop)
- 2 renorm should == 1 when the molecules and ionization are in equilibrium. Should monitor this figure of merit in calling routine.
- Member rfield_opac_alloc ()
3 consider making the fine opacity array a double. with a float, the opacity itself often becomes a denormalized number, it then becomes significant when multiplied by dr - can cause numerical noise. this is why the coarse opacity array is a double
1 set temp of 1e4K will be too coarse a line for PDRs where H2 line overlap is very important
- Member RT_diffuse (void)
2 should use ConEmitLocal for all continua, but not followed by rfield.DiffuseEscape - put that at the end. Once continua all bundled this way, it will be easy to save them as a function of depth and then do exact rt
2 add fegrain to outward beams, but within main formalism by including grains in all x-ray processes
- Member RT_OTS (void)
- 2 should also check whether IonLo is in bounds - in func_set_ion test He0 is set to zero, so this does not do anything. as NISO grows this will become larger waste of time
- Member RT_stark (void)
- 2 - Stark is disabled for now since Lya escape causes density dependent feedback on the radiative transfer. Would need to redo the escape probs every time the electron density is updated - see blr89.in for an example
- Member Save1LineData (const TransitionProxy &t, FILE *ioPUN, bool lgCS_2)
- 1 define lifetime and collision rate for multi-level species so that the critical density is derived correctly in this routine. For now the flag lgCS_2 being true means to save critical den and is only true for two-level systems all places where this routine is called with lgCS_2 false need to be fixed
- Member Save1LineData (const TransitionProxy &t, FILE *ioPUN, bool lgCS_2)
- 1 define lifetime and collision rate for multi-level species so that the critical density is derived correctly in this routine. For now the flag lgCS_2 being true means to save critical den and is only true for two-level systems all places where this routine is called with lgCS_2 false need to be fixed
- Member SecIoniz (void)
- 2 find correct high-energy limit for these
- Member SumDensities ()
2 - should this include mass in grains?
2 - should this include mass in grain mantle ice deposits?
- Member SumDensities ()
2 - should this include mass in grains?
2 - should this include mass in grain mantle ice deposits?
- Member t_isoCTRL::zero ()
- 2 change this to CS_new
- Member t_mole_local::chem_heat (void) const
- Once the H chem is merged with the C chem, then we will have the chemical heating rate for all reactions. This is only a subset and, thusfar, not actually used in getting the total heating. Tests with pdr_leiden_hack_f1.in show that this heating rate can be up to 10% of the total heating
- Member t_opac::zero ()
- 2 file opacities are disabled for now - reinstate this when arrays settle down
- Member tbl_fun (double, const sd_data *, const grain_data *, double *, double *, double *, int *)
- 2 include code for interpolating inv_att_len somewhere!!
- Member TempInterp (double *TempArray, double *ValueArray, long NumElements, double temp)
- 2 use a canned interpolation routine, no need for special one here
- Member TempInterp2 (double *TempArray, double *ValueArray, long NumElements, double Te)
- there is a virtually identical routine in helike_recom.cpp -> combine
- Member UpdatePot1 (size_t, long, long, long)
xray - secondaries from incident electrons still need to be added in
xray - primary, secondary, auger electrons need to be added into suprathermals
- Member ZoneStart (const char *chMode)
- 2 is this the best place for this?