Cantera  2.3.0
PDSS_IonsFromNeutral Class Reference

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

Constructors
PDSS_IonsFromNeutral (VPStandardStateTP *tp, size_t spindex)
Constructor. More...

PDSS_IonsFromNeutral (VPStandardStateTP *tp, size_t spindex, const std::string &inputFile, const std::string &id="")
Constructor that initializes the object by examining the input file of the ThermoPhase object. More...

PDSS_IonsFromNeutral (VPStandardStateTP *vptp_ptr, size_t spindex, const XML_Node &speciesNode, const XML_Node &phaseRef, bool spInstalled)
Constructor that initializes the object by examining the input file of the ThermoPhase object. More...

PDSS_IonsFromNeutral (const PDSS_IonsFromNeutral &b)

PDSS_IonsFromNeutraloperator= (const PDSS_IonsFromNeutral &b)

virtual PDSSduplMyselfAsPDSS () const
Duplication routine for objects which inherit from PDSS. More...

virtual void initAllPtrs (VPStandardStateTP *vptp_ptr, VPSSMgr *vpssmgr_ptr, MultiSpeciesThermo *spthermo_ptr)
Initialize or Reinitialize all shallow pointers in the object. 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 setTemperature (doublereal temp)
Set the internal temperature. More...

virtual doublereal temperature () const
Return the current stored temperature. More...

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 constructPDSSFile (VPStandardStateTP *vptp_ptr, size_t spindex, const std::string &inputFile, const std::string &id)
Initialization of a PDSS object using an input XML file. More...

void constructPDSSXML (VPStandardStateTP *vptp_ptr, size_t spindex, const XML_Node &speciesNode, const XML_Node &phaseNode, const std::string &id)
Initialization of a PDSS object using an XML tree. More...

virtual void initThermo ()
Initialization routine for all of the shallow pointers. 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 ()
Empty Constructor. More...

PDSS (VPStandardStateTP *tp, size_t spindex)
Constructor that initializes the object by examining the XML entries from the ThermoPhase object. More...

PDSS (const PDSS &b)

PDSSoperator= (const PDSS &b)

virtual ~PDSS ()

PDSS_enumType reportPDSSType () const
Returns the type of the standard state parameterization. More...

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

virtual void initThermoXML (const XML_Node &phaseNode, const std::string &id)
Initialization routine for the PDSS object based on the phaseNode. 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...

## Public Attributes

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

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

int specialSpecies_
True if this species is the special species. More...

## Protected Attributes

const ThermoPhaseneutralMoleculePhase_
Pointer to the Neutral Molecule ThermoPhase object. More...

Protected Attributes inherited from PDSS
PDSS_enumType m_pdssType
Enumerated type describing the type of the PDSS object. More...

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

VPStandardStateTPm_tp
ThermoPhase which this species belongs to. More...

VPSSMgrm_vpssmgr_ptr
Pointer to the VPSS manager for this object. More...

doublereal m_mw
Molecular Weight of the species. More...

size_t m_spindex
Species index in the ThermoPhase corresponding to this species. More...

MultiSpeciesThermom_spthermo
Pointer to the species thermodynamic property manager. More...

doublereal * m_h0_RT_ptr
Reference state enthalpy divided by RT. More...

doublereal * m_cp0_R_ptr
Reference state heat capacity divided by R. More...

doublereal * m_s0_R_ptr
Reference state entropy divided by R. More...

doublereal * m_g0_RT_ptr
Reference state Gibbs free energy divided by RT. More...

doublereal * m_V0_ptr
Reference state molar volume (m3 kg-1) More...

doublereal * m_hss_RT_ptr
Standard state enthalpy divided by RT. More...

doublereal * m_cpss_R_ptr
Standard state heat capacity divided by R. More...

doublereal * m_sss_R_ptr
Standard state entropy divided by R. More...

doublereal * m_gss_RT_ptr
Standard state Gibbs free energy divided by RT. More...

doublereal * m_Vss_ptr
Standard State molar volume (m3 kg-1) 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.

## ◆ PDSS_IonsFromNeutral() [1/3]

 PDSS_IonsFromNeutral ( VPStandardStateTP * tp, size_t spindex )

Constructor.

Parameters
 tp Pointer to the ThermoPhase object pertaining to the phase spindex Species index of the species in the phase

