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 #ifndef liquid_H
00036 #define liquid_H
00037
00038 #include "scalar.H"
00039 #include "IOstreams.H"
00040 #include "typeInfo.H"
00041 #include "autoPtr.H"
00042 #include "runTimeSelectionTables.H"
00043
00044
00045
00046
00047 namespace Foam
00048 {
00049
00050
00051
00052
00053
00054
00055
00056 class liquid
00057 {
00058
00059
00060
00061 scalar W_;
00062
00063
00064 scalar Tc_;
00065
00066
00067 scalar Pc_;
00068
00069
00070 scalar Vc_;
00071
00072
00073 scalar Zc_;
00074
00075
00076 scalar Tt_;
00077
00078
00079 scalar Pt_;
00080
00081
00082 scalar Tb_;
00083
00084
00085 scalar dipm_;
00086
00087
00088 scalar omega_;
00089
00090
00091 scalar delta_;
00092
00093
00094
00095 public:
00096
00097 TypeName("liquid");
00098
00099
00100
00101
00102 declareRunTimeSelectionTable
00103 (
00104 autoPtr,
00105 liquid,
00106 ,
00107 (),
00108 ()
00109 );
00110
00111 declareRunTimeSelectionTable
00112 (
00113 autoPtr,
00114 liquid,
00115 Istream,
00116 (Istream& is),
00117 (is)
00118 );
00119
00120
00121
00122
00123
00124 liquid
00125 (
00126 scalar W,
00127 scalar Tc,
00128 scalar Pc,
00129 scalar Vc,
00130 scalar Zc,
00131 scalar Tt,
00132 scalar Pt,
00133 scalar Tb,
00134 scalar dipm,
00135 scalar omega,
00136 scalar delta
00137 )
00138 :
00139 W_(W),
00140 Tc_(Tc),
00141 Pc_(Pc),
00142 Vc_(Vc),
00143 Zc_(Zc),
00144 Tt_(Tt),
00145 Pt_(Pt),
00146 Tb_(Tb),
00147 dipm_(dipm),
00148 omega_(omega),
00149 delta_(delta)
00150 {}
00151
00152
00153 liquid(Istream& is)
00154 :
00155 W_(readScalar(is)),
00156 Tc_(readScalar(is)),
00157 Pc_(readScalar(is)),
00158 Vc_(readScalar(is)),
00159 dipm_(readScalar(is)),
00160 omega_(readScalar(is)),
00161 delta_(readScalar(is))
00162 {}
00163
00164
00165 static autoPtr<liquid> New(Istream& is);
00166
00167
00168
00169
00170 virtual ~liquid()
00171 {}
00172
00173
00174
00175
00176
00177
00178
00179 scalar W() const
00180 {
00181 return W_;
00182 }
00183
00184
00185 scalar Tc() const
00186 {
00187 return Tc_;
00188 }
00189
00190
00191 scalar Pc() const
00192 {
00193 return Pc_;
00194 }
00195
00196
00197 scalar Vc() const
00198 {
00199 return Vc_;
00200 }
00201
00202
00203 scalar Zc() const
00204 {
00205 return Zc_;
00206 }
00207
00208
00209 scalar Tt() const
00210 {
00211 return Tt_;
00212 }
00213
00214
00215 scalar Pt() const
00216 {
00217 return Pt_;
00218 }
00219
00220
00221 scalar Tb() const
00222 {
00223 return Tb_;
00224 }
00225
00226
00227 scalar dipm() const
00228 {
00229 return dipm_;
00230 }
00231
00232
00233 scalar omega() const
00234 {
00235 return omega_;
00236 }
00237
00238
00239 scalar delta() const
00240 {
00241 return delta_;
00242 }
00243
00244
00245
00246
00247
00248 virtual scalar rho(scalar p, scalar T) const = 0;
00249
00250
00251 virtual scalar pv(scalar p, scalar T) const = 0;
00252
00253
00254 virtual scalar hl(scalar p, scalar T) const = 0;
00255
00256
00257 virtual scalar cp(scalar p, scalar T) const = 0;
00258
00259
00260 virtual scalar h(scalar p, scalar T) const = 0;
00261
00262
00263 virtual scalar cpg(scalar p, scalar T) const = 0;
00264
00265
00266 virtual scalar mu(scalar p, scalar T) const = 0;
00267
00268
00269 virtual scalar mug(scalar p, scalar T) const = 0;
00270
00271
00272 virtual scalar K(scalar p, scalar T) const =0;
00273
00274
00275 virtual scalar Kg(scalar p, scalar T) const = 0;
00276
00277
00278 virtual scalar sigma(scalar p, scalar T) const = 0;
00279
00280
00281 virtual scalar D(scalar p, scalar T) const = 0;
00282
00283
00284
00285 virtual void writeData(Ostream& os) const
00286 {
00287 os << W_ << token::SPACE
00288 << Tc_ << token::SPACE
00289 << Pc_ << token::SPACE
00290 << Vc_ << token::SPACE
00291 << dipm_ << token::SPACE
00292 << omega_<< token::SPACE
00293 << delta_;
00294 }
00295
00296
00297
00298
00299 friend Ostream& operator<<(Ostream& os, const liquid& l)
00300 {
00301 l.writeData(os);
00302 return os;
00303 }
00304 };
00305
00306
00307
00308
00309 }
00310
00311
00312
00313 #endif
00314
00315