30 template<
class thermo>
40 template<
class thermo>
51 scalar Ttol = T0*tol_;
57 Tnew = Test - ((this->*F)(Test) -
f)/(this->*dFdT)(Test);
59 if (iter++ > maxIter_)
63 "specieThermo<thermo>::T(scalar f, scalar T0, "
64 "scalar (specieThermo<thermo>::*F)(const scalar) const, "
65 "scalar (specieThermo<thermo>::*dFdT)(const scalar) const"
67 ) <<
"Maximum number of iterations exceeded"
71 }
while (
mag(Tnew - Test) > Ttol);
79 template<
class thermo>
92 template<
class thermo>
95 return this->
cp(T) - this->RR;
99 template<
class thermo>
102 scalar CP = this->
cp(T);
103 return CP/(CP - this->RR);
107 template<
class thermo>
110 return this->
h(T) - this->RR*(T - this->Tstd);
114 template<
class thermo>
117 return this->
hs(T) - this->RR*(T - this->Tstd);
121 template<
class thermo>
124 return this->
h(T) - T*this->s(T);
128 template<
class thermo>
131 return this->
e(T) - T*this->s(T);
135 template<
class thermo>
138 return this->
cp(T)/this->W();
142 template<
class thermo>
145 return this->cv(T)/this->W();
149 template<
class thermo>
152 return this->
h(T)/this->W();
156 template<
class thermo>
159 return this->
hs(T)/this->W();
163 template<
class thermo>
166 return this->hc()/this->W();
170 template<
class thermo>
173 return this->s(T)/this->W();
177 template<
class thermo>
180 return this->
e(T)/this->W();
184 template<
class thermo>
187 return this->g(T)/this->W();
191 template<
class thermo>
194 return this->a(T)/this->W();
198 template<
class thermo>
201 scalar arg = -this->nMoles()*this->g(T)/(this->RR*
T);
214 template<
class thermo>
221 template<
class thermo>
224 if (
equal(this->nMoles(), SMALL))
230 return Kp(T)*
pow(this->Pstd/(this->RR*T), this->nMoles());
235 template<
class thermo>
242 if (
equal(this->nMoles(), SMALL))
248 return Kp(T)*
pow(this->Pstd/p, this->nMoles());
253 template<
class thermo>
261 if (
equal(this->nMoles(), SMALL))
267 return Kp(T)*
pow(n*this->Pstd/p, this->nMoles());
272 template<
class thermo>
283 template<
class thermo>
294 template<
class thermo>
307 template<
class thermo>
313 thermo::operator+=(st);
316 template<
class thermo>
317 inline void Foam::specieThermo<thermo>::operator-=
322 thermo::operator-=(st);
325 template<
class thermo>
328 thermo::operator*=(s);
334 template<
class thermo>
343 static_cast<const thermo&
>(st1) + static_cast<const thermo&>(st2)
348 template<
class thermo>
357 static_cast<const thermo&
>(st1) - static_cast<const thermo&>(st2)
362 template<
class thermo>
371 s*
static_cast<const thermo&
>(st)
376 template<
class thermo>