31 const std::string& inputFile,
const std::string&
id) :
39 const XML_Node& phaseRoot,
bool spInstalled) :
43 throw CanteraError(
"PDSS_IdealGas",
"sp installing not done yet");
75 const XML_Node& phaseNode,
const std::string&
id)
82 const std::string& inputFile,
83 const std::string&
id)
85 if (inputFile.size() == 0) {
87 "input file is null");
90 ifstream fin(path.c_str());
92 throw CanteraError(
"PDSS_IdealGas::constructPDSSFile",
"could not open "
93 +path+
" for reading.");
105 "ERROR: Can not find phase named " +
106 id +
" in file named " + inputFile);
178 doublereal val =
cp_R();
235 throw CanteraError(
"PDSS_IdealGas::pressure()",
"unimplemented");
248 throw CanteraError(
"PDSS_IdealGas::critTemperature()",
"unimplemented");
254 throw CanteraError(
"PDSS_IdealGas::critPressure()",
"unimplemented");
260 throw CanteraError(
"PDSS_IdealGas::critDensity()",
"unimplemented");
264 doublereal PDSS_IdealGas::temperature()
const
299 throw CanteraError(
"PDSS_IdealGas::satPressure()",
"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 critPressure() const
critical 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.
virtual void initThermoXML(const XML_Node &phaseNode, const std::string &id)
Initialization routine for the PDSS object based on the phaseNode.
doublereal * m_h0_RT_ptr
Reference state enthalpy divided by RT.
virtual doublereal satPressure(doublereal t)
saturation pressure
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.
Headers for the factory class that can create known ThermoPhase objects (see Thermodynamic Properties...
virtual doublereal entropy_mole() const
Return the molar entropy in units of J kmol-1 K-1.
virtual doublereal cp_mole() const
Return the molar const pressure heat capacity in units of J kmol-1 K-1.
virtual doublereal critDensity() const
critical density
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.
This file contains definitions of terms that are used in internal routines and are unlikely to need m...
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.
virtual doublereal enthalpy_mole() const
Return the molar enthalpy in units of J kmol-1.
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.
Pure Virtual base class for the species thermo manager classes.
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 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.
Classes providing support for XML data files.
virtual void initThermoXML(const XML_Node &phaseNode, const std::string &id)
Initialization routine for the PDSS object based on the phaseNode.
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.
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 doublereal gibbs_mole() const
Return the molar Gibbs free energy in units of J kmol-1.
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.
virtual doublereal critTemperature() const
critical temperature
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.