H2O.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::H2O
26 
27 Description
28  water
29 
30 SourceFiles
31  H2O.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef H2O_H
36 #define H2O_H
37 
38 #include "liquidProperties.H"
39 #include "NSRDS0.H"
40 #include "NSRDS1.H"
41 #include "NSRDS2.H"
42 #include "NSRDS3.H"
43 #include "NSRDS4.H"
44 #include "NSRDS5.H"
45 #include "NSRDS6.H"
46 #include "NSRDS7.H"
47 #include "APIdiffCoef.H"
48 
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50 
51 namespace Foam
52 {
53 
54 /*---------------------------------------------------------------------------*\
55  Class H2O Declaration
56 \*---------------------------------------------------------------------------*/
57 
58 class H2O
59 :
60  public liquidProperties
61 {
62  // Private Data
63 
64  Function1s::NSRDS5 rho_;
69  Function1s::NSRDS7 Cpg_;
72  Function1s::NSRDS2 mug_;
73  Function1s::NSRDS0 kappa_;
74  Function1s::NSRDS2 kappag_;
75  Function1s::NSRDS6 sigma_;
77 
78  //- Liquid heat of formation [J/kg]
79  scalar Hf_;
80 
81 
82 public:
83 
84  friend class liquidProperties;
85 
86  //- Runtime type information
87  TypeName("H2O");
88 
89 
90  // Constructors
91 
92  //- Construct null
93  H2O();
94 
95  //- Construct from components
96  H2O
97  (
98  const liquidProperties& l,
99  const Function1s::NSRDS5& density,
100  const Function1s::NSRDS1& vapourPressure,
101  const Function1s::NSRDS6& heatOfVapourisation,
102  const Function1s::NSRDS0& heatCapacity,
103  const Function1s::NSRDS0& enthalpy,
104  const Function1s::NSRDS7& idealGasHeatCapacity,
105  const Function1s::NSRDS4& secondVirialCoeff,
106  const Function1s::NSRDS1& dynamicViscosity,
107  const Function1s::NSRDS2& vapourDynamicViscosity,
108  const Function1s::NSRDS0& thermalConductivity,
109  const Function1s::NSRDS2& vapourThermalConductivity,
110  const Function1s::NSRDS6& surfaceTension,
111  const Function2s::APIdiffCoef& vapourDiffusivity
112  );
113 
114  //- Construct from dictionary
115  H2O(const dictionary& dict);
116 
117  //- Construct and return clone
118  virtual autoPtr<liquidProperties> clone() const
119  {
120  return autoPtr<liquidProperties>(new H2O(*this));
121  }
122 
123 
124  // Member Functions
125 
126  //- Liquid density [kg/m^3]
127  inline scalar rho(scalar p, scalar T) const;
128 
129  //- Vapour pressure [Pa]
130  inline scalar pv(scalar p, scalar T) const;
131 
132  //- Heat of vapourisation [J/kg]
133  inline scalar hl(scalar p, scalar T) const;
134 
135  //- Liquid heat capacity [J/kg/K]
136  inline scalar Cp(scalar p, scalar T) const;
137 
138  //- Liquid sensible enthalpy [J/kg]
139  inline scalar Hs(scalar p, scalar T) const;
140 
141  //- Liquid heat of formation [J/kg]
142  inline scalar Hf() const;
143 
144  //- Liquid absolute enthalpy [J/kg]
145  inline scalar Ha(scalar p, scalar T) const;
146 
147  //- Ideal gas heat capacity [J/kg/K]
148  inline scalar Cpg(scalar p, scalar T) const;
149 
150  //- Second Virial Coefficient [m^3/kg]
151  inline scalar B(scalar p, scalar T) const;
152 
153  //- Liquid viscosity [Pa s]
154  inline scalar mu(scalar p, scalar T) const;
155 
156  //- Vapour viscosity [Pa s]
157  inline scalar mug(scalar p, scalar T) const;
158 
159  //- Liquid thermal conductivity [W/m/K]
160  inline scalar kappa(scalar p, scalar T) const;
161 
162  //- Vapour thermal conductivity [W/m/K]
163  inline scalar kappag(scalar p, scalar T) const;
164 
165  //- Surface tension [N/m]
166  inline scalar sigma(scalar p, scalar T) const;
167 
168  //- Vapour diffusivity [m^2/s]
169  inline scalar D(scalar p, scalar T) const;
170 
171  //- Vapour diffusivity [m^2/s] with specified binary pair
172  inline scalar D(scalar p, scalar T, scalar Wb) const;
173 
174 
175  // I-O
176 
177  //- Write the function coefficients
178  void write(Ostream& os) const;
179 };
180 
181 
182 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
183 
184 } // End namespace Foam
185 
186 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
187 
188 #include "H2OI.H"
189 
190 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
191 
192 #endif
193 
194 // ************************************************************************* //
dictionary dict
scalar Hf() const
Liquid heat of formation [J/kg].
Definition: H2OI.H:56
NSRDS function number 100.
Definition: NSRDS0.H:69
scalar sigma(scalar p, scalar T) const
Surface tension [N/m].
Definition: H2OI.H:104
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:156
NSRDS function number 105.
Definition: NSRDS5.H:69
H2O()
Construct null.
Definition: H2O.C:43
scalar rho(scalar p, scalar T) const
Liquid density [kg/m^3].
Definition: H2OI.H:26
water
Definition: H2O.H:57
void write(Ostream &os) const
Write the function coefficients.
Definition: H2O.C:157
scalar Cp(scalar p, scalar T) const
Liquid heat capacity [J/kg/K].
Definition: H2OI.H:44
scalar kappag(scalar p, scalar T) const
Vapour thermal conductivity [W/m/K].
Definition: H2OI.H:98
scalar Hs(scalar p, scalar T) const
Liquid sensible enthalpy [J/kg].
Definition: H2OI.H:50
scalar D(scalar p, scalar T) const
Vapour diffusivity [m^2/s].
Definition: H2OI.H:110
NSRDS function number 104.
Definition: NSRDS4.H:69
NSRDS function number 102.
Definition: NSRDS2.H:69
The thermophysical properties of a liquid.
scalar kappa(scalar p, scalar T) const
Liquid thermal conductivity [W/m/K].
Definition: H2OI.H:92
scalar mu(scalar p, scalar T) const
Liquid viscosity [Pa s].
Definition: H2OI.H:80
NSRDS-AICHE function number 107.
Definition: NSRDS7.H:69
TypeName("H2O")
Runtime type information.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:54
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
NSRDS function number 101.
Definition: NSRDS1.H:69
scalar hl(scalar p, scalar T) const
Heat of vapourisation [J/kg].
Definition: H2OI.H:38
scalar Cpg(scalar p, scalar T) const
Ideal gas heat capacity [J/kg/K].
Definition: H2OI.H:68
scalar Ha(scalar p, scalar T) const
Liquid absolute enthalpy [J/kg].
Definition: H2OI.H:62
scalar mug(scalar p, scalar T) const
Vapour viscosity [Pa s].
Definition: H2OI.H:86
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:52
volScalarField & p
virtual autoPtr< liquidProperties > clone() const
Construct and return clone.
Definition: H2O.H:117
scalar B(scalar p, scalar T) const
Second Virial Coefficient [m^3/kg].
Definition: H2OI.H:74
NSRDS function number 106.
Definition: NSRDS6.H:69
Namespace for OpenFOAM.
scalar pv(scalar p, scalar T) const
Vapour pressure [Pa].
Definition: H2OI.H:32