#include "cdstd.h"#include <cctype>#include <string.h>#include <algorithm>#include <stdlib.h>#include "cddefines.h"#include "colden.h"#include "conv.h"#include "deuterium.h"#include "doppvel.h"#include "elementnames.h"#include "h2.h"#include "iso.h"#include "phycon.h"#include "physconst.h"#include "mole.h"#include "mole_priv.h"#include "hmi.h"#include "radius.h"#include "rfield.h"#include "rt.h"#include "secondaries.h"#include "dense.h"#include "ionbal.h"#include "grainvar.h"#include "timesc.h"#include "taulines.h"#include "trace.h"#include <functional>Go to the source code of this file.
Namespaces | |
| namespace | mole_priv |
Enumerations | |
| enum | spectype { MOLECULE, OTHER } |
Functions | |
| STATIC void | read_species_file (string filename, bool lgCreateIsotopologues=true) |
| STATIC void | newelement (const char label[], int ipion) |
| STATIC void | newisotope (const count_ptr< chem_element > &el, int massNumberA, realnum mass_amu, double frac) |
| STATIC realnum | MeanMassOfElement (const count_ptr< chem_element > &el) |
| STATIC molecule * | newspecies (const char label[], enum spectype type, enum mole_state state, realnum form_enthalpy) |
| STATIC molecule * | newspecies (const char label[], enum spectype type, enum mole_state state, realnum form_enthalpy, bool lgCreateIsotopologues) |
| STATIC count_ptr< chem_atom > | findatom (const char buf[]) |
| STATIC bool | isactive (const molecule &mol) |
| STATIC bool | ispassive (const molecule &mol) |
| STATIC void | ReadIsotopeFractions (const vector< bool > &lgResolveNelem) |
| void | mole_make_list () |
| 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 label[], ChemAtomList &atomsLeftToRight, vector< int > &numAtoms, string &embellishments, bool &lgExcit, int &charge, bool &lgGas_Phase) |
| bool | lgDifferByExcitation (const molecule &mol1, const molecule &mol2) |
| molecule * | findspecies (const char buf[]) |
| molezone * | findspecieslocal (const char buf[]) |
| void | mole_update_species_cache (void) |
| realnum | mole_return_cached_species (void) |
| void | total_molecule_deut (realnum &total_f) |
| void | total_molecule_elems (realnum total[LIMELM]) |
| void | total_network_elems (double total[LIMELM]) |
| realnum | total_molecules (void) |
| realnum | total_molecules_gasphase (void) |
| void | mole_make_groups (void) |
Variables | |
| molecule * | null_mole |
| molezone * | null_molezone |
| chem_element * | null_element |
| chem_atom * | null_atom |
| vector< count_ptr< chem_element > > | element_list |
| ChemAtomList | unresolved_atom_list |
| ChemAtomList | atom_list |
| molecule ** | groupspecies |
| enum spectype |
Definition at line 39 of file mole_species.cpp.
| 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().
Definition at line 825 of file mole_species.cpp.
References mole_priv::atomtab, and DEBUG_ENTRY.
Referenced by parse_species_label().
| 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().
| STATIC bool isactive | ( | const molecule & | mol | ) |
Definition at line 765 of file mole_species.cpp.
References DEBUG_ENTRY, MOLE_ACTIVE, and molecule::state.
Referenced by mole_make_list().
| STATIC bool ispassive | ( | const molecule & | mol | ) |
Definition at line 770 of file mole_species.cpp.
References DEBUG_ENTRY, MOLE_PASSIVE, and molecule::state.
Referenced by mole_make_list().
Definition at line 777 of file mole_species.cpp.
References molecule::label.
Referenced by register_reaction_vectors().
| STATIC realnum MeanMassOfElement | ( | const count_ptr< chem_element > & | el | ) |
Definition at line 489 of file mole_species.cpp.
References ASSERT, t_dense::AtomicWeight, DEBUG_ENTRY, dense, and fp_equal().
Referenced by t_mole_global::make_species().
| 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().
| realnum mole_return_cached_species | ( | void | ) |
Definition at line 908 of file mole_species.cpp.
References ASSERT, dense, deut, t_mole_local::elec, lgElemsConserved(), t_mole_global::list, mole, MOLE_ACTIVE, mole_global, t_mole_global::num_calc, t_mole_global::num_total, SDIV(), t_mole_local::species, total_molecule_deut(), t_dense::updateXMolecules(), and t_deuterium::xMolecules.
Referenced by mole_solve().
| 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().
| STATIC void newelement | ( | const char | label[], | |
| int | ipion | |||
| ) |
Definition at line 435 of file mole_species.cpp.
References auto_vec< T >::data(), DEBUG_ENTRY, element_list, and mole_priv::elemtab.
Referenced by t_mole_global::make_species().
| STATIC void newisotope | ( | const count_ptr< chem_element > & | el, | |
| int | massNumberA, | |||
| realnum | mass_amu, | |||
| double | frac | |||
| ) |
Definition at line 461 of file mole_species.cpp.
References ASSERT, atom_list, mole_priv::atomtab, DEBUG_ENTRY, count_ptr< T >::get_ptr(), LIMELM, and unresolved_atom_list.
Referenced by t_mole_global::make_species(), and ReadIsotopeFractions().
| STATIC molecule * newspecies | ( | const char | label[], | |
| enum spectype | type, | |||
| enum mole_state | state, | |||
| realnum | form_enthalpy, | |||
| bool | lgCreateIsotopologues | |||
| ) |
Definition at line 518 of file mole_species.cpp.
References ASSERT, ATOMIC_MASS_UNIT, count_ptr< T >::compare(), create_isotopologues_one(), auto_vec< T >::data(), DEBUG_ENTRY, ioQQQ, ipHYDROGEN, t_mole_global::lgNoHeavyMole, t_mole_global::lgNoMole, t_trace::lgTraceMole, t_mole_global::lgTreatIsotopes, MOLE_ACTIVE, mole_global, MOLE_NULL, MOLECULE, newspecies(), t_mole_global::num_calc, t_mole_global::num_total, molecule::parentLabel, parse_species_label(), mole_priv::spectab, and trace.
| STATIC molecule * newspecies | ( | const char | label[], | |
| enum spectype | type, | |||
| enum mole_state | state, | |||
| realnum | form_enthalpy | |||
| ) |
Definition at line 508 of file mole_species.cpp.
Referenced by t_mole_global::make_species(), newspecies(), and read_species_file().
| bool parse_species_label | ( | const char | label[], | |
| 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().
| STATIC void read_species_file | ( | string | filename, | |
| bool | lgCreateIsotopologues = true | |||
| ) |
Definition at line 333 of file mole_species.cpp.
References ASSERT, DEBUG_ENTRY, mode_r, MOLE_ACTIVE, MOLECULE, newspecies(), and open_data().
Referenced by t_mole_global::make_species().
| STATIC void ReadIsotopeFractions | ( | const vector< bool > & | lgResolveNelem | ) |
Definition at line 103 of file mole_species.cpp.
References ASSERT, DEBUG_ENTRY, element_list, FFmtRead(), fixit(), INPUT_LINE_LENGTH, ipCARBON, newisotope(), open_data(), and read_whole_line().
Referenced by t_mole_global::make_species().
| void total_molecule_deut | ( | realnum & | total_f | ) |
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().
| void total_network_elems | ( | double | total[LIMELM] | ) |
Definition at line 1057 of file mole_species.cpp.
References DEBUG_ENTRY, ipHYDROGEN, t_mole_global::list, mole, mole_global, t_mole_global::num_calc, and t_mole_local::species.
Definition at line 70 of file mole_species.cpp.
Referenced by funjac(), grouped_elems(), lgElemsConserved(), lgNucleiConserved(), mole_solve(), newisotope(), GroupMap::setup(), and GroupMap::updateMolecules().
| vector< count_ptr <chem_element> > element_list |
Definition at line 68 of file mole_species.cpp.
Referenced by t_mole_global::make_species(), newelement(), and ReadIsotopeFractions().
Definition at line 71 of file mole_species.cpp.
Referenced by funjac(), grouped_elems(), mole_system_error(), newton_step(), GroupMap::setup(), and GroupMap::updateMolecules().
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().
1.6.1