Cantera  2.4.0
Public Member Functions | Protected Attributes | List of all members

Derived class for pressure dependent standard states of an ideal gas species. More...

#include <PDSS_IonsFromNeutral.h>

Inheritance diagram for PDSS_IonsFromNeutral:
[legend]
Collaboration diagram for PDSS_IonsFromNeutral:
[legend]

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
 
PDSSoperator= (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< ThermoPhaseneutralMoleculePhase_
 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< SpeciesThermoInterpTypem_spthermo
 Pointer to the species thermodynamic property manager. More...
 

Detailed Description

Derived class for pressure dependent standard states of an ideal gas species.

Attention
This class currently does not have any test cases or examples. Its implementation may be incomplete, and future changes to Cantera may unexpectedly cause this class to stop working. If you use this class, please consider contributing examples or test cases. In the absence of new tests or examples, this class may be deprecated and removed in a future version of Cantera. See https://github.com/Cantera/cantera/issues/267 for additional information.

This class is for a single Ideal Gas species.

Definition at line 35 of file PDSS_IonsFromNeutral.h.

Constructor & Destructor Documentation

◆ PDSS_IonsFromNeutral()

Default constructor.

Definition at line 20 of file PDSS_IonsFromNeutral.cpp.

Member Function Documentation

◆ enthalpy_RT()

doublereal enthalpy_RT ( ) const
virtual

Return the standard state molar enthalpy divided by RT.

Returns
The dimensionless species standard state enthalpy divided at the current temperature and pressure.

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.

◆ intEnergy_mole()

doublereal intEnergy_mole ( ) const
virtual

Return the molar internal Energy in units of J kmol-1.

Returns
The species standard state internal Energy in J kmol-1 at the current temperature and pressure.

Reimplemented from PDSS.

Definition at line 94 of file PDSS_IonsFromNeutral.cpp.

References Cantera::GasConstant, PDSS_Nondimensional::m_h0_RT, and PDSS::m_temp.

◆ entropy_R()

doublereal entropy_R ( ) const
virtual

Return the standard state entropy divided by RT.

Returns
The species standard state entropy divided by RT at the current temperature and pressure.

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.

◆ gibbs_RT()

doublereal gibbs_RT ( ) const
virtual

Return the molar Gibbs free energy divided by RT.

Returns
The species standard state Gibbs free energy divided by RT at the current temperature and pressure.

\[ \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.

◆ cp_R()

doublereal cp_R ( ) const
virtual

Return the molar const pressure heat capacity divided by RT.

Returns
The species standard state Cp divided by RT at the current temperature and pressure.

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.

◆ molarVolume()

doublereal molarVolume ( ) const
virtual

Return the molar volume at standard state.

Returns
The standard state molar volume at the current temperature and pressure. Units are m**3 kmol-1.

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.

◆ density()

doublereal density ( ) const
virtual

Return the standard state density at standard state.

Returns
The standard state density at the current temperature and pressure. units are kg m-3

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.

◆ gibbs_RT_ref()

doublereal gibbs_RT_ref ( ) const
virtual

Return the molar Gibbs free energy divided by RT at reference pressure.

Returns
The reference state Gibbs free energy at the current temperature, divided by RT.

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.

◆ enthalpy_RT_ref()

doublereal enthalpy_RT_ref ( ) const
virtual

Return the molar enthalpy divided by RT at reference pressure.

Returns
The species reference state enthalpy at the current temperature, divided by RT.

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.

◆ entropy_R_ref()

doublereal entropy_R_ref ( ) const
virtual

Return the molar entropy divided by R at reference pressure.

Returns
The species reference state entropy at the current temperature, divided by R.

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.

◆ cp_R_ref()

doublereal cp_R_ref ( ) const
virtual

Return the molar heat capacity divided by R at reference pressure.

Returns
The species reference state heat capacity divided by R at the current temperature.

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.

◆ molarVolume_ref()

doublereal molarVolume_ref ( ) const
virtual

Return the molar volume at reference pressure.

Returns
The reference state molar volume. units are m**3 kmol-1.

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.

◆ setState_TP()

void setState_TP ( doublereal  temp,
doublereal  pres 
)
virtual

Set the internal temperature and pressure.

Parameters
tempTemperature (Kelvin)
prespressure (Pascals)

Reimplemented from PDSS.

Definition at line 215 of file PDSS_IonsFromNeutral.cpp.

References PDSS::m_pres, and PDSS::m_temp.

◆ setState_TR()

void setState_TR ( doublereal  temp,
doublereal  rho 
)
virtual

Set the internal temperature and density.

Parameters
tempTemperature (Kelvin)
rhoDensity (kg m-3)

Reimplemented from PDSS.

Definition at line 221 of file PDSS_IonsFromNeutral.cpp.

◆ setParent()

void setParent ( VPStandardStateTP phase,
size_t  k 
)
virtual

Set the parent VPStandardStateTP object of this PDSS object.

This information is only used by certain PDSS subclasses

Parameters
phasePointer to the parent phase
kIndex of this species in the phase

Reimplemented from PDSS.

Definition at line 27 of file PDSS_IonsFromNeutral.cpp.

References PDSS_IonsFromNeutral::neutralMoleculePhase_.

◆ useSTITbyPDSS()

virtual bool useSTITbyPDSS ( ) const
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.

◆ setParametersFromXML()

void setParametersFromXML ( const XML_Node speciesNode)
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().

◆ initThermo()

void initThermo ( )
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.

Member Data Documentation

◆ neutralMoleculePhase_

shared_ptr<ThermoPhase> neutralMoleculePhase_
protected

◆ numMult_

size_t numMult_
protected

◆ idNeutralMoleculeVec

std::vector<size_t> idNeutralMoleculeVec
protected

◆ factorVec

vector_fp factorVec
protected

◆ add2RTln2_

bool add2RTln2_
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().

◆ tmpNM

vector_fp tmpNM
mutableprotected

The documentation for this class was generated from the following files: