Cantera
2.2.1
|
Class Phase is the base class for phases of matter, managing the species and elements in a phase, as well as the independent variables of temperature, mass density, species mass/mole fraction, and other generalized forces and intrinsic properties (such as electric potential) that define the thermodynamic state. More...
#include <Phase.h>
Public Member Functions | |
Phase () | |
Default constructor. More... | |
virtual | ~Phase () |
Destructor. More... | |
Phase (const Phase &right) | |
Copy Constructor. More... | |
Phase & | operator= (const Phase &right) |
Assignment operator. More... | |
XML_Node & | xml () const |
Returns a const reference to the XML_Node that describes the phase. More... | |
void | setXMLdata (XML_Node &xmlPhase) |
Stores the XML tree information for the current phase. More... | |
void | saveState (vector_fp &state) const |
Save the current internal state of the phase Write to vector 'state' the current internal state. More... | |
void | saveState (size_t lenstate, doublereal *state) const |
Write to array 'state' the current internal state. More... | |
void | restoreState (const vector_fp &state) |
Restore a state saved on a previous call to saveState. More... | |
void | restoreState (size_t lenstate, const doublereal *state) |
Restore the state of the phase from a previously saved state vector. More... | |
doublereal | molecularWeight (size_t k) const |
Molecular weight of species k . More... | |
void | getMolecularWeights (vector_fp &weights) const |
Copy the vector of molecular weights into vector weights. More... | |
void | getMolecularWeights (doublereal *weights) const |
Copy the vector of molecular weights into array weights. More... | |
const vector_fp & | molecularWeights () const |
Return a const reference to the internal vector of molecular weights. More... | |
doublereal | size (size_t k) const |
This routine returns the size of species k. More... | |
doublereal | charge (size_t k) const |
Dimensionless electrical charge of a single molecule of species k The charge is normalized by the the magnitude of the electron charge. More... | |
doublereal | chargeDensity () const |
Charge density [C/m^3]. More... | |
size_t | nDim () const |
Returns the number of spatial dimensions (1, 2, or 3) More... | |
void | setNDim (size_t ndim) |
Set the number of spatial dimensions (1, 2, or 3). More... | |
virtual bool | ready () const |
Returns a bool indicating whether the object is ready for use. More... | |
int | stateMFNumber () const |
Return the State Mole Fraction Number. More... | |
Name and ID | |
Class Phase contains two strings that identify a phase. The ID is the value of the ID attribute of the XML phase node that is used to initialize a phase when it is read. The name field is also initialized to the value of the ID attribute of the XML phase node. However, the name field may be changed to another value during the course of a calculation. For example, if a phase is located in two places, but has the same constitutive input, the IDs of the two phases will be the same, but the names of the two phases may be different. It is an error to have two phases in a single problem with the same name and ID (or the name from one phase being the same as the id of another phase). Thus, it is expected that there is a 1-1 correspondence between names and unique phases within a Cantera problem. | |
std::string | id () const |
Return the string id for the phase. More... | |
void | setID (const std::string &id) |
Set the string id for the phase. More... | |
std::string | name () const |
Return the name of the phase. More... | |
void | setName (const std::string &nm) |
Sets the string name for the phase. More... | |
Element and Species Information | |
std::string | elementName (size_t m) const |
Name of the element with index m. More... | |
size_t | elementIndex (const std::string &name) const |
Return the index of element named 'name'. More... | |
const std::vector< std::string > & | elementNames () const |
Return a read-only reference to the vector of element names. More... | |
doublereal | atomicWeight (size_t m) const |
Atomic weight of element m. More... | |
doublereal | entropyElement298 (size_t m) const |
Entropy of the element in its standard state at 298 K and 1 bar. More... | |
int | atomicNumber (size_t m) const |
Atomic number of element m. More... | |
int | elementType (size_t m) const |
Return the element constraint type Possible types include: More... | |
int | changeElementType (int m, int elem_type) |
Change the element type of the mth constraint Reassigns an element type. More... | |
const vector_fp & | atomicWeights () const |
Return a read-only reference to the vector of atomic weights. More... | |
size_t | nElements () const |
Number of elements. More... | |
void | checkElementIndex (size_t m) const |
Check that the specified element index is in range Throws an exception if m is greater than nElements()-1. More... | |
void | checkElementArraySize (size_t mm) const |
Check that an array size is at least nElements() Throws an exception if mm is less than nElements(). More... | |
doublereal | nAtoms (size_t k, size_t m) const |
Number of atoms of element m in species k . More... | |
void | getAtoms (size_t k, double *atomArray) const |
Get a vector containing the atomic composition of species k. More... | |
size_t | speciesIndex (const std::string &name) const |
Returns the index of a species named 'name' within the Phase object. More... | |
std::string | speciesName (size_t k) const |
Name of the species with index k. More... | |
std::string | speciesSPName (int k) const |
Returns the expanded species name of a species, including the phase name This is guaranteed to be unique within a Cantera problem. More... | |
const std::vector< std::string > & | speciesNames () const |
Return a const reference to the vector of species names. More... | |
size_t | nSpecies () const |
Returns the number of species in the phase. More... | |
void | checkSpeciesIndex (size_t k) const |
Check that the specified species index is in range Throws an exception if k is greater than nSpecies()-1. More... | |
void | checkSpeciesArraySize (size_t kk) const |
Check that an array size is at least nSpecies() Throws an exception if kk is less than nSpecies(). More... | |
Set thermodynamic state | |
Set the internal thermodynamic state by setting the internally stored temperature, density and species composition. Note that the composition is always set first. Temperature and density are held constant if not explicitly set. | |
void | setMoleFractionsByName (const compositionMap &xMap) |
Set the species mole fractions by name. More... | |
void | setMoleFractionsByName (const std::string &x) |
Set the mole fractions of a group of species by name. More... | |
void | setMassFractionsByName (const compositionMap &yMap) |
Set the species mass fractions by name. More... | |
void | setMassFractionsByName (const std::string &x) |
Set the species mass fractions by name. More... | |
void | setState_TRX (doublereal t, doublereal dens, const doublereal *x) |
Set the internally stored temperature (K), density, and mole fractions. More... | |
void | setState_TRX (doublereal t, doublereal dens, const compositionMap &x) |
Set the internally stored temperature (K), density, and mole fractions. More... | |
void | setState_TRY (doublereal t, doublereal dens, const doublereal *y) |
Set the internally stored temperature (K), density, and mass fractions. More... | |
void | setState_TRY (doublereal t, doublereal dens, const compositionMap &y) |
Set the internally stored temperature (K), density, and mass fractions. More... | |
void | setState_TNX (doublereal t, doublereal n, const doublereal *x) |
Set the internally stored temperature (K), molar density (kmol/m^3), and mole fractions. More... | |
void | setState_TR (doublereal t, doublereal rho) |
Set the internally stored temperature (K) and density (kg/m^3) More... | |
void | setState_TX (doublereal t, doublereal *x) |
Set the internally stored temperature (K) and mole fractions. More... | |
void | setState_TY (doublereal t, doublereal *y) |
Set the internally stored temperature (K) and mass fractions. More... | |
void | setState_RX (doublereal rho, doublereal *x) |
Set the density (kg/m^3) and mole fractions. More... | |
void | setState_RY (doublereal rho, doublereal *y) |
Set the density (kg/m^3) and mass fractions. More... | |
Composition | |
void | getMoleFractionsByName (compositionMap &x) const |
Get the mole fractions by name. More... | |
compositionMap | getMoleFractionsByName (double threshold=0.0) const |
Get the mole fractions by name. More... | |
doublereal | moleFraction (size_t k) const |
Return the mole fraction of a single species. More... | |
doublereal | moleFraction (const std::string &name) const |
Return the mole fraction of a single species. More... | |
compositionMap | getMassFractionsByName (double threshold=0.0) const |
Get the mass fractions by name. More... | |
doublereal | massFraction (size_t k) const |
Return the mass fraction of a single species. More... | |
doublereal | massFraction (const std::string &name) const |
Return the mass fraction of a single species. More... | |
void | getMoleFractions (doublereal *const x) const |
Get the species mole fraction vector. More... | |
virtual void | setMoleFractions (const doublereal *const x) |
Set the mole fractions to the specified values There is no restriction on the sum of the mole fraction vector. More... | |
virtual void | setMoleFractions_NoNorm (const doublereal *const x) |
Set the mole fractions to the specified values without normalizing. More... | |
void | getMassFractions (doublereal *const y) const |
Get the species mass fractions. More... | |
const doublereal * | massFractions () const |
Return a const pointer to the mass fraction array. More... | |
virtual void | setMassFractions (const doublereal *const y) |
Set the mass fractions to the specified values and normalize them. More... | |
virtual void | setMassFractions_NoNorm (const doublereal *const y) |
Set the mass fractions to the specified values without normalizing. More... | |
void | getConcentrations (doublereal *const c) const |
Get the species concentrations (kmol/m^3). More... | |
doublereal | concentration (const size_t k) const |
Concentration of species k. More... | |
virtual void | setConcentrations (const doublereal *const conc) |
Set the concentrations to the specified values within the phase. More... | |
doublereal | elementalMassFraction (const size_t m) const |
Elemental mass fraction of element m. More... | |
doublereal | elementalMoleFraction (const size_t m) const |
Elemental mole fraction of element m. More... | |
const doublereal * | moleFractdivMMW () const |
Returns a const pointer to the start of the moleFraction/MW array. More... | |
Thermodynamic Properties | |
doublereal | temperature () const |
Temperature (K). More... | |
virtual doublereal | density () const |
Density (kg/m^3). More... | |
doublereal | molarDensity () const |
Molar density (kmol/m^3). More... | |
doublereal | molarVolume () const |
Molar volume (m^3/kmol). More... | |
virtual void | setDensity (const doublereal density_) |
Set the internally stored density (kg/m^3) of the phase Note the density of a phase is an independent variable. More... | |
virtual void | setMolarDensity (const doublereal molarDensity) |
Set the internally stored molar density (kmol/m^3) of the phase. More... | |
virtual void | setTemperature (const doublereal temp) |
Set the internally stored temperature of the phase (K). More... | |
Mean Properties | |
doublereal | mean_X (const doublereal *const Q) const |
Evaluate the mole-fraction-weighted mean of an array Q. More... | |
doublereal | mean_X (const vector_fp &Q) const |
Evaluate the mole-fraction-weighted mean of an array Q. More... | |
doublereal | mean_Y (const doublereal *const Q) const |
Evaluate the mass-fraction-weighted mean of an array Q. More... | |
doublereal | meanMolecularWeight () const |
The mean molecular weight. Units: (kg/kmol) More... | |
doublereal | sum_xlogx () const |
Evaluate \( \sum_k X_k \log X_k \). More... | |
doublereal | sum_xlogQ (doublereal *const Q) const |
Evaluate \( \sum_k X_k \log Q_k \). More... | |
Adding Elements and Species | |
These methods are used to add new elements or species. These are not usually called by user programs. Since species are checked to insure that they are only composed of declared elements, it is necessary to first add all elements before adding any species. | |
size_t | addElement (const std::string &symbol, doublereal weight=-12345.0, int atomicNumber=0, doublereal entropy298=ENTROPY298_UNKNOWN, int elem_type=CT_ELEM_TYPE_ABSPOS) |
Add an element. More... | |
void | addElement (const XML_Node &e) |
Add an element from an XML specification. More... | |
void | addUniqueElement (const std::string &symbol, doublereal weight=-12345.0, int atomicNumber=0, doublereal entropy298=ENTROPY298_UNKNOWN, int elem_type=CT_ELEM_TYPE_ABSPOS) |
Add an element, checking for uniqueness The uniqueness is checked by comparing the string symbol. More... | |
void | addUniqueElement (const XML_Node &e) |
Add an element, checking for uniqueness The uniqueness is checked by comparing the string symbol. More... | |
void | addElementsFromXML (const XML_Node &phase) |
Add all elements referenced in an XML_Node tree. More... | |
void | freezeElements () |
Prohibit addition of more elements, and prepare to add species. More... | |
bool | elementsFrozen () |
True if freezeElements has been called. More... | |
size_t | addUniqueElementAfterFreeze (const std::string &symbol, doublereal weight, int atomicNumber, doublereal entropy298=ENTROPY298_UNKNOWN, int elem_type=CT_ELEM_TYPE_ABSPOS) |
Add an element after elements have been frozen, checking for uniqueness The uniqueness is checked by comparing the string symbol. More... | |
virtual bool | addSpecies (shared_ptr< Species > spec) |
Add a Species to this Phase. More... | |
void | addSpecies (const std::string &name, const doublereal *comp, doublereal charge=0.0, doublereal size=1.0) |
void | addUniqueSpecies (const std::string &name, const doublereal *comp, doublereal charge=0.0, doublereal size=1.0) |
Add a species to the phase, checking for uniqueness of the name This routine checks for uniqueness of the string name. More... | |
shared_ptr< Species > | species (const std::string &name) const |
Return the Species object for the named species. More... | |
shared_ptr< Species > | species (size_t k) const |
Return the Species object for species whose index is k. More... | |
void | ignoreUndefinedElements () |
Set behavior when adding a species containing undefined elements to just skip the species. More... | |
void | addUndefinedElements () |
Set behavior when adding a species containing undefined elements to add those elements to the phase. More... | |
void | throwUndefinedElements () |
Set the behavior when adding a species containing undefined elements to throw an exception. More... | |
Public Attributes | |
enum CT_RealNumber_Range_Behavior | realNumberRangeBehavior_ |
Overflow behavior of real number calculations involving this thermo object. More... | |
Protected Member Functions | |
void | setMolecularWeight (const int k, const double mw) |
Set the molecular weight of a single species to a given value. More... | |
Protected Attributes | |
ValueCache | m_cache |
Cached for saved calculations within each ThermoPhase. More... | |
size_t | m_kk |
Number of species in the phase. More... | |
size_t | m_ndim |
Dimensionality of the phase. More... | |
vector_fp | m_speciesComp |
Atomic composition of the species. More... | |
vector_fp | m_speciesSize |
Vector of species sizes. More... | |
vector_fp | m_speciesCharge |
Vector of species charges. length m_kk. More... | |
std::map< std::string, shared_ptr< Species > > | m_species |
UndefElement::behavior | m_undefinedElementBehavior |
Flag determining behavior when adding species with an undefined element. More... | |
Private Attributes | |
XML_Node * | m_xml |
XML node containing the XML info for this phase. More... | |
std::string | m_id |
ID of the phase. More... | |
std::string | m_name |
Name of the phase. More... | |
doublereal | m_temp |
Temperature (K). This is an independent variable. More... | |
doublereal | m_dens |
Density (kg m-3). More... | |
doublereal | m_mmw |
mean molecular weight of the mixture (kg kmol-1) More... | |
vector_fp | m_ym |
m_ym[k] = mole fraction of species k divided by the mean molecular weight of mixture. More... | |
vector_fp | m_y |
Mass fractions of the species. More... | |
vector_fp | m_molwts |
species molecular weights (kg kmol-1) More... | |
vector_fp | m_rmolwts |
inverse of species molecular weights (kmol kg-1) More... | |
int | m_stateNum |
State Change variable. More... | |
std::vector< std::string > | m_speciesNames |
Vector of the species names. More... | |
std::map< std::string, size_t > | m_speciesIndices |
Map of species names to indices. More... | |
size_t | m_mm |
Number of elements. More... | |
vector_fp | m_atomicWeights |
element atomic weights (kg kmol-1) More... | |
vector_int | m_atomicNumbers |
element atomic numbers More... | |
std::vector< std::string > | m_elementNames |
element names More... | |
vector_int | m_elem_type |
Vector of element types. More... | |
vector_fp | m_entropy298 |
Entropy at 298.15 K and 1 bar of stable state pure elements (J kmol-1) More... | |
Class Phase is the base class for phases of matter, managing the species and elements in a phase, as well as the independent variables of temperature, mass density, species mass/mole fraction, and other generalized forces and intrinsic properties (such as electric potential) that define the thermodynamic state.
Class Phase provides information about the elements and species in a phase - names, index numbers (location in arrays), atomic or molecular weights, etc. The set of elements must include all those that compose the species, but may include additional elements.
It also stores an array of species molecular weights, which are used to convert between mole and mass representations of the composition. For efficiency in mass/mole conversion, the vector of mass fractions divided by molecular weight \( Y_k/M_k \) is also stored.
Class Phase is not usually used directly. Its primary use is as a base class for class ThermoPhase. It is not generally necessary to overloaded any of class Phase's methods, with the exception of incompressible phases. In that case, the density must be replaced by the pressure as the independent variable and functions such as setMassFraction within class Phase must actually now calculate the density (at constant T and P) instead of leaving it alone as befits an independent variable. This also applies for nearly- incompressible phases or phases which utilize standard states based on a T and P, in which case they need to overload these functions too.
Class Phase contains a number of utility functions that will set the state of the phase in its entirety, by first setting the composition, then the temperature and then the density. An example of this is the function Phase::setState_TRY(double t, double dens, const double* y).
Class Phase contains method for saving and restoring the full internal states of each phase. These are saveState() and restoreState(). These functions operate on a state vector, which is in general of length (2 + nSpecies()). The first two entries of the state vector are temperature and density.
A species name may be referred to via three methods:
The first two methods of naming may not yield a unique species within complicated assemblies of Cantera Phases.
Specify that the input mole, mass, and volume fraction vectors must sum to one on entry to the set state routines. Non-conforming mole/mass fraction vectors are not thermodynamically consistent. Moreover, unless we do this, the calculation of Jacobians will be altered whenever the treatment of non-conforming mole fractions is changed. Add setState functions corresponding to specifying mole numbers, which is actually what is being done (well one of the options, there are many) when non-conforming mole fractions are input. Note, we realize that most numerical Jacobian and some analytical Jacobians use non-conforming calculations. These can easily be changed to the set mole number setState functions.
|
virtual |
Destructor.
Definition at line 114 of file Phase.cpp.
References Phase::m_xml, and XML_Node::root().
Copy Constructor.
right | Reference to the class to be used in the copy |
Definition at line 35 of file Phase.cpp.
References Phase::operator=().
Assignment operator.
right | Reference to the class to be used in the copy |
Definition at line 53 of file Phase.cpp.
References Cantera::findXMLPhase(), XML_Node::id(), Phase::m_atomicNumbers, Phase::m_atomicWeights, Phase::m_dens, Phase::m_elem_type, Phase::m_elementNames, Phase::m_entropy298, Phase::m_id, Phase::m_kk, Phase::m_mm, Phase::m_mmw, Phase::m_molwts, Phase::m_name, Phase::m_ndim, Phase::m_rmolwts, Phase::m_speciesCharge, Phase::m_speciesComp, Phase::m_speciesNames, Phase::m_speciesSize, Phase::m_stateNum, Phase::m_temp, Phase::m_undefinedElementBehavior, Phase::m_xml, Phase::m_y, Phase::m_ym, Phase::realNumberRangeBehavior_, and XML_Node::root().
Referenced by Phase::Phase().
XML_Node & xml | ( | ) | const |
Returns a const reference to the XML_Node that describes the phase.
The XML_Node for the phase contains all of the input data used to set up the model for the phase during its initialization.
Definition at line 123 of file Phase.cpp.
References Phase::m_xml.
Referenced by SimpleTransport::initLiquid(), TransportFactory::newTransport(), TransportFactory::setupLiquidTransport(), and TransportFactory::setupSolidTransport().
void setXMLdata | ( | XML_Node & | xmlPhase | ) |
Stores the XML tree information for the current phase.
This function now stores the complete XML_Node tree as read into the code via a file. This is needed to move around within the XML tree during construction of transport and kinetics mechanisms after copy construction operations.
xmlPhase | Reference to the XML node corresponding to the phase |
Definition at line 128 of file Phase.cpp.
References Cantera::findXMLPhase(), XML_Node::id(), Phase::m_xml, and XML_Node::root().
Referenced by IonsFromNeutralVPSSTP::constructPhaseFile(), and Cantera::importPhase().
std::string id | ( | ) | const |
Return the string id for the phase.
Definition at line 147 of file Phase.cpp.
References Phase::m_id.
Referenced by Kinetics::assignShallowPointers(), Cantera::getEfficiencies(), Cantera::importPhase(), MolarityIonicVPSSTP::initThermoXML(), PhaseCombo_Interaction::initThermoXML(), LatticeSolidPhase::installSlavePhases(), Kinetics::kineticsSpeciesIndex(), MultiPhase::phaseIndex(), MultiPhase::phaseName(), solveProb::print_header(), LatticeSolidPhase::setParametersFromXML(), and vcs_VolPhase::transferElementsFM().
void setID | ( | const std::string & | id | ) |
Set the string id for the phase.
id | String id of the phase |
Definition at line 152 of file Phase.cpp.
References Phase::m_id.
Referenced by FixedChemPotSSTP::FixedChemPotSSTP(), and Cantera::importPhase().
std::string name | ( | ) | const |
Return the name of the phase.
Names are unique within a Cantera problem.
Definition at line 157 of file Phase.cpp.
References Phase::m_name.
Referenced by ElectrodeKinetics::identifyMetalPhase(), Cantera::operator<<(), PseudoBinaryVPSSTP::report(), MolarityIonicVPSSTP::report(), PureFluidPhase::report(), MolalityVPSSTP::report(), ThermoPhase::report(), vcs_MultiPhaseEquil::reportCSV(), TransportFactory::setupSolidTransport(), and Cantera::vcs_Cantera_to_vprob().
void setName | ( | const std::string & | nm | ) |
Sets the string name for the phase.
nm | String name of the phase |
Definition at line 162 of file Phase.cpp.
References Phase::m_name.
Referenced by FixedChemPotSSTP::FixedChemPotSSTP(), and Cantera::importPhase().
string elementName | ( | size_t | m | ) | const |
Name of the element with index m.
m | Element index. |
Definition at line 186 of file Phase.cpp.
References Phase::checkElementIndex(), and Phase::m_elementNames.
Referenced by MultiPhase::addPhase(), Phase::addSpecies(), Kinetics::checkReactionBalance(), Cantera::checkRxnElementBalance(), PDSS_HKFT::convertDGFormation(), ChemEquil::equilibrate(), ChemEquil::estimateElementPotentials(), ChemEquil::estimateEP_Brinkley(), MolalityVPSSTP::findCLMIndex(), ChemEquil::initialize(), LatticeSolidPhase::installSlavePhases(), ChemEquil::setInitialMoles(), and vcs_VolPhase::transferElementsFM().
size_t elementIndex | ( | const std::string & | name | ) | const |
Return the index of element named 'name'.
The index is an integer assigned to each element in the order it was added. Returns npos if the specified element is not found.
name | Name of the element |
Definition at line 192 of file Phase.cpp.
References Phase::m_elementNames, Phase::m_mm, and Cantera::npos.
Referenced by Phase::addSpecies(), ElectrodeKinetics::identifyMetalPhase(), MultiPhase::init(), WaterSSTP::initThermoXML(), and PDSS_HKFT::LookupGe().
const vector< string > & elementNames | ( | ) | const |
Return a read-only reference to the vector of element names.
Definition at line 202 of file Phase.cpp.
References Phase::m_elementNames.
Referenced by IonsFromNeutralVPSSTP::initThermoXML().
doublereal atomicWeight | ( | size_t | m | ) | const |
Atomic weight of element m.
m | Element index |
Definition at line 207 of file Phase.cpp.
References Phase::m_atomicWeights.
Referenced by Phase::elementalMassFraction(), ChemEquil::initialize(), and WaterSSTP::initThermoXML().
doublereal entropyElement298 | ( | size_t | m | ) | const |
Entropy of the element in its standard state at 298 K and 1 bar.
m | Element index |
Definition at line 212 of file Phase.cpp.
References AssertThrowMsg, AssertTrace, ENTROPY298_UNKNOWN, Phase::m_entropy298, and Phase::m_mm.
Referenced by LatticeSolidPhase::installSlavePhases(), and PDSS_HKFT::LookupGe().
int atomicNumber | ( | size_t | m | ) | const |
Atomic number of element m.
m | Element index |
Definition at line 226 of file Phase.cpp.
References Phase::m_atomicNumbers.
Referenced by MultiPhase::addPhase(), and LatticeSolidPhase::installSlavePhases().
int elementType | ( | size_t | m | ) | const |
Return the element constraint type Possible types include:
CT_ELEM_TYPE_TURNEDOFF -1 CT_ELEM_TYPE_ABSPOS 0 CT_ELEM_TYPE_ELECTRONCHARGE 1 CT_ELEM_TYPE_CHARGENEUTRALITY 2 CT_ELEM_TYPE_LATTICERATIO 3 CT_ELEM_TYPE_KINETICFROZEN 4 CT_ELEM_TYPE_SURFACECONSTRAINT 5 CT_ELEM_TYPE_OTHERCONSTRAINT 6
The default is CT_ELEM_TYPE_ABSPOS
.
m | Element index |
Definition at line 231 of file Phase.cpp.
References Phase::m_elem_type.
Referenced by LatticeSolidPhase::installSlavePhases(), and vcs_VolPhase::transferElementsFM().
int changeElementType | ( | int | m, |
int | elem_type | ||
) |
Change the element type of the mth constraint Reassigns an element type.
m | Element index |
elem_type | New elem type to be assigned |
Definition at line 236 of file Phase.cpp.
References Phase::m_elem_type.
const vector_fp & atomicWeights | ( | ) | const |
Return a read-only reference to the vector of atomic weights.
Definition at line 221 of file Phase.cpp.
References Phase::m_atomicWeights.
Referenced by Phase::addSpecies(), and LatticeSolidPhase::installSlavePhases().
size_t nElements | ( | ) | const |
Number of elements.
Definition at line 167 of file Phase.cpp.
References Phase::m_mm.
Referenced by MultiPhase::addPhase(), Phase::addSpecies(), Kinetics::checkReactionBalance(), Cantera::checkRxnElementBalance(), PDSS_HKFT::convertDGFormation(), Phase::elementalMoleFraction(), ChemEquil::equilibrate(), MolalityVPSSTP::findCLMIndex(), ElectrodeKinetics::identifyMetalPhase(), ChemEquil::initialize(), IonsFromNeutralVPSSTP::initThermoXML(), LatticeSolidPhase::installSlavePhases(), ThermoPhase::setElementPotentials(), IdealSolidSolnPhase::setToEquilState(), vcs_VolPhase::transferElementsFM(), and Cantera::vcs_Cantera_to_vprob().
void checkElementIndex | ( | size_t | m | ) | const |
Check that the specified element index is in range Throws an exception if m is greater than nElements()-1.
Definition at line 172 of file Phase.cpp.
References Phase::m_mm.
Referenced by Phase::elementalMassFraction(), Phase::elementalMoleFraction(), Phase::elementName(), and Phase::nAtoms().
void checkElementArraySize | ( | size_t | mm | ) | const |
Check that an array size is at least nElements() Throws an exception if mm is less than nElements().
Used before calls which take an array pointer.
Definition at line 179 of file Phase.cpp.
References Phase::m_mm.
doublereal nAtoms | ( | size_t | k, |
size_t | m | ||
) | const |
Number of atoms of element m
in species k
.
k | species index |
m | element index |
Definition at line 243 of file Phase.cpp.
References Phase::checkElementIndex(), Phase::checkSpeciesIndex(), Phase::m_mm, and Phase::m_speciesComp.
Referenced by Kinetics::checkReactionBalance(), Cantera::checkRxnElementBalance(), PDSS_HKFT::convertDGFormation(), Phase::elementalMassFraction(), Phase::elementalMoleFraction(), MolalityVPSSTP::findCLMIndex(), ElectrodeKinetics::identifyMetalPhase(), MultiPhase::init(), ChemEquil::initialize(), IonsFromNeutralVPSSTP::initThermoXML(), IdealSolidSolnPhase::setToEquilState(), and vcs_VolPhase::transferElementsFM().
void getAtoms | ( | size_t | k, |
double * | atomArray | ||
) | const |
Get a vector containing the atomic composition of species k.
k | species index |
atomArray | vector containing the atomic number in the species. Length: m_mm |
Definition at line 250 of file Phase.cpp.
References Phase::m_mm, and Phase::m_speciesComp.
size_t speciesIndex | ( | const std::string & | name | ) | const |
Returns the index of a species named 'name' within the Phase object.
The first species in the phase will have an index 0, and the last one will have an index of nSpecies() - 1.
name | String name of the species. It may also be in the form phaseName:speciesName |
Definition at line 257 of file Phase.cpp.
References Cantera::getValue(), Phase::m_id, Phase::m_name, Phase::m_speciesIndices, Cantera::npos, and Cantera::parseSpeciesName().
Referenced by InterfaceKinetics::buildSurfaceArrhenius(), Kinetics::checkReactionBalance(), FlowReactor::componentIndex(), PDSS_IonsFromNeutral::constructPDSSXML(), Cantera::getCoverageDependence(), TransportFactory::getLiquidInteractionsTransportData(), TransportFactory::getLiquidSpeciesTransportData(), Cantera::getStick(), LiquidTranInteraction::init(), MaskellSolidSolnPhase::initThermoXML(), DebyeHuckel::initThermoXML(), FlowDevice::install(), Kinetics::kineticsSpeciesIndex(), MargulesVPSSTP::MargulesVPSSTP(), Phase::massFraction(), MixedSolventElectrolyte::MixedSolventElectrolyte(), Phase::moleFraction(), PhaseCombo_Interaction::PhaseCombo_Interaction(), RedlichKisterVPSSTP::readXMLBinarySpecies(), MixedSolventElectrolyte::readXMLBinarySpecies(), MargulesVPSSTP::readXMLBinarySpecies(), PhaseCombo_Interaction::readXMLBinarySpecies(), RedlichKwongMFTP::readXMLCrossFluid(), RedlichKwongMFTP::readXMLPureFluid(), RedlichKisterVPSSTP::RedlichKisterVPSSTP(), MolalityVPSSTP::report(), StFlow::restore(), Inlet1D::restore(), OutletRes1D::restore(), ReactingSurf1D::restore(), Reactor::speciesIndex(), Kinetics::speciesPhase(), and StFlow::StFlow().
string speciesName | ( | size_t | k | ) | const |
Name of the species with index k.
k | index of the species |
Definition at line 272 of file Phase.cpp.
References Phase::checkSpeciesIndex(), and Phase::m_speciesNames.
Referenced by StFlow::componentName(), ReactingSurf1D::componentName(), PDSS_ConstVol::constructPDSSFile(), PDSS_IonsFromNeutral::constructPDSSFile(), PDSS_HKFT::constructPDSSFile(), PDSS_SSVol::constructPDSSFile(), ChemEquil::estimateElementPotentials(), ChemEquil::estimateEP_Brinkley(), MolalityVPSSTP::findCLMIndex(), AqueousTransport::getLiquidTransportData(), Phase::getMassFractionsByName(), Phase::getMoleFractionsByName(), MultiPhase::init(), ChemEquil::initialize(), LiquidTransport::initLiquid(), SimpleTransport::initLiquid(), PDSS_HKFT::initThermo(), VPSSMgr_Water_ConstVol::initThermoXML(), VPSSMgr_ConstVol::initThermoXML(), VPSSMgr_Water_HKFT::initThermoXML(), IdealMolalSoln::initThermoXML(), LatticePhase::initThermoXML(), IdealSolidSolnPhase::initThermoXML(), DebyeHuckel::initThermoXML(), FlowDevice::install(), Kinetics::kineticsSpeciesName(), solveProb::print_header(), HMWSoln::printCoeffs(), PecosTransport::read_blottner_transport_table(), RedlichKisterVPSSTP::readXMLBinarySpecies(), MixedSolventElectrolyte::readXMLBinarySpecies(), MargulesVPSSTP::readXMLBinarySpecies(), PhaseCombo_Interaction::readXMLBinarySpecies(), MolalityVPSSTP::report(), ThermoPhase::report(), vcs_MultiPhaseEquil::reportCSV(), ThermoPhase::reportCSV(), StFlow::restore(), HMWSoln::s_updatePitzer_d2lnMolalityActCoeff_dT2(), HMWSoln::s_updatePitzer_dlnMolalityActCoeff_dP(), HMWSoln::s_updatePitzer_dlnMolalityActCoeff_dT(), HMWSoln::s_updatePitzer_lnMolalityActCoeff(), StFlow::save(), Inlet1D::save(), OutletRes1D::save(), ReactingSurf1D::save(), SurfPhase::setCoveragesByName(), ChemEquil::setInitialMoles(), Phase::setMassFractionsByName(), MolalityVPSSTP::setMolalitiesByName(), Phase::setMoleFractionsByName(), Transport::setThermo(), Inlet1D::showSolution(), ReactingSurf1D::showSolution(), Phase::speciesSPName(), and ChemEquil::update().
std::string speciesSPName | ( | int | k | ) | const |
Returns the expanded species name of a species, including the phase name This is guaranteed to be unique within a Cantera problem.
k | Species index within the phase |
Definition at line 297 of file Phase.cpp.
References Phase::m_name, and Phase::speciesName().
const vector< string > & speciesNames | ( | ) | const |
Return a const reference to the vector of species names.
Definition at line 278 of file Phase.cpp.
References Phase::m_speciesNames.
Referenced by IdealMolalSoln::initThermoXML(), DebyeHuckel::initThermoXML(), SurfPhase::setCoveragesByName(), Phase::setMassFractionsByName(), MolalityVPSSTP::setMolalitiesByName(), Phase::setMoleFractionsByName(), TransportFactory::setupLiquidTransport(), and HighPressureGasTransport::viscosity().
|
inline |
Returns the number of species in the phase.
Definition at line 265 of file Phase.h.
References Phase::m_kk.
Referenced by MultiPhase::addPhase(), InterfaceKinetics::applyVoltageKfwdCorrection(), Kinetics::assignShallowPointers(), MultiPhase::calcElemAbundances(), MultiPhaseEquil::computeReactionSteps(), PDSS_IonsFromNeutral::constructPDSSXML(), MargulesVPSSTP::cp_mole(), SolidTransport::electricalConductivity(), MargulesVPSSTP::enthalpy_mole(), MargulesVPSSTP::entropy_mole(), ChemEquil::equilibrate(), vcs_MultiPhaseEquil::equilibrate_TP(), ChemEquil::estimateElementPotentials(), Reactor::evalSurfaces(), ThermoPhase::getActivities(), MetalPhase::getActivityConcentrations(), HighPressureGasTransport::getBinaryDiffCoeffs(), MetalPhase::getChemPotentials(), ImplicitSurfChem::getConcSpecies(), MolalityVPSSTP::getCsvReportData(), ThermoPhase::getCsvReportData(), MetalPhase::getEnthalpy_RT(), MetalPhase::getEntropy_R(), AqueousKinetics::getEquilibriumConstants(), MultiTransport::getMassFluxes(), LTI_Pairwise_Interaction::getMatrixTransProp(), LTI_StefanMaxwell_PPN::getMatrixTransProp(), SolidTransport::getMixDiffCoeffs(), LTI_MoleFracs::getMixTransProp(), LTI_MassFracs::getMixTransProp(), LTI_Log_MoleFracs::getMixTransProp(), LTI_Pairwise_Interaction::getMixTransProp(), LTI_StefanMaxwell_PPN::getMixTransProp(), LTI_MoleFracs_ExpT::getMixTransProp(), SolidTransport::getMobilities(), MultiTransport::getMolarFluxes(), MultiPhase::getMoles(), HighPressureGasTransport::getMultiDiffCoeffs(), MetalPhase::getStandardChemPotentials(), Reactor::getSurfaceInitialConditions(), Cantera::hasChargedSpecies(), ElectrodeKinetics::identifyMetalPhase(), ImplicitSurfChem::ImplicitSurfChem(), BulkKinetics::init(), GasTransport::init(), LiquidTranInteraction::init(), MultiPhase::init(), InterfaceKinetics::init(), PecosTransport::initGas(), ChemEquil::initialize(), DustyGasTransport::initialize(), IonsFromNeutralVPSSTP::initLengths(), VPSSMgr::initLengths(), LiquidTransport::initLiquid(), SimpleTransport::initLiquid(), AqueousTransport::initLiquid(), SingleSpeciesTP::initThermo(), FlowDevice::install(), LatticeSolidPhase::installSlavePhases(), IonsFromNeutralVPSSTP::IonsFromNeutralVPSSTP(), solveProb::print_header(), vcs_MultiPhaseEquil::reportCSV(), ThermoPhase::reportCSV(), StFlow::restore(), Phase::restoreState(), IonsFromNeutralVPSSTP::s_update_dlnActCoeff_dlnN(), Phase::saveState(), Kinetics::selectPhase(), ImplicitSurfChem::setConcSpecies(), Wall::setKinetics(), MultiPhase::setMoles(), SolidTransport::setParameters(), LTI_Pairwise_Interaction::setParameters(), LTI_StefanMaxwell_PPN::setParameters(), MultiPhase::setPhaseMoleFractions(), Transport::setThermo(), ReactorBase::setThermoMgr(), TransportFactory::setupLiquidTransport(), TransportFactory::setupSolidTransport(), Inlet1D::showSolution(), solveSP::solveSP(), Reactor::speciesIndex(), StFlow::StFlow(), HighPressureGasTransport::thermalConductivity(), vcs_VolPhase::transferElementsFM(), InterfaceKinetics::updateExchangeCurrentQuantities(), AqueousKinetics::updateKc(), InterfaceKinetics::updateMu0(), Reactor::updateSurfaceState(), MultiTransport::updateThermal_T(), MultiPhase::uploadMoleFractionsFromPhases(), Cantera::vcs_Cantera_to_vprob(), Cantera::vcs_Cantera_update_vprob(), and HighPressureGasTransport::viscosity().
void checkSpeciesIndex | ( | size_t | k | ) | const |
Check that the specified species index is in range Throws an exception if k is greater than nSpecies()-1.
Definition at line 283 of file Phase.cpp.
References Phase::m_kk.
Referenced by Phase::concentration(), Phase::massFraction(), Phase::molecularWeight(), Phase::moleFraction(), Phase::nAtoms(), and Phase::speciesName().
void checkSpeciesArraySize | ( | size_t | kk | ) | const |
Check that an array size is at least nSpecies() Throws an exception if kk is less than nSpecies().
Used before calls which take an array pointer.
Definition at line 290 of file Phase.cpp.
References Phase::m_kk.
void saveState | ( | vector_fp & | state | ) | const |
Save the current internal state of the phase Write to vector 'state' the current internal state.
state | output vector. Will be resized to nSpecies() + 2. |
Definition at line 302 of file Phase.cpp.
References Phase::nSpecies().
Referenced by ChemEquil::equilibrate(), ThermoPhase::equilibrate(), ChemEquil::estimateEP_Brinkley(), TransportFactory::newTransport(), ReactorBase::setThermoMgr(), ReactorBase::syncState(), FlowReactor::updateState(), and Reactor::updateState().
void saveState | ( | size_t | lenstate, |
doublereal * | state | ||
) | const |
Write to array 'state' the current internal state.
lenstate | length of the state array. Must be >= nSpecies()+2 |
state | output vector. Must be of length nSpecies() + 2 or greater. |
Definition at line 307 of file Phase.cpp.
References Phase::density(), Phase::getMassFractions(), and Phase::temperature().
void restoreState | ( | const vector_fp & | state | ) |
Restore a state saved on a previous call to saveState.
state | State vector containing the previously saved state. |
Definition at line 314 of file Phase.cpp.
Referenced by ChemEquil::equilibrate(), ThermoPhase::equilibrate(), ChemEquil::estimateEP_Brinkley(), FlowReactor::evalEqs(), Reactor::evalEqs(), FlowReactor::getInitialConditions(), Reactor::getInitialConditions(), MultiTransport::getMassFluxes(), FlowReactor::initialize(), Reactor::initialize(), TransportFactory::newTransport(), and ReactorBase::restoreState().
void restoreState | ( | size_t | lenstate, |
const doublereal * | state | ||
) |
Restore the state of the phase from a previously saved state vector.
lenstate | Length of the state vector |
state | Vector of state conditions. |
Definition at line 319 of file Phase.cpp.
References Phase::nSpecies(), Phase::setDensity(), Phase::setMassFractions_NoNorm(), and Phase::setTemperature().
void setMoleFractionsByName | ( | const compositionMap & | xMap | ) |
Set the species mole fractions by name.
Species not listed by name in xMap
are set to zero.
xMap | map from species names to mole fraction values. |
Definition at line 376 of file Phase.cpp.
References Cantera::getValue(), Phase::m_kk, Phase::setMoleFractions(), and Phase::speciesName().
Referenced by Inlet1D::setMoleFractions(), OutletRes1D::setMoleFractions(), Phase::setMoleFractionsByName(), ThermoPhase::setState_TPX(), Phase::setState_TRX(), MixtureFugacityTP::setStateFromXML(), and ThermoPhase::setStateFromXML().
void setMoleFractionsByName | ( | const std::string & | x | ) |
Set the mole fractions of a group of species by name.
Species which are not listed by name in the composition map are set to zero.
x | string x in the form of a composition map |
Definition at line 385 of file Phase.cpp.
References Cantera::parseCompString(), Phase::setMoleFractionsByName(), and Phase::speciesNames().
void setMassFractionsByName | ( | const compositionMap & | yMap | ) |
Set the species mass fractions by name.
Species not listed by name in yMap
are set to zero.
yMap | map from species names to mass fraction values. |
Definition at line 415 of file Phase.cpp.
References Cantera::getValue(), Phase::m_kk, Phase::setMassFractions(), and Phase::speciesName().
Referenced by Phase::setMassFractionsByName(), ThermoPhase::setState_TPY(), Phase::setState_TRY(), MixtureFugacityTP::setStateFromXML(), and ThermoPhase::setStateFromXML().
void setMassFractionsByName | ( | const std::string & | x | ) |
Set the species mass fractions by name.
Species not listed by name in x
are set to zero.
x | String containing a composition map |
Definition at line 424 of file Phase.cpp.
References Cantera::parseCompString(), Phase::setMassFractionsByName(), and Phase::speciesNames().
void setState_TRX | ( | doublereal | t, |
doublereal | dens, | ||
const doublereal * | x | ||
) |
Set the internally stored temperature (K), density, and mole fractions.
t | Temperature in kelvin |
dens | Density (kg/m^3) |
x | vector of species mole fractions, length m_kk |
Definition at line 429 of file Phase.cpp.
References Phase::setDensity(), Phase::setMoleFractions(), and Phase::setTemperature().
void setState_TRX | ( | doublereal | t, |
doublereal | dens, | ||
const compositionMap & | x | ||
) |
Set the internally stored temperature (K), density, and mole fractions.
t | Temperature in kelvin |
dens | Density (kg/m^3) |
x | Composition Map containing the mole fractions. Species not included in the map are assumed to have a zero mole fraction. |
Definition at line 443 of file Phase.cpp.
References Phase::setDensity(), Phase::setMoleFractionsByName(), and Phase::setTemperature().
void setState_TRY | ( | doublereal | t, |
doublereal | dens, | ||
const doublereal * | y | ||
) |
Set the internally stored temperature (K), density, and mass fractions.
t | Temperature in kelvin |
dens | Density (kg/m^3) |
y | vector of species mass fractions, length m_kk |
Definition at line 450 of file Phase.cpp.
References Phase::setDensity(), Phase::setMassFractions(), and Phase::setTemperature().
void setState_TRY | ( | doublereal | t, |
doublereal | dens, | ||
const compositionMap & | y | ||
) |
Set the internally stored temperature (K), density, and mass fractions.
t | Temperature in kelvin |
dens | Density (kg/m^3) |
y | Composition Map containing the mass fractions. Species not included in the map are assumed to have a zero mass fraction. |
Definition at line 457 of file Phase.cpp.
References Phase::setDensity(), Phase::setMassFractionsByName(), and Phase::setTemperature().
void setState_TNX | ( | doublereal | t, |
doublereal | n, | ||
const doublereal * | x | ||
) |
Set the internally stored temperature (K), molar density (kmol/m^3), and mole fractions.
t | Temperature in kelvin |
n | molar density (kmol/m^3) |
x | vector of species mole fractions, length m_kk |
Definition at line 436 of file Phase.cpp.
References Phase::setMolarDensity(), Phase::setMoleFractions(), and Phase::setTemperature().
void setState_TR | ( | doublereal | t, |
doublereal | rho | ||
) |
Set the internally stored temperature (K) and density (kg/m^3)
t | Temperature in kelvin |
rho | Density (kg/m^3) |
Definition at line 464 of file Phase.cpp.
References Phase::setDensity(), and Phase::setTemperature().
Referenced by PureFluidPhase::setState_HP(), PureFluidPhase::setState_SP(), PureFluidPhase::setState_SV(), PureFluidPhase::setState_UV(), and Reactor::updateState().
void setState_TX | ( | doublereal | t, |
doublereal * | x | ||
) |
Set the internally stored temperature (K) and mole fractions.
t | Temperature in kelvin |
x | vector of species mole fractions, length m_kk |
Definition at line 470 of file Phase.cpp.
References Phase::setMoleFractions(), and Phase::setTemperature().
void setState_TY | ( | doublereal | t, |
doublereal * | y | ||
) |
Set the internally stored temperature (K) and mass fractions.
t | Temperature in kelvin |
y | vector of species mass fractions, length m_kk |
Definition at line 476 of file Phase.cpp.
References Phase::setMassFractions(), and Phase::setTemperature().
void setState_RX | ( | doublereal | rho, |
doublereal * | x | ||
) |
Set the density (kg/m^3) and mole fractions.
rho | Density (kg/m^3) |
x | vector of species mole fractions, length m_kk |
Definition at line 482 of file Phase.cpp.
References Phase::setDensity(), and Phase::setMoleFractions().
void setState_RY | ( | doublereal | rho, |
doublereal * | y | ||
) |
Set the density (kg/m^3) and mass fractions.
rho | Density (kg/m^3) |
y | vector of species mass fractions, length m_kk |
Definition at line 488 of file Phase.cpp.
References Phase::setDensity(), and Phase::setMassFractions().
doublereal molecularWeight | ( | size_t | k | ) | const |
Molecular weight of species k
.
k | index of species k |
k
. Definition at line 494 of file Phase.cpp.
References Phase::checkSpeciesIndex(), and Phase::m_molwts.
Referenced by VPSSMgr_Water_ConstVol::_updateRefStateThermo(), VPSSMgr_Water_HKFT::_updateRefStateThermo(), VPSSMgr_Water_ConstVol::_updateStandardStateThermo(), VPSSMgr_Water_HKFT::_updateStandardStateThermo(), InterfaceKinetics::buildSurfaceArrhenius(), SingleSpeciesTP::cv_mole(), Phase::elementalMassFraction(), SingleSpeciesTP::getPartialMolarVolumes(), SingleSpeciesTP::getStandardVolumes(), VPSSMgr_Water_ConstVol::getStandardVolumes_ref(), PDSS::initThermo(), VPSSMgr_Water_ConstVol::initThermoXML(), VPSSMgr_Water_HKFT::initThermoXML(), PDSS_ConstVol::initThermoXML(), PDSS_SSVol::initThermoXML(), RxnMolChange::RxnMolChange(), MolalityVPSSTP::setSolvent(), LiquidTransport::stefan_maxwell_solve(), and Cantera::vcs_Cantera_to_vprob().
void getMolecularWeights | ( | vector_fp & | weights | ) | const |
Copy the vector of molecular weights into vector weights.
weights | Output vector of molecular weights (kg/kmol) |
Definition at line 500 of file Phase.cpp.
References Phase::molecularWeights().
void getMolecularWeights | ( | doublereal * | weights | ) | const |
Copy the vector of molecular weights into array weights.
weights | Output array of molecular weights (kg/kmol) |
Definition at line 509 of file Phase.cpp.
References Phase::molecularWeights().
const vector_fp & molecularWeights | ( | ) | const |
Return a const reference to the internal vector of molecular weights.
units = kg / kmol
Definition at line 515 of file Phase.cpp.
References Phase::m_molwts.
Referenced by ReactingSurf1D::eval(), FlowReactor::evalEqs(), Reactor::evalEqs(), Reactor::evalSurfaces(), Phase::getMolecularWeights(), MixTransport::getSpeciesFluxes(), PecosTransport::getSpeciesFluxes(), AqueousTransport::getSpeciesFluxesExt(), SimpleTransport::getSpeciesFluxesExt(), Cantera::getStick(), PecosTransport::initGas(), DustyGasTransport::initialize(), LiquidTransport::initLiquid(), SimpleTransport::initLiquid(), AqueousTransport::initLiquid(), TransportFactory::setupLiquidTransport(), TransportFactory::setupSolidTransport(), AqueousTransport::stefan_maxwell_solve(), LiquidTransport::stefan_maxwell_solve(), and StFlow::StFlow().
|
inline |
This routine returns the size of species k.
k | index of the species |
Definition at line 411 of file Phase.h.
References Phase::m_speciesSize.
Referenced by InterfaceKinetics::buildSurfaceArrhenius(), SurfPhase::entropy_mole(), ReactingSurf1D::eval(), Reactor::evalSurfaces(), SurfPhase::getCoverages(), SurfPhase::initThermo(), MolarityIonicVPSSTP::initThermoXML(), PhaseCombo_Interaction::initThermoXML(), SurfPhase::setCoverages(), SurfPhase::setCoveragesNoNorm(), and SurfPhase::standardConcentration().
void getMoleFractionsByName | ( | compositionMap & | x | ) | const |
Get the mole fractions by name.
[out] | x | composition map containing the species mole fractions. |
compositionMap getMoleFractionsByName(double threshold)
instead. Definition at line 520 of file Phase.cpp.
References Phase::m_kk, Phase::moleFraction(), Phase::speciesName(), and Cantera::warn_deprecated().
compositionMap getMoleFractionsByName | ( | double | threshold = 0.0 | ) | const |
Get the mole fractions by name.
threshold | Exclude species with mole fractions less than or equal to this threshold. |
Definition at line 532 of file Phase.cpp.
References Phase::m_kk, Phase::moleFraction(), and Phase::speciesName().
doublereal moleFraction | ( | size_t | k | ) | const |
Return the mole fraction of a single species.
k | species index |
Definition at line 561 of file Phase.cpp.
References Phase::checkSpeciesIndex(), Phase::m_mmw, and Phase::m_ym.
Referenced by Phase::chargeDensity(), SolidTransport::electricalConductivity(), Phase::elementalMoleFraction(), MaskellSolidSolnPhase::enthalpy_mole(), MaskellSolidSolnPhase::entropy_mole(), SurfPhase::entropy_mole(), ChemEquil::equilibrate(), IdealMolalSoln::getActivities(), DebyeHuckel::getActivities(), HMWSoln::getActivities(), MaskellSolidSolnPhase::getActivityCoefficients(), MolalityVPSSTP::getActivityCoefficients(), MaskellSolidSolnPhase::getActivityConcentrations(), IdealSolnGasVPSS::getActivityConcentrations(), RedlichKwongMFTP::getActivityConcentrations(), ConstDensityThermo::getChemPotentials(), MaskellSolidSolnPhase::getChemPotentials(), IdealSolnGasVPSS::getChemPotentials(), RedlichKwongMFTP::getChemPotentials(), IdealMolalSoln::getChemPotentials(), IdealSolidSolnPhase::getChemPotentials(), LatticePhase::getChemPotentials(), IdealGasPhase::getChemPotentials(), DebyeHuckel::getChemPotentials(), HMWSoln::getChemPotentials(), IdealSolidSolnPhase::getChemPotentials_RT(), IdealMolalSoln::getMolalityActivityCoefficients(), Phase::getMoleFractionsByName(), IdealSolnGasVPSS::getPartialMolarEntropies(), RedlichKwongMFTP::getPartialMolarEntropies(), IdealMolalSoln::getPartialMolarEntropies(), IdealSolidSolnPhase::getPartialMolarEntropies(), LatticePhase::getPartialMolarEntropies(), IdealGasPhase::getPartialMolarEntropies(), DebyeHuckel::getPartialMolarEntropies(), HMWSoln::getPartialMolarEntropies(), Phase::moleFraction(), DebyeHuckel::s_update_d2lnMolalityActCoeff_dT2(), DebyeHuckel::s_update_dlnMolalityActCoeff_dP(), DebyeHuckel::s_update_dlnMolalityActCoeff_dT(), DebyeHuckel::s_update_lnMolalityActCoeff(), IdealMolalSoln::s_updateIMS_lnMolalityActCoeff(), HMWSoln::s_updateIMS_lnMolalityActCoeff(), HMWSoln::s_updatePitzer_lnMolalityActCoeff(), ChemEquil::setInitialMoles(), and ElectrodeKinetics::updateROP().
doublereal moleFraction | ( | const std::string & | name | ) | const |
Return the mole fraction of a single species.
name | String name of the species |
Definition at line 567 of file Phase.cpp.
References Phase::moleFraction(), Cantera::npos, and Phase::speciesIndex().
compositionMap getMassFractionsByName | ( | double | threshold = 0.0 | ) | const |
Get the mass fractions by name.
threshold | Exclude species with mass fractions less than or equal to this threshold. |
Definition at line 544 of file Phase.cpp.
References Phase::m_kk, Phase::massFraction(), and Phase::speciesName().
doublereal massFraction | ( | size_t | k | ) | const |
Return the mass fraction of a single species.
k | species index |
Definition at line 582 of file Phase.cpp.
References Phase::checkSpeciesIndex(), and Phase::m_y.
Referenced by Phase::elementalMassFraction(), and Phase::getMassFractionsByName().
doublereal massFraction | ( | const std::string & | name | ) | const |
Return the mass fraction of a single species.
name | String name of the species |
Definition at line 588 of file Phase.cpp.
References Phase::massFractions(), Cantera::npos, and Phase::speciesIndex().
void getMoleFractions | ( | doublereal *const | x | ) | const |
Get the species mole fraction vector.
x | On return, x contains the mole fractions. Must have a length greater than or equal to the number of species. |
Definition at line 556 of file Phase.cpp.
References Phase::m_mmw, Phase::m_ym, and Cantera::scale().
Referenced by MaskellSolidSolnPhase::calcDensity(), IdealMolalSoln::calcDensity(), DebyeHuckel::calcDensity(), HMWSoln::calcDensity(), IonsFromNeutralVPSSTP::calcIonMoleFractions(), MolalityVPSSTP::calcMolalities(), HMWSoln::calcMolalitiesCropped(), IdealMolalSoln::enthalpy_mole(), HMWSoln::enthalpy_mole(), ChemEquil::estimateElementPotentials(), ChemEquil::estimateEP_Brinkley(), LatticePhase::getActivityConcentrations(), HighPressureGasTransport::getBinaryDiffCoeffs(), MolalityVPSSTP::getCsvReportData(), ThermoPhase::getCsvReportData(), MultiTransport::getMassFluxes(), LTI_Pairwise_Interaction::getMatrixTransProp(), LTI_StefanMaxwell_PPN::getMatrixTransProp(), LTI_MoleFracs::getMixTransProp(), LTI_Log_MoleFracs::getMixTransProp(), LTI_Pairwise_Interaction::getMixTransProp(), LTI_StefanMaxwell_PPN::getMixTransProp(), LTI_MoleFracs_ExpT::getMixTransProp(), LatticeSolidPhase::getMoleFractions(), HighPressureGasTransport::getMultiDiffCoeffs(), DustyGasTransport::initialize(), HMWSoln::printCoeffs(), HMWSoln::relative_molal_enthalpy(), PseudoBinaryVPSSTP::report(), MolarityIonicVPSSTP::report(), MolalityVPSSTP::report(), ThermoPhase::report(), ThermoPhase::reportCSV(), MixtureFugacityTP::setConcentrations(), MixtureFugacityTP::setMassFractions(), MixtureFugacityTP::setMassFractions_NoNorm(), MolalityVPSSTP::setMolalitiesByName(), MixtureFugacityTP::setMoleFractions(), MixtureFugacityTP::setMoleFractions_NoNorm(), MultiPhase::setMoles(), ThermoPhase::setReferenceComposition(), MixtureFugacityTP::setState_TP(), MixtureFugacityTP::setState_TR(), AqueousTransport::stefan_maxwell_solve(), HighPressureGasTransport::thermalConductivity(), ChemEquil::update(), MultiTransport::update_C(), MixTransport::update_C(), PecosTransport::update_C(), AqueousTransport::update_C(), SimpleTransport::update_C(), LiquidTransport::update_C(), solveSP::updateMFKinSpecies(), DustyGasTransport::updateTransport_C(), MultiPhase::uploadMoleFractionsFromPhases(), and HighPressureGasTransport::viscosity().
|
virtual |
Set the mole fractions to the specified values There is no restriction on the sum of the mole fraction vector.
Internally, the Phase object will normalize this vector before storing its contents.
x | Array of unnormalized mole fraction values (input). Must have a length greater than or equal to the number of species, m_kk. |
Reimplemented in IonsFromNeutralVPSSTP, GibbsExcessVPSSTP, LatticePhase, SingleSpeciesTP, MixtureFugacityTP, LatticeSolidPhase, IdealSolidSolnPhase, and RedlichKwongMFTP.
Definition at line 331 of file Phase.cpp.
References Phase::m_kk, Phase::m_mmw, Phase::m_molwts, Phase::m_stateNum, Phase::m_y, and Phase::m_ym.
Referenced by ChemEquil::calcEmoles(), ChemEquil::equilibrate(), ChemEquil::estimateElementPotentials(), ChemEquil::estimateEP_Brinkley(), PureFluidPhase::initThermo(), SingleSpeciesTP::initThermo(), IonsFromNeutralVPSSTP::setConcentrations(), IonsFromNeutralVPSSTP::setMassFractions(), IonsFromNeutralVPSSTP::setMassFractions_NoNorm(), MolalityVPSSTP::setMolalities(), MolalityVPSSTP::setMolalitiesByName(), Inlet1D::setMoleFractions(), IdealSolidSolnPhase::setMoleFractions(), OutletRes1D::setMoleFractions(), LatticeSolidPhase::setMoleFractions(), MixtureFugacityTP::setMoleFractions(), LatticePhase::setMoleFractions(), IonsFromNeutralVPSSTP::setMoleFractions(), IdealSolidSolnPhase::setMoleFractions_NoNorm(), LatticePhase::setMoleFractions_NoNorm(), Phase::setMoleFractionsByName(), ThermoPhase::setState_PX(), Phase::setState_RX(), Phase::setState_TNX(), ThermoPhase::setState_TPX(), Phase::setState_TRX(), and Phase::setState_TX().
|
virtual |
Set the mole fractions to the specified values without normalizing.
This is useful when the normalization condition is being handled by some other means, for example by a constraint equation as part of a larger set of equations.
x | Input vector of mole fractions. Length is m_kk. |
Reimplemented in IonsFromNeutralVPSSTP, GibbsExcessVPSSTP, LatticePhase, MixtureFugacityTP, IdealSolidSolnPhase, and RedlichKwongMFTP.
Definition at line 367 of file Phase.cpp.
References Cantera::dot(), Phase::m_kk, Phase::m_mmw, Phase::m_molwts, Phase::m_stateNum, Phase::m_y, and Phase::m_ym.
Referenced by MixtureFugacityTP::setMoleFractions_NoNorm(), and IonsFromNeutralVPSSTP::setMoleFractions_NoNorm().
void getMassFractions | ( | doublereal *const | y | ) | const |
Get the species mass fractions.
[out] | y | Array of mass fractions, length nSpecies() |
Definition at line 598 of file Phase.cpp.
References Phase::m_y.
Referenced by StFlow::_getInitialSoln(), ThermoPhase::getCsvReportData(), FlowReactor::getInitialConditions(), Reactor::getInitialConditions(), LTI_MassFracs::getMixTransProp(), ThermoPhase::report(), Phase::saveState(), Inlet1D::setMoleFractions(), OutletRes1D::setMoleFractions(), and LiquidTransport::update_C().
|
inline |
Return a const pointer to the mass fraction array.
Definition at line 482 of file Phase.h.
References Phase::m_y.
Referenced by Reactor::evalEqs(), MultiTransport::getMassFluxes(), MultiTransport::getSpeciesFluxes(), MixTransport::getSpeciesFluxes(), PecosTransport::getSpeciesFluxes(), AqueousTransport::getSpeciesFluxesExt(), SimpleTransport::getSpeciesFluxesExt(), SimpleTransport::getSpeciesVdiff(), SimpleTransport::getSpeciesVdiffES(), and Phase::massFraction().
|
virtual |
Set the mass fractions to the specified values and normalize them.
[in] | y | Array of unnormalized mass fraction values. Length must be greater than or equal to the number of species. The Phase object will normalize this vector before storing its contents. |
Reimplemented in IonsFromNeutralVPSSTP, LatticePhase, SingleSpeciesTP, GibbsExcessVPSSTP, LatticeSolidPhase, MixtureFugacityTP, IdealSolidSolnPhase, and RedlichKwongMFTP.
Definition at line 390 of file Phase.cpp.
References Phase::m_kk, Phase::m_mmw, Phase::m_rmolwts, Phase::m_stateNum, Phase::m_y, Phase::m_ym, and Cantera::scale().
Referenced by IdealSolidSolnPhase::setMassFractions(), MixtureFugacityTP::setMassFractions(), LatticePhase::setMassFractions(), Phase::setMassFractionsByName(), ThermoPhase::setState_PY(), Phase::setState_RY(), ThermoPhase::setState_TPY(), Phase::setState_TRY(), Phase::setState_TY(), and FlowReactor::updateState().
|
virtual |
Set the mass fractions to the specified values without normalizing.
This is useful when the normalization condition is being handled by some other means, for example by a constraint equation as part of a larger set of equations.
y | Input vector of mass fractions. Length is m_kk. |
Reimplemented in IonsFromNeutralVPSSTP, LatticePhase, GibbsExcessVPSSTP, LatticeSolidPhase, MixtureFugacityTP, IdealSolidSolnPhase, and RedlichKwongMFTP.
Definition at line 404 of file Phase.cpp.
References Phase::m_kk, Phase::m_mmw, Phase::m_rmolwts, Phase::m_stateNum, Phase::m_y, and Phase::m_ym.
Referenced by Phase::restoreState(), StFlow::setGas(), StFlow::setGasAtMidpoint(), IdealSolidSolnPhase::setMassFractions_NoNorm(), MixtureFugacityTP::setMassFractions_NoNorm(), LatticePhase::setMassFractions_NoNorm(), and Reactor::updateState().
void getConcentrations | ( | doublereal *const | c | ) | const |
Get the species concentrations (kmol/m^3).
[out] | c | The vector of species concentrations. Units are kmol/m^3. The length of the vector must be greater than or equal to the number of species within the phase. |
Definition at line 609 of file Phase.cpp.
References Phase::m_dens, Phase::m_ym, and Cantera::scale().
Referenced by InterfaceKinetics::_update_rates_C(), ConstDensityThermo::getActivityConcentrations(), IdealSolnGasVPSS::getActivityConcentrations(), SurfPhase::getActivityConcentrations(), IdealGasPhase::getActivityConcentrations(), ImplicitSurfChem::getConcSpecies(), SurfPhase::getCoverages(), solveSP::solveSurfProb(), SimpleTransport::update_C(), and LiquidTransport::update_C().
doublereal concentration | ( | const size_t | k | ) | const |
Concentration of species k.
If k is outside the valid range, an exception will be thrown.
[in] | k | Index of the species within the phase. |
Definition at line 603 of file Phase.cpp.
References Phase::checkSpeciesIndex(), Phase::m_dens, Phase::m_rmolwts, and Phase::m_y.
Referenced by SurfPhase::entropy_mole().
|
virtual |
Set the concentrations to the specified values within the phase.
We set the concentrations here and therefore we set the overall density of the phase. We hold the temperature constant during this operation. Therefore, we have possibly changed the pressure of the phase by calling this routine.
[in] | conc | Array of concentrations in dimensional units. For bulk phases c[k] is the concentration of the kth species in kmol/m3. For surface phases, c[k] is the concentration in kmol/m2. The length of the vector is the number of species in the phase. |
Reimplemented in IonsFromNeutralVPSSTP, GibbsExcessVPSSTP, LatticePhase, MixtureFugacityTP, LatticeSolidPhase, IdealSolidSolnPhase, and RedlichKwongMFTP.
Definition at line 614 of file Phase.cpp.
References Phase::m_kk, Phase::m_mmw, Phase::m_molwts, Phase::m_stateNum, Phase::m_y, Phase::m_ym, and Phase::setDensity().
Referenced by IdealSolidSolnPhase::setConcentrations(), MixtureFugacityTP::setConcentrations(), LatticePhase::setConcentrations(), ImplicitSurfChem::setConcSpecies(), SurfPhase::setCoverages(), and SurfPhase::setCoveragesNoNorm().
doublereal elementalMassFraction | ( | const size_t | m | ) | const |
Elemental mass fraction of element m.
The elemental mass fraction \(Z_{\mathrm{mass},m}\) of element \(m\) is defined as
\[ Z_{\mathrm{mass},m} = \sum_k \frac{a_{m,k} M_m}{M_k} Y_k \]
with \(a_{m,k}\) being the number of atoms of element \(m\) in species \(k\), \(M_m\) the atomic weight of element \(m\), \(M_k\) the molecular weight of species \(k\), and \(Y_k\) the mass fraction of species \(k\).
[in] | m | Index of the element within the phase. If m is outside the valid range, an exception will be thrown. |
Definition at line 634 of file Phase.cpp.
References Phase::atomicWeight(), Phase::checkElementIndex(), Phase::m_kk, Phase::massFraction(), Phase::molecularWeight(), and Phase::nAtoms().
doublereal elementalMoleFraction | ( | const size_t | m | ) | const |
Elemental mole fraction of element m.
The elemental mole fraction \(Z_{\mathrm{mole},m}\) of element \(m\) is the number of atoms of element m divided by the total number of atoms. It is defined as:
\[ Z_{\mathrm{mole},m} = \frac{\sum_k a_{m,k} X_k} {\sum_k \sum_j a_{j,k} X_k} \]
with \(a_{m,k}\) being the number of atoms of element \(m\) in species \(k\), \(\sum_j\) being a sum over all elements, and \(X_k\) being the mole fraction of species \(k\).
[in] | m | Index of the element within the phase. If m is outside the valid range, an exception will be thrown. |
Definition at line 645 of file Phase.cpp.
References Phase::checkElementIndex(), Phase::m_kk, Phase::moleFraction(), Phase::nAtoms(), and Phase::nElements().
const doublereal * moleFractdivMMW | ( | ) | const |
Returns a const pointer to the start of the moleFraction/MW array.
This array is the array of mole fractions, each divided by the mean molecular weight.
Definition at line 577 of file Phase.cpp.
References Phase::m_ym.
Referenced by IdealSolnGasVPSS::calcDensity(), RedlichKwongMFTP::calcDensity(), IdealSolidSolnPhase::calcDensity(), and IdealSolidSolnPhase::getActivityConcentrations().
|
inline |
Dimensionless electrical charge of a single molecule of species k The charge is normalized by the the magnitude of the electron charge.
k | species index |
Definition at line 578 of file Phase.h.
References Phase::m_speciesCharge.
Referenced by HMWSoln::applyphScale(), InterfaceKinetics::applyVoltageKfwdCorrection(), HMWSoln::calcMolalitiesCropped(), Phase::chargeDensity(), PDSS_HKFT::constructPDSSXML(), SolidTransport::electricalConductivity(), PseudoBinaryVPSSTP::getElectrochemPotentials(), MolarityIonicVPSSTP::getElectrochemPotentials(), RedlichKisterVPSSTP::getElectrochemPotentials(), MixedSolventElectrolyte::getElectrochemPotentials(), MargulesVPSSTP::getElectrochemPotentials(), PhaseCombo_Interaction::getElectrochemPotentials(), MolalityVPSSTP::getElectrochemPotentials(), ThermoPhase::getElectrochemPotentials(), PecosTransport::getMobilities(), Cantera::hasChargedSpecies(), ElectrodeKinetics::identifyMetalPhase(), LiquidTransport::initLiquid(), SimpleTransport::initLiquid(), PDSS_HKFT::initThermo(), IonsFromNeutralVPSSTP::initThermoXML(), DebyeHuckel::initThermoXML(), HMWSoln::printCoeffs(), RedlichKisterVPSSTP::readXMLBinarySpecies(), MixedSolventElectrolyte::readXMLBinarySpecies(), MargulesVPSSTP::readXMLBinarySpecies(), PhaseCombo_Interaction::readXMLBinarySpecies(), HMWSoln::relative_molal_enthalpy(), RxnMolChange::RxnMolChange(), HMWSoln::s_updatePitzer_CoeffWRTemp(), HMWSoln::s_updatePitzer_d2lnMolalityActCoeff_dT2(), HMWSoln::s_updatePitzer_dlnMolalityActCoeff_dP(), HMWSoln::s_updatePitzer_dlnMolalityActCoeff_dT(), HMWSoln::s_updatePitzer_lnMolalityActCoeff(), HMWSoln::s_updateScaling_pHScaling(), HMWSoln::s_updateScaling_pHScaling_dP(), HMWSoln::s_updateScaling_pHScaling_dT(), HMWSoln::s_updateScaling_pHScaling_dT2(), MolalityVPSSTP::setMolalitiesByName(), vcs_VolPhase::transferElementsFM(), InterfaceKinetics::updateMu0(), and Cantera::vcs_Cantera_to_vprob().
doublereal chargeDensity | ( | ) | const |
Charge density [C/m^3].
Definition at line 678 of file Phase.cpp.
References Phase::charge(), Phase::m_kk, and Phase::moleFraction().
|
inline |
Returns the number of spatial dimensions (1, 2, or 3)
Definition at line 586 of file Phase.h.
References Phase::m_ndim.
Referenced by Kinetics::addPhase(), InterfaceKinetics::buildSurfaceArrhenius(), EdgeKinetics::finalize(), InterfaceKinetics::finalize(), IdealSolnGasVPSS::getUnitsStandardConc(), RedlichKwongMFTP::getUnitsStandardConc(), IdealMolalSoln::getUnitsStandardConc(), IdealSolidSolnPhase::getUnitsStandardConc(), MolalityVPSSTP::getUnitsStandardConc(), ThermoPhase::getUnitsStandardConc(), DebyeHuckel::getUnitsStandardConc(), HMWSoln::getUnitsStandardConc(), ElectrodeKinetics::identifyMetalPhase(), and RxnMolChange::RxnMolChange().
|
inline |
Set the number of spatial dimensions (1, 2, or 3).
The number of spatial dimensions is used for vector involving directions.
ndim | Input number of dimensions. |
Definition at line 593 of file Phase.h.
References Phase::m_ndim.
Referenced by EdgePhase::EdgePhase(), FixedChemPotSSTP::FixedChemPotSSTP(), Cantera::importPhase(), EdgePhase::operator=(), and SurfPhase::SurfPhase().
|
inline |
Temperature (K).
Definition at line 602 of file Phase.h.
References Phase::m_temp.
Referenced by StFlow::_getInitialSoln(), ThermoPhase::_RT(), AqueousKinetics::_update_rates_T(), InterfaceKinetics::_update_rates_T(), MixtureFugacityTP::_updateReferenceStateThermo(), VPStandardStateTP::_updateStandardStateThermo(), MaskellSolidSolnPhase::_updateThermo(), ConstDensityThermo::_updateThermo(), SingleSpeciesTP::_updateThermo(), SurfPhase::_updateThermo(), LatticeSolidPhase::_updateThermo(), LatticePhase::_updateThermo(), IdealSolidSolnPhase::_updateThermo(), IdealGasPhase::_updateThermo(), DebyeHuckel::A_Debye_TP(), HMWSoln::A_Debye_TP(), MultiPhase::addPhase(), HMWSoln::ADebye_J(), HMWSoln::ADebye_L(), HMWSoln::ADebye_V(), InterfaceKinetics::applyVoltageKfwdCorrection(), IdealSolnGasVPSS::calcDensity(), HMWSoln::calcDensity(), MixtureFugacityTP::calculatePsat(), InterfaceKinetics::convertExchangeCurrentDensityFormulation(), RedlichKwongMFTP::cp_mole(), SingleSpeciesTP::cv_mole(), HMWSoln::cv_mole(), IdealGasPhase::cv_vib(), DebyeHuckel::d2A_DebyedT2_TP(), HMWSoln::d2A_DebyedT2_TP(), DebyeHuckel::dA_DebyedP_TP(), HMWSoln::dA_DebyedP_TP(), DebyeHuckel::dA_DebyedT_TP(), HMWSoln::dA_DebyedT_TP(), WaterSSTP::dthermalExpansionCoeffdT(), ConstDensityThermo::enthalpy_mole(), IdealSolnGasVPSS::enthalpy_mole(), MaskellSolidSolnPhase::enthalpy_mole(), IdealSolidSolnPhase::enthalpy_mole(), LatticePhase::enthalpy_mole(), IdealGasPhase::enthalpy_mole(), ChemEquil::equilibrate(), ChemEquil::estimateElementPotentials(), ChemEquil::estimateEP_Brinkley(), FixedChemPotSSTP::FixedChemPotSSTP(), MaskellSolidSolnPhase::getActivityCoefficients(), RedlichKwongMFTP::getActivityCoefficients(), ConstDensityThermo::getChemPotentials(), MolarityIonicVPSSTP::getChemPotentials(), MaskellSolidSolnPhase::getChemPotentials(), IdealSolnGasVPSS::getChemPotentials(), SurfPhase::getChemPotentials(), IonsFromNeutralVPSSTP::getChemPotentials(), RedlichKwongMFTP::getChemPotentials(), RedlichKisterVPSSTP::getChemPotentials(), MixedSolventElectrolyte::getChemPotentials(), MargulesVPSSTP::getChemPotentials(), IdealMolalSoln::getChemPotentials(), PhaseCombo_Interaction::getChemPotentials(), IdealSolidSolnPhase::getChemPotentials(), LatticePhase::getChemPotentials(), IdealGasPhase::getChemPotentials(), DebyeHuckel::getChemPotentials(), HMWSoln::getChemPotentials(), MaskellSolidSolnPhase::getChemPotentials_RT(), StoichSubstance::getChemPotentials_RT(), SingleSpeciesTP::getChemPotentials_RT(), IdealSolidSolnPhase::getChemPotentials_RT(), WaterSSTP::getCp_R_ref(), BulkKinetics::getDeltaSSEnthalpy(), InterfaceKinetics::getDeltaSSEnthalpy(), MixedSolventElectrolyte::getdlnActCoeffds(), MargulesVPSSTP::getdlnActCoeffds(), PhaseCombo_Interaction::getdlnActCoeffds(), ThermoPhase::getElementPotentials(), WaterSSTP::getEnthalpy_RT(), StoichSubstance::getEnthalpy_RT(), StoichSubstanceSSTP::getEnthalpy_RT(), SurfPhase::getEnthalpy_RT(), IdealSolidSolnPhase::getEnthalpy_RT(), LatticePhase::getEnthalpy_RT(), WaterSSTP::getEnthalpy_RT_ref(), PureFluidPhase::getEnthalpy_RT_ref(), WaterSSTP::getEntropy_R_ref(), PureFluidPhase::getEntropy_R_ref(), AqueousKinetics::getEquilibriumConstants(), GasKinetics::getEquilibriumConstants(), InterfaceKinetics::getEquilibriumConstants(), PureFluidPhase::getGibbs_ref(), StoichSubstance::getGibbs_ref(), SingleSpeciesTP::getGibbs_ref(), LatticeSolidPhase::getGibbs_ref(), IdealSolidSolnPhase::getGibbs_ref(), LatticePhase::getGibbs_ref(), WaterSSTP::getGibbs_RT(), StoichSubstance::getGibbs_RT(), SurfPhase::getGibbs_RT(), WaterSSTP::getGibbs_RT_ref(), PureFluidPhase::getGibbs_RT_ref(), StoichSubstanceSSTP::getIntEnergy_RT(), IdealSolidSolnPhase::getIntEnergy_RT(), StoichSubstanceSSTP::getIntEnergy_RT_ref(), MetalSHEelectrons::getIntEnergy_RT_ref(), IdealSolidSolnPhase::getIntEnergy_RT_ref(), LTI_Pairwise_Interaction::getMatrixTransProp(), LTI_StefanMaxwell_PPN::getMatrixTransProp(), LTI_MoleFracs::getMixTransProp(), LTI_MassFracs::getMixTransProp(), LTI_Log_MoleFracs::getMixTransProp(), LTI_MoleFracs_ExpT::getMixTransProp(), SolidTransport::getMobilities(), MolarityIonicVPSSTP::getPartialMolarCp(), RedlichKisterVPSSTP::getPartialMolarCp(), MixedSolventElectrolyte::getPartialMolarCp(), MargulesVPSSTP::getPartialMolarCp(), PhaseCombo_Interaction::getPartialMolarCp(), DebyeHuckel::getPartialMolarCp(), HMWSoln::getPartialMolarCp(), MolarityIonicVPSSTP::getPartialMolarEnthalpies(), IdealSolnGasVPSS::getPartialMolarEnthalpies(), SingleSpeciesTP::getPartialMolarEnthalpies(), SurfPhase::getPartialMolarEnthalpies(), IonsFromNeutralVPSSTP::getPartialMolarEnthalpies(), RedlichKwongMFTP::getPartialMolarEnthalpies(), RedlichKisterVPSSTP::getPartialMolarEnthalpies(), MixedSolventElectrolyte::getPartialMolarEnthalpies(), MargulesVPSSTP::getPartialMolarEnthalpies(), PhaseCombo_Interaction::getPartialMolarEnthalpies(), IdealSolidSolnPhase::getPartialMolarEnthalpies(), LatticePhase::getPartialMolarEnthalpies(), IdealGasPhase::getPartialMolarEnthalpies(), DebyeHuckel::getPartialMolarEnthalpies(), HMWSoln::getPartialMolarEnthalpies(), MolarityIonicVPSSTP::getPartialMolarEntropies(), IonsFromNeutralVPSSTP::getPartialMolarEntropies(), RedlichKwongMFTP::getPartialMolarEntropies(), RedlichKisterVPSSTP::getPartialMolarEntropies(), MixedSolventElectrolyte::getPartialMolarEntropies(), MargulesVPSSTP::getPartialMolarEntropies(), PhaseCombo_Interaction::getPartialMolarEntropies(), DebyeHuckel::getPartialMolarEntropies(), HMWSoln::getPartialMolarEntropies(), SingleSpeciesTP::getPartialMolarIntEnergies(), IdealSolnGasVPSS::getPartialMolarIntEnergies(), RedlichKwongMFTP::getPartialMolarIntEnergies(), IdealGasPhase::getPartialMolarIntEnergies(), RedlichKwongMFTP::getPartialMolarVolumes(), MixedSolventElectrolyte::getPartialMolarVolumes(), MargulesVPSSTP::getPartialMolarVolumes(), PhaseCombo_Interaction::getPartialMolarVolumes(), DebyeHuckel::getPartialMolarVolumes(), HMWSoln::getPartialMolarVolumes(), MaskellSolidSolnPhase::getPureGibbs(), SingleSpeciesTP::getPureGibbs(), LatticePhase::getPureGibbs(), LTPspecies_Arrhenius::getSpeciesTransProp(), LTPspecies_Poly::getSpeciesTransProp(), LTPspecies_ExpT::getSpeciesTransProp(), WaterSSTP::getStandardChemPotentials(), StoichSubstanceSSTP::getStandardChemPotentials(), MetalSHEelectrons::getStandardChemPotentials(), IdealGasPhase::getStandardChemPotentials(), WaterSSTP::getStandardVolumes_ref(), IdealSolidSolnPhase::gibbs_mole(), ThermoPhase::gibbs_mole(), RedlichKwongMFTP::hresid(), StoichSubstance::intEnergy_mole(), MixtureFugacityTP::phaseState(), RedlichKwongMFTP::pressure(), IdealGasPhase::pressure(), MixTransport::pressure_ig(), PecosTransport::pressure_ig(), RedlichKwongMFTP::pressureDerivatives(), HMWSoln::relative_enthalpy(), PseudoBinaryVPSSTP::report(), MolarityIonicVPSSTP::report(), PureFluidPhase::report(), MolalityVPSSTP::report(), ThermoPhase::report(), HMWSoln::s_update_d2lnMolalityActCoeff_dT2(), MixedSolventElectrolyte::s_update_dlnActCoeff_dlnN(), MargulesVPSSTP::s_update_dlnActCoeff_dlnN(), PhaseCombo_Interaction::s_update_dlnActCoeff_dlnN(), MixedSolventElectrolyte::s_update_dlnActCoeff_dlnN_diag(), MargulesVPSSTP::s_update_dlnActCoeff_dlnN_diag(), PhaseCombo_Interaction::s_update_dlnActCoeff_dlnN_diag(), MixedSolventElectrolyte::s_update_dlnActCoeff_dlnX_diag(), MargulesVPSSTP::s_update_dlnActCoeff_dlnX_diag(), PhaseCombo_Interaction::s_update_dlnActCoeff_dlnX_diag(), MixedSolventElectrolyte::s_update_dlnActCoeff_dT(), MargulesVPSSTP::s_update_dlnActCoeff_dT(), PhaseCombo_Interaction::s_update_dlnActCoeff_dT(), RedlichKisterVPSSTP::s_update_dlnActCoeff_dX_(), HMWSoln::s_update_dlnMolalityActCoeff_dP(), HMWSoln::s_update_dlnMolalityActCoeff_dT(), RedlichKisterVPSSTP::s_update_lnActCoeff(), MixedSolventElectrolyte::s_update_lnActCoeff(), MargulesVPSSTP::s_update_lnActCoeff(), PhaseCombo_Interaction::s_update_lnActCoeff(), HMWSoln::s_updatePitzer_CoeffWRTemp(), HMWSoln::s_updatePitzer_dlnMolalityActCoeff_dP(), WaterSSTP::satPressure(), HMWSoln::satPressure(), Phase::saveState(), WaterSSTP::setDensity(), ThermoPhase::setElementPotentials(), ChemEquil::setInitialMoles(), PureFluidPhase::setPressure(), WaterSSTP::setPressure(), IdealMolalSoln::setPressure(), VPStandardStateTP::setPressure(), MixtureFugacityTP::setPressure(), IonsFromNeutralVPSSTP::setPressure(), IdealGasPhase::setPressure(), DebyeHuckel::setPressure(), HMWSoln::setPressure(), vcs_VolPhase::setPtrThermoPhase(), SingleSpeciesTP::setState_HP(), ThermoPhase::setState_HPorUV(), SingleSpeciesTP::setState_SP(), ThermoPhase::setState_SPorSV(), SingleSpeciesTP::setState_SV(), SingleSpeciesTP::setState_UV(), MixtureFugacityTP::setStateFromXML(), MixtureFugacityTP::setTemperature(), PureFluidPhase::setTPXState(), ImplicitSurfChem::solvePseudoSteadyStateProblem(), RedlichKwongMFTP::sresid(), IdealSolnGasVPSS::standardConcentration(), IdealGasPhase::standardConcentration(), AqueousTransport::stefan_maxwell_solve(), LiquidTransport::stefan_maxwell_solve(), SolidTransport::thermalConductivity(), HighPressureGasTransport::thermalConductivity(), MetalSHEelectrons::thermalExpansionCoeff(), IdealGasPhase::thermalExpansionCoeff(), ChemEquil::update(), GasKinetics::update_rates_T(), MultiTransport::update_T(), MixTransport::update_T(), PecosTransport::update_T(), AqueousTransport::update_T(), SimpleTransport::update_T(), LiquidTransport::update_T(), RedlichKwongMFTP::updateAB(), AqueousKinetics::updateKc(), GasKinetics::updateKc(), InterfaceKinetics::updateKc(), InterfaceKinetics::updateMu0(), ElectrodeKinetics::updateROP(), VPStandardStateTP::updateStandardStateThermo(), MultiTransport::updateThermal_T(), DustyGasTransport::updateTransport_T(), WaterSSTP::vaporFraction(), RedlichKisterVPSSTP::Vint(), and HighPressureGasTransport::viscosity().
|
inlinevirtual |
Density (kg/m^3).
Reimplemented in HMWSoln.
Definition at line 608 of file Phase.h.
References Phase::m_dens.
Referenced by MixtureFugacityTP::calculatePsat(), SingleSpeciesTP::cv_mole(), HMWSoln::density(), WaterSSTP::dthermalExpansionCoeffdT(), FlowReactor::evalEqs(), WaterSSTP::getCp_R_ref(), WaterSSTP::getEnthalpy_RT_ref(), WaterSSTP::getEntropy_R_ref(), WaterSSTP::getGibbs_RT_ref(), Reactor::getInitialConditions(), MultiTransport::getMassFluxes(), ConstDensityThermo::getParameters(), StoichSubstance::getParameters(), StoichSubstanceSSTP::getParameters(), MetalSHEelectrons::getParameters(), SingleSpeciesTP::getPartialMolarVolumes(), MultiTransport::getSpeciesFluxes(), SimpleTransport::getSpeciesVdiff(), SimpleTransport::getSpeciesVdiffES(), SingleSpeciesTP::getStandardVolumes(), WaterSSTP::getStandardVolumes_ref(), RedlichKwongMFTP::hresid(), Phase::molarDensity(), MixtureFugacityTP::phaseState(), RedlichKwongMFTP::pressure(), PseudoBinaryVPSSTP::report(), MolarityIonicVPSSTP::report(), PureFluidPhase::report(), MolalityVPSSTP::report(), ThermoPhase::report(), WaterSSTP::satPressure(), Phase::saveState(), MaskellSolidSolnPhase::setDensity(), IdealSolidSolnPhase::setDensity(), IdealMolalSoln::setDensity(), DebyeHuckel::setDensity(), WaterSSTP::setPressure(), MixtureFugacityTP::setState_TP(), IonsFromNeutralVPSSTP::setState_TP(), MixtureFugacityTP::setStateFromXML(), MixtureFugacityTP::setTemperature(), WaterSSTP::setTemperature(), PureFluidPhase::setTPXState(), RedlichKwongMFTP::sresid(), Reactor::syncState(), ChemEquil::update(), SimpleTransport::update_C(), LiquidTransport::update_C(), StFlow::updateThermo(), StFlow::updateTransport(), WaterSSTP::vaporFraction(), and MixtureFugacityTP::z().
doublereal molarDensity | ( | ) | const |
Molar density (kmol/m^3).
Definition at line 663 of file Phase.cpp.
References Phase::density(), and Phase::meanMolecularWeight().
Referenced by solveSP::calc_t(), SolidTransport::electricalConductivity(), ConstDensityThermo::enthalpy_mole(), StoichSubstance::enthalpy_mole(), IdealSolidSolnPhase::enthalpy_mole(), LatticePhase::enthalpy_mole(), ConstDensityThermo::getChemPotentials(), StoichSubstanceSSTP::getEnthalpy_RT(), StoichSubstanceSSTP::getIntEnergy_RT(), StoichSubstanceSSTP::getIntEnergy_RT_ref(), MetalSHEelectrons::getIntEnergy_RT_ref(), LatticePhase::getParameters(), PureFluidPhase::getPartialMolarVolumes(), StoichSubstance::getPartialMolarVolumes(), IdealGasPhase::getPartialMolarVolumes(), MixTransport::getSpeciesFluxes(), PecosTransport::getSpeciesFluxes(), AqueousTransport::getSpeciesFluxesExt(), SimpleTransport::getSpeciesFluxesExt(), StoichSubstance::getStandardVolumes(), IdealGasPhase::getStandardVolumes(), StoichSubstance::intEnergy_mole(), Phase::molarVolume(), IdealGasPhase::pressure(), MixTransport::pressure_ig(), PecosTransport::pressure_ig(), IdealMolalSoln::setMolarDensity(), DebyeHuckel::setMolarDensity(), ConstDensityThermo::standardConcentration(), and GasKinetics::update_rates_C().
doublereal molarVolume | ( | ) | const |
Molar volume (m^3/kmol).
Definition at line 673 of file Phase.cpp.
References Phase::molarDensity().
Referenced by RedlichKwongMFTP::cp_mole(), HMWSoln::cv_mole(), RedlichKwongMFTP::getActivityCoefficients(), RedlichKwongMFTP::getChemPotentials(), LTI_StefanMaxwell_PPN::getMatrixTransProp(), RedlichKwongMFTP::getPartialMolarEnthalpies(), RedlichKwongMFTP::getPartialMolarEntropies(), RedlichKwongMFTP::getPartialMolarVolumes(), ThermoPhase::intEnergy_mole(), RedlichKwongMFTP::pressureDerivatives(), MixtureFugacityTP::setState_TR(), LiquidTransport::stefan_maxwell_solve(), and HighPressureGasTransport::thermalConductivity().
|
inlinevirtual |
Set the internally stored density (kg/m^3) of the phase Note the density of a phase is an independent variable.
[in] | density_ | density (kg/m^3). |
Reimplemented in HMWSoln, DebyeHuckel, WaterSSTP, IdealMolalSoln, IdealSolidSolnPhase, and MaskellSolidSolnPhase.
Definition at line 623 of file Phase.h.
References Phase::m_dens.
Referenced by IdealSolnGasVPSS::calcDensity(), MaskellSolidSolnPhase::calcDensity(), RedlichKwongMFTP::calcDensity(), IdealSolidSolnPhase::calcDensity(), IdealMolalSoln::calcDensity(), LatticeSolidPhase::calcDensity(), DebyeHuckel::calcDensity(), HMWSoln::calcDensity(), WaterSSTP::initThermoXML(), StoichSubstanceSSTP::initThermoXML(), MetalSHEelectrons::initThermoXML(), electrodeElectron::initThermoXML(), Phase::restoreState(), Phase::setConcentrations(), WaterSSTP::setDensity(), ConstDensityThermo::setParameters(), StoichSubstance::setParameters(), StoichSubstanceSSTP::setParameters(), MetalSHEelectrons::setParameters(), electrodeElectron::setParameters(), SemiconductorPhase::setParametersFromXML(), MetalPhase::setParametersFromXML(), ConstDensityThermo::setParametersFromXML(), StoichSubstance::setParametersFromXML(), StoichSubstanceSSTP::setParametersFromXML(), MetalSHEelectrons::setParametersFromXML(), PureFluidPhase::setPressure(), IdealGasPhase::setPressure(), ThermoPhase::setState_HPorUV(), PureFluidPhase::setState_Psat(), Phase::setState_RX(), Phase::setState_RY(), ThermoPhase::setState_SPorSV(), SingleSpeciesTP::setState_SV(), MixtureFugacityTP::setState_TP(), IonsFromNeutralVPSSTP::setState_TP(), MixtureFugacityTP::setState_TR(), Phase::setState_TR(), Phase::setState_TRX(), Phase::setState_TRY(), PureFluidPhase::setState_Tsat(), SingleSpeciesTP::setState_UV(), ThermoPhase::setStateFromXML(), and Reactor::updateState().
|
virtual |
Set the internally stored molar density (kmol/m^3) of the phase.
[in] | molarDensity | Input molar density (kmol/m^3). |
Reimplemented in HMWSoln, DebyeHuckel, IdealMolalSoln, IdealSolidSolnPhase, and MaskellSolidSolnPhase.
Definition at line 668 of file Phase.cpp.
References Phase::m_dens, and Phase::meanMolecularWeight().
Referenced by LatticePhase::calcDensity(), LatticePhase::setParameters(), and Phase::setState_TNX().
|
inlinevirtual |
Set the internally stored temperature of the phase (K).
temp | Temperature in Kelvin |
Reimplemented in HMWSoln, DebyeHuckel, IonsFromNeutralVPSSTP, WaterSSTP, MixtureFugacityTP, VPStandardStateTP, and RedlichKwongMFTP.
Definition at line 638 of file Phase.h.
References Phase::m_temp.
Referenced by ChemEquil::equilibrate(), ReactingSurf1D::eval(), Reactor::evalSurfaces(), WaterSSTP::initThermoXML(), Phase::restoreState(), StFlow::setGas(), StFlow::setGasAtMidpoint(), ThermoPhase::setState_conditional_TP(), PureFluidPhase::setState_Psat(), SingleSpeciesTP::setState_SV(), Phase::setState_TNX(), VPStandardStateTP::setState_TP(), IdealMolalSoln::setState_TP(), MixtureFugacityTP::setState_TP(), DebyeHuckel::setState_TP(), ThermoPhase::setState_TP(), HMWSoln::setState_TP(), MixtureFugacityTP::setState_TR(), Phase::setState_TR(), Phase::setState_TRX(), Phase::setState_TRY(), PureFluidPhase::setState_Tsat(), Phase::setState_TX(), Phase::setState_TY(), SingleSpeciesTP::setState_UV(), SurfPhase::setStateFromXML(), ThermoPhase::setStateFromXML(), RedlichKwongMFTP::setTemperature(), WaterSSTP::setTemperature(), and ChemEquil::setToEquilState().
doublereal mean_X | ( | const doublereal *const | Q | ) | const |
Evaluate the mole-fraction-weighted mean of an array Q.
\[ \sum_k X_k Q_k. \]
Q should contain pure-species molar property values.
[in] | Q | Array of length m_kk that is to be averaged. |
Definition at line 687 of file Phase.cpp.
References Phase::m_mmw, and Phase::m_ym.
Referenced by ConstDensityThermo::cp_mole(), IdealSolnGasVPSS::cp_mole(), RedlichKwongMFTP::cp_mole(), IdealSolidSolnPhase::cp_mole(), IdealMolalSoln::cp_mole(), IonsFromNeutralVPSSTP::cp_mole(), SurfPhase::cp_mole(), LatticePhase::cp_mole(), IdealGasPhase::cp_mole(), DebyeHuckel::cp_mole(), HMWSoln::cp_mole(), IonsFromNeutralVPSSTP::cv_mole(), ConstDensityThermo::enthalpy_mole(), IdealSolnGasVPSS::enthalpy_mole(), MaskellSolidSolnPhase::enthalpy_mole(), RedlichKwongMFTP::enthalpy_mole(), IdealSolidSolnPhase::enthalpy_mole(), IdealMolalSoln::enthalpy_mole(), IonsFromNeutralVPSSTP::enthalpy_mole(), SurfPhase::enthalpy_mole(), LatticePhase::enthalpy_mole(), IdealGasPhase::enthalpy_mole(), DebyeHuckel::enthalpy_mole(), HMWSoln::enthalpy_mole(), ConstDensityThermo::entropy_mole(), IdealSolnGasVPSS::entropy_mole(), MaskellSolidSolnPhase::entropy_mole(), RedlichKwongMFTP::entropy_mole(), IdealSolidSolnPhase::entropy_mole(), IdealMolalSoln::entropy_mole(), IonsFromNeutralVPSSTP::entropy_mole(), LatticePhase::entropy_mole(), IdealGasPhase::entropy_mole(), DebyeHuckel::entropy_mole(), HMWSoln::entropy_mole(), IdealSolidSolnPhase::gibbs_mole(), IdealMolalSoln::gibbs_mole(), IonsFromNeutralVPSSTP::gibbs_mole(), DebyeHuckel::gibbs_mole(), HMWSoln::gibbs_mole(), IdealMolalSoln::intEnergy_mole(), and HMWSoln::relative_enthalpy().
doublereal mean_X | ( | const vector_fp & | Q | ) | const |
Evaluate the mole-fraction-weighted mean of an array Q.
\[ \sum_k X_k Q_k. \]
Q should contain pure-species molar property values.
[in] | Q | Array of length m_kk that is to be averaged. |
Definition at line 692 of file Phase.cpp.
References Phase::m_mmw, and Phase::m_ym.
doublereal mean_Y | ( | const doublereal *const | Q | ) | const |
Evaluate the mass-fraction-weighted mean of an array Q.
\[ \sum_k Y_k Q_k \]
[in] | Q | Array of species property values in mass units. |
Definition at line 697 of file Phase.cpp.
References Cantera::dot(), Phase::m_y, and Cantera::warn_deprecated().
|
inline |
The mean molecular weight. Units: (kg/kmol)
Definition at line 669 of file Phase.h.
References Phase::m_mmw.
Referenced by IdealSolnGasVPSS::calcDensity(), MaskellSolidSolnPhase::calcDensity(), IdealMolalSoln::calcDensity(), LatticePhase::calcDensity(), DebyeHuckel::calcDensity(), HMWSoln::calcDensity(), MixtureFugacityTP::calculatePsat(), ThermoPhase::cp_mass(), RedlichKwongMFTP::critDensity(), ThermoPhase::cv_mass(), RedlichKwongMFTP::densityCalc(), MixtureFugacityTP::densityCalc(), RedlichKwongMFTP::densSpinodalGas(), RedlichKwongMFTP::densSpinodalLiquid(), ThermoPhase::enthalpy_mass(), ThermoPhase::entropy_mass(), IdealSolidSolnPhase::getActivityConcentrations(), PecosTransport::getMixDiffCoeffs(), AqueousTransport::getMixDiffCoeffs(), PecosTransport::getMixDiffCoeffsMass(), MultiTransport::getMultiDiffCoeffs(), HighPressureGasTransport::getMultiDiffCoeffs(), WaterSSTP::getStandardVolumes_ref(), ThermoPhase::gibbs_mass(), RedlichKwongMFTP::hresid(), ThermoPhase::intEnergy_mass(), Phase::molarDensity(), MixtureFugacityTP::phaseState(), RedlichKwongMFTP::pressure(), PseudoBinaryVPSSTP::report(), MolarityIonicVPSSTP::report(), PureFluidPhase::report(), MolalityVPSSTP::report(), ThermoPhase::report(), Phase::setMolarDensity(), IdealGasPhase::setPressure(), RedlichKwongMFTP::sresid(), SimpleTransport::update_C(), LiquidTransport::update_C(), StFlow::updateThermo(), StFlow::updateTransport(), HighPressureGasTransport::viscosity(), and MixtureFugacityTP::z().
doublereal sum_xlogx | ( | ) | const |
Evaluate \( \sum_k X_k \log X_k \).
Definition at line 703 of file Phase.cpp.
References Phase::m_mmw, Phase::m_ym, and Cantera::sum_xlogx().
Referenced by ConstDensityThermo::entropy_mole(), IdealSolnGasVPSS::entropy_mole(), RedlichKwongMFTP::entropy_mole(), IdealSolidSolnPhase::entropy_mole(), LatticePhase::entropy_mole(), IdealGasPhase::entropy_mole(), and IdealSolidSolnPhase::gibbs_mole().
doublereal sum_xlogQ | ( | doublereal *const | Q | ) | const |
Evaluate \( \sum_k X_k \log Q_k \).
Q | Vector of length m_kk to take the log average of |
Definition at line 708 of file Phase.cpp.
References Phase::m_mmw, Phase::m_ym, Cantera::sum_xlogQ(), and Cantera::warn_deprecated().
size_t addElement | ( | const std::string & | symbol, |
doublereal | weight = -12345.0 , |
||
int | atomicNumber = 0 , |
||
doublereal | entropy298 = ENTROPY298_UNKNOWN , |
||
int | elem_type = CT_ELEM_TYPE_ABSPOS |
||
) |
Add an element.
symbol | Atomic symbol std::string. |
weight | Atomic mass in amu. |
atomicNumber | Atomic number of the element (unitless) |
entropy298 | Entropy of the element at 298 K and 1 bar in its most stable form. The default is the value ENTROPY298_UNKNOWN, which is interpreted as an unknown, and if used will cause Cantera to throw an error. |
elem_type | Specifies the type of the element constraint equation. This defaults to CT_ELEM_TYPE_ABSPOS, i.e., an element. |
Definition at line 714 of file Phase.cpp.
References CT_ELEM_TYPE_ELECTRONCHARGE, Cantera::LookupWtElements(), Phase::m_atomicNumbers, Phase::m_atomicWeights, Phase::m_elem_type, Phase::m_elementNames, Phase::m_entropy298, Phase::m_kk, Phase::m_mm, and Phase::m_speciesComp.
Referenced by Phase::addElement(), Phase::addSpecies(), Phase::addUniqueElement(), Phase::addUniqueElementAfterFreeze(), FixedChemPotSSTP::FixedChemPotSSTP(), Cantera::installElements(), and LatticeSolidPhase::installSlavePhases().
void addElement | ( | const XML_Node & | e | ) |
Add an element from an XML specification.
e | Reference to the XML_Node where the element is described. |
Definition at line 771 of file Phase.cpp.
References Phase::addElement(), XML_Node::child(), ENTROPY298_UNKNOWN, Cantera::fpValue(), Cantera::fpValueCheck(), XML_Node::hasAttrib(), XML_Node::hasChild(), Cantera::stripws(), and Cantera::warn_deprecated().
void addUniqueElement | ( | const std::string & | symbol, |
doublereal | weight = -12345.0 , |
||
int | atomicNumber = 0 , |
||
doublereal | entropy298 = ENTROPY298_UNKNOWN , |
||
int | elem_type = CT_ELEM_TYPE_ABSPOS |
||
) |
Add an element, checking for uniqueness The uniqueness is checked by comparing the string symbol.
If not unique, nothing is done.
symbol | String symbol of the element |
weight | Atomic weight of the element (kg kmol-1). |
atomicNumber | Atomic number of the element (unitless) |
entropy298 | Entropy of the element at 298 K and 1 bar in its most stable form. The default is the value ENTROPY298_UNKNOWN, which is interpreted as an unknown, and if used will cause Cantera to throw an error. |
elem_type | Specifies the type of the element constraint equation. This defaults to CT_ELEM_TYPE_ABSPOS, i.e., an element. |
Definition at line 798 of file Phase.cpp.
References Phase::addElement(), and Cantera::warn_deprecated().
void addUniqueElement | ( | const XML_Node & | e | ) |
Add an element, checking for uniqueness The uniqueness is checked by comparing the string symbol.
If not unique, nothing is done.
e | Reference to the XML_Node where the element is described. |
Definition at line 808 of file Phase.cpp.
References Phase::addElement(), and Cantera::warn_deprecated().
void addElementsFromXML | ( | const XML_Node & | phase | ) |
Add all elements referenced in an XML_Node tree.
phase | Reference to the root XML_Node of a phase |
Definition at line 815 of file Phase.cpp.
References Cantera::installElements(), and Cantera::warn_deprecated().
void freezeElements | ( | ) |
Prohibit addition of more elements, and prepare to add species.
Definition at line 823 of file Phase.cpp.
References Cantera::warn_deprecated().
bool elementsFrozen | ( | ) |
True if freezeElements has been called.
Definition at line 828 of file Phase.cpp.
References Cantera::warn_deprecated().
size_t addUniqueElementAfterFreeze | ( | const std::string & | symbol, |
doublereal | weight, | ||
int | atomicNumber, | ||
doublereal | entropy298 = ENTROPY298_UNKNOWN , |
||
int | elem_type = CT_ELEM_TYPE_ABSPOS |
||
) |
Add an element after elements have been frozen, checking for uniqueness The uniqueness is checked by comparing the string symbol.
If not unique, nothing is done.
symbol | String symbol of the element |
weight | Atomic weight of the element (kg kmol-1). |
atomicNumber | Atomic number of the element (unitless) |
entropy298 | Entropy of the element at 298 K and 1 bar in its most stable form. The default is the value ENTROPY298_UNKNOWN, which if used will cause Cantera to throw an error. |
elem_type | Specifies the type of the element constraint equation. This defaults to CT_ELEM_TYPE_ABSPOS, i.e., an element. |
Definition at line 834 of file Phase.cpp.
References Phase::addElement(), and Cantera::warn_deprecated().
|
virtual |
Returns true
if the species was successfully added, or false
if the species was ignored.
Reimplemented in ThermoPhase, and VPStandardStateTP.
Definition at line 844 of file Phase.cpp.
References Phase::addElement(), Phase::atomicWeights(), CT_ELEM_TYPE_ELECTRONCHARGE, Phase::elementIndex(), Cantera::error(), Phase::m_kk, Phase::m_mmw, Phase::m_molwts, Phase::m_rmolwts, Phase::m_speciesCharge, Phase::m_speciesComp, Phase::m_speciesIndices, Phase::m_speciesNames, Phase::m_speciesSize, Phase::m_undefinedElementBehavior, Phase::m_y, Phase::m_ym, Phase::nElements(), Cantera::npos, and Cantera::Tiny.
Referenced by VPStandardStateTP::addSpecies(), Phase::addSpecies(), ThermoPhase::addSpecies(), and Phase::addUniqueSpecies().
void addSpecies | ( | const std::string & | name, |
const doublereal * | comp, | ||
doublereal | charge = 0.0 , |
||
doublereal | size = 1.0 |
||
) |
Definition at line 930 of file Phase.cpp.
References Phase::addSpecies(), Phase::elementName(), Phase::nElements(), and Cantera::warn_deprecated().
void addUniqueSpecies | ( | const std::string & | name, |
const doublereal * | comp, | ||
doublereal | charge = 0.0 , |
||
doublereal | size = 1.0 |
||
) |
Add a species to the phase, checking for uniqueness of the name This routine checks for uniqueness of the string name.
It only adds the species if it is unique.
name | String name of the species |
comp | Array containing the elemental composition of the species. |
charge | Charge of the species. Defaults to zero. |
size | Size of the species (meters). Defaults to 1 meter. |
Definition at line 946 of file Phase.cpp.
References Phase::addSpecies(), Phase::m_kk, Phase::m_mm, Phase::m_speciesCharge, Phase::m_speciesComp, Phase::m_speciesNames, Phase::m_speciesSize, and Cantera::warn_deprecated().
shared_ptr< Species > species | ( | const std::string & | name | ) | const |
Return the Species object for the named species.
Definition at line 978 of file Phase.cpp.
References Cantera::getValue().
Referenced by LatticeSolidPhase::installSlavePhases(), and Phase::species().
shared_ptr< Species > species | ( | size_t | k | ) | const |
Return the Species object for species whose index is k.
Definition at line 983 of file Phase.cpp.
References Phase::m_speciesNames, and Phase::species().
void ignoreUndefinedElements | ( | ) |
Set behavior when adding a species containing undefined elements to just skip the species.
Definition at line 988 of file Phase.cpp.
References Phase::m_undefinedElementBehavior.
Referenced by Cantera::importPhase().
void addUndefinedElements | ( | ) |
Set behavior when adding a species containing undefined elements to add those elements to the phase.
Definition at line 992 of file Phase.cpp.
References Phase::m_undefinedElementBehavior.
void throwUndefinedElements | ( | ) |
Set the behavior when adding a species containing undefined elements to throw an exception.
This is the default behavior.
Definition at line 996 of file Phase.cpp.
References Cantera::error(), and Phase::m_undefinedElementBehavior.
|
virtual |
Returns a bool indicating whether the object is ready for use.
Reimplemented in Interface, IdealGasMix, Edge, PureFluid, IncompressibleSolid, and Metal.
Definition at line 1000 of file Phase.cpp.
References Phase::m_kk.
|
inline |
Return the State Mole Fraction Number.
Definition at line 823 of file Phase.h.
References Phase::m_stateNum.
Referenced by HMWSoln::calcDensity(), MaskellSolidSolnPhase::getActivityCoefficients(), HMWSoln::s_update_d2lnMolalityActCoeff_dT2(), HMWSoln::s_update_dlnMolalityActCoeff_dP(), HMWSoln::s_update_dlnMolalityActCoeff_dT(), SimpleTransport::update_C(), and LiquidTransport::update_C().
|
inlineprotected |
Set the molecular weight of a single species to a given value.
k | id of the species |
mw | Molecular Weight (kg kmol-1) |
Definition at line 838 of file Phase.h.
References Phase::m_molwts, and Phase::m_rmolwts.
Referenced by PureFluidPhase::initThermo(), and WaterSSTP::initThermoXML().
|
mutableprotected |
Cached for saved calculations within each ThermoPhase.
For more information on how to use this, see examples within the source code and documentation for this within ValueCache class itself.
Definition at line 833 of file Phase.h.
Referenced by MaskellSolidSolnPhase::_updateThermo(), IdealGasPhase::_updateThermo(), HMWSoln::A_Debye_TP(), HMWSoln::calcDensity(), HMWSoln::dA_DebyedP_TP(), MaskellSolidSolnPhase::getActivityCoefficients(), HMWSoln::s_update_d2lnMolalityActCoeff_dT2(), HMWSoln::s_update_dlnMolalityActCoeff_dP(), and HMWSoln::s_update_dlnMolalityActCoeff_dT().
|
protected |
Number of species in the phase.
Definition at line 843 of file Phase.h.
Referenced by DebyeHuckel::_lnactivityWaterHelgesonFixedForm(), MixtureFugacityTP::_updateReferenceStateThermo(), MaskellSolidSolnPhase::_updateThermo(), ConstDensityThermo::_updateThermo(), SurfPhase::_updateThermo(), LatticePhase::_updateThermo(), IdealSolidSolnPhase::_updateThermo(), IdealGasPhase::_updateThermo(), Phase::addElement(), Phase::addSpecies(), ThermoPhase::addSpecies(), Phase::addUniqueSpecies(), HMWSoln::applyphScale(), RedlichKwongMFTP::applyStandardMixingRules(), MaskellSolidSolnPhase::calcDensity(), IdealMolalSoln::calcDensity(), DebyeHuckel::calcDensity(), HMWSoln::calcDensity(), IonsFromNeutralVPSSTP::calcIonMoleFractions(), MolalityVPSSTP::calcMolalities(), HMWSoln::calcMolalitiesCropped(), IonsFromNeutralVPSSTP::calcNeutralMoleculeMoleFractions(), PseudoBinaryVPSSTP::calcPseudoBinaryMoleFractions(), MolarityIonicVPSSTP::calcPseudoBinaryMoleFractions(), RedlichKwongMFTP::calculateAB(), Phase::chargeDensity(), Phase::checkSpeciesArraySize(), Phase::checkSpeciesIndex(), HMWSoln::counterIJ_setup(), RedlichKisterVPSSTP::cp_mole(), MixedSolventElectrolyte::cp_mole(), PhaseCombo_Interaction::cp_mole(), RedlichKwongMFTP::critCompressibility(), RedlichKwongMFTP::critDensity(), RedlichKwongMFTP::critPressure(), RedlichKwongMFTP::critTemperature(), RedlichKwongMFTP::critVolume(), Phase::elementalMassFraction(), Phase::elementalMoleFraction(), RedlichKisterVPSSTP::enthalpy_mole(), MixedSolventElectrolyte::enthalpy_mole(), PhaseCombo_Interaction::enthalpy_mole(), SurfPhase::entropy_mole(), RedlichKisterVPSSTP::entropy_mole(), MixedSolventElectrolyte::entropy_mole(), PhaseCombo_Interaction::entropy_mole(), MolalityVPSSTP::findCLMIndex(), IdealMolalSoln::getActivities(), DebyeHuckel::getActivities(), HMWSoln::getActivities(), ConstDensityThermo::getActivityCoefficients(), IdealSolnGasVPSS::getActivityCoefficients(), IonsFromNeutralVPSSTP::getActivityCoefficients(), RedlichKwongMFTP::getActivityCoefficients(), MixedSolventElectrolyte::getActivityCoefficients(), LatticeSolidPhase::getActivityCoefficients(), PhaseCombo_Interaction::getActivityCoefficients(), IdealSolidSolnPhase::getActivityCoefficients(), MolalityVPSSTP::getActivityCoefficients(), LatticePhase::getActivityCoefficients(), ThermoPhase::getActivityCoefficients(), IdealGasPhase::getActivityCoefficients(), MaskellSolidSolnPhase::getActivityConcentrations(), IdealSolnGasVPSS::getActivityConcentrations(), RedlichKwongMFTP::getActivityConcentrations(), IdealMolalSoln::getActivityConcentrations(), IdealSolidSolnPhase::getActivityConcentrations(), DebyeHuckel::getActivityConcentrations(), HMWSoln::getActivityConcentrations(), ConstDensityThermo::getChemPotentials(), MolarityIonicVPSSTP::getChemPotentials(), IdealSolnGasVPSS::getChemPotentials(), SurfPhase::getChemPotentials(), RedlichKwongMFTP::getChemPotentials(), RedlichKisterVPSSTP::getChemPotentials(), MixedSolventElectrolyte::getChemPotentials(), MargulesVPSSTP::getChemPotentials(), IdealMolalSoln::getChemPotentials(), PhaseCombo_Interaction::getChemPotentials(), IdealSolidSolnPhase::getChemPotentials(), LatticePhase::getChemPotentials(), IdealGasPhase::getChemPotentials(), DebyeHuckel::getChemPotentials(), HMWSoln::getChemPotentials(), VPStandardStateTP::getChemPotentials_RT(), MixtureFugacityTP::getChemPotentials_RT(), MaskellSolidSolnPhase::getChemPotentials_RT(), IdealSolnGasVPSS::getChemPotentials_RT(), RedlichKwongMFTP::getChemPotentials_RT(), IdealSolidSolnPhase::getChemPotentials_RT(), SurfPhase::getCoverages(), IdealSolidSolnPhase::getCp_R_ref(), RedlichKisterVPSSTP::getd2lnActCoeffdT2(), MixedSolventElectrolyte::getd2lnActCoeffdT2(), MargulesVPSSTP::getd2lnActCoeffdT2(), PhaseCombo_Interaction::getd2lnActCoeffdT2(), IonsFromNeutralVPSSTP::getdlnActCoeffdlnN(), RedlichKisterVPSSTP::getdlnActCoeffdlnN(), MixedSolventElectrolyte::getdlnActCoeffdlnN(), MargulesVPSSTP::getdlnActCoeffdlnN(), PhaseCombo_Interaction::getdlnActCoeffdlnN(), ThermoPhase::getdlnActCoeffdlnN(), IonsFromNeutralVPSSTP::getdlnActCoeffdlnN_diag(), RedlichKisterVPSSTP::getdlnActCoeffdlnN_diag(), MixedSolventElectrolyte::getdlnActCoeffdlnN_diag(), MargulesVPSSTP::getdlnActCoeffdlnN_diag(), PhaseCombo_Interaction::getdlnActCoeffdlnN_diag(), IonsFromNeutralVPSSTP::getdlnActCoeffdlnX_diag(), RedlichKisterVPSSTP::getdlnActCoeffdlnX_diag(), MixedSolventElectrolyte::getdlnActCoeffdlnX_diag(), MargulesVPSSTP::getdlnActCoeffdlnX_diag(), PhaseCombo_Interaction::getdlnActCoeffdlnX_diag(), IonsFromNeutralVPSSTP::getdlnActCoeffds(), RedlichKisterVPSSTP::getdlnActCoeffds(), MixedSolventElectrolyte::getdlnActCoeffds(), MargulesVPSSTP::getdlnActCoeffds(), PhaseCombo_Interaction::getdlnActCoeffds(), RedlichKisterVPSSTP::getdlnActCoeffdT(), MixedSolventElectrolyte::getdlnActCoeffdT(), MargulesVPSSTP::getdlnActCoeffdT(), PhaseCombo_Interaction::getdlnActCoeffdT(), PseudoBinaryVPSSTP::getElectrochemPotentials(), MolarityIonicVPSSTP::getElectrochemPotentials(), RedlichKisterVPSSTP::getElectrochemPotentials(), MixedSolventElectrolyte::getElectrochemPotentials(), MargulesVPSSTP::getElectrochemPotentials(), PhaseCombo_Interaction::getElectrochemPotentials(), MolalityVPSSTP::getElectrochemPotentials(), ThermoPhase::getElectrochemPotentials(), IdealSolidSolnPhase::getEnthalpy_RT(), LatticePhase::getEnthalpy_RT(), IdealSolidSolnPhase::getEnthalpy_RT_ref(), MixtureFugacityTP::getEntropy_R(), IdealGasPhase::getEntropy_R(), IdealSolidSolnPhase::getEntropy_R_ref(), WaterSSTP::getGibbs_ref(), LatticeSolidPhase::getGibbs_ref(), IdealSolidSolnPhase::getGibbs_ref(), LatticePhase::getGibbs_ref(), MixtureFugacityTP::getGibbs_RT(), IdealSolidSolnPhase::getGibbs_RT(), LatticePhase::getGibbs_RT(), IdealGasPhase::getGibbs_RT(), IdealSolidSolnPhase::getGibbs_RT_ref(), LatticePhase::getGibbs_RT_ref(), MixtureFugacityTP::getIntEnergy_RT(), IdealSolidSolnPhase::getIntEnergy_RT(), IdealGasPhase::getIntEnergy_RT(), IdealSolidSolnPhase::getIntEnergy_RT_ref(), IdealGasPhase::getIntEnergy_RT_ref(), MolarityIonicVPSSTP::getLnActivityCoefficients(), RedlichKisterVPSSTP::getLnActivityCoefficients(), MargulesVPSSTP::getLnActivityCoefficients(), ThermoPhase::getLnActivityCoefficients(), Phase::getMassFractionsByName(), MolalityVPSSTP::getMolalities(), IdealMolalSoln::getMolalityActivityCoefficients(), DebyeHuckel::getMolalityActivityCoefficients(), Phase::getMoleFractionsByName(), IonsFromNeutralVPSSTP::getNeutralMoleculeMoleGrads(), MolarityIonicVPSSTP::getPartialMolarCp(), IdealSolnGasVPSS::getPartialMolarCp(), SurfPhase::getPartialMolarCp(), RedlichKwongMFTP::getPartialMolarCp(), RedlichKisterVPSSTP::getPartialMolarCp(), MixedSolventElectrolyte::getPartialMolarCp(), MargulesVPSSTP::getPartialMolarCp(), PhaseCombo_Interaction::getPartialMolarCp(), IdealMolalSoln::getPartialMolarCp(), IdealSolidSolnPhase::getPartialMolarCp(), LatticePhase::getPartialMolarCp(), DebyeHuckel::getPartialMolarCp(), HMWSoln::getPartialMolarCp(), MolarityIonicVPSSTP::getPartialMolarEnthalpies(), IdealSolnGasVPSS::getPartialMolarEnthalpies(), SurfPhase::getPartialMolarEnthalpies(), IonsFromNeutralVPSSTP::getPartialMolarEnthalpies(), RedlichKwongMFTP::getPartialMolarEnthalpies(), RedlichKisterVPSSTP::getPartialMolarEnthalpies(), MixedSolventElectrolyte::getPartialMolarEnthalpies(), MargulesVPSSTP::getPartialMolarEnthalpies(), IdealMolalSoln::getPartialMolarEnthalpies(), PhaseCombo_Interaction::getPartialMolarEnthalpies(), DebyeHuckel::getPartialMolarEnthalpies(), HMWSoln::getPartialMolarEnthalpies(), MolarityIonicVPSSTP::getPartialMolarEntropies(), IdealSolnGasVPSS::getPartialMolarEntropies(), SurfPhase::getPartialMolarEntropies(), IonsFromNeutralVPSSTP::getPartialMolarEntropies(), RedlichKwongMFTP::getPartialMolarEntropies(), RedlichKisterVPSSTP::getPartialMolarEntropies(), MixedSolventElectrolyte::getPartialMolarEntropies(), MargulesVPSSTP::getPartialMolarEntropies(), PhaseCombo_Interaction::getPartialMolarEntropies(), IdealMolalSoln::getPartialMolarEntropies(), IdealSolidSolnPhase::getPartialMolarEntropies(), LatticePhase::getPartialMolarEntropies(), IdealGasPhase::getPartialMolarEntropies(), DebyeHuckel::getPartialMolarEntropies(), HMWSoln::getPartialMolarEntropies(), IdealSolnGasVPSS::getPartialMolarIntEnergies(), RedlichKwongMFTP::getPartialMolarIntEnergies(), IdealGasPhase::getPartialMolarIntEnergies(), MolarityIonicVPSSTP::getPartialMolarVolumes(), RedlichKwongMFTP::getPartialMolarVolumes(), RedlichKisterVPSSTP::getPartialMolarVolumes(), MixedSolventElectrolyte::getPartialMolarVolumes(), MargulesVPSSTP::getPartialMolarVolumes(), PhaseCombo_Interaction::getPartialMolarVolumes(), IdealGasPhase::getPartialMolarVolumes(), DebyeHuckel::getPartialMolarVolumes(), HMWSoln::getPartialMolarVolumes(), MaskellSolidSolnPhase::getPureGibbs(), MixtureFugacityTP::getPureGibbs(), LatticePhase::getPureGibbs(), IdealSolidSolnPhase::getPureGibbs(), IdealGasPhase::getPureGibbs(), VPStandardStateTP::getStandardChemPotentials(), MixtureFugacityTP::getStandardChemPotentials(), IdealGasPhase::getStandardChemPotentials(), MixtureFugacityTP::getStandardVolumes(), SurfPhase::getStandardVolumes(), IdealGasPhase::getStandardVolumes(), MixtureFugacityTP::getStandardVolumes_ref(), IdealGasPhase::getStandardVolumes_ref(), HMWSoln::getUnscaledMolalityActivityCoefficients(), PseudoBinaryVPSSTP::initLengths(), MolarityIonicVPSSTP::initLengths(), IdealSolnGasVPSS::initLengths(), RedlichKwongMFTP::initLengths(), IonsFromNeutralVPSSTP::initLengths(), LatticeSolidPhase::initLengths(), RedlichKisterVPSSTP::initLengths(), MixtureFugacityTP::initLengths(), MixedSolventElectrolyte::initLengths(), MargulesVPSSTP::initLengths(), IdealMolalSoln::initLengths(), PhaseCombo_Interaction::initLengths(), MolalityVPSSTP::initLengths(), IdealSolidSolnPhase::initLengths(), DebyeHuckel::initLengths(), HMWSoln::initLengths(), ConstDensityThermo::initThermo(), MolarityIonicVPSSTP::initThermo(), StoichSubstance::initThermo(), SurfPhase::initThermo(), StoichSubstanceSSTP::initThermo(), VPStandardStateTP::initThermo(), LatticePhase::initThermo(), IdealGasPhase::initThermo(), ThermoPhase::initThermo(), MaskellSolidSolnPhase::initThermoXML(), RedlichKwongMFTP::initThermoXML(), VPStandardStateTP::initThermoXML(), IonsFromNeutralVPSSTP::initThermoXML(), IdealMolalSoln::initThermoXML(), LatticePhase::initThermoXML(), IdealSolidSolnPhase::initThermoXML(), DebyeHuckel::initThermoXML(), IdealSolidSolnPhase::logStandardConc(), Phase::nSpecies(), VPStandardStateTP::operator=(), Phase::operator=(), ThermoPhase::operator=(), MolalityVPSSTP::osmoticCoefficient(), HMWSoln::printCoeffs(), RedlichKwongMFTP::readXMLCrossFluid(), RedlichKwongMFTP::readXMLPureFluid(), Phase::ready(), IdealSolidSolnPhase::referenceConcentration(), HMWSoln::relative_enthalpy(), HMWSoln::relative_molal_enthalpy(), PseudoBinaryVPSSTP::report(), MolarityIonicVPSSTP::report(), MolalityVPSSTP::report(), ThermoPhase::report(), DebyeHuckel::s_update_d2lnMolalityActCoeff_dT2(), HMWSoln::s_update_d2lnMolalityActCoeff_dT2(), IonsFromNeutralVPSSTP::s_update_dlnActCoeff_dlnN(), MixedSolventElectrolyte::s_update_dlnActCoeff_dlnN(), MargulesVPSSTP::s_update_dlnActCoeff_dlnN(), PhaseCombo_Interaction::s_update_dlnActCoeff_dlnN(), IonsFromNeutralVPSSTP::s_update_dlnActCoeff_dlnN_diag(), MixedSolventElectrolyte::s_update_dlnActCoeff_dlnN_diag(), MargulesVPSSTP::s_update_dlnActCoeff_dlnN_diag(), PhaseCombo_Interaction::s_update_dlnActCoeff_dlnN_diag(), IonsFromNeutralVPSSTP::s_update_dlnActCoeff_dlnX_diag(), MixedSolventElectrolyte::s_update_dlnActCoeff_dlnX_diag(), MargulesVPSSTP::s_update_dlnActCoeff_dlnX_diag(), PhaseCombo_Interaction::s_update_dlnActCoeff_dlnX_diag(), RedlichKisterVPSSTP::s_update_dlnActCoeff_dT(), MixedSolventElectrolyte::s_update_dlnActCoeff_dT(), MargulesVPSSTP::s_update_dlnActCoeff_dT(), PhaseCombo_Interaction::s_update_dlnActCoeff_dT(), RedlichKisterVPSSTP::s_update_dlnActCoeff_dX_(), IonsFromNeutralVPSSTP::s_update_dlnActCoeffdT(), DebyeHuckel::s_update_dlnMolalityActCoeff_dP(), HMWSoln::s_update_dlnMolalityActCoeff_dP(), DebyeHuckel::s_update_dlnMolalityActCoeff_dT(), HMWSoln::s_update_dlnMolalityActCoeff_dT(), MolarityIonicVPSSTP::s_update_lnActCoeff(), IonsFromNeutralVPSSTP::s_update_lnActCoeff(), RedlichKisterVPSSTP::s_update_lnActCoeff(), MixedSolventElectrolyte::s_update_lnActCoeff(), MargulesVPSSTP::s_update_lnActCoeff(), PhaseCombo_Interaction::s_update_lnActCoeff(), DebyeHuckel::s_update_lnMolalityActCoeff(), IdealMolalSoln::s_updateIMS_lnMolalityActCoeff(), HMWSoln::s_updateIMS_lnMolalityActCoeff(), HMWSoln::s_updatePitzer_CoeffWRTemp(), HMWSoln::s_updatePitzer_d2lnMolalityActCoeff_dT2(), HMWSoln::s_updatePitzer_dlnMolalityActCoeff_dP(), HMWSoln::s_updatePitzer_dlnMolalityActCoeff_dT(), HMWSoln::s_updatePitzer_lnMolalityActCoeff(), HMWSoln::s_updateScaling_pHScaling(), HMWSoln::s_updateScaling_pHScaling_dP(), HMWSoln::s_updateScaling_pHScaling_dT(), HMWSoln::s_updateScaling_pHScaling_dT2(), Phase::setConcentrations(), SurfPhase::setCoverages(), SurfPhase::setCoveragesByName(), SurfPhase::setCoveragesNoNorm(), Phase::setMassFractions(), Phase::setMassFractions_NoNorm(), Phase::setMassFractionsByName(), MolalityVPSSTP::setMolalities(), MolalityVPSSTP::setMolalitiesByName(), Phase::setMoleFractions(), Phase::setMoleFractions_NoNorm(), Phase::setMoleFractionsByName(), ThermoPhase::setReferenceComposition(), MolalityVPSSTP::setSolvent(), IdealSolnGasVPSS::setToEquilState(), RedlichKwongMFTP::setToEquilState(), IdealSolidSolnPhase::setToEquilState(), IdealGasPhase::setToEquilState(), ThermoPhase::speciesData(), IdealSolidSolnPhase::standardConcentration(), RedlichKwongMFTP::updateAB(), and RedlichKisterVPSSTP::Vint().
|
protected |
Dimensionality of the phase.
Volumetric phases have dimensionality 3 and surface phases have dimensionality 2.
Definition at line 847 of file Phase.h.
Referenced by Phase::nDim(), Phase::operator=(), and Phase::setNDim().
|
protected |
Atomic composition of the species.
The number of atoms of element i in species k is equal to m_speciesComp[k * m_mm + i] The length of this vector is equal to m_kk * m_mm
Definition at line 852 of file Phase.h.
Referenced by Phase::addElement(), Phase::addSpecies(), Phase::addUniqueSpecies(), Phase::getAtoms(), LatticeSolidPhase::installSlavePhases(), Phase::nAtoms(), and Phase::operator=().
|
protected |
Vector of species sizes.
length m_kk. Used in some equations of state which employ the constant partial molar volume approximation.
Definition at line 856 of file Phase.h.
Referenced by Phase::addSpecies(), Phase::addUniqueSpecies(), DebyeHuckel::initLengths(), HMWSoln::initLengths(), DebyeHuckel::initThermoXML(), Phase::operator=(), Phase::size(), and DebyeHuckel::standardConcentration().
|
protected |
Vector of species charges. length m_kk.
Definition at line 858 of file Phase.h.
Referenced by Phase::addSpecies(), Phase::addUniqueSpecies(), MolarityIonicVPSSTP::calcPseudoBinaryMoleFractions(), Phase::charge(), IonsFromNeutralVPSSTP::getDissociationCoeffs(), MolarityIonicVPSSTP::initThermo(), DebyeHuckel::initThermoXML(), Phase::operator=(), DebyeHuckel::s_update_d2lnMolalityActCoeff_dT2(), DebyeHuckel::s_update_dlnMolalityActCoeff_dP(), DebyeHuckel::s_update_dlnMolalityActCoeff_dT(), and DebyeHuckel::s_update_lnMolalityActCoeff().
|
protected |
Flag determining behavior when adding species with an undefined element.
Definition at line 863 of file Phase.h.
Referenced by Phase::addSpecies(), Phase::addUndefinedElements(), Phase::ignoreUndefinedElements(), Phase::operator=(), and Phase::throwUndefinedElements().
|
private |
XML node containing the XML info for this phase.
Definition at line 866 of file Phase.h.
Referenced by Phase::operator=(), Phase::setXMLdata(), Phase::xml(), and Phase::~Phase().
|
private |
ID of the phase.
This is the value of the ID attribute of the XML phase node. The field will stay that way even if the name is changed.
Definition at line 870 of file Phase.h.
Referenced by Phase::id(), Phase::operator=(), Phase::setID(), and Phase::speciesIndex().
|
private |
Name of the phase.
Initially, this is the value of the ID attribute of the XML phase node. It may be changed to another value during the course of a calculation.
Definition at line 875 of file Phase.h.
Referenced by Phase::name(), Phase::operator=(), Phase::setName(), Phase::speciesIndex(), and Phase::speciesSPName().
|
private |
Temperature (K). This is an independent variable.
Definition at line 877 of file Phase.h.
Referenced by Phase::operator=(), Phase::setTemperature(), and Phase::temperature().
|
private |
Density (kg m-3).
This is an independent variable except in the incompressible degenerate case. Thus, the pressure is determined from this variable rather than other way round.
Definition at line 882 of file Phase.h.
Referenced by Phase::concentration(), Phase::density(), Phase::getConcentrations(), Phase::operator=(), Phase::setDensity(), and Phase::setMolarDensity().
|
private |
mean molecular weight of the mixture (kg kmol-1)
Definition at line 884 of file Phase.h.
Referenced by Phase::addSpecies(), Phase::getMoleFractions(), Phase::mean_X(), Phase::meanMolecularWeight(), Phase::moleFraction(), Phase::operator=(), Phase::setConcentrations(), Phase::setMassFractions(), Phase::setMassFractions_NoNorm(), Phase::setMoleFractions(), Phase::setMoleFractions_NoNorm(), Phase::sum_xlogQ(), and Phase::sum_xlogx().
|
mutableprivate |
m_ym[k] = mole fraction of species k divided by the mean molecular weight of mixture.
Definition at line 888 of file Phase.h.
Referenced by Phase::addSpecies(), Phase::getConcentrations(), Phase::getMoleFractions(), Phase::mean_X(), Phase::moleFractdivMMW(), Phase::moleFraction(), Phase::operator=(), Phase::setConcentrations(), Phase::setMassFractions(), Phase::setMassFractions_NoNorm(), Phase::setMoleFractions(), Phase::setMoleFractions_NoNorm(), Phase::sum_xlogQ(), and Phase::sum_xlogx().
|
mutableprivate |
Mass fractions of the species.
Note, this vector Length is m_kk
Definition at line 895 of file Phase.h.
Referenced by Phase::addSpecies(), Phase::concentration(), Phase::getMassFractions(), Phase::massFraction(), Phase::massFractions(), Phase::mean_Y(), Phase::operator=(), Phase::setConcentrations(), Phase::setMassFractions(), Phase::setMassFractions_NoNorm(), Phase::setMoleFractions(), and Phase::setMoleFractions_NoNorm().
|
private |
species molecular weights (kg kmol-1)
Definition at line 897 of file Phase.h.
Referenced by Phase::addSpecies(), Phase::molecularWeight(), Phase::molecularWeights(), Phase::operator=(), Phase::setConcentrations(), Phase::setMolecularWeight(), Phase::setMoleFractions(), and Phase::setMoleFractions_NoNorm().
|
private |
inverse of species molecular weights (kmol kg-1)
Definition at line 899 of file Phase.h.
Referenced by Phase::addSpecies(), Phase::concentration(), Phase::operator=(), Phase::setMassFractions(), Phase::setMassFractions_NoNorm(), and Phase::setMolecularWeight().
|
private |
State Change variable.
Whenever the mole fraction vector changes, this int is incremented.
Definition at line 903 of file Phase.h.
Referenced by Phase::operator=(), Phase::setConcentrations(), Phase::setMassFractions(), Phase::setMassFractions_NoNorm(), Phase::setMoleFractions(), Phase::setMoleFractions_NoNorm(), and Phase::stateMFNumber().
|
private |
Vector of the species names.
Definition at line 906 of file Phase.h.
Referenced by Phase::addSpecies(), Phase::addUniqueSpecies(), Phase::operator=(), Phase::species(), Phase::speciesName(), and Phase::speciesNames().
|
private |
Map of species names to indices.
Definition at line 909 of file Phase.h.
Referenced by Phase::addSpecies(), and Phase::speciesIndex().
|
private |
Number of elements.
Definition at line 911 of file Phase.h.
Referenced by Phase::addElement(), Phase::addUniqueSpecies(), Phase::checkElementArraySize(), Phase::checkElementIndex(), Phase::elementIndex(), Phase::entropyElement298(), Phase::getAtoms(), Phase::nAtoms(), Phase::nElements(), and Phase::operator=().
|
private |
element atomic weights (kg kmol-1)
Definition at line 912 of file Phase.h.
Referenced by Phase::addElement(), Phase::atomicWeight(), Phase::atomicWeights(), and Phase::operator=().
|
private |
element atomic numbers
Definition at line 913 of file Phase.h.
Referenced by Phase::addElement(), Phase::atomicNumber(), and Phase::operator=().
|
private |
element names
Definition at line 914 of file Phase.h.
Referenced by Phase::addElement(), Phase::elementIndex(), Phase::elementName(), Phase::elementNames(), and Phase::operator=().
|
private |
Vector of element types.
Definition at line 915 of file Phase.h.
Referenced by Phase::addElement(), Phase::changeElementType(), Phase::elementType(), and Phase::operator=().
|
private |
Entropy at 298.15 K and 1 bar of stable state pure elements (J kmol-1)
Definition at line 918 of file Phase.h.
Referenced by Phase::addElement(), Phase::entropyElement298(), and Phase::operator=().
enum CT_RealNumber_Range_Behavior realNumberRangeBehavior_ |
Overflow behavior of real number calculations involving this thermo object.
The default is THROWON_OVERFLOW_CTRB Which throws an error in debug mode, but silently changes the answer in non-debug mode
Definition at line 927 of file Phase.h.
Referenced by Phase::operator=().