30template<
class EquationOfState>
33 const EquationOfState& st,
50template<
class EquationOfState>
54 const eConstThermo<EquationOfState>& ct
57 EquationOfState(
name, ct),
65template<
class EquationOfState>
73template<
class EquationOfState>
83template<
class EquationOfState>
93template<
class EquationOfState>
100 return Cv_ + EquationOfState::Cv(
p,
T);
104template<
class EquationOfState>
111 return Cv_*(
T - Tref_) + Esref_ + EquationOfState::E(
p,
T);
115template<
class EquationOfState>
122 return Es(
p,
T) + Hc();
126template<
class EquationOfState>
133template<
class EquationOfState>
140 return Cp(
p,
T)*
log(
T/Tstd) + EquationOfState::S(
p,
T);
144template<
class EquationOfState>
151 Cv_*(
T - Tref_) + Esref_ + Hc() + Pstd/EquationOfState::rho(Pstd,
T)
156template<
class EquationOfState>
169template<
class EquationOfState>
175 scalar Y1 = this->
Y();
177 EquationOfState::operator+=(ct);
179 if (
mag(this->
Y()) > SMALL)
182 const scalar Y2 = ct.Y()/this->
Y();
184 Cv_ = Y1*Cv_ + Y2*ct.Cv_;
185 Hf_ = Y1*Hf_ + Y2*ct.Hf_;
186 Esref_ = Y1*Esref_ + Y2*ct.Esref_;
193template<
class EquationOfState>
202 static_cast<const EquationOfState&
>(ct1)
203 +
static_cast<const EquationOfState&
>(ct2)
206 if (
mag(eofs.Y()) < SMALL)
219 return eConstThermo<EquationOfState>
222 ct1.Y()/eofs.Y()*ct1.Cv_
223 + ct2.Y()/eofs.Y()*ct2.Cv_,
224 ct1.Y()/eofs.Y()*ct1.Hf_
225 + ct2.Y()/eofs.Y()*ct2.Hf_,
227 ct1.Y()/eofs.Y()*ct1.Esref_
228 + ct2.Y()/eofs.Y()*ct2.Esref_
234template<
class EquationOfState>
238 const eConstThermo<EquationOfState>& ct
241 return eConstThermo<EquationOfState>
243 s*
static_cast<const EquationOfState&
>(ct),
252template<
class EquationOfState>
255 const eConstThermo<EquationOfState>& ct1,
256 const eConstThermo<EquationOfState>& ct2
261 static_cast<const EquationOfState&
>(ct1)
262 ==
static_cast<const EquationOfState&
>(ct2)
265 return eConstThermo<EquationOfState>
268 ct2.Y()/eofs.Y()*ct2.Cv_
269 - ct1.Y()/eofs.Y()*ct1.Cv_,
270 ct2.Y()/eofs.Y()*ct2.Hf_
271 - ct1.Y()/eofs.Y()*ct1.Hf_,
273 ct2.Y()/eofs.Y()*ct2.Esref_
274 - ct1.Y()/eofs.Y()*ct1.Esref_
scalar Es(const scalar p, const scalar T) const
compactSpatialTensor S
The joint motion sub-space (3-DoF)
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
friend complex limit(const complex &c1, const complex &c2)
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Constant properties thermodynamics package templated on an equation of state.
scalar dCpdT(const scalar p, const scalar T) const
Temperature derivative of heat capacity at constant pressure.
scalar Hc() const
Chemical enthalpy [J/kg].
scalar Gstd(const scalar T) const
Gibbs free energy of the mixture in the standard state [J/kg].
autoPtr< eConstThermo > clone() const
Construct and return a clone.
scalar Es(const scalar p, const scalar T) const
Sensible internal energy [J/kg].
void operator+=(const faMatrix< Type > &)
PtrList< volScalarField > & Y
const volScalarField & Cv
const volScalarField & Cp
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
dimensionedScalar log(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.