39 typedef map<int, shared_ptr<chem_nuclide> >::iterator
isotopes_i;
74 else if(
el()->Z==1 &&
A==2 )
90 if (
el()->Z < b.
el()->
Z )
138 const shared_ptr<chem_nuclide>& b)
const
147 typedef map<const shared_ptr<chem_nuclide>, int,
167 for (nNucsMap::const_iterator el =
nNuclide.begin();
177 for (nNucsMap::const_iterator el =
nNuclide.begin();
180 if (el->first->el()->Z-1 == nelem)
221 for( nNucsMap::reverse_iterator it=
nNuclide.rbegin(); it!=
nNuclide.rend(); ++it )
223 if (0 != it->second )
225 return it->first.get();
233 nNucsMap::const_reverse_iterator it1, it2;
238 if( *(it1->first) > *(it2->first) )
240 else if( *(it1->first) < *(it2->first) )
242 else if( it1->second > it2->second)
244 else if( it1->second < it2->second)
263 typedef molecule::nNucsMap::reverse_iterator
nNucs_ri;
264 typedef molecule::nNucsMap::const_reverse_iterator
nNucs_cri;
293 extern shared_ptr<chem_nuclide>
findnuclide(
const char buf[]);
335 return "mole_global";
399 static void sort(MoleculeList::iterator
start,
400 MoleculeList::iterator end);
483 double findrk(
const char buf[])
const;
484 double findrate(
const char buf[])
const;
548 vector< int >& numAtoms,
551 string embellishments,
552 vector<string>& newLabels );
557 vector< int >& numAtoms,
560 string embellishments,
565 bool &lgExcit,
int &charge,
bool &lgGas_Phase );
574 inline double hmrate4(
double a,
double b,
double c,
double te )
582 if( b == 0. && c == 0. )
585 return a*
pow(te/300.,b);
589 return a*
pow(te/300.,b)*
sexp(c/te);
Definition: warnings.h:11
double sink_rate_tot(const char chSpecies[]) const
Definition: mole_reactions.cpp:4181
double grain_area
Definition: mole.h:486
bool lgStancil
Definition: mole.h:366
nNucsMap nNuclide
Definition: mole.h:160
chem_element * el() const
Definition: mole.h:54
int compare(const chem_nuclide &b) const
Definition: mole.h:87
static void sort(MoleculeList::iterator start, MoleculeList::iterator end)
vector< double > reaction_rks
Definition: mole.h:499
int index
Definition: mole.h:432
Definition: mole_priv.h:48
molecule::nNucsMap::iterator nNucs_i
Definition: mole.h:262
molecule * null_mole
Definition: mole_species.cpp:50
void mole_create_react(void)
Definition: mole_reactions.cpp:1748
long old_zone
Definition: mole.h:501
int n_nuclei(void) const
Definition: mole.h:164
vector< bool > lgTreatIsotopes
Definition: mole.h:388
int num_total
Definition: mole.h:391
bool operator>(const chem_nuclide &a, const chem_nuclide &b)
Definition: mole.h:107
mole_state
Definition: mole.h:19
realnum total_molecules(void)
Definition: mole_species.cpp:1094
int num_calc
Definition: mole.h:391
shared_ptr< chem_nuclide > findnuclide(const char buf[])
Definition: mole_species.cpp:842
void mole_drive(void)
Definition: mole_drive.cpp:29
void make_species(void)
Definition: mole_species.cpp:112
void total_molecule_deut(realnum &total)
Definition: mole_species.cpp:1041
const molecule * global() const
Definition: mole.h:433
void ParseChemistry(Parser &p)
Definition: mole.cpp:132
int parentIndex
Definition: mole.h:155
void test_isMolecule()
Definition: mole_species.cpp:1247
void zero()
Definition: mole.cpp:119
void getMolecules(vector< string > &allMolecules)
Definition: mole_species.cpp:1262
bool lgH2Ozer
Definition: mole.h:351
bool isSpecies(const string &chSpecies)
Definition: mole_species.cpp:1197
const string label
Definition: mole.h:32
void mole_make_list(void)
Definition: mole_species.cpp:247
void comment(t_warnings &)
Definition: mole.h:466
double findrk(const char buf[]) const
Definition: mole_reactions.cpp:4145
bool operator==(const chem_nuclide &a, const chem_nuclide &b)
Definition: mole.h:119
sys_float sexp(sys_float x)
Definition: service.cpp:1203
map< int, shared_ptr< chem_nuclide > > isotopes
Definition: mole.h:33
TransitionList * lines
Definition: mole.h:447
realnum column
Definition: mole.h:451
bool lgProtElim
Definition: mole.h:376
molezone * findspecieslocal(const char buf[])
Definition: mole_species.cpp:821
double source_rate_tot(const char chSpecies[]) const
Definition: mole_reactions.cpp:4317
bool lgGas_Phase
Definition: mole.h:163
ChemNuclideList nuclide_list
Definition: mole_species.cpp:56
realnum species_gasphase_density(const string &chSpecies)
Definition: mole_species.cpp:1124
bool parse_species_label(const char label[], ChemNuclideList &atomsLeftToRight, vector< int > &numAtoms, string &embellishments)
Definition: mole_species.cpp:645
int A
Definition: mole.h:48
int num_compacted
Definition: mole.h:391
realnum mass_amu
Definition: mole.h:51
char ** chSpecies
Definition: taulines.cpp:14
bool lgNonEquilChem
Definition: mole.h:371
molezone * findspecieslocal_validate(const char buf[])
Definition: mole_species.cpp:833
map< string, bool > offReactions
Definition: mole.h:396
realnum form_enthalpy
Definition: mole.h:209
double grain_density
Definition: mole.h:486
vector< int > ipMl
Definition: mole.h:50
ChemElementList element_list
Definition: mole_species.cpp:55
bool isEnabled
Definition: mole.h:156
realnum xFracLim
Definition: mole.h:453
void mole_cmp_num_in_out_reactions(void)
Definition: mole_reactions.cpp:2336
map< const shared_ptr< chem_nuclide >, int, element_pointer_value_less > nNucsMap
Definition: mole.h:148
double chem_heat(void) const
Definition: mole_reactions.cpp:4356
void init(void)
Definition: mole.cpp:59
qList * levels
Definition: mole.h:446
molecule::nNucsMap::reverse_iterator nNucs_ri
Definition: mole.h:263
vector< double > old_reaction_rks
Definition: mole.h:500
Definition: quantumstate.h:35
bool lgLeidenHack
Definition: mole.h:357
vector< shared_ptr< chem_element > > ChemElementList
Definition: mole.h:130
void zero()
Definition: mole.cpp:10
bool lgMeanAbundance(void) const
Definition: mole.h:58
string parentLabel
Definition: mole.h:150
int groupnum
Definition: mole.h:214
class molezone * local(void) const
Definition: mole.h:511
chem_nuclide * null_nuclide
Definition: mole_species.cpp:53
multi_arr< realnum, 3 > xMoleChTrRate
Definition: mole.h:495
molecule * findspecies(const char buf[])
Definition: mole_species.cpp:779
chem_element & operator=(const chem_element &)
void create_isotopologues_one_position(unsigned position, ChemNuclideList &atoms, vector< int > &numAtoms, string atom_old, string atom_new, string embellishments, string &newLabel)
Definition: mole_species.cpp:363
t_atoms atoms
Definition: atoms.cpp:5
molezone()
Definition: mole.h:409
~chem_element()
Definition: mole.h:29
float realnum
Definition: cddefines.h:127
valarray< class molezone > species
Definition: mole.h:497
enum mole_state state
Definition: mole.h:213
double sink_rate(const molecule *const sp, const mole_reaction &rate) const
Definition: mole_reactions.cpp:4211
void mole_rk_bigchange(void)
Definition: mole_reactions.cpp:3032
double snk
Definition: mole.h:443
int index
Definition: mole.h:214
realnum total_molecules_gasphase(void)
Definition: mole_species.cpp:1109
const int Z
Definition: mole.h:31
t_mole_global mole_global
Definition: mole.cpp:7
long min(int a, long b)
Definition: cddefines.h:766
bool lgExcit
Definition: mole.h:162
species * dbase
Definition: mole.h:445
int n_react
Definition: mole.h:215
bool exists(const molecule *m)
Definition: mole.h:278
#define NULL
Definition: cddefines.h:115
bool operator<(const chem_nuclide &a, const chem_nuclide &b)
Definition: mole.h:103
int compare(const molecule &mol2) const
Definition: mole.h:231
vector< shared_ptr< chem_nuclide > > ChemNuclideList
Definition: mole.h:128
molecule::nNucsMap::const_reverse_iterator nNucs_cri
Definition: mole.h:264
void mole_update_sources(void)
Definition: mole_drive.cpp:55
chem_nuclide * heavyAtom(void)
Definition: mole.h:219
#define ASSERT(exp)
Definition: cddefines.h:637
void set_isotope_abundances(void)
Definition: mole_species.cpp:979
bool operator<=(const chem_nuclide &a, const chem_nuclide &b)
Definition: mole.h:111
bool isMolecule(const string &chSpecies)
Definition: mole_species.cpp:1222
bool lgNeutrals
Definition: mole.h:381
double findrate(const char buf[]) const
Definition: mole_reactions.cpp:4159
STATIC void start(long, realnum[], realnum[], long, long[], realnum *, int *)
const int LIMELM
Definition: cddefines.h:318
int nElement(int nelem)
Definition: mole.h:174
bool isMonatomic(void) const
Definition: mole.h:190
int charge
Definition: mole.h:161
double den
Definition: mole.h:450
multi_arr< double, 2 > sink
Definition: mole.h:493
multi_arr< double, 2 > source
Definition: mole.h:493
bool lgGrain_mole_deplete
Definition: mole.h:385
bool lgDifferByExcitation(const molecule &mol1, const molecule &mol2)
Definition: mole_species.cpp:769
map< int, shared_ptr< chem_nuclide > >::iterator isotopes_i
Definition: mole.h:39
void mole_update_species_cache(void)
Definition: mole_species.cpp:856
Definition: transition.h:297
bool operator>=(const chem_nuclide &a, const chem_nuclide &b)
Definition: mole.h:115
static const double SMALLABUND
Definition: mole.h:17
const char * chName() const
Definition: mole.h:467
void alloc()
Definition: mole.cpp:98
string label
Definition: mole.h:159
const char * chName() const
Definition: mole.h:333
void zero(void)
Definition: mole.h:421
double elec
Definition: mole.h:489
realnum mole_mass
Definition: mole.h:210
bool operator!=(const chem_nuclide &a, const chem_nuclide &b)
Definition: mole.h:123
MoleculeList list
Definition: mole.h:394
double dissoc_rate(const char chSpecies[]) const
Definition: mole_reactions.cpp:4240
void comment(t_warnings &)
Definition: mole.h:338
bool isIsotopicTotalSpecies() const
Definition: mole.h:151
mole_reaction * mole_findrate_s(const char buf[])
Definition: mole_reactions.cpp:4131
map< string, Properties > speciesProperties
Definition: mole.h:397
double frac
Definition: mole.h:52
bool isMolecule() const
Definition: mole.h:202
double pow(double x, int i)
Definition: cddefines.h:782
string label(void) const
Definition: mole.h:70
double hmrate4(double a, double b, double c, double te)
Definition: mole.h:574
chem_nuclide * atomLim
Definition: mole.h:452
bool lgNoHeavyMole
Definition: mole.h:348
bool lgFederman
Definition: mole.h:364
t_mole_local mole
Definition: mole.cpp:8
void set_ion_locations()
Definition: mole_species.cpp:1011
bool lgNoMole
Definition: mole.h:345
vector< shared_ptr< molecule > > MoleculeList
Definition: mole.h:393
void mole_make_groups(void)
Definition: mole_species.cpp:1138
realnum column_old
Definition: mole.h:456
double src
Definition: mole.h:443
unsigned long index
Definition: mole.h:49
void total_molecule_elems(realnum total[LIMELM])
Definition: mole_species.cpp:1070
molecule * findspecies_validate(const char buf[])
Definition: mole_species.cpp:798
bool lgHasLinkedIon(void) const
Definition: mole.h:64
molezone * null_molezone
Definition: mole_species.cpp:51
double * location
Definition: mole.h:440
chem_element(int Z, const char *label)
Definition: mole.h:27
void create_isotopologues(ChemNuclideList &atoms, vector< int > &numAtoms, string atom_old, string atom_new, string embellishments, vector< string > &newLabels)
Definition: mole_species.cpp:338
bool operator()(const shared_ptr< chem_nuclide > &a, const shared_ptr< chem_nuclide > &b) const
Definition: mole.h:137
chem_element * wel
Definition: mole.h:47
void init(void)
Definition: mole.h:413
double grain_saturation
Definition: mole.h:486