cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
mole.h File Reference
#include "count_ptr.h"
#include "module.h"
Include dependency graph for mole.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  chem_element
 
class  chem_nuclide
 
class  element_pointer_value_less
 
class  molecule
 
class  t_mole_global
 
class  molezone
 
class  t_mole_local
 

Macros

#define SMALLABUND   1e-24
 

Typedefs

typedef map< int, count_ptr
< chem_nuclide > >::iterator 
isotopes_i
 
typedef vector< count_ptr
< chem_nuclide > > 
ChemNuclideList
 
typedef vector< count_ptr
< chem_element > > 
ChemElementList
 
typedef
molecule::nNucsMap::iterator 
nNucs_i
 
typedef
molecule::nNucsMap::reverse_iterator 
nNucs_ri
 
typedef
molecule::nNucsMap::const_reverse_iterator 
nNucs_cri
 

Enumerations

enum  mole_state { MOLE_NULL, MOLE_PASSIVE, MOLE_ACTIVE }
 

Functions

bool operator< (const chem_nuclide &a, const chem_nuclide &b)
 
bool operator> (const chem_nuclide &a, const chem_nuclide &b)
 
bool operator<= (const chem_nuclide &a, const chem_nuclide &b)
 
bool operator>= (const chem_nuclide &a, const chem_nuclide &b)
 
bool operator== (const chem_nuclide &a, const chem_nuclide &b)
 
bool operator!= (const chem_nuclide &a, const chem_nuclide &b)
 
void mole_drive (void)
 
void mole_create_react (void)
 
mole_reactionmole_findrate_s (const char buf[])
 
bool exists (const molecule *m)
 
moleculefindspecies (const char buf[])
 
moleculefindspecies_validate (const char buf[])
 
molezonefindspecieslocal (const char buf[])
 
molezonefindspecieslocal_validate (const char buf[])
 
count_ptr< chem_nuclidefindnuclide (const char buf[])
 
bool exists (const molezone *m)
 
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 (ChemNuclideList &atoms, vector< int > &numAtoms, string atom_old, string atom_new, string embellishments, vector< string > &newLabels)
 
void create_isotopologues_one_position (unsigned position, ChemNuclideList &atoms, vector< int > &numAtoms, string atom_old, string atom_new, string embellishments, string &newLabel)
 
bool parse_species_label (const char label[], ChemNuclideList &atomsLeftToRight, vector< int > &numAtoms, string &embellishments)
 
bool parse_species_label (const char mylab[], ChemNuclideList &atomsLeftToRight, vector< int > &numAtoms, string &embellishments, bool &lgExcit, int &charge, bool &lgGas_Phase)
 
double hmrate4 (double a, double b, double c, double te)
 
void ParseChemistry (Parser &p)
 

Variables

ChemNuclideList nuclide_list
 
ChemElementList element_list
 
chem_elementnull_element
 
chem_nuclidenull_nuclide
 
moleculenull_mole
 
t_mole_global mole_global
 
molezonenull_molezone
 
t_mole_local mole
 

Macro Definition Documentation

#define SMALLABUND   1e-24

Definition at line 17 of file mole.h.

Referenced by newton_step().

Typedef Documentation

Definition at line 126 of file mole.h.

Definition at line 124 of file mole.h.

typedef map<int, count_ptr<chem_nuclide> >::iterator isotopes_i

Definition at line 39 of file mole.h.

typedef molecule::nNucsMap::const_reverse_iterator nNucs_cri

Definition at line 244 of file mole.h.

typedef molecule::nNucsMap::iterator nNucs_i

Definition at line 242 of file mole.h.

typedef molecule::nNucsMap::reverse_iterator nNucs_ri

Definition at line 243 of file mole.h.

Enumeration Type Documentation

enum mole_state
Enumerator
MOLE_NULL 
MOLE_PASSIVE 
MOLE_ACTIVE 

Definition at line 19 of file mole.h.

Function Documentation

void create_isotopologues ( ChemNuclideList atoms,
vector< int > &  numAtoms,
string  atom_old,
string  atom_new,
string  embellishments,
vector< string > &  newLabels 
)

Definition at line 337 of file mole_species.cpp.

References create_isotopologues_one_position(), DEBUG_ENTRY, and fixit.

Referenced by mole_generate_isotopologue_reactions(), and newspecies().

Here is the call graph for this function:

void create_isotopologues_one_position ( unsigned  position,
ChemNuclideList atoms,
vector< int > &  numAtoms,
string  atom_old,
string  atom_new,
string  embellishments,
string &  newLabel 
)

Definition at line 362 of file mole_species.cpp.

References ASSERT, and DEBUG_ENTRY.

Referenced by create_isotopologues(), and mole_generate_isotopologue_reactions().

bool exists ( const molecule m)
inline

Definition at line 258 of file mole.h.

References null_mole.

Referenced by dBaseAbund(), mole_check_reverse_reactions(), newelement(), newreact(), newspecies(), and specBandsExists().

bool exists ( const molezone m)
inline

Definition at line 477 of file mole.h.

References null_molezone.

count_ptr<chem_nuclide> findnuclide ( const char  buf[])
molecule* findspecies ( const char  buf[])
molecule* findspecies_validate ( const char  buf[])

version for user-supplied species which may not be valid

