diff --git a/src/thermophysicalModels/specie/thermo/polynomial/polynomialThermo.C b/src/thermophysicalModels/specie/thermo/polynomial/polynomialThermo.C index 9255de6ac5c12b7a890e975ccecd6eea36432fd1..c764426bbece5b913f6c6386ddaa8884ded89270 100644 --- a/src/thermophysicalModels/specie/thermo/polynomial/polynomialThermo.C +++ b/src/thermophysicalModels/specie/thermo/polynomial/polynomialThermo.C @@ -34,6 +34,7 @@ Foam::polynomialThermo<EquationOfState, PolySize>::polynomialThermo(Istream& is) : EquationOfState(is), Hf_(readScalar(is)), + Sf_(readScalar(is)), cpPolynomial_("cpPolynomial", is), dhPolynomial_("dhPolynomial", cpPolynomial_.integrate()), sPolynomial_("sPolynomial", cpPolynomial_.integrateMinus1()) @@ -51,6 +52,7 @@ Foam::Ostream& Foam::operator<< { os << static_cast<const EquationOfState&>(pt) << tab << pt.Hf_ << tab + << pt.Sf_ << tab << pt.cpPolynomial_ << tab << pt.dhPolynomial_ << tab << pt.sPolynomial; diff --git a/src/thermophysicalModels/specie/thermo/polynomial/polynomialThermo.H b/src/thermophysicalModels/specie/thermo/polynomial/polynomialThermo.H index 52ffaabd8f48a8caf965e90635951811fa50eb59..4f5481851101dcc8184903841ef502d4393e8462 100644 --- a/src/thermophysicalModels/specie/thermo/polynomial/polynomialThermo.H +++ b/src/thermophysicalModels/specie/thermo/polynomial/polynomialThermo.H @@ -98,9 +98,12 @@ class polynomialThermo { // Private data - //- Heat of formation + //- Heat of formation [m2/s2] scalar Hf_; + //- Standard entropy [m2/(s2 K)] + scalar Sf_; + //- Specific heat at constant pressure Polynomial<PolySize> cpPolynomial_; @@ -118,6 +121,7 @@ class polynomialThermo ( const EquationOfState& pt, const scalar Hf, + const scalar Sf, const Polynomial<PolySize>& cpPoly, const typename Polynomial<PolySize>::intPolyType& hPoly, const Polynomial<PolySize>& sPoly diff --git a/src/thermophysicalModels/specie/thermo/polynomial/polynomialThermoI.H b/src/thermophysicalModels/specie/thermo/polynomial/polynomialThermoI.H index 847b4a799838a2429c39c995e8d98cc8f44644b2..28e80c5d5fc6741abf56786622d59e858db4bfe6 100644 --- a/src/thermophysicalModels/specie/thermo/polynomial/polynomialThermoI.H +++ b/src/thermophysicalModels/specie/thermo/polynomial/polynomialThermoI.H @@ -33,6 +33,7 @@ inline Foam::polynomialThermo<EquationOfState, PolySize>::polynomialThermo ( const EquationOfState& pt, const scalar Hf, + const scalar Sf, const Polynomial<PolySize>& cpPoly, const typename Polynomial<PolySize>::intPolyType& dhPoly, const Polynomial<PolySize>& sPoly @@ -40,6 +41,7 @@ inline Foam::polynomialThermo<EquationOfState, PolySize>::polynomialThermo : EquationOfState(pt), Hf_(Hf), + Sf_(Sf), cpPolynomial_(cpPoly), dhPolynomial_(dhPoly), sPolynomial_(sPoly) @@ -57,6 +59,7 @@ inline Foam::polynomialThermo<EquationOfState, PolySize>::polynomialThermo : EquationOfState(name, pt), Hf_(pt.Hf_), + Sf_(pt.Sf_), cpPolynomial_(pt.cpPolynomial_), dhPolynomial_(pt.dhPolynomial_), sPolynomial_(pt.sPolynomial_) @@ -109,13 +112,7 @@ inline Foam::scalar Foam::polynomialThermo<EquationOfState, PolySize>::s const scalar T ) const { - WarningIn("scalar polynomialThermo<EquationOfState>::s(const scalar)") - << "Standard entropy of formation currently set to zero" - << endl; - - scalar Sf = 0.0; - - return (sPolynomial_.evaluate(T) + Sf)*this->W(); + return (sPolynomial_.evaluate(T) + Sf_)*this->W(); } @@ -135,6 +132,7 @@ inline void Foam::polynomialThermo<EquationOfState, PolySize>::operator+= scalar molr2 = pt.nMoles()/this->nMoles(); Hf_ = molr1*Hf_ + molr2*pt.Hf_; + Sf_ = molr1*Sf_ + molr2*pt.Sf_; cpPolynomial_ = molr1*cpPolynomial_ + molr2*pt.cpPolynomial_; dhPolynomial_ = molr1*dhPolynomial_ + molr2*pt.dhPolynomial_; sPolynomial_ = molr1*sPolynomial_ + molr2*pt.sPolynomial_; @@ -155,6 +153,7 @@ inline void Foam::polynomialThermo<EquationOfState, PolySize>::operator-= scalar molr2 = pt.nMoles()/this->nMoles(); Hf_ = molr1*Hf_ - molr2*pt.Hf_; + Sf_ = molr1*Hf_ - molr2*pt.Sf_; cpPolynomial_ = molr1*cpPolynomial_ - molr2*pt.cpPolynomial_; dhPolynomial_ = molr1*dhPolynomial_ - molr2*pt.dhPolynomial_; sPolynomial_ = molr1*sPolynomial_ - molr2*pt.sPolynomial_; @@ -182,6 +181,7 @@ inline Foam::polynomialThermo<EquationOfState, PolySize> Foam::operator+ ( eofs, molr1*pt1.Hf_ + molr2*pt2.Hf_, + molr1*pt1.Sf_ + molr2*pt2.Sf_, molr1*pt1.cpPolynomial_ + molr2*pt2.cpPolynomial_, molr1*pt1.dhPolynomial_ + molr2*pt2.dhPolynomial_, molr1*pt1.sPolynomial_ + molr2*pt2.sPolynomial_ @@ -208,6 +208,7 @@ inline Foam::polynomialThermo<EquationOfState, PolySize> Foam::operator- ( eofs, molr1*pt1.Hf_ - molr2*pt2.Hf_, + molr1*pt1.Sf_ - molr2*pt2.Sf_, molr1*pt1.cpPolynomial_ - molr2*pt2.cpPolynomial_, molr1*pt1.dhPolynomial_ - molr2*pt2.dhPolynomial_, molr1*pt1.sPolynomial_ - molr2*pt2.sPolynomial_ @@ -226,6 +227,7 @@ inline Foam::polynomialThermo<EquationOfState, PolySize> Foam::operator* ( s*static_cast<const EquationOfState&>(pt), pt.Hf_, + pt.Sf_, pt.cpPolynomial_, pt.dhPolynomial_, pt.sPolynomial_