CH4N2O.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | Copyright (C) 2011-2017 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::CH4N2O
26 
27 Description
28  urea, note that some of the properties are unavailable in the literature
29  and have been copied from water.
30 
31 SourceFiles
32  CH4N2O.C
33 
34 \*---------------------------------------------------------------------------*/
35 
36 #ifndef CH4N2O_H
37 #define CH4N2O_H
38 
39 #include "liquidProperties.H"
40 #include "NSRDSfunc0.H"
41 #include "NSRDSfunc1.H"
42 #include "NSRDSfunc2.H"
43 #include "NSRDSfunc3.H"
44 #include "NSRDSfunc4.H"
45 #include "NSRDSfunc5.H"
46 #include "NSRDSfunc6.H"
47 #include "NSRDSfunc7.H"
48 #include "NSRDSfunc14.H"
49 #include "APIdiffCoefFunc.H"
50 
51 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 
53 namespace Foam
54 {
55 
56 /*---------------------------------------------------------------------------*\
57  Class CH4N2O Declaration
58 \*---------------------------------------------------------------------------*/
59 
60 class CH4N2O
61 :
62  public liquidProperties
63 {
64  // Private data
65 
66  NSRDSfunc0 rho_;
67  NSRDSfunc1 pv_;
68  NSRDSfunc6 hl_;
69  NSRDSfunc0 Cp_;
70  NSRDSfunc0 h_;
71  NSRDSfunc7 Cpg_;
72  NSRDSfunc4 B_;
73  NSRDSfunc1 mu_;
74  NSRDSfunc2 mug_;
75  NSRDSfunc0 kappa_;
76  NSRDSfunc2 kappag_;
77  NSRDSfunc6 sigma_;
78  APIdiffCoefFunc D_;
79 
80 public:
81 
82  friend class liquidProperties;
83 
84  //- Runtime type information
85  TypeName("CH4N2O");
86 
87 
88  // Constructors
89 
90  //- Construct null
91  CH4N2O();
92 
93  //- Construct from components
94  CH4N2O
95  (
96  const liquidProperties& l,
97  const NSRDSfunc0& density,
98  const NSRDSfunc1& vapourPressure,
99  const NSRDSfunc6& heatOfVapourisation,
100  const NSRDSfunc0& heatCapacity,
101  const NSRDSfunc0& enthalpy,
102  const NSRDSfunc7& idealGasHeatCapacity,
103  const NSRDSfunc4& secondVirialCoeff,
104  const NSRDSfunc1& dynamicViscosity,
105  const NSRDSfunc2& vapourDynamicViscosity,
106  const NSRDSfunc0& thermalConductivity,
107  const NSRDSfunc2& vapourThermalConductivity,
108  const NSRDSfunc6& surfaceTension,
109  const APIdiffCoefFunc& vapourDiffussivity
110  );
111 
112  //- Construct from dictionary
113  CH4N2O(const dictionary& dict);
114 
115  //- Construct and return clone
116  virtual autoPtr<liquidProperties> clone() const
117  {
118  return autoPtr<liquidProperties>(new CH4N2O(*this));
119  }
120 
121 
122  // Member Functions
123 
124  //- Liquid density [kg/m^3]
125  inline scalar rho(scalar p, scalar T) const;
126 
127  //- Vapour pressure [Pa]
128  inline scalar pv(scalar p, scalar T) const;
129 
130  //- Heat of vapourisation [J/kg]
131  inline scalar hl(scalar p, scalar T) const;
132 
133  //- Liquid heat capacity [J/(kg K)]
134  inline scalar Cp(scalar p, scalar T) const;
135 
136  //- Liquid Enthalpy [J/(kg)]
137  inline scalar h(scalar p, scalar T) const;
138 
139  //- Ideal gas heat capacity [J/(kg K)]
140  inline scalar Cpg(scalar p, scalar T) const;
141 
142  //- Second Virial Coefficient [m^3/kg]
143  inline scalar B(scalar p, scalar T) const;
144 
145  //- Liquid viscosity [Pa s]
146  inline scalar mu(scalar p, scalar T) const;
147 
148  //- Vapour viscosity [Pa s]
149  inline scalar mug(scalar p, scalar T) const;
150 
151  //- Liquid thermal conductivity [W/(m K)]
152  inline scalar kappa(scalar p, scalar T) const;
153 
154  //- Vapour thermal conductivity [W/(m K)]
155  inline scalar kappag(scalar p, scalar T) const;
156 
157  //- Surface tension [N/m]
158  inline scalar sigma(scalar p, scalar T) const;
159 
160  //- Vapour diffussivity [m2/s]
161  inline scalar D(scalar p, scalar T) const;
162 
163  //- Vapour diffussivity [m2/s] with specified binary pair
164  inline scalar D(scalar p, scalar T, scalar Wb) const;
165 
166 
167  // I-O
168 
169  //- Write the function coefficients
170  void writeData(Ostream& os) const;
171 
172  //- Ostream Operator
173  friend Ostream& operator<<(Ostream& os, const CH4N2O& l);
174 };
175 
176 
177 Ostream& operator<<(Ostream& os, const CH4N2O& l);
178 
179 
180 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
181 
182 } // End namespace Foam
183 
184 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
185 
186 #include "CH4N2OI.H"
187 
188 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
189 
190 #endif
191 
192 // ************************************************************************* //
scalar mug(scalar p, scalar T) const
Vapour viscosity [Pa s].
Definition: CH4N2OI.H:74
dictionary dict
virtual autoPtr< liquidProperties > clone() const
Construct and return clone.
Definition: CH4N2O.H:115
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:137
void writeData(Ostream &os) const
Write the function coefficients.
Definition: CH4N2O.C:124
NSRDS function number 102.
Definition: NSRDSfunc2.H:67
scalar B(scalar p, scalar T) const
Second Virial Coefficient [m^3/kg].
Definition: CH4N2OI.H:62
NSRDS-AICHE function number 107.
Definition: NSRDSfunc7.H:67
friend Ostream & operator<<(Ostream &os, const CH4N2O &l)
Ostream Operator.
NSRDS function number 104.
Definition: NSRDSfunc4.H:67
scalar rho(scalar p, scalar T) const
Liquid density [kg/m^3].
Definition: CH4N2OI.H:26
urea, note that some of the properties are unavailable in the literature and have been copied from wa...
Definition: CH4N2O.H:59
TypeName("CH4N2O")
Runtime type information.
The thermophysical properties of a liquid.
scalar hl(scalar p, scalar T) const
Heat of vapourisation [J/kg].
Definition: CH4N2OI.H:38
scalar kappag(scalar p, scalar T) const
Vapour thermal conductivity [W/(m K)].
Definition: CH4N2OI.H:86
scalar Cp(scalar p, scalar T) const
Liquid heat capacity [J/(kg K)].
Definition: CH4N2OI.H:44
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:53
scalar D(scalar p, scalar T) const
Vapour diffussivity [m2/s].
Definition: CH4N2OI.H:98
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
scalar h(scalar p, scalar T) const
Liquid Enthalpy [J/(kg)].
Definition: CH4N2OI.H:50
NSRDS function number 100.
Definition: NSRDSfunc0.H:67
NSRDS function number 106.
Definition: NSRDSfunc6.H:67
API function for vapour mass diffusivity.
scalar pv(scalar p, scalar T) const
Vapour pressure [Pa].
Definition: CH4N2OI.H:32
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
scalar mu(scalar p, scalar T) const
Liquid viscosity [Pa s].
Definition: CH4N2OI.H:68
scalar sigma(scalar p, scalar T) const
Surface tension [N/m].
Definition: CH4N2OI.H:92
CH4N2O()
Construct null.
Definition: CH4N2O.C:40
NSRDS function number 101.
Definition: NSRDSfunc1.H:67
Namespace for OpenFOAM.
scalar Cpg(scalar p, scalar T) const
Ideal gas heat capacity [J/(kg K)].
Definition: CH4N2OI.H:56
scalar kappa(scalar p, scalar T) const
Liquid thermal conductivity [W/(m K)].
Definition: CH4N2OI.H:80