#include <mole.h>
Public Types | |
typedef vector< count_ptr < molecule > > | MoleculeList |
Public Member Functions | |
void | init (void) |
void | make_species (void) |
void | zero (void) |
Static Public Member Functions | |
static void | sort (MoleculeList::iterator start, MoleculeList::iterator end) |
static void | sort (molecule **start, molecule **end) |
Data Fields | |
bool | lgNoMole |
bool | lgNoHeavyMole |
bool | lgH2Ozer |
bool | lgLeidenHack |
bool | lgFederman |
bool | lgStancil |
bool | lgNonEquilChem |
bool | lgProtElim |
bool | lgNeutrals |
bool | lgGrain_mole_deplete |
vector< bool > | lgTreatIsotopes |
int | num_total |
int | num_calc |
int | num_compacted |
MoleculeList | list |
>>chng 03 feb 09, rm ipH3P_hev, since not used, and decrement NUM_HEAVY_MOLEC to 17 >>chng 03 aug 04, rm ipCTWO and ipC2P from den since not included in balance, and always finds zero column density, so NUM_HEAVY_MOLEC from 17 to 15 >>chng 03 aug 05, rm ch2 and ch3, so n from 15 to 13 >>chng 03 nov 14 add Si chemistry & CH3+, so that now every reaction that is in the TH85 chemical network is also included in Cloudy. Additionally, there are also reactions taken from other papers (mostly Hollenbach and McKee...see co.c). In all 20 molecular species are calculated, along with the atomic and first ionization stages of C, O, and Si >>chng 04 May 13, Nick Abel. Add CH3, CH4, CH4+, and CH5+ to network in order to get the same chemical abundances vs. depth as other PDR codes in the Leiden meeting. With changes we now can predict molecular abundances for 24 C, O, and Si bearing molecules. >>chng 04 jul 13, Nick Abel. Add nitrogen and sulphur bearing molecules to the chemical network. First added to generate a chemical model for eta carinae, but is applicable to all molecular clouds >>chng 05 mar 11, Nick Abel. Add C2 and C2+ to chemistry, reactions involving these species affects the abundance of C >>chng 05 mar 23, Nick Abel. Add Chlorine to chemistry
this includes the atomic and first ionized species of each element that can combine to form molecules. This is the number of molecules, ions, and atoms that the co network uses This is used in comole to improve the calculation, as deep in molecular regions reactions with molecules can be important to the ionization balance
Definition at line 266 of file mole.h.
typedef vector<count_ptr<molecule> > t_mole_global::MoleculeList |
void t_mole_global::init | ( | void | ) |
Definition at line 11 of file mole.cpp.
References DEBUG_ENTRY, make_species(), mole_make_groups(), mole_make_list(), num_total, and t_mole_local::species.
Referenced by InitSimPostparse().
void t_mole_global::make_species | ( | void | ) |
Definition at line 139 of file mole_species.cpp.
References ASSERT, molecule::charge, CHARS_ION_STAGE, CHARS_ISOTOPE_SYM, t_elementnames::chElementSym, DEBUG_ENTRY, molezone::den, dense, deut, ELECTRON_MASS, element_list, elementnames, findspecies(), fixit(), t_dense::gas_phase, gv, hmi, molecule::index, InitDeuteriumIonization(), ipHYDROGEN, GrainVar::lgDustOn(), t_deuterium::lgElmtOn, lgGrain_mole_deplete, t_hmi::lgLeiden_Keep_ipMH2s, lgLeidenHack, lgTreatIsotopes, LIMELM, MeanMassOfElement(), MOLE_ACTIVE, mole_global, molecule::mole_mass, MOLE_NULL, MOLE_PASSIVE, MOLECULE, newelement(), newisotope(), newspecies(), num_calc, num_total, OTHER, read_species_file(), ReadIsotopeFractions(), SetDeuteriumFractionation(), SetGasPhaseDeuterium(), and unresolved_atom_list.
Referenced by init().
Definition at line 98 of file mole_species.cpp.
References sort().
static void t_mole_global::sort | ( | MoleculeList::iterator | start, | |
MoleculeList::iterator | end | |||
) | [static] |
Referenced by canonicalize_reaction(), mole_make_list(), parse_udfa(), and sort().
void t_mole_global::zero | ( | void | ) |
mole_zero allocate + initialize workspace
Definition at line 36 of file mole.cpp.
References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, num_total, and t_mole_local::species.
Referenced by InitSimPostparse().
Definition at line 288 of file mole.h.
Referenced by mole_create_react(), ParseSet(), and zero().
do we include capture of molecules onto grain surfaces? default is true, turned off with NO GRAIN MOLECULES command
Definition at line 308 of file mole.h.
Referenced by make_species(), ParseDont(), and zero().
flag set true if H2O destruction rate went to zero
Definition at line 283 of file mole.h.
Referenced by PrtComment(), and zero().
set rates to that in UMIST
Definition at line 286 of file mole.h.
Referenced by ChargTranEval(), ion_photo(), make_species(), mole_create_react(), mole_h_reactions(), ParseSet(), radius_next(), and zero().
option to not include neutrals in the non-equilibrium scheme >> refer Federman, S. R. & Zsargo, J. 2003, ApJ, 589, 319 By default, this is false - changed with set chemistry command
Definition at line 304 of file mole.h.
Referenced by ParseSet(), and zero().
flag to turn off heavy molecules, set with no heavy molecules command
Definition at line 280 of file mole.h.
Referenced by newspecies(), ParseDont(), and zero().
flag to turn off all molecules, set with no molecules command
Definition at line 277 of file mole.h.
Referenced by ConvInitSolution(), CoolEvaluate(), ion_trim(), newspecies(), ParseCommands(), ParseDont(), and zero().
option to use effective temperature as defined in >> refer Federman, S. R. & Zsargo, J. 2003, ApJ, 589, 319 By default, this is false - changed with set chemistry command
Definition at line 294 of file mole.h.
Referenced by ParseSet(), and zero().
option to set proton elimination rates to zero >>refer CO chemistry Huntress, W. T., 1977, ApJS, 33, 495 By default, this is false - changed with set chemistry command
Definition at line 299 of file mole.h.
Referenced by mole_create_react(), ParseSet(), and zero().
Definition at line 289 of file mole.h.
Referenced by diatomics::Cont_Diss_Heat_Rate(), CoolEvaluate(), diatomics::H2_X_sink_and_source(), diatomics::init(), diatomics::Mol_Photo_Diss_Rates(), mole_h_reactions(), OpacityAddTotal(), OpacityCreateAll(), ParseSet(), and zero().
vector<bool> t_mole_global::lgTreatIsotopes |
Definition at line 311 of file mole.h.
Referenced by make_species(), newspecies(), ParseSet(), and zero().
Definition at line 317 of file mole.h.
Referenced by ChemImportance(), ConvBase(), ConvIterCheck(), CoolEvaluate(), DynaStartZone(), eden_sum(), funjac(), HeatSum(), iter_end_check(), lgNucleiConserved(), molcol(), mole_cmp_num_in_out_reactions(), mole_eval_dynamic_balance(), mole_h_rate_diagnostics(), mole_make_groups(), mole_make_list(), mole_return_cached_species(), mole_update_limiting_reactants(), mole_update_species_cache(), OpacityAddTotal(), PrtColumns(), PrtComment(), PrtZone(), radius_next(), RT_diffuse(), SaveDo(), SaveSpecies(), SaveSpeciesOne(), total_molecule_deut(), total_molecule_elems(), total_molecules(), total_molecules_gasphase(), total_network_elems(), and GroupMap::updateMolecules().
Definition at line 314 of file mole.h.
Referenced by atmdat_readin(), ChemImportance(), ConvBase(), ConvIterCheck(), CoolEvaluate(), DynaCreateArrays(), DynaIonize(), DynaNewStep(), DynaSaveLast(), DynaStartZone(), eden_sum(), funjac(), HeatSum(), iter_end_check(), IterRestart(), IterStart(), lgNucleiConserved(), make_species(), molcol(), mole_eval_dynamic_balance(), mole_h_fixup(), mole_h_rate_diagnostics(), mole_make_groups(), mole_make_list(), mole_return_cached_species(), mole_solve(), mole_update_limiting_reactants(), newspecies(), OpacityAddTotal(), PrtColumns(), PrtComment(), PrtZone(), radius_increment(), radius_next(), RT_diffuse(), RT_tau_reset(), SaveDo(), state_get_put(), total_molecule_deut(), total_molecule_elems(), total_molecules(), total_molecules_gasphase(), total_network_elems(), and GroupMap::updateMolecules().
Definition at line 314 of file mole.h.
Referenced by funjac(), grouped_elems(), mole_make_groups(), mole_solve(), GroupMap::setup(), and GroupMap::updateMolecules().
flag saying whether an element is in the chemistry network
Definition at line 314 of file mole.h.
Referenced by AbundChange(), atmdat_readin(), funjac(), init(), make_species(), mole_cmp_num_in_out_reactions(), mole_effects(), mole_make_list(), mole_return_cached_species(), mole_update_sources(), mole_update_species_cache(), newspecies(), plot_sparsity(), ScaleAllDensities(), t_mole_local::set_location(), GroupMap::setup(), and zero().