13#define SMALLABUND 1e-24
59 else if(
el->Z==1 &&
A==2 )
68 return ( str +
el->label );
75 if (
el->Z < b.
el->
Z )
77 else if (
el->Z > b.
el->
Z )
134 typedef map<const count_ptr<chem_atom>, int,
150 for (nAtomsMap::const_iterator el =
nAtom.begin();
151 el !=
nAtom.end(); ++el)
159 if (
nAtom.size() == 1 &&
nAtom.begin()->second == 1)
173 for( nAtomsMap::reverse_iterator it=
nAtom.rbegin(); it!=
nAtom.rend(); ++it )
175 if (0 != it->second )
177 return it->first.get_ptr();
185 nAtomsMap::const_reverse_iterator it1, it2;
187 for( it1 =
nAtom.rbegin(), it2 = mol2.
nAtom.rbegin();
188 it1 !=
nAtom.rend() && it2 != mol2.
nAtom.rend(); ++it1, ++it2 )
190 if( *(it1->first) > *(it2->first) )
192 else if( *(it1->first) < *(it2->first) )
194 else if( it1->second > it2->second)
196 else if( it1->second < it2->second)
200 if( it1 !=
nAtom.rend() && it2 == mol2.
nAtom.rend() )
202 else if( it1 ==
nAtom.rend() && it2 != mol2.
nAtom.rend() )
216typedef molecule::nAtomsMap::const_reverse_iterator
nAtoms_cri;
320 MoleculeList::iterator end);
384 double findrk(
const char buf[])
const;
385 double findrate(
const char buf[])
const;
409extern void mole_punch(FILE *punit,
const char speciesname[],
const char args[],
bool lgHeader,
bool lgData,
double depth);
433 vector< int >& numAtoms,
436 string embellishments,
437 vector<string>& newLabels );
441 bool &lgExcit,
int &charge,
bool &lgGas_Phase );
int compare(const chem_atom &b) const
bool lgMeanAbundance(void) const
map< int, count_ptr< chem_atom > > isotopes
chem_element(int Z, const char *label)
chem_element & operator=(const chem_element &)
bool operator()(const count_ptr< chem_atom > &a, const count_ptr< chem_atom > &b) const
chem_atom * heavyAtom(void)
map< const count_ptr< chem_atom >, int, element_pointer_value_less > nAtomsMap
int compare(const molecule &mol2) const
bool isMonatomic(void) const
vector< count_ptr< molecule > > MoleculeList
static void sort(MoleculeList::iterator start, MoleculeList::iterator end)
vector< bool > lgTreatIsotopes
bool lgGrain_mole_deplete
double dissoc_rate(const char chSpecies[]) const
vector< double > reaction_rks
double sink_rate(const molecule *const sp, const mole_reaction &rate) const
double source_rate_tot(const char chSpecies[]) const
double findrate(const char buf[]) const
void set_location(long nelem, long ion, double *dense)
double findrk(const char buf[]) const
vector< double > old_reaction_rks
double chem_heat(void) const
void set_isotope_abundances(void)
valarray< class molezone > species
double sink_rate_tot(const char chSpecies[]) const
realnum *** xMoleChTrRate
t_mole_global mole_global
molecule::nAtomsMap::reverse_iterator nAtoms_ri
void mole_create_react(void)
realnum total_molecules_gasphase(void)
bool operator<(const chem_atom &a, const chem_atom &b)
chem_element * null_element
molecule::nAtomsMap::const_reverse_iterator nAtoms_cri
void mole_make_groups(void)
realnum total_molecules(void)
void mole_print_species_reactions(molecule *speciesToPrint)
void create_isotopologues_one(ChemAtomList &atoms, vector< int > &numAtoms, string atom_old, string atom_new, string embellishments, vector< string > &newLabels)
molezone * findspecieslocal(const char buf[])
void mole_punch(FILE *punit, const char speciesname[], const char args[], bool lgHeader, bool lgData, double depth)
void mole_cmp_num_in_out_reactions(void)
void mole_rk_bigchange(void)
bool operator>=(const chem_atom &a, const chem_atom &b)
mole_reaction * mole_findrate_s(const char buf[])
void mole_update_sources(void)
void mole_update_species_cache(void)
void mole_make_list(void)
bool operator==(const chem_atom &a, const chem_atom &b)
ChemAtomList unresolved_atom_list
molecule::nAtomsMap::iterator nAtoms_i
bool operator!=(const chem_atom &a, const chem_atom &b)
bool lgDifferByExcitation(const molecule &mol1, const molecule &mol2)
bool operator>(const chem_atom &a, const chem_atom &b)
bool operator<=(const chem_atom &a, const chem_atom &b)
bool parse_species_label(const char label[], ChemAtomList &atomsLeftToRight, vector< int > &numAtoms, string &embellishments)
molecule * findspecies(const char buf[])
map< int, count_ptr< chem_atom > >::iterator isotopes_i
void total_molecule_elems(realnum total[LIMELM])
void total_molecule_deut(realnum &total)
vector< count_ptr< chem_atom > > ChemAtomList
STATIC void start(long, realnum[], realnum[], long, long[], realnum *, int *)