Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef specieThermo_H
00039 #define specieThermo_H
00040
00041
00042
00043 namespace Foam
00044 {
00045
00046
00047
00048 template<class thermo> class specieThermo;
00049
00050 template<class thermo>
00051 inline specieThermo<thermo> operator+
00052 (
00053 const specieThermo<thermo>&,
00054 const specieThermo<thermo>&
00055 );
00056
00057 template<class thermo>
00058 inline specieThermo<thermo> operator-
00059 (
00060 const specieThermo<thermo>&,
00061 const specieThermo<thermo>&
00062 );
00063
00064 template<class thermo>
00065 inline specieThermo<thermo> operator*
00066 (
00067 const scalar,
00068 const specieThermo<thermo>&
00069 );
00070
00071 template<class thermo>
00072 inline specieThermo<thermo> operator==
00073 (
00074 const specieThermo<thermo>&,
00075 const specieThermo<thermo>&
00076 );
00077
00078 template<class thermo>
00079 Ostream& operator<<
00080 (
00081 Ostream&,
00082 const specieThermo<thermo>&
00083 );
00084
00085
00086
00087
00088
00089
00090 template<class thermo>
00091 class specieThermo
00092 :
00093 public thermo
00094 {
00095
00096
00097
00098 static const scalar tol_;
00099
00100
00101 static const int maxIter_;
00102
00103
00104
00105
00106
00107
00108 inline scalar T
00109 (
00110 scalar f,
00111 scalar T0,
00112 scalar (specieThermo::*F)(const scalar) const,
00113 scalar (specieThermo::*dFdT)(const scalar) const
00114 ) const;
00115
00116
00117 public:
00118
00119
00120
00121
00122 inline specieThermo(const thermo& sp);
00123
00124
00125 specieThermo(Istream&);
00126
00127
00128 inline specieThermo(const word& name, const specieThermo&);
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158 inline scalar cv(const scalar T) const;
00159
00160
00161 inline scalar gamma(const scalar T) const;
00162
00163
00164 inline scalar e(const scalar T) const;
00165
00166
00167 inline scalar es(const scalar T) const;
00168
00169
00170 inline scalar g(const scalar T) const;
00171
00172
00173 inline scalar a(const scalar T) const;
00174
00175
00176
00177
00178
00179 inline scalar Cp(const scalar T) const;
00180
00181
00182 inline scalar Cv(const scalar T) const;
00183
00184
00185 inline scalar H(const scalar T) const;
00186
00187
00188 inline scalar Hs(const scalar T) const;
00189
00190
00191 inline scalar Hc() const;
00192
00193
00194 inline scalar S(const scalar T) const;
00195
00196
00197 inline scalar E(const scalar T) const;
00198
00199
00200 inline scalar G(const scalar T) const;
00201
00202
00203 inline scalar A(const scalar T) const;
00204
00205
00206
00207
00208
00209
00210 inline scalar K(const scalar T) const;
00211
00212
00213
00214
00215 inline scalar Kp(const scalar T) const;
00216
00217
00218
00219
00220
00221 inline scalar Kc(const scalar T) const;
00222
00223
00224
00225
00226 inline scalar Kx(const scalar T, const scalar p) const;
00227
00228
00229
00230
00231 inline scalar Kn
00232 (
00233 const scalar T,
00234 const scalar p,
00235 const scalar n
00236 ) const;
00237
00238
00239
00240
00241
00242 inline scalar TH(const scalar H, const scalar T0) const;
00243
00244
00245 inline scalar THs(const scalar Hs, const scalar T0) const;
00246
00247
00248 inline scalar TE(const scalar E, const scalar T0) const;
00249
00250
00251
00252
00253 inline void operator+=(const specieThermo&);
00254 inline void operator-=(const specieThermo&);
00255
00256 inline void operator*=(const scalar);
00257
00258
00259
00260
00261 friend specieThermo operator+ <thermo>
00262 (
00263 const specieThermo&,
00264 const specieThermo&
00265 );
00266
00267 friend specieThermo operator- <thermo>
00268 (
00269 const specieThermo&,
00270 const specieThermo&
00271 );
00272
00273 friend specieThermo operator* <thermo>
00274 (
00275 const scalar s,
00276 const specieThermo&
00277 );
00278
00279 friend specieThermo operator== <thermo>
00280 (
00281 const specieThermo&,
00282 const specieThermo&
00283 );
00284
00285
00286
00287
00288 friend Ostream& operator<< <thermo>
00289 (
00290 Ostream&,
00291 const specieThermo&
00292 );
00293 };
00294
00295
00296
00297
00298 }
00299
00300
00301
00302 #include <specie/specieThermoI.H>
00303
00304 #ifdef NoRepository
00305 # include <specie/specieThermo.C>
00306 #endif
00307
00308
00309
00310 #endif
00311
00312