Definition at line 19 of file PDSS_IonsFromNeutral.cpp.

References PDSS::m_pdssType.

Referenced by PDSS_IonsFromNeutral::duplMyselfAsPDSS().

## ◆ PDSS_IonsFromNeutral() [2/3]

 PDSS_IonsFromNeutral ( VPStandardStateTP * tp, size_t spindex, const std::string & inputFile, const std::string & id = "" )

Constructor that initializes the object by examining the input file of the ThermoPhase object.

This function calls the constructPDSSFile member function.

Parameters
 tp Pointer to the ThermoPhase object pertaining to the phase spindex Species index of the species in the phase inputFile String name of the input file id String name of the phase in the input file. The default is the empty string, in which case the first phase in the file is used.
Deprecated:
To be removed after Cantera 2.3.

Definition at line 29 of file PDSS_IonsFromNeutral.cpp.

## ◆ PDSS_IonsFromNeutral() [3/3]

 PDSS_IonsFromNeutral ( VPStandardStateTP * vptp_ptr, size_t spindex, const XML_Node & speciesNode, const XML_Node & phaseRef, bool spInstalled )

Constructor that initializes the object by examining the input file of the ThermoPhase object.

This function calls the constructPDSSXML member function.

Parameters
 vptp_ptr Pointer to the ThermoPhase object pertaining to the phase spindex Species index of the species in the phase speciesNode Reference to the species XML tree. phaseRef Reference to the XML tree containing the phase information. spInstalled Boolean indicating whether the species is installed yet or not.

Definition at line 43 of file PDSS_IonsFromNeutral.cpp.

References PDSS_IonsFromNeutral::constructPDSSXML(), and PDSS::m_pdssType.

## ◆ duplMyselfAsPDSS()

 PDSS * duplMyselfAsPDSS ( ) const
virtual

Duplication routine for objects which inherit from PDSS.

This function can be used to duplicate objects derived from PDSS even if the application only has a pointer to PDSS to work with.

Returns
A pointer to the base PDSS object type
Deprecated:
To be removed after Cantera 2.3 for all classes derived from PDSS.

Reimplemented from PDSS.

Definition at line 90 of file PDSS_IonsFromNeutral.cpp.

References PDSS_IonsFromNeutral::PDSS_IonsFromNeutral().

## ◆ initAllPtrs()

 void initAllPtrs ( VPStandardStateTP * vptp_ptr, VPSSMgr * vpssmgr_ptr, MultiSpeciesThermo * spthermo_ptr )
virtual

Initialize or Reinitialize all shallow pointers in the object.

This command is called to reinitialize all shallow pointers in the object. It's needed for the duplicator capability

Parameters
 vptp_ptr Pointer to the Variable pressure ThermoPhase object vpssmgr_ptr Pointer to the variable pressure standard state calculator for this phase spthermo_ptr Pointer to the optional MultiSpeciesThermo object that will handle the calculation of the reference state thermodynamic coefficients.
Deprecated:
To be removed after Cantera 2.3 for all classes derived from PDSS.

Reimplemented from PDSS.

Definition at line 95 of file PDSS_IonsFromNeutral.cpp.

## ◆ 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.

Definition at line 194 of file PDSS_IonsFromNeutral.cpp.

## ◆ 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 205 of file PDSS_IonsFromNeutral.cpp.

References Cantera::GasConstant, PDSS::m_h0_RT_ptr, PDSS::m_spindex, 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.

Definition at line 210 of file PDSS_IonsFromNeutral.cpp.

## ◆ 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.

Definition at line 224 of file PDSS_IonsFromNeutral.cpp.

## ◆ 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.

Definition at line 238 of file PDSS_IonsFromNeutral.cpp.

## ◆ 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.

Definition at line 249 of file PDSS_IonsFromNeutral.cpp.

## ◆ 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.

Definition at line 260 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.

Definition at line 265 of file PDSS_IonsFromNeutral.cpp.

## ◆ 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.

Definition at line 279 of file PDSS_IonsFromNeutral.cpp.

## ◆ 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.

Definition at line 290 of file PDSS_IonsFromNeutral.cpp.

## ◆ 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.

Definition at line 304 of file PDSS_IonsFromNeutral.cpp.

## ◆ 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.

Definition at line 315 of file PDSS_IonsFromNeutral.cpp.