Definition at line 806 of file mole_species.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, and mole_priv::spectab.

Referenced by findspecieslocal_validate().

Here is the call graph for this function:

molezone* findspecieslocal ( const char  buf[])
molezone* findspecieslocal_validate ( const char  buf[])

version for user-supplied species which may not be valid

Definition at line 841 of file mole_species.cpp.

References DEBUG_ENTRY, findspecies_validate(), molecule::index, mole, and t_mole_local::species.

Referenced by iter_end_check(), radius_first(), and radius_next().

Here is the call graph for this function:

double hmrate4 ( double  a,
double  b,
double  c,
double  te 
)
inline

Definition at line 537 of file mole.h.

References pow(), and sexp().

Referenced by ChargTranEval(), and ion_photo().

Here is the call graph for this function:

bool lgDifferByExcitation ( const molecule mol1,
const molecule mol2 
)

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  )
void mole_create_react ( void  )
void mole_drive ( void  )

mole_drive main driver for chemical equilibrium routines

Definition at line 29 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().

Here is the call graph for this function:

mole_reaction* mole_findrate_s ( const char  buf[])
void mole_make_groups ( void  )
void mole_make_list ( void  )
void mole_rk_bigchange ( void  )
void mole_update_sources ( void  )

Definition at line 55 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().

Here is the call graph for this function:

void mole_update_species_cache ( void  )
bool operator!= ( const chem_nuclide a,
const chem_nuclide b 
)
inline

Definition at line 119 of file mole.h.

bool operator< ( const chem_nuclide a,
const chem_nuclide b 
)
inline

Definition at line 99 of file mole.h.

References chem_nuclide::compare().

Here is the call graph for this function:

bool operator<= ( const chem_nuclide a,
const chem_nuclide b 
)
inline

Definition at line 107 of file mole.h.

References chem_nuclide::compare().

Here is the call graph for this function:

bool operator== ( const chem_nuclide a,
const chem_nuclide b 
)
inline

Definition at line 115 of file mole.h.

References chem_nuclide::compare().

Here is the call graph for this function:

bool operator> ( const chem_nuclide a,
const chem_nuclide b 
)
inline

Definition at line 103 of file mole.h.

References chem_nuclide::compare().

Here is the call graph for this function:

bool operator>= ( const chem_nuclide a,
const chem_nuclide b 
)
inline

Definition at line 111 of file mole.h.

References chem_nuclide::compare().

Here is the call graph for this function:

bool parse_species_label ( const char  label[],
ChemNuclideList atomsLeftToRight,
vector< int > &  numAtoms,
string &  embellishments 
)

Definition at line 653 of file mole_species.cpp.

References parse_species_label().

Referenced by mole_generate_isotopologue_reactions(), newspecies(), and parse_species_label().

Here is the call graph for this function:

bool parse_species_label ( const char  mylab[],
ChemNuclideList atomsLeftToRight,
vector< int > &  numAtoms,
string &  embellishments,
bool &  lgExcit,
int &  charge,
bool &  lgGas_Phase 
)
void ParseChemistry ( Parser p)
void total_molecule_deut ( realnum total)
void total_molecule_elems ( realnum  total[LIMELM])
realnum total_molecules ( void  )
realnum total_molecules_gasphase ( void  )

Variable Documentation

ChemElementList element_list

Definition at line 54 of file mole_species.cpp.

Referenced by t_mole_global::make_species(), newelement(), and SetIsotopeFractions().

t_mole_global mole_global

Definition at line 7 of file mole.cpp.

Referenced by AbundChange(), atmdat_readin(), t_gaunt::brems_sum_ions(), ChargTranEval(), ChemImportance(), diatomics::Cont_Diss_Heat_Rate(), ConvBase(), ConvInitSolution(), ConvIterCheck(), CoolEvaluate(), DynaCreateArrays(), DynaIonize(), DynaNewStep(), DynaSaveLast(), DynaStartZone(), eden_sum(), ElectronFractions(), funjac(), grouped_elems(), diatomics::H2_X_sink_and_source(), diatomics::init(), init_struc(), InitSimPostparse(), ion_photo(), ion_trim(), ion_trim2(), iter_end_check(), IterRestart(), IterStart(), lgNucleiConserved(), t_mole_global::make_species(), matchGeneric(), diatomics::Mol_Photo_Diss_Rates(), molcol(), mole_cmp_num_in_out_reactions(), mole_create_react(), mole_effects(), mole_eval_balance(), 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(), newreact(), newspecies(), OpacityAddTotal(), OpacityCreateAll(), ParseCommands(), ParseDont(), ParseElement(), ParseSet(), ParseSpecies(), plot_sparsity(), PrtComment(), PrtZone(), radius_increment(), radius_next(), RT_tau_reset(), SaveDo(), SaveSpecies(), ScaleAllDensities(), t_mole_local::set_ion_locations(), setProperties(), GroupMap::setup(), speciesCheck(), speciesOff(), state_get_put(), total_molecule_deut(), total_molecule_elems(), total_molecules(), total_molecules_gasphase(), and GroupMap::updateMolecules().

ChemNuclideList nuclide_list
chem_element* null_element

Definition at line 52 of file mole_species.cpp.

molecule* null_mole
molezone* null_molezone
chem_nuclide* null_nuclide