30 template<
class Thermo,
int PolySize>
33 const polynomialTransport& pt
37 muCoeffs_(pt.muCoeffs_),
38 kappaCoeffs_(pt.kappaCoeffs_)
42 template<
class Thermo,
int PolySize>
46 const Polynomial<PolySize>& muCoeffs,
47 const Polynomial<PolySize>& kappaCoeffs
52 kappaCoeffs_(kappaCoeffs)
56 template<
class Thermo,
int PolySize>
60 const polynomialTransport& pt
64 muCoeffs_(pt.muCoeffs_),
65 kappaCoeffs_(pt.kappaCoeffs_)
69 template<
class Thermo,
int PolySize>
80 template<
class Thermo,
int PolySize>
91 template<
class Thermo,
int PolySize>
104 template<
class Thermo,
int PolySize>
111 return muCoeffs_.value(
T)/this->W();
115 template<
class Thermo,
int PolySize>
122 return kappaCoeffs_.value(
T)/this->W();
126 template<
class Thermo,
int PolySize>
129 const scalar
p,
const scalar
T
138 template<
class Thermo,
int PolySize>
145 Thermo::operator=(pt);
147 muCoeffs_ = pt.muCoeffs_;
148 kappaCoeffs_ = pt.kappaCoeffs_;
154 template<
class Thermo,
int PolySize>
160 scalar molr1 = this->nMoles();
162 Thermo::operator+=(pt);
164 molr1 /= this->nMoles();
165 scalar molr2 = pt.nMoles()/this->nMoles();
167 muCoeffs_ = molr1*muCoeffs_ + molr2*pt.muCoeffs_;
168 kappaCoeffs_ = molr1*kappaCoeffs_ + molr2*pt.kappaCoeffs_;
172 template<
class Thermo,
int PolySize>
178 scalar molr1 = this->nMoles();
180 Thermo::operator-=(pt);
182 molr1 /= this->nMoles();
183 scalar molr2 = pt.nMoles()/this->nMoles();
185 muCoeffs_ = molr1*muCoeffs_ - molr2*pt.muCoeffs_;
186 kappaCoeffs_ = molr1*kappaCoeffs_ - molr2*pt.kappaCoeffs_;
190 template<
class Thermo,
int PolySize>
196 Thermo::operator*=(
s);
202 template<
class Thermo,
int PolySize>
211 static_cast<const Thermo&
>(pt1) +
static_cast<const Thermo&
>(pt2)
214 scalar molr1 = pt1.nMoles()/t.nMoles();
215 scalar molr2 = pt2.nMoles()/t.nMoles();
220 molr1*pt1.muCoeffs_ + molr2*pt2.muCoeffs_,
221 molr1*pt1.kappaCoeffs_ + molr2*pt2.kappaCoeffs_
226 template<
class Thermo,
int PolySize>
229 const polynomialTransport<Thermo, PolySize>& pt1,
230 const polynomialTransport<Thermo, PolySize>& pt2
235 static_cast<const Thermo&
>(pt1) -
static_cast<const Thermo&
>(pt2)
238 scalar molr1 = pt1.nMoles()/t.nMoles();
239 scalar molr2 = pt2.nMoles()/t.nMoles();
241 return polynomialTransport<Thermo, PolySize>
244 molr1*pt1.muCoeffs_ - molr2*pt2.muCoeffs_,
245 molr1*pt1.kappaCoeffs_ - molr2*pt2.kappaCoeffs_
250 template<
class Thermo,
int PolySize>
254 const polynomialTransport<Thermo, PolySize>& pt
257 return polynomialTransport<Thermo, PolySize>
259 s*
static_cast<const Thermo&
>(pt),
266 template<
class Thermo,
int PolySize>
269 const polynomialTransport<Thermo, PolySize>& pt1,
270 const polynomialTransport<Thermo, PolySize>& pt2