Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
species.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  species
 
struct  t_pseudo_cont
 

Functions

void db_basename_to_spectral (const string &chBasename, string &chElement, char *chSpecLabel)
 
void parsespect (const char *chLabel, long &nelem, long &IonStg)
 
string makeChemical (long nelem, long ion)
 
void makeChemical (char *chLabelChemical, long nelem, long ion)
 
void spectral_to_chemical (char *chLabelSpec, const char *chLabelChem)
 
void spectral_to_chemical (string &chLabelSpec, const char *chLabelChem)
 
bool parse_chemical (const string &chLabelChem, string &chElemMol, long &spCharge)
 
void chemical_to_spectral (const string &chLabelChem, string &chLabelSpec)
 
bool isSpeciesActive (const string &chSpecLabel)
 
bool isAtomicIonValid (const long element_index, const long spCharge)
 
bool isBareNucleus (const long element_index, const long spCharge)
 

Variables

t_pseudo_cont pseudoContDef
 

Function Documentation

◆ chemical_to_spectral()

void chemical_to_spectral ( const string & chLabelChem,
string & chLabelSpec )

chemical_to_spectral - Convert a chemical label to spectral.

Parameters
chLabelChem[in]Chemical label, e.g., "C+"
chLabelSpec[out]Spectral label, e.g., "C 2"

References DEBUG_ENTRY, elem_symbol_to_index(), isAtomicIonValid(), isBareNucleus(), isElementSym(), and parse_chemical().

Referenced by SaveAllSpeciesLabelsLevels(), SaveSpeciesLines(), and band_emission::setup().

Here is the call graph for this function:

◆ db_basename_to_spectral()

void db_basename_to_spectral ( const string & chBasename,
string & chElement,
char * chSpecLabel )

db_basename_to_spectral - Convert the species basename in Stout or Chianti to a spectral label.

Parameters
chBasename[in]File basename, e.g., "c_2"
chElement[out]Extracted element name, e.g., "C"
chSpecLabel[out]Spectral label, e.g., "C 2"

References ASSERT, DEBUG_ENTRY, toupper(), and uncaps().

Referenced by database_readin().

Here is the call graph for this function:

◆ isAtomicIonValid()

bool isAtomicIonValid ( const long element_index,
const long spCharge )

isAtomicIonValid - Tell if an atomic ion is has a charge consistent with its atomic number.

Parameters
element_index[in]Zero-offset index for element; 0 for H, 29 for Zn
spCharge[in]Species charge
Returns
bool True, if ion is valid; false, otherwise.

References ASSERT, and DEBUG_ENTRY.

Referenced by cdTemp(), and chemical_to_spectral().

◆ isBareNucleus()

bool isBareNucleus ( const long element_index,
const long spCharge )

isBareNucleus - Tell if the given ion is a bare nucleus.

Parameters
element_index[in]Zero-offset index for element; 0 for H, 29 for Zn
spCharge[in]Species charge
Returns
bool True, if ion is bare nucleus; false, otherwise.

References ASSERT, and DEBUG_ENTRY.

Referenced by chemical_to_spectral().

◆ isSpeciesActive()

bool isSpeciesActive ( const string & chSpecLabel)

isSpeciesActive - Tell if the species is enabled

An atomic/ionic species may be inactive if the relevant element is disabled. Likewise, a molecular species may be inactive if one of its constituents elements is disabled. This function reports on the given species. If not found, the result is false.

Parameters
chLabelChem[in] Chemical label, e.g., "C+2", or "HCl"
Returns
bool True, if species active; false, otherwise.

References DEBUG_ENTRY, mole, mole_global, and NULL.

Referenced by SpeciesBandsCreate().

◆ makeChemical() [1/2]

void makeChemical ( char * chLabelChemical,
long nelem,
long ion )

References CHARS_SPECIES, DEBUG_ENTRY, and makeChemical().

Here is the call graph for this function:

◆ makeChemical() [2/2]

◆ parse_chemical()

bool parse_chemical ( const string & chLabelChem,
string & chElemMol,
long & spCharge )

parse_chemical - Parse the element and charge of a chemical label.

Parameters
chLabelChem[in]Chemical label, e.g., "C+2", or "HCl"
chElemMol[out]Element or molecule, e.g., "C", or "HCl"
spCharge[out]Species charge, e.g., 2, or 0
Returns
bool True, if successful; false, otherwise.

References DEBUG_ENTRY, fprintf(), and ioQQQ.

Referenced by cdTemp(), and chemical_to_spectral().

Here is the call graph for this function:

◆ parsespect()

void parsespect ( const char * chLabel,
long & nelem,
long & IonStg )

◆ spectral_to_chemical() [1/2]

void spectral_to_chemical ( char * chLabelSpec,
const char * chLabelChem )

spectral_to_chemical - Convert a spectral label to chemical.

Parameters
chLabelSpec[in]Spectral label, e.g., "C 2"
chLabelChem[out]Chemical label, e.g., "C+"

References DEBUG_ENTRY, and spectral_to_chemical().

Here is the call graph for this function:

◆ spectral_to_chemical() [2/2]

void spectral_to_chemical ( string & chLabelSpec,
const char * chLabelChem )

spectral_to_chemical - Convert a spectral label to chemical.

Parameters
chLabelSpec[in]Spectral label, e.g., "C 2"
chLabelChem[out]Chemical label, e.g., "C+"

References DEBUG_ENTRY, NCHLAB, and spectral_to_chemical().

Here is the call graph for this function:

Variable Documentation

◆ pseudoContDef

t_pseudo_cont pseudoContDef
extern