#include "count_ptr.h"
#include "elementnames.h"
#include "transition.h"
Go to the source code of this file.
Data Structures | |
class | chem_element |
class | chem_atom |
class | element_pointer_value_less |
class | molecule |
class | t_mole_global |
class | t_mole_local |
class | molezone |
Defines | |
#define | SMALLABUND 1e-24 |
Typedefs | |
typedef map< int, count_ptr < chem_atom > >::iterator | isotopes_i |
typedef vector< count_ptr < chem_atom > > | ChemAtomList |
typedef molecule::nAtomsMap::iterator | nAtoms_i |
typedef molecule::nAtomsMap::reverse_iterator | nAtoms_ri |
typedef molecule::nAtomsMap::const_reverse_iterator | nAtoms_cri |
Enumerations | |
enum | mole_state { MOLE_NULL, MOLE_PASSIVE, MOLE_ACTIVE } |
Functions | |
bool | operator< (const chem_atom &a, const chem_atom &b) |
bool | operator> (const chem_atom &a, const chem_atom &b) |
bool | operator<= (const chem_atom &a, const chem_atom &b) |
bool | operator>= (const chem_atom &a, const chem_atom &b) |
bool | operator== (const chem_atom &a, const chem_atom &b) |
bool | operator!= (const chem_atom &a, const chem_atom &b) |
void | mole_drive (void) |
void | mole_create_react (void) |
mole_reaction * | mole_findrate_s (const char buf[]) |
void | mole_print_species_reactions (molecule *speciesToPrint) |
molecule * | findspecies (const char buf[]) |
molezone * | findspecieslocal (const char buf[]) |
void | mole_punch (FILE *punit, const char speciesname[], const char args[], bool lgHeader, bool lgData, double depth) |
void | total_molecule_elems (realnum total[LIMELM]) |
void | total_molecule_deut (realnum &total) |
realnum | total_molecules (void) |
realnum | total_molecules_gasphase (void) |
void | mole_make_list (void) |
void | mole_make_groups (void) |
void | mole_cmp_num_in_out_reactions (void) |
bool | lgDifferByExcitation (const molecule &mol1, const molecule &mol2) |
void | mole_update_species_cache (void) |
void | mole_update_sources (void) |
void | mole_rk_bigchange (void) |
void | create_isotopologues_one (ChemAtomList &atoms, vector< int > &numAtoms, string atom_old, string atom_new, string embellishments, vector< string > &newLabels) |
bool | parse_species_label (const char label[], ChemAtomList &atomsLeftToRight, vector< int > &numAtoms, string &embellishments) |
bool | parse_species_label (const char mylab[], ChemAtomList &atomsLeftToRight, vector< int > &numAtoms, string &embellishments, bool &lgExcit, int &charge, bool &lgGas_Phase) |
Variables | |
ChemAtomList | atom_list |
ChemAtomList | unresolved_atom_list |
chem_element * | null_element |
chem_atom * | null_atom |
molecule * | null_mole |
t_mole_global | mole_global |
t_mole_local | mole |
molezone * | null_molezone |
#define SMALLABUND 1e-24 |
Definition at line 13 of file mole.h.
Referenced by mole_solve(), newton_step(), and GroupMap::setup().
typedef vector< count_ptr<chem_atom> > ChemAtomList |
typedef map<int, count_ptr<chem_atom> >::iterator isotopes_i |
typedef molecule::nAtomsMap::const_reverse_iterator nAtoms_cri |
enum mole_state |
void create_isotopologues_one | ( | ChemAtomList & | atoms, | |
vector< int > & | numAtoms, | |||
string | atom_old, | |||
string | atom_new, | |||
string | embellishments, | |||
vector< string > & | newLabels | |||
) |
Definition at line 361 of file mole_species.cpp.
References ASSERT, and fixit().
Referenced by mole_generate_isotopologue_reactions(), and newspecies().
molecule* findspecies | ( | const char | buf[] | ) |
Definition at line 787 of file mole_species.cpp.
References DEBUG_ENTRY, and mole_priv::spectab.
Referenced by t_mole_local::chem_heat(), database_readin(), t_mole_local::dissoc_rate(), diatomics::init(), lgElemsConserved(), lgNetEdenSrcSmall(), t_mole_global::make_species(), mole_make_list(), mole_punch(), parse_reaction(), parse_udfa(), prt_smooth_predictions(), radius_increment(), SaveDo(), SaveSpecies(), t_mole_local::sink_rate_tot(), t_mole_local::source_rate_tot(), and states_nelemfill().
molezone* findspecieslocal | ( | const char | buf[] | ) |
Definition at line 806 of file mole_species.cpp.
References DEBUG_ENTRY, mole, t_mole_local::species, and mole_priv::spectab.
Referenced by AgeCheck(), cdColm(), check_co_ion_converge(), ConvBase(), CoolCarb(), CoolEvaluate(), CoolNeon(), dBase_solve(), DynaPunchTimeDep(), GrainCollHeating(), diatomics::H2_PunchDo(), diatomics::H2_X_coll_rate_evaluate(), HeatSum(), diatomics::init(), InitSimPostparse(), IonHydro(), iso_level(), iter_end_check(), IterRestart(), lines_molecules(), mole_effects(), diatomics::mole_H2_form(), mole_h_fixup(), mole_h_rate_diagnostics(), mole_h_reactions(), OpacityAddTotal(), PrtZone(), radius_increment(), radius_next(), RT_OTS(), RT_tau_inc(), SaveDo(), SaveLineData(), SaveSpecies(), and ShowMe().
Definition at line 777 of file mole_species.cpp.
References molecule::label.
Referenced by register_reaction_vectors().
void mole_cmp_num_in_out_reactions | ( | void | ) |
Definition at line 2192 of file mole_reactions.cpp.
References CHARS_SPECIES, DEBUG_ENTRY, ioQQQ, t_mole_global::list, mole_global, t_mole_global::num_total, and mole_priv::reactab.
void mole_create_react | ( | void | ) |
mole_create_react build reaction structures
Definition at line 1685 of file mole_reactions.cpp.
References DEBUG_ENTRY, dense, deut, fixit(), ipHELIUM, t_deuterium::lgElmtOn, t_dense::lgElmtOn, t_mole_global::lgFederman, t_mole_global::lgLeidenHack, t_mole_global::lgProtElim, mole, mole_check_reverse_reactions(), mole_generate_isotopologue_reactions(), mole_global, newreact(), t_mole_local::old_zone, parse_base(), parse_udfa(), plot_sparsity(), pow(), mole_priv::reactab, t_mole_local::reaction_rks, read_data(), register_reaction_vectors(), SAHA, source, UDFA, and unresolved_atom_list.
Referenced by InitSimPostparse().
void mole_drive | ( | void | ) |
mole_drive main driver for chemical equilibrium routines
Definition at line 41 of file mole_drive.cpp.
References DEBUG_ENTRY, mole_effects(), mole_ion_trim(), mole_solve(), mole_update_limiting_reactants(), mole_update_rks(), mole_update_species_cache(), and MOLETOLER.
Referenced by ConvBase().
mole_reaction* mole_findrate_s | ( | const char | buf[] | ) |
Definition at line 3880 of file mole_reactions.cpp.
References canonicalize_reaction_label(), DEBUG_ENTRY, and mole_priv::reactab.
Referenced by t_mole_local::findrate(), t_mole_local::findrk(), mole_get_equilibrium_constant(), and t_mole_local::sink_rate().
void mole_make_groups | ( | void | ) |
Definition at line 1112 of file mole_species.cpp.
References ASSERT, DEBUG_ENTRY, LIMELM, t_mole_global::list, MALLOC, mole_global, t_mole_global::num_calc, t_mole_global::num_compacted, and REALLOC.
Referenced by t_mole_global::init().
void mole_make_list | ( | void | ) |
Definition at line 270 of file mole_species.cpp.
References ASSERT, molecule::charge, DEBUG_ENTRY, findspecies(), isactive(), molecule::isMonatomic(), ispassive(), molecule::lgGas_Phase, t_mole_global::list, mole_global, molecule::nAtom, t_mole_global::num_calc, t_mole_global::num_total, t_mole_global::sort(), and mole_priv::spectab.
Referenced by t_mole_global::init().
void mole_print_species_reactions | ( | molecule * | speciesToPrint | ) |
Definition at line 293 of file newton_step.cpp.
References molecule::index, mole_reaction::index, ioQQQ, mole_reaction::label, molecule::label, mole, mole_reaction::nproducts, mole_reaction::nreactants, mole_reaction::products, mole_reaction::pvector, mole_priv::reactab, mole_reaction::reactants, t_mole_local::reaction_rks, mole_reaction::rvector, and t_mole_local::species.
Referenced by lgElemsConserved(), and mole_system_error().
void mole_punch | ( | FILE * | punit, | |
const char | speciesname[], | |||
const char | args[], | |||
bool | lgHeader, | |||
bool | lgData, | |||
double | depth | |||
) |
Definition at line 4229 of file mole_reactions.cpp.
References DEBUG_ENTRY, findspecies(), molecule::index, mole_reaction::index, mole_reaction::label, mole, mole_reaction::nproducts, mole_reaction::nreactants, mole_reaction::products, mole_reaction::pvector, mole_reaction::pvector_excit, mole_priv::reactab, mole_reaction::reactants, t_mole_local::reaction_rks, mole_reaction::rvector, mole_reaction::rvector_excit, and t_mole_local::species.
Referenced by SaveDo().
void mole_rk_bigchange | ( | void | ) |
Definition at line 2875 of file mole_reactions.cpp.
References ASSERT, DEBUG_ENTRY, mole_reaction::index, ioQQQ, mole_reaction::label, mole, nzone, t_mole_local::old_reaction_rks, t_mole_local::old_zone, mole_priv::reactab, and t_mole_local::reaction_rks.
Referenced by ZoneEnd().
void mole_update_sources | ( | void | ) |
Definition at line 106 of file mole_drive.cpp.
References DEBUG_ENTRY, mole_eval_sources(), mole_global, mole_update_species_cache(), and t_mole_global::num_total.
Referenced by ConvBase().
void mole_update_species_cache | ( | void | ) |
Definition at line 839 of file mole_species.cpp.
References ASSERT, GrainVar::bin, DEBUG_ENTRY, t_mole_local::grain_area, t_mole_local::grain_density, t_mole_local::grain_saturation, gv, ioQQQ, GrainVar::lgDustOn(), t_mole_global::list, mole, mole_global, t_mole_global::num_total, t_mole_local::set_isotope_abundances(), and t_mole_local::species.
Referenced by diatomics::H2_LevelPops(), mole_drive(), and mole_update_sources().
Definition at line 90 of file mole.h.
References chem_atom::compare().
Definition at line 98 of file mole.h.
References chem_atom::compare().
Definition at line 106 of file mole.h.
References chem_atom::compare().
Definition at line 94 of file mole.h.
References chem_atom::compare().
Definition at line 102 of file mole.h.
References chem_atom::compare().
bool parse_species_label | ( | const char | mylab[], | |
ChemAtomList & | atomsLeftToRight, | |||
vector< int > & | numAtoms, | |||
string & | embellishments, | |||
bool & | lgExcit, | |||
int & | charge, | |||
bool & | lgGas_Phase | |||
) |
Definition at line 659 of file mole_species.cpp.
References ASSERT, CHARS_ISOTOPE_SYM, CHARS_SPECIES, dense, findatom(), count_ptr< T >::get_ptr(), ioQQQ, t_dense::lgElmtOn, t_trace::lgTraceMole, and trace.
bool parse_species_label | ( | const char | label[], | |
ChemAtomList & | atomsLeftToRight, | |||
vector< int > & | numAtoms, | |||
string & | embellishments | |||
) |
Definition at line 652 of file mole_species.cpp.
References parse_species_label().
Referenced by mole_generate_isotopologue_reactions(), newspecies(), and parse_species_label().
void total_molecule_deut | ( | realnum & | total | ) |
Definition at line 1004 of file mole_species.cpp.
References DEBUG_ENTRY, deut, t_deuterium::lgElmtOn, t_mole_global::list, mole, mole_global, t_mole_global::num_calc, and t_mole_local::species.
Referenced by mole_return_cached_species(), and SetDeuteriumIonization().
void total_molecule_elems | ( | realnum | total[LIMELM] | ) |
Definition at line 1033 of file mole_species.cpp.
References ASSERT, DEBUG_ENTRY, ipHYDROGEN, t_mole_global::list, mole, mole_global, t_mole_global::num_calc, and t_mole_local::species.
Referenced by t_dense::updateXMolecules().
realnum total_molecules | ( | void | ) |
Definition at line 1079 of file mole_species.cpp.
References DEBUG_ENTRY, t_mole_global::list, mole, mole_global, t_mole_global::num_calc, and t_mole_local::species.
realnum total_molecules_gasphase | ( | void | ) |
Definition at line 1094 of file mole_species.cpp.
References DEBUG_ENTRY, t_mole_global::list, mole, mole_global, t_mole_global::num_calc, and t_mole_local::species.
Referenced by SumDensities().
Definition at line 70 of file mole_species.cpp.
Referenced by funjac(), grouped_elems(), lgElemsConserved(), lgNucleiConserved(), mole_solve(), newisotope(), GroupMap::setup(), and GroupMap::updateMolecules().
Definition at line 7 of file mole.cpp.
Referenced by AbundChange(), ChemImportance(), ConvBase(), ConvIterCheck(), CoolEvaluate(), CoolOxyg(), DynaStartZone(), eden_sum(), fill_array(), find_solution(), findspecieslocal(), funjac(), diatomics::H2_LevelPops(), diatomics::H2_X_sink_and_source(), HeatSum(), HomogeneousSource(), InitSimPostparse(), iso_level(), iter_end_check(), IterRestart(), IterStart(), lgNetEdenSrcSmall(), lgNucleiConserved(), lgOH_ChargeTransferDominant(), lines_lv1_li_ne(), lines_molecules(), molcol(), mole_create_react(), mole_dominant_rates(), mole_effects(), mole_eval_balance(), mole_eval_dynamic_balance(), mole_eval_sources(), diatomics::mole_H2_form(), mole_h_fixup(), mole_h_rate_diagnostics(), mole_print_species_reactions(), mole_punch(), mole_return_cached_species(), mole_rk_bigchange(), mole_solve(), mole_update_limiting_reactants(), mole_update_rks(), mole_update_species_cache(), OpacityAddTotal(), PrintRates(), PrtColumns(), PrtComment(), PrtZone(), radius_increment(), radius_next(), RT_diffuse(), RT_tau_reset(), SaveDo(), SaveSpecies(), SaveSpeciesOne(), ScaleAllDensities(), SetDeuteriumIonization(), GroupMap::setup(), states_nelemfill(), total_molecule_deut(), total_molecule_elems(), total_molecules(), total_molecules_gasphase(), total_network_elems(), GroupMap::updateMolecules(), and zero().
Definition at line 6 of file mole.cpp.
Referenced by AbundChange(), atmdat_readin(), ChargTranEval(), ChemImportance(), diatomics::Cont_Diss_Heat_Rate(), ConvBase(), ConvInitSolution(), ConvIterCheck(), CoolEvaluate(), DynaCreateArrays(), DynaIonize(), DynaNewStep(), DynaSaveLast(), DynaStartZone(), eden_sum(), funjac(), grouped_elems(), diatomics::H2_X_sink_and_source(), HeatSum(), diatomics::init(), InitSimPostparse(), ion_photo(), ion_trim(), iter_end_check(), IterRestart(), IterStart(), lgNucleiConserved(), t_mole_global::make_species(), diatomics::Mol_Photo_Diss_Rates(), molcol(), mole_cmp_num_in_out_reactions(), mole_create_react(), mole_effects(), mole_eval_dynamic_balance(), mole_h_fixup(), mole_h_rate_diagnostics(), mole_h_reactions(), mole_make_groups(), mole_make_list(), mole_return_cached_species(), mole_solve(), mole_update_limiting_reactants(), mole_update_sources(), mole_update_species_cache(), newspecies(), OpacityAddTotal(), OpacityCreateAll(), ParseCommands(), ParseDont(), ParseSet(), plot_sparsity(), PrtColumns(), PrtComment(), PrtZone(), radius_increment(), radius_next(), RT_diffuse(), RT_tau_reset(), SaveDo(), SaveSpecies(), SaveSpeciesOne(), ScaleAllDensities(), t_mole_local::set_location(), GroupMap::setup(), state_get_put(), total_molecule_deut(), total_molecule_elems(), total_molecules(), total_molecules_gasphase(), total_network_elems(), GroupMap::updateMolecules(), and zero().
Definition at line 67 of file mole_species.cpp.
Referenced by molcol().
Definition at line 66 of file mole_species.cpp.
Definition at line 63 of file mole_species.cpp.
Referenced by database_readin(), t_mole_local::dissoc_rate(), diatomics::init(), mole_dominant_rates(), parse_reaction(), parse_udfa(), SaveDo(), SaveSpeciesOne(), and states_nelemfill().
Definition at line 65 of file mole_species.cpp.
Referenced by dBase_solve(), SaveSpecies(), and SaveSpeciesOne().
Definition at line 69 of file mole_species.cpp.
Referenced by ChemImportance(), iter_end_check(), t_mole_global::make_species(), mole_create_react(), mole_effects(), mole_eval_dynamic_balance(), mole_eval_sources(), mole_h_rate_diagnostics(), mole_ion_trim(), newisotope(), PrtZone(), t_mole_local::set_isotope_abundances(), and t_mole_local::set_location().