All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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-2019 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"
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 
77 
78 
79 public:
80 
81  friend class liquidProperties;
82 
83  //- Runtime type information
84  TypeName("H2O");
85 
86 
87  // Constructors
88 
89  //- Construct null
90  H2O();
91 
92  //- Construct from components
93  H2O
94  (
95  const liquidProperties& l,
96  const thermophysicalFunctions::NSRDS5& density,
97  const thermophysicalFunctions::NSRDS1& vapourPressure,
98  const thermophysicalFunctions::NSRDS6& heatOfVapourisation,
99  const thermophysicalFunctions::NSRDS0& heatCapacity,
100  const thermophysicalFunctions::NSRDS0& enthalpy,
101  const thermophysicalFunctions::NSRDS7& idealGasHeatCapacity,
102  const thermophysicalFunctions::NSRDS4& secondVirialCoeff,
103  const thermophysicalFunctions::NSRDS1& dynamicViscosity,
104  const thermophysicalFunctions::NSRDS2& vapourDynamicViscosity,
105  const thermophysicalFunctions::NSRDS0& thermalConductivity,
106  const thermophysicalFunctions::NSRDS2& vapourThermalConductivity,
107  const thermophysicalFunctions::NSRDS6& surfaceTension,
108  const thermophysicalFunctions::APIdiffCoef& vapourDiffusivity
109  );
110 
111  //- Construct from dictionary
112  H2O(const dictionary& dict);
113 
114  //- Construct and return clone
115  virtual autoPtr<liquidProperties> clone() const
116  {
117  return autoPtr<liquidProperties>(new H2O(*this));
118  }
119 
120 
121  // Member Functions
122 
123  //- Liquid density [kg/m^3]
124  inline scalar rho(scalar p, scalar T) const;
125 
126  //- Vapour pressure [Pa]
127  inline scalar pv(scalar p, scalar T) const;
128 
129  //- Heat of vapourisation [J/kg]
130  inline scalar hl(scalar p, scalar T) const;
131 
132  //- Liquid heat capacity [J/kg/K]
133  inline scalar Cp(scalar p, scalar T) const;
134 
135  //- Liquid enthalpy [J/kg]
136  inline scalar h(scalar p, scalar T) const;
137 
138  //- Ideal gas heat capacity [J/kg/K]
139  inline scalar Cpg(scalar p, scalar T) const;
140 
141  //- Second Virial Coefficient [m^3/kg]
142  inline scalar B(scalar p, scalar T) const;
143 
144  //- Liquid viscosity [Pa s]
145  inline scalar mu(scalar p, scalar T) const;
146 
147  //- Vapour viscosity [Pa s]
148  inline scalar mug(scalar p, scalar T) const;
149 
150  //- Liquid thermal conductivity [W/m/K]
151  inline scalar kappa(scalar p, scalar T) const;
152 
153  //- Vapour thermal conductivity [W/m/K]
154  inline scalar kappag(scalar p, scalar T) const;
155 
156  //- Surface tension [N/m]
157  inline scalar sigma(scalar p, scalar T) const;
158 
159  //- Vapour diffusivity [m^2/s]
160  inline scalar D(scalar p, scalar T) const;
161 
162  //- Vapour diffusivity [m^2/s] with specified binary pair
163  inline scalar D(scalar p, scalar T, scalar Wb) const;
164 
165 
166  // I-O
167 
168  //- Write the function coefficients
169  void write(Ostream& os) const;
170 };
171 
172 
173 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
174 
175 } // End namespace Foam
176 
177 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
178 
179 #include "H2OI.H"
180 
181 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
182 
183 #endif
184 
185 // ************************************************************************* //
dictionary dict
scalar sigma(scalar p, scalar T) const
Surface tension [N/m].
Definition: H2OI.H:92
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:158
H2O()
Construct null.
Definition: H2O.C:40
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:147
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:86
scalar D(scalar p, scalar T) const
Vapour diffusivity [m^2/s].
Definition: H2OI.H:98
scalar h(scalar p, scalar T) const
Liquid enthalpy [J/kg].
Definition: H2OI.H:50
The thermophysical properties of a liquid.
scalar kappa(scalar p, scalar T) const
Liquid thermal conductivity [W/m/K].
Definition: H2OI.H:80
scalar mu(scalar p, scalar T) const
Liquid viscosity [Pa s].
Definition: H2OI.H:68
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)
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:56
scalar mug(scalar p, scalar T) const
Vapour viscosity [Pa s].
Definition: H2OI.H:74
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:114
scalar B(scalar p, scalar T) const
Second Virial Coefficient [m^3/kg].
Definition: H2OI.H:62
Namespace for OpenFOAM.
scalar pv(scalar p, scalar T) const
Vapour pressure [Pa].
Definition: H2OI.H:32