19 : SpeciesThermoInterpType(0.0, std::numeric_limits<double>::infinity(), 0.0)
23Mu0Poly::Mu0Poly(
double tlow,
double thigh,
double pref,
const double* coeffs) :
28 map<double, double> T_mu;
29 size_t nPoints = (size_t) coeffs[0];
30 for (
size_t i = 0; i < nPoints; i++) {
31 T_mu[coeffs[2*i+2]] = coeffs[2*i+3];
38 size_t nPoints = T_mu.size();
40 throw CanteraError(
"Mu0Poly::setParameters",
"nPoints must be >= 2");
48 for (
const auto& [T1, mu] : T_mu) {
57 "One temperature has to be 298.15");
73 double deltaT = T2 - T1;
74 double cpi = (deltaMu - T1 * s1 + T2 * s1) / (deltaT - T2 * log(T2/T1));
85 for (
size_t i = iT298 - 1; i !=
npos; i--) {
90 double deltaT = T2 - T1;
91 double cpi = (deltaMu - T1 * s2 + T2 * s2) / (deltaT - T1 * log(T2/T1));
103 double* h_RT,
double* s_R)
const
135 double& pref,
double*
const coeffs)
const
155 thermo[
"model"] =
"piecewise-Gibbs";
158 bool dimensionless = m_input.
getBool(
"dimensionless",
false);
160 thermo[
"dimensionless"] =
true;
166 data[fmt::format(
"{}",
m_t0_int[i])].setQuantity(
170 thermo[
"data"] = std::move(data);
Header for a single-species standard state object derived from SpeciesThermoInterpType based on a pie...
A map of string keys to values whose type can vary at runtime.
bool getBool(const string &key, bool default_) const
If key exists, return it as a bool, otherwise return default_.
Base class for exceptions thrown by Cantera classes.
vector< double > m_t0_int
Points at which the standard state chemical potential are given.
double m_H298
Value of the enthalpy at T = 298.15.
void getParameters(AnyMap &thermo) const override
Store the parameters of the species thermo object such that an identical species thermo object could ...
vector< double > m_h0_R_int
Dimensionless Enthalpies at the temperature points.
size_t nCoeffs() const override
This utility function returns the number of coefficients for a given type of species parameterization...
void reportParameters(size_t &n, int &type, double &tlow, double &thigh, double &pref, double *const coeffs) const override
This utility function returns the type of parameterization and all of the parameters for the species.
vector< double > m_cp0_R_int
Heat capacity at the points.
size_t m_numIntervals
Number of intervals in the interpolating linear approximation.
vector< double > m_s0_R_int
Entropy at the points.
void updateProperties(const double *tt, double *cp_R, double *h_RT, double *s_R) const override
Update the properties for this species, given a temperature polynomial.
void setParameters(double h0, const map< double, double > &T_mu)
Set parameters for .
vector< double > m_mu0_R_int
Mu0's are primary input data.
void updatePropertiesTemp(const double temp, double *cp_R, double *h_RT, double *s_R) const override
Compute the reference-state property of one species.
Abstract Base class for the thermodynamic manager for an individual species' reference state.
double m_Pref
Reference state pressure.
virtual void getParameters(AnyMap &thermo) const
Store the parameters of the species thermo object such that an identical species thermo object could ...
double m_lowT
lowest valid temperature
double m_highT
Highest valid temperature.
const double GasConstant
Universal Gas Constant [J/kmol/K].
Namespace for the Cantera kernel.
const size_t npos
index returned by functions to indicate "no position"
#define MU0_INTERP
piecewise interpolation of mu0.
Contains declarations for string manipulation functions within Cantera.