Go to the documentation of this file.
19 PDSS_SSVol::PDSS_SSVol()
32 "no 'standardState' Node for species '{}'",
35 std::string model = ss->
attrib(
"model");
37 getFloatArray(*ss, coeffs,
true,
"toSI",
"volumeTemperaturePolynomial");
38 if (coeffs.size() != 4) {
40 "Didn't get 4 density polynomial numbers for species '{}'",
43 if (model ==
"temperature_polynomial") {
45 }
else if (model ==
"density_temperature_polynomial") {
49 "Unknown 'standardState' model '{}' for species '{}'",
50 model, speciesNode.
name());
55 for (
size_t i = 0; i < 4; i++) {
62 for (
size_t i = 0; i < 4; i++) {
72 const string& model =
m_input[
"model"].asString();
74 if (model ==
"density-temperature-polynomial") {
82 }
else if (model ==
"molar-volume-temperature-polynomial") {
119 doublereal dens2 = dens * dens;
123 d2VdT2_ = 2.0 *
m_mw / (dens2 * dens) * ddensdT * ddensdT -
m_mw / dens2 * d2densdT2;
133 if (fabs(deltaP) < 1.0E-10) {
155 if (fabs(deltaP) < 1.0E-10) {
180 "Setter only changes temperature and "
181 "will be removed after Cantera 2.5.");
183 if (fabs(rhoStored - rho) / (rhoStored + rho) > 1.0E-4) {
185 "Inconsistent supplied rho");
doublereal m_minTemp
Minimum temperature.
A wrapper for a variable whose type is determined at runtime.
shared_ptr< SpeciesThermoInterpType > m_spthermo
Pointer to the species thermodynamic property manager.
virtual void setParametersFromXML(const XML_Node &speciesNode)
Initialization routine for the PDSS object based on the speciesNode.
doublereal dVdT_
Derivative of the volume wrt temperature.
virtual void setState_TP(doublereal temp, doublereal pres)
Set the internal temperature and pressure.
doublereal m_pres
State of the system - pressure.
vector_fp TCoeff_
coefficients for the temperature representation
virtual void initThermo()
Initialization routine.
doublereal m_p0
Reference state pressure of the species.
doublereal m_mw
Molecular Weight of the species.
virtual doublereal cv_mole() const
Return the molar const volume heat capacity in units of J kmol-1 K-1.
An error indicating that an unimplemented function has been called.
bool hasKey(const std::string &key) const
Returns true if the map contains an item named key.
@ tpoly
This approximation is for a species with a cubic polynomial in temperature.
std::string attrib(const std::string &attr) const
Function returns the value of an attribute.
double m_Vss
Standard State molar volume (m^3/kmol)
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
double m_sss_R
Standard state entropy divided by R.
double m_V0
Reference state molar volume (m^3/kmol)
virtual void setState_TR(doublereal temp, doublereal rho)
virtual void setParametersFromXML(const XML_Node &speciesNode)
Initialization routine for the PDSS object based on the speciesNode.
std::string name() const
Returns the name of the XML node.
double m_gss_RT
Standard state Gibbs free energy divided by RT.
SSVolume_Model volumeModel_
Enumerated data type describing the type of volume model used to calculate the standard state volume ...
virtual doublereal intEnergy_mole() const
Return the molar internal Energy in units of J kmol-1.
virtual doublereal satPressure(doublereal t)
saturation pressure
Class XML_Node is a tree-based representation of the contents of an XML file.
double m_h0_RT
Reference state enthalpy divided by RT.
@ density_tpoly
This approximation is for a species where the density is expressed as a cubic polynomial in temperatu...
doublereal m_maxTemp
Maximum temperature.
void setVolumePolynomial(double *coeffs)
Set polynomial coefficients for the standard state molar volume as a function of temperature.
double m_cpss_R
Standard state heat capacity divided by R.
virtual void initThermo()
Initialization routine.
double m_cp0_R
Reference state heat capacity divided by R.
double convert(double value, const std::string &src, const std::string &dest) const
Convert value from the units of src to the units of dest.
virtual void setTemperature(doublereal temp)
Set the internal temperature.
virtual void setPressure(doublereal pres)
Sets the pressure in the object.
void setDensityPolynomial(double *coeffs)
Set polynomial coefficients for the standard state density as a function of temperature.
AnyMap m_input
Input data supplied via setParameters.
const double GasConstant
Universal Gas Constant [J/kmol/K].
Base class for exceptions thrown by Cantera classes.
void calcMolarVolume()
Does the internal calculation of the volume.
double m_s0_R
Reference state entropy divided by R.
virtual doublereal cp_mole() const
Return the molar const pressure heat capacity in units of J kmol-1 K-1.
const XML_Node * findByName(const std::string &nm, int depth=100000) const
This routine carries out a recursive search for an XML node based on the name of the node.
const UnitSystem & units() const
Return the default units that should be used to convert stored values.
doublereal m_temp
Current temperature used by the PDSS object.
doublereal d2VdT2_
2nd derivative of the volume wrt temperature
Namespace for the Cantera kernel.
double m_g0_RT
Reference state Gibbs free energy divided by RT.
SSVolume_Model
Types of general formulations for the specification of the standard state volume.
size_t getFloatArray(const XML_Node &node, vector_fp &v, const bool convert, const std::string &unitsString, const std::string &nodeName)
This function reads the current node or a child node of the current node with the default name,...
double m_hss_RT
Standard state enthalpy divided by RT.