Cantera
2.4.0
|
Derived class for pressure dependent standard states of an ideal gas species. More...
#include <PDSS_IonsFromNeutral.h>
Public Member Functions | |
PDSS_IonsFromNeutral () | |
Default constructor. More... | |
Molar Thermodynamic Properties of the Species Standard State in the Solution | |
virtual doublereal | enthalpy_RT () const |
Return the standard state molar enthalpy divided by RT. More... | |
virtual doublereal | intEnergy_mole () const |
Return the molar internal Energy in units of J kmol-1. More... | |
virtual doublereal | entropy_R () const |
Return the standard state entropy divided by RT. More... | |
virtual doublereal | gibbs_RT () const |
Return the molar Gibbs free energy divided by RT. More... | |
virtual doublereal | cp_R () const |
Return the molar const pressure heat capacity divided by RT. More... | |
virtual doublereal | molarVolume () const |
Return the molar volume at standard state. More... | |
virtual doublereal | density () const |
Return the standard state density at standard state. More... | |
Properties of the Reference State of the Species in the Solution | |
virtual doublereal | gibbs_RT_ref () const |
Return the molar Gibbs free energy divided by RT at reference pressure. More... | |
virtual doublereal | enthalpy_RT_ref () const |
Return the molar enthalpy divided by RT at reference pressure. More... | |
virtual doublereal | entropy_R_ref () const |
Return the molar entropy divided by R at reference pressure. More... | |
virtual doublereal | cp_R_ref () const |
Return the molar heat capacity divided by R at reference pressure. More... | |
virtual doublereal | molarVolume_ref () const |
Return the molar volume at reference pressure. More... | |
Mechanical Equation of State Properties | |
virtual void | setState_TP (doublereal temp, doublereal pres) |
Set the internal temperature and pressure. More... | |
virtual void | setState_TR (doublereal temp, doublereal rho) |
Set the internal temperature and density. More... | |
Initialization of the Object | |
void | setParent (VPStandardStateTP *phase, size_t k) |
Set the parent VPStandardStateTP object of this PDSS object. More... | |
virtual bool | useSTITbyPDSS () const |
Returns 'true' if this object should be used in an STITbyPDSS object in the phase's reference thermo manager, or 'false' if a separate SpeciesThermoInterpType should be constructed. More... | |
void | setNeutralSpeciesMultiplier (const std::string &species, double mult) |
void | setSpecialSpecies (bool special=true) |
void | setParametersFromXML (const XML_Node &speciesNode) |
Initialization routine for the PDSS object based on the speciesNode. More... | |
virtual void | initThermo () |
Initialization routine. More... | |
Public Member Functions inherited from PDSS_Nondimensional | |
virtual doublereal | enthalpy_mole () const |
Return the molar enthalpy in units of J kmol-1. More... | |
virtual doublereal | entropy_mole () const |
Return the molar entropy in units of J kmol-1 K-1. More... | |
virtual doublereal | gibbs_mole () const |
Return the molar Gibbs free energy in units of J kmol-1. More... | |
virtual doublereal | cp_mole () const |
Return the molar const pressure heat capacity in units of J kmol-1 K-1. More... | |
Public Member Functions inherited from PDSS | |
PDSS () | |
Default Constructor. More... | |
PDSS (const PDSS &b)=delete | |
PDSS & | operator= (const PDSS &b)=delete |
virtual | ~PDSS () |
virtual doublereal | cv_mole () const |
Return the molar const volume heat capacity in units of J kmol-1 K-1. More... | |
virtual doublereal | enthalpyDelp_mole () const |
Get the difference in the standard state enthalpy between the current pressure and the reference pressure, p0. More... | |
virtual doublereal | entropyDelp_mole () const |
Get the difference in the standard state entropy between the current pressure and the reference pressure, p0. More... | |
virtual doublereal | gibbsDelp_mole () const |
Get the difference in the standard state Gibbs free energy between the current pressure and the reference pressure, p0. More... | |
virtual doublereal | cpDelp_mole () const |
Get the difference in standard state heat capacity between the current pressure and the reference pressure, p0. More... | |
doublereal | refPressure () const |
Return the reference pressure for this phase. More... | |
doublereal | minTemp () const |
return the minimum temperature More... | |
doublereal | maxTemp () const |
return the minimum temperature More... | |
virtual doublereal | pressure () const |
Returns the pressure (Pa) More... | |
virtual void | setPressure (doublereal pres) |
Sets the pressure in the object. More... | |
virtual doublereal | thermalExpansionCoeff () const |
Return the volumetric thermal expansion coefficient. Units: 1/K. More... | |
virtual void | setTemperature (doublereal temp) |
Set the internal temperature. More... | |
virtual doublereal | temperature () const |
Return the current stored temperature. More... | |
virtual doublereal | critTemperature () const |
critical temperature More... | |
virtual doublereal | critPressure () const |
critical pressure More... | |
virtual doublereal | critDensity () const |
critical density More... | |
virtual doublereal | satPressure (doublereal T) |
saturation pressure More... | |
doublereal | molecularWeight () const |
Return the molecular weight of the species in units of kg kmol-1. More... | |
void | setMolecularWeight (doublereal mw) |
Set the molecular weight of the species. More... | |
void | setReferenceThermo (shared_ptr< SpeciesThermoInterpType > stit) |
Set the SpeciesThermoInterpType object used to calculate reference state properties. More... | |
virtual void | reportParams (size_t &kindex, int &type, doublereal *const c, doublereal &minTemp, doublereal &maxTemp, doublereal &refPressure) const |
This utility function reports back the type of parameterization and all of the parameters for the species, index. More... | |
Protected Attributes | |
shared_ptr< ThermoPhase > | neutralMoleculePhase_ |
Pointer to the Neutral Molecule ThermoPhase object. More... | |
std::map< std::string, double > | neutralSpeciesMultipliers_ |
size_t | numMult_ |
Number of neutral molecule species that make up the stoichiometric vector for this species, in terms of calculating thermodynamic functions. More... | |
std::vector< size_t > | idNeutralMoleculeVec |
Vector of species indices in the neutral molecule ThermoPhase. More... | |
vector_fp | factorVec |
Stoichiometric coefficient for this species using the Neutral Molecule Species in the vector idNeutralMoleculeVec. More... | |
bool | add2RTln2_ |
Add 2RTln2 to the entropy and Gibbs free energies for this species. More... | |
vector_fp | tmpNM |
Vector of length equal to the number of species in the neutral molecule phase. More... | |
Protected Attributes inherited from PDSS_Nondimensional | |
double | m_h0_RT |
Reference state enthalpy divided by RT. More... | |
double | m_cp0_R |
Reference state heat capacity divided by R. More... | |
double | m_s0_R |
Reference state entropy divided by R. More... | |
double | m_g0_RT |
Reference state Gibbs free energy divided by RT. More... | |
double | m_V0 |
Reference state molar volume (m^3/kmol) More... | |
double | m_hss_RT |
Standard state enthalpy divided by RT. More... | |
double | m_cpss_R |
Standard state heat capacity divided by R. More... | |
double | m_sss_R |
Standard state entropy divided by R. More... | |
double | m_gss_RT |
Standard state Gibbs free energy divided by RT. More... | |
double | m_Vss |
Standard State molar volume (m^3/kmol) More... | |
Protected Attributes inherited from PDSS | |
doublereal | m_temp |
Current temperature used by the PDSS object. More... | |
doublereal | m_pres |
State of the system - pressure. More... | |
doublereal | m_p0 |
Reference state pressure of the species. More... | |
doublereal | m_minTemp |
Minimum temperature. More... | |
doublereal | m_maxTemp |
Maximum temperature. More... | |
doublereal | m_mw |
Molecular Weight of the species. More... | |
shared_ptr< SpeciesThermoInterpType > | m_spthermo |
Pointer to the species thermodynamic property manager. More... | |
Derived class for pressure dependent standard states of an ideal gas species.
This class is for a single Ideal Gas species.
Definition at line 35 of file PDSS_IonsFromNeutral.h.
Default constructor.
Definition at line 20 of file PDSS_IonsFromNeutral.cpp.
|
virtual |
Return the standard state molar enthalpy divided by RT.
Reimplemented from PDSS_Nondimensional.
Definition at line 83 of file PDSS_IonsFromNeutral.cpp.
References PDSS_IonsFromNeutral::factorVec, PDSS_IonsFromNeutral::idNeutralMoleculeVec, PDSS_IonsFromNeutral::neutralMoleculePhase_, PDSS_IonsFromNeutral::numMult_, and PDSS_IonsFromNeutral::tmpNM.
|
virtual |
Return the molar internal Energy in units of J kmol-1.
Reimplemented from PDSS.
Definition at line 94 of file PDSS_IonsFromNeutral.cpp.
References Cantera::GasConstant, PDSS_Nondimensional::m_h0_RT, and PDSS::m_temp.
|
virtual |
Return the standard state entropy divided by RT.
Reimplemented from PDSS_Nondimensional.
Definition at line 99 of file PDSS_IonsFromNeutral.cpp.
References PDSS_IonsFromNeutral::add2RTln2_, PDSS_IonsFromNeutral::factorVec, PDSS_IonsFromNeutral::idNeutralMoleculeVec, PDSS_IonsFromNeutral::neutralMoleculePhase_, PDSS_IonsFromNeutral::numMult_, and PDSS_IonsFromNeutral::tmpNM.
|
virtual |
Return the molar Gibbs free energy divided by RT.
\[ \frac{\mu^o_k}{RT} = \sum_{m}{ \alpha_{m , k} \frac{\mu^o_{m}}{RT}} + ( 1 - \delta_{k,sp}) 2.0 \ln{2.0} \]
m is the neutral molecule species index. \( \alpha_{m , k} \) is the stoiciometric coefficient for the neutral molecule, m, that creates the thermodynamics for the ionic species k. A factor \( 2.0 \ln{2.0} \) is added to all ions except for the species ionic species, which in this case is the single anion species, with species index sp.
Reimplemented from PDSS_Nondimensional.
Definition at line 113 of file PDSS_IonsFromNeutral.cpp.
References PDSS_IonsFromNeutral::add2RTln2_, PDSS_IonsFromNeutral::factorVec, PDSS_IonsFromNeutral::idNeutralMoleculeVec, PDSS_IonsFromNeutral::neutralMoleculePhase_, PDSS_IonsFromNeutral::numMult_, and PDSS_IonsFromNeutral::tmpNM.
|
virtual |
Return the molar const pressure heat capacity divided by RT.
Reimplemented from PDSS_Nondimensional.
Definition at line 127 of file PDSS_IonsFromNeutral.cpp.
References PDSS_IonsFromNeutral::factorVec, PDSS_IonsFromNeutral::idNeutralMoleculeVec, PDSS_IonsFromNeutral::neutralMoleculePhase_, PDSS_IonsFromNeutral::numMult_, and PDSS_IonsFromNeutral::tmpNM.
|
virtual |
Return the molar volume at standard state.
Reimplemented from PDSS_Nondimensional.
Definition at line 138 of file PDSS_IonsFromNeutral.cpp.
References PDSS_IonsFromNeutral::factorVec, PDSS_IonsFromNeutral::idNeutralMoleculeVec, PDSS_IonsFromNeutral::neutralMoleculePhase_, PDSS_IonsFromNeutral::numMult_, and PDSS_IonsFromNeutral::tmpNM.
|
virtual |
Return the standard state density at standard state.
Reimplemented from PDSS_Nondimensional.
Definition at line 149 of file PDSS_IonsFromNeutral.cpp.
References Cantera::GasConstant, PDSS::m_mw, PDSS::m_pres, and PDSS::m_temp.
|
virtual |
Return the molar Gibbs free energy divided by RT at reference pressure.
Reimplemented from PDSS_Nondimensional.
Definition at line 154 of file PDSS_IonsFromNeutral.cpp.
References PDSS_IonsFromNeutral::add2RTln2_, PDSS_IonsFromNeutral::factorVec, PDSS_IonsFromNeutral::idNeutralMoleculeVec, PDSS_IonsFromNeutral::neutralMoleculePhase_, PDSS_IonsFromNeutral::numMult_, and PDSS_IonsFromNeutral::tmpNM.
|
virtual |
Return the molar enthalpy divided by RT at reference pressure.
Reimplemented from PDSS_Nondimensional.
Definition at line 168 of file PDSS_IonsFromNeutral.cpp.
References PDSS_IonsFromNeutral::factorVec, PDSS_IonsFromNeutral::idNeutralMoleculeVec, PDSS_IonsFromNeutral::neutralMoleculePhase_, PDSS_IonsFromNeutral::numMult_, and PDSS_IonsFromNeutral::tmpNM.
|
virtual |
Return the molar entropy divided by R at reference pressure.
Reimplemented from PDSS_Nondimensional.
Definition at line 179 of file PDSS_IonsFromNeutral.cpp.
References PDSS_IonsFromNeutral::add2RTln2_, PDSS_IonsFromNeutral::factorVec, PDSS_IonsFromNeutral::idNeutralMoleculeVec, PDSS_IonsFromNeutral::neutralMoleculePhase_, PDSS_IonsFromNeutral::numMult_, and PDSS_IonsFromNeutral::tmpNM.
|
virtual |
Return the molar heat capacity divided by R at reference pressure.
Reimplemented from PDSS_Nondimensional.
Definition at line 193 of file PDSS_IonsFromNeutral.cpp.
References PDSS_IonsFromNeutral::factorVec, PDSS_IonsFromNeutral::idNeutralMoleculeVec, PDSS_IonsFromNeutral::neutralMoleculePhase_, PDSS_IonsFromNeutral::numMult_, and PDSS_IonsFromNeutral::tmpNM.
|
virtual |
Return the molar volume at reference pressure.
Reimplemented from PDSS_Nondimensional.
Definition at line 204 of file PDSS_IonsFromNeutral.cpp.
References PDSS_IonsFromNeutral::factorVec, PDSS_IonsFromNeutral::idNeutralMoleculeVec, PDSS_IonsFromNeutral::neutralMoleculePhase_, PDSS_IonsFromNeutral::numMult_, and PDSS_IonsFromNeutral::tmpNM.
|
virtual |
Set the internal temperature and pressure.
temp | Temperature (Kelvin) |
pres | pressure (Pascals) |
Reimplemented from PDSS.
Definition at line 215 of file PDSS_IonsFromNeutral.cpp.
References PDSS::m_pres, and PDSS::m_temp.
|
virtual |
Set the internal temperature and density.
temp | Temperature (Kelvin) |
rho | Density (kg m-3) |
Reimplemented from PDSS.
Definition at line 221 of file PDSS_IonsFromNeutral.cpp.
|
virtual |
Set the parent VPStandardStateTP object of this PDSS object.
This information is only used by certain PDSS subclasses
phase | Pointer to the parent phase |
k | Index of this species in the phase |
Reimplemented from PDSS.
Definition at line 27 of file PDSS_IonsFromNeutral.cpp.
References PDSS_IonsFromNeutral::neutralMoleculePhase_.
|
inlinevirtual |
Returns 'true' if this object should be used in an STITbyPDSS object in the phase's reference thermo manager, or 'false' if a separate SpeciesThermoInterpType should be constructed.
Reimplemented from PDSS.
Definition at line 91 of file PDSS_IonsFromNeutral.h.
|
virtual |
Initialization routine for the PDSS object based on the speciesNode.
This is a cascading call, where each level should call the the parent level. This function is called before initThermo()
Reimplemented from PDSS.
Definition at line 42 of file PDSS_IonsFromNeutral.cpp.
References XML_Node::attrib(), Cantera::caseInsensitiveEquals(), XML_Node::findByName(), XML_Node::name(), Cantera::parseCompString(), PDSS::setParametersFromXML(), and XML_Node::value().
|
virtual |
Initialization routine.
This is a cascading call, where each level should call the the parent level.
Reimplemented from PDSS.
Definition at line 70 of file PDSS_IonsFromNeutral.cpp.
References PDSS_IonsFromNeutral::factorVec, PDSS_IonsFromNeutral::idNeutralMoleculeVec, PDSS::initThermo(), PDSS::m_maxTemp, PDSS::m_minTemp, PDSS::m_p0, PDSS_IonsFromNeutral::neutralMoleculePhase_, and PDSS_IonsFromNeutral::tmpNM.
|
protected |
Pointer to the Neutral Molecule ThermoPhase object.
Definition at line 101 of file PDSS_IonsFromNeutral.h.
Referenced by PDSS_IonsFromNeutral::cp_R(), PDSS_IonsFromNeutral::cp_R_ref(), PDSS_IonsFromNeutral::enthalpy_RT(), PDSS_IonsFromNeutral::enthalpy_RT_ref(), PDSS_IonsFromNeutral::entropy_R(), PDSS_IonsFromNeutral::entropy_R_ref(), PDSS_IonsFromNeutral::gibbs_RT(), PDSS_IonsFromNeutral::gibbs_RT_ref(), PDSS_IonsFromNeutral::initThermo(), PDSS_IonsFromNeutral::molarVolume(), PDSS_IonsFromNeutral::molarVolume_ref(), and PDSS_IonsFromNeutral::setParent().
|
protected |
Number of neutral molecule species that make up the stoichiometric vector for this species, in terms of calculating thermodynamic functions.
Definition at line 107 of file PDSS_IonsFromNeutral.h.
Referenced by PDSS_IonsFromNeutral::cp_R(), PDSS_IonsFromNeutral::cp_R_ref(), PDSS_IonsFromNeutral::enthalpy_RT(), PDSS_IonsFromNeutral::enthalpy_RT_ref(), PDSS_IonsFromNeutral::entropy_R(), PDSS_IonsFromNeutral::entropy_R_ref(), PDSS_IonsFromNeutral::gibbs_RT(), PDSS_IonsFromNeutral::gibbs_RT_ref(), PDSS_IonsFromNeutral::molarVolume(), and PDSS_IonsFromNeutral::molarVolume_ref().
|
protected |
Vector of species indices in the neutral molecule ThermoPhase.
Definition at line 110 of file PDSS_IonsFromNeutral.h.
Referenced by PDSS_IonsFromNeutral::cp_R(), PDSS_IonsFromNeutral::cp_R_ref(), PDSS_IonsFromNeutral::enthalpy_RT(), PDSS_IonsFromNeutral::enthalpy_RT_ref(), PDSS_IonsFromNeutral::entropy_R(), PDSS_IonsFromNeutral::entropy_R_ref(), PDSS_IonsFromNeutral::gibbs_RT(), PDSS_IonsFromNeutral::gibbs_RT_ref(), PDSS_IonsFromNeutral::initThermo(), PDSS_IonsFromNeutral::molarVolume(), and PDSS_IonsFromNeutral::molarVolume_ref().
|
protected |
Stoichiometric coefficient for this species using the Neutral Molecule Species in the vector idNeutralMoleculeVec.
Definition at line 114 of file PDSS_IonsFromNeutral.h.
Referenced by PDSS_IonsFromNeutral::cp_R(), PDSS_IonsFromNeutral::cp_R_ref(), PDSS_IonsFromNeutral::enthalpy_RT(), PDSS_IonsFromNeutral::enthalpy_RT_ref(), PDSS_IonsFromNeutral::entropy_R(), PDSS_IonsFromNeutral::entropy_R_ref(), PDSS_IonsFromNeutral::gibbs_RT(), PDSS_IonsFromNeutral::gibbs_RT_ref(), PDSS_IonsFromNeutral::initThermo(), PDSS_IonsFromNeutral::molarVolume(), and PDSS_IonsFromNeutral::molarVolume_ref().
|
protected |
Add 2RTln2 to the entropy and Gibbs free energies for this species.
This is true if this species is not the special species
Definition at line 120 of file PDSS_IonsFromNeutral.h.
Referenced by PDSS_IonsFromNeutral::entropy_R(), PDSS_IonsFromNeutral::entropy_R_ref(), PDSS_IonsFromNeutral::gibbs_RT(), and PDSS_IonsFromNeutral::gibbs_RT_ref().
|
mutableprotected |
Vector of length equal to the number of species in the neutral molecule phase.
Definition at line 123 of file PDSS_IonsFromNeutral.h.
Referenced by PDSS_IonsFromNeutral::cp_R(), PDSS_IonsFromNeutral::cp_R_ref(), PDSS_IonsFromNeutral::enthalpy_RT(), PDSS_IonsFromNeutral::enthalpy_RT_ref(), PDSS_IonsFromNeutral::entropy_R(), PDSS_IonsFromNeutral::entropy_R_ref(), PDSS_IonsFromNeutral::gibbs_RT(), PDSS_IonsFromNeutral::gibbs_RT_ref(), PDSS_IonsFromNeutral::initThermo(), PDSS_IonsFromNeutral::molarVolume(), and PDSS_IonsFromNeutral::molarVolume_ref().