28 const std::string& inputFile,
const std::string&
id) :
36 const XML_Node& phaseRoot,
bool spInstalled) :
40 throw CanteraError(
"PDSS_IdealGas",
"sp installing not done yet");
71 const XML_Node& phaseNode,
const std::string&
id)
76 const std::string& inputFile,
77 const std::string&
id)
79 if (inputFile.size() == 0) {
81 "input file is null");
84 ifstream fin(path.c_str());
86 throw CanteraError(
"PDSS_IdealGas::constructPDSSFile",
"could not open "
87 +path+
" for reading.");
99 "ERROR: Can not find phase named " +
100 id +
" in file named " + inputFile);
190 throw CanteraError(
"PDSS_IdealGas::pressure()",
"unimplemented");
doublereal temperature() const
Return the temperature stored in the object.
virtual void initThermo()
Initialization routine for all of the shallow pointers.
CTML ("Cantera Markup Language") is the variant of XML that Cantera uses to store data...
XML_Node * findXMLPhase(XML_Node *root, const std::string &idtarget)
Search an XML_Node tree for a named phase XML_Node.
SpeciesThermo * m_spthermo
Pointer to the species thermodynamic property manager.
virtual doublereal enthalpy_RT_ref() const
Return the molar enthalpy divided by RT at reference pressure.
virtual doublereal cp_R() const
Return the molar const pressure heat capacity divided by RT.
virtual doublereal entropy_R_ref() const
Return the molar entropy divided by R at reference pressure.
virtual void setTemperature(doublereal temp)
Set the internal temperature.
doublereal * m_cpss_R_ptr
Standard state heat capacity divided by R.
doublereal * m_h0_RT_ptr
Reference state enthalpy divided by RT.
PDSS_IdealGas & operator=(const PDSS_IdealGas &b)
Assignment operator.
virtual doublereal maxTemp(size_t k=npos) const =0
Maximum temperature.
virtual void update_one(size_t k, doublereal T, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const
Like update(), but only updates the single species k.
virtual void setState_TP(doublereal temp, doublereal pres)
Set the internal temperature and pressure.
doublereal m_pres
State of the system - pressure.
Class XML_Node is a tree-based representation of the contents of an XML file.
PDSS_IdealGas(VPStandardStateTP *tp, int spindex)
Constructor.
virtual doublereal gibbs_RT_ref() const
Return the molar Gibbs free energy divided by RT at reference pressure.
virtual doublereal cp_R_ref() const
Return the molar heat capacity divided by R at reference pressure.
VPSSMgr * m_vpssmgr_ptr
Pointer to the VPSS manager for this object.
size_t m_spindex
Species index in the ThermoPhase corresponding to this species.
doublereal * m_gss_RT_ptr
Standard state Gibbs free energy divided by RT.
PDSS_enumType m_pdssType
Enumerated type describing the type of the PDSS object.
virtual PDSS * duplMyselfAsPDSS() const
Duplication routine for objects which inherit from PDSS.
doublereal * m_sss_R_ptr
Standard state entropy divided by R.
virtual void setPressure(doublereal pres)
Sets the pressure in the object.
Declarations for the class PDSS_IdealGas (pressure dependent standard state) which handles calculatio...
virtual doublereal temperature() const
Return the current stored temperature.
virtual void initThermo()
Initialization routine for all of the shallow pointers.
virtual doublereal enthalpy_RT() const
Return the standard state molar enthalpy divided by RT.
virtual doublereal density() const
Return the standard state density at standard state.
virtual doublereal molarVolume() const
Return the molar volume at standard state.
virtual doublereal refPressure(size_t k=npos) const =0
The reference-state pressure for species k.
virtual void setState_TR(doublereal temp, doublereal rho)
Set the internal temperature and density.
doublereal * m_s0_R_ptr
Reference state entropy divided by R.
Base class for exceptions thrown by Cantera classes.
void constructPDSSXML(VPStandardStateTP *vptp_ptr, size_t spindex, const XML_Node &phaseNode, const std::string &id)
Initialization of a PDSS object using an XML tree.
This is a filter class for ThermoPhase that implements some prepatory steps for efficiently handling ...
doublereal m_maxTemp
Maximum temperature.
doublereal m_minTemp
Minimum temperature.
doublereal * m_hss_RT_ptr
Standard state enthalpy divided by RT.
virtual doublereal minTemp(size_t k=npos) const =0
Minimum temperature.
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.
virtual doublereal cp_mole() const
Return the molar const pressure heat capacity in units of J kmol-1 K-1.
Header file for a derived class of ThermoPhase that handles variable pressure standard state methods ...
Virtual base class for a species with a pressure dependent standard state.
VPStandardStateTP * m_tp
ThermoPhase which this species belongs to.
const doublereal GasConstant
Universal Gas Constant. [J/kmol/K].
doublereal m_temp
Current temperature used by the PDSS object.
PDSS & operator=(const PDSS &b)
Assignment operator.
virtual doublereal cv_mole() const
Return the molar const volume heat capacity in units of J kmol-1 K-1.
virtual doublereal entropy_R() const
Return the standard state entropy divided by RT.
doublereal * m_g0_RT_ptr
Reference state Gibbs free energy divided by RT.
virtual doublereal gibbs_RT() const
Return the molar Gibbs free energy divided by RT.
doublereal * m_cp0_R_ptr
Reference state heat capacity divided by R.
virtual SpeciesThermo & speciesThermo(int k=-1)
Return a changeable reference to the calculation manager for species reference-state thermodynamic pr...
doublereal * m_Vss_ptr
Standard State molar volume (m3 kg-1)
doublereal * m_V0_ptr
Reference state molar volume (m3 kg-1)
Derived class for pressure dependent standard states of an ideal gas species.
virtual doublereal molarVolume_ref() const
Return the molar volume at reference pressure.
virtual doublereal pressure() const
Returns the pressure (Pa)
virtual doublereal intEnergy_mole() const
Return the molar internal Energy in units of J kmol-1.
void build(std::istream &f)
Main routine to create an tree-like representation of an XML file.
doublereal m_p0
Reference state pressure of the species.
doublereal m_mw
Molecular Weight of the species.