28 template<
class equationOfState>
31 const equationOfState& st,
44 template<
class equationOfState>
51 equationOfState(name, ct),
57 template<
class equationOfState>
68 template<
class equationOfState>
81 template<
class equationOfState>
91 template<
class equationOfState>
97 return (Cp_*T + Hf_)*this->W();
101 template<
class equationOfState>
107 return Cp_*T*this->W();
111 template<
class equationOfState>
114 return Hf_*this->W();
118 template<
class equationOfState>
126 "scalar hConstThermo<equationOfState>::s(const scalar T) const"
134 template<
class equationOfState>
140 scalar molr1 = this->nMoles();
142 equationOfState::operator+=(ct);
144 molr1 /= this->nMoles();
145 scalar molr2 = ct.nMoles()/this->nMoles();
147 Cp_ = molr1*Cp_ + molr2*ct.Cp_;
148 Hf_ = molr1*Hf_ + molr2*ct.Hf_;
152 template<
class equationOfState>
153 inline void Foam::hConstThermo<equationOfState>::operator-=
158 scalar molr1 = this->nMoles();
160 equationOfState::operator-=(ct);
162 molr1 /= this->nMoles();
163 scalar molr2 = ct.nMoles()/this->nMoles();
165 Cp_ = molr1*Cp_ - molr2*ct.Cp_;
166 Hf_ = molr1*Hf_ - molr2*ct.Hf_;
172 template<
class equationOfState>
181 static_cast<const equationOfState&>(ct1)
182 + static_cast<const equationOfState&>(ct2)
188 ct1.nMoles()/eofs.nMoles()*ct1.Cp_
189 + ct2.nMoles()/eofs.nMoles()*ct2.Cp_,
190 ct1.nMoles()/eofs.nMoles()*ct1.Hf_
191 + ct2.nMoles()/eofs.nMoles()*ct2.Hf_
196 template<
class equationOfState>
205 static_cast<const equationOfState&>(ct1)
206 - static_cast<const equationOfState&>(ct2)
212 ct1.nMoles()/eofs.nMoles()*ct1.Cp_
213 - ct2.nMoles()/eofs.nMoles()*ct2.Cp_,
214 ct1.nMoles()/eofs.nMoles()*ct1.Hf_
215 - ct2.nMoles()/eofs.nMoles()*ct2.Hf_
220 template<
class equationOfState>
229 s*
static_cast<const equationOfState&
>(ct),
236 template<
class equationOfState>