## ◆ setTemperature()

 void setTemperature ( doublereal temp )
virtual

Set the internal temperature.

Parameters
 temp Temperature (Kelvin)

Reimplemented from PDSS.

Definition at line 334 of file PDSS_IonsFromNeutral.cpp.

References PDSS::m_temp.

## ◆ temperature()

 doublereal temperature ( ) const
virtual

Return the current stored temperature.

Reimplemented from PDSS.

Definition at line 326 of file PDSS_IonsFromNeutral.cpp.

References PDSS::m_temp, PDSS::m_vpssmgr_ptr, and VPSSMgr::temperature().

## ◆ setState_TP()

 void setState_TP ( doublereal temp, doublereal pres )
virtual

Set the internal temperature and pressure.

Parameters
 temp Temperature (Kelvin) pres pressure (Pascals)

Reimplemented from PDSS.

Definition at line 339 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
 temp Temperature (Kelvin) rho Density (kg m-3)

Reimplemented from PDSS.

Definition at line 345 of file PDSS_IonsFromNeutral.cpp.

## ◆ constructPDSSFile()

 void constructPDSSFile ( VPStandardStateTP * vptp_ptr, size_t spindex, const std::string & inputFile, const std::string & id )

Initialization of a PDSS object using an input XML file.

This routine is a precursor to constructPDSSXML(XML_Node*) routine, which does most of the work.

Parameters
 vptp_ptr Pointer to the Variable pressure ThermoPhase object spindex Species index within the phase inputFile XML file containing the description of the phase id Optional parameter identifying the name of the phase. If none is given, the first XML phase element will be used.
Deprecated:
To be removed after Cantera 2.3.

Definition at line 158 of file PDSS_IonsFromNeutral.cpp.

Referenced by PDSS_IonsFromNeutral::PDSS_IonsFromNeutral().

## ◆ constructPDSSXML()

 void constructPDSSXML ( VPStandardStateTP * vptp_ptr, size_t spindex, const XML_Node & speciesNode, const XML_Node & phaseNode, const std::string & id )

Initialization of a PDSS object using an XML tree.

This routine is a driver for the initialization of the object.

basic logic:

• getStuff from species Part of XML file
Parameters
 vptp_ptr Pointer to the Variable pressure ThermoPhase object spindex Species index within the phase speciesNode Reference to the phase Information for the species that this standard state refers to phaseNode Reference to the phase Information for the phase that owns this species. id Optional parameter identifying the name of the phase. If none is given, the first XML phase element will be used.

Definition at line 107 of file PDSS_IonsFromNeutral.cpp.

## ◆ initThermo()

 void initThermo ( )
virtual

Initialization routine for all of the shallow pointers.

This is a cascading call, where each level should call the the parent level.

The initThermo() routines get called before the initThermoXML() routines from the constructPDSSXML() routine.

Calls initPtrs();

Reimplemented from PDSS.

Definition at line 186 of file PDSS_IonsFromNeutral.cpp.

## ◆ neutralMoleculePhase_

 const ThermoPhase* neutralMoleculePhase_
protected

Pointer to the Neutral Molecule ThermoPhase object.

This is a shallow pointer.

Definition at line 183 of file PDSS_IonsFromNeutral.h.

## ◆ numMult_

 size_t numMult_

Number of neutral molecule species that make up the stoichiometric vector for this species, in terms of calculating thermodynamic functions.

Definition at line 188 of file PDSS_IonsFromNeutral.h.

## ◆ idNeutralMoleculeVec

 std::vector idNeutralMoleculeVec

Vector of species indices in the neutral molecule ThermoPhase.

Definition at line 191 of file PDSS_IonsFromNeutral.h.

## ◆ factorVec

 vector_fp factorVec

Stoichiometric coefficient for this species using the Neutral Molecule Species in the vector idNeutralMoleculeVec.

Definition at line 195 of file PDSS_IonsFromNeutral.h.

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 201 of file PDSS_IonsFromNeutral.h.

## ◆ tmpNM

 vector_fp tmpNM
mutable

Vector of length equal to the number of species in the neutral molecule phase.

Definition at line 204 of file PDSS_IonsFromNeutral.h.

## ◆ specialSpecies_

 int specialSpecies_

True if this species is the special species.

Definition at line 207 of file PDSS_IonsFromNeutral.h.

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