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 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 K_;
76  NSRDSfunc2 Kg_;
77  NSRDSfunc6 sigma_;
78  APIdiffCoefFunc D_;
79 
80 public:
81 
82  //- Runtime type information
83  TypeName("CH4N2O");
84 
85 
86  // Constructors
87 
88  //- Construct null
89  CH4N2O();
90 
91  //- Construct from components
92  CH4N2O
93  (
94  const liquidProperties& l,
95  const NSRDSfunc0& density,
96  const NSRDSfunc1& vapourPressure,
97  const NSRDSfunc6& heatOfVapourisation,
98  const NSRDSfunc0& heatCapacity,
99  const NSRDSfunc0& enthalpy,
100  const NSRDSfunc7& idealGasHeatCapacity,
101  const NSRDSfunc4& secondVirialCoeff,
102  const NSRDSfunc1& dynamicViscosity,
103  const NSRDSfunc2& vapourDynamicViscosity,
104  const NSRDSfunc0& thermalConductivity,
105  const NSRDSfunc2& vapourThermalConductivity,
106  const NSRDSfunc6& surfaceTension,
107  const APIdiffCoefFunc& vapourDiffussivity
108  );
109 
110  //- Construct from Istream
111  CH4N2O(Istream& is);
112 
113  //- Construct from dictionary
114  CH4N2O(const dictionary& dict);
115 
116  //- Construct copy
117  CH4N2O(const CH4N2O& liq);
118 
119  //- Construct and return clone
120  virtual autoPtr<liquidProperties> clone() const
121  {
122  return autoPtr<liquidProperties>(new CH4N2O(*this));
123  }
124 
125 
126  // Member Functions
127 
128  //- Liquid density [kg/m^3]
129  inline scalar rho(scalar p, scalar T) const;
130 
131  //- Vapour pressure [Pa]
132  inline scalar pv(scalar p, scalar T) const;
133 
134  //- Heat of vapourisation [J/kg]
135  inline scalar hl(scalar p, scalar T) const;
136 
137  //- Liquid heat capacity [J/(kg K)]
138  inline scalar Cp(scalar p, scalar T) const;
139 
140  //- Liquid Enthalpy [J/(kg)]
141  inline scalar h(scalar p, scalar T) const;
142 
143  //- Ideal gas heat capacity [J/(kg K)]
144  inline scalar Cpg(scalar p, scalar T) const;
145 
146  //- Second Virial Coefficient [m^3/kg]
147  inline scalar B(scalar p, scalar T) const;
148 
149  //- Liquid viscosity [Pa s]
150  inline scalar mu(scalar p, scalar T) const;
151 
152  //- Vapour viscosity [Pa s]
153  inline scalar mug(scalar p, scalar T) const;
154 
155  //- Liquid thermal conductivity [W/(m K)]
156  inline scalar K(scalar p, scalar T) const;
157 
158  //- Vapour thermal conductivity [W/(m K)]
159  inline scalar Kg(scalar p, scalar T) const;
160 
161  //- Surface tension [N/m]
162  inline scalar sigma(scalar p, scalar T) const;
163 
164  //- Vapour diffussivity [m2/s]
165  inline scalar D(scalar p, scalar T) const;
166 
167  //- Vapour diffussivity [m2/s] with specified binary pair
168  inline scalar D(scalar p, scalar T, scalar Wb) const;
169 
170 
171  // I-O
172 
173  //- Write the function coefficients
174  void writeData(Ostream& os) const
175  {
176  liquidProperties::writeData(os); os << nl;
177  rho_.writeData(os); os << nl;
178  pv_.writeData(os); os << nl;
179  hl_.writeData(os); os << nl;
180  Cp_.writeData(os); os << nl;
181  h_.writeData(os); os << nl;
182  Cpg_.writeData(os); os << nl;
183  B_.writeData(os); os << nl;
184  mu_.writeData(os); os << nl;
185  mug_.writeData(os); os << nl;
186  K_.writeData(os); os << nl;
187  Kg_.writeData(os); os << nl;
188  sigma_.writeData(os); os << nl;
189  D_.writeData(os); os << endl;
190  }
191 
192  //- Ostream Operator
193  friend Ostream& operator<<(Ostream& os, const CH4N2O& l)
194  {
195  l.writeData(os);
196  return os;
197  }
198 };
199 
200 
201 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
202 
203 } // End namespace Foam
204 
205 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
206 
207 #include "CH4N2OI.H"
208 
209 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
210 
211 #endif
212 
213 // ************************************************************************* //
scalar hl(scalar p, scalar T) const
Heat of vapourisation [J/kg].
Definition: CH4N2OI.H:38
scalar B(scalar p, scalar T) const
Second Virial Coefficient [m^3/kg].
Definition: CH4N2OI.H:62
dictionary dict
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:137
scalar Cpg(scalar p, scalar T) const
Ideal gas heat capacity [J/(kg K)].
Definition: CH4N2OI.H:56
void writeData(Ostream &os) const
Write the function coefficients.
Definition: NSRDSfunc0.H:112
scalar h(scalar p, scalar T) const
Liquid Enthalpy [J/(kg)].
Definition: CH4N2OI.H:50
NSRDS function number 102.
Definition: NSRDSfunc2.H:67
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Definition: Istream.H:57
virtual void writeData(Ostream &os) const
Write the function coefficients.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:253
NSRDS-AICHE function number 107.
Definition: NSRDSfunc7.H:67
scalar K(scalar p, scalar T) const
Liquid thermal conductivity [W/(m K)].
Definition: CH4N2OI.H:80
friend Ostream & operator<<(Ostream &os, const CH4N2O &l)
Ostream Operator.
Definition: CH4N2O.H:192
NSRDS function number 104.
Definition: NSRDSfunc4.H:67
scalar Kg(scalar p, scalar T) const
Vapour thermal conductivity [W/(m K)].
Definition: CH4N2OI.H:86
urea, note that some of the properties are unavailable in the literature and have been copied from wa...
Definition: CH4N2O.H:59
scalar mug(scalar p, scalar T) const
Vapour viscosity [Pa s].
Definition: CH4N2OI.H:74
TypeName("CH4N2O")
Runtime type information.
The thermophysical properties of a liquidProperties.
void writeData(Ostream &os) const
Write the function coefficients.
scalar mu(scalar p, scalar T) const
Liquid viscosity [Pa s].
Definition: CH4N2OI.H:68
void writeData(Ostream &os) const
Write the function coefficients.
Definition: NSRDSfunc6.H:113
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:53
scalar sigma(scalar p, scalar T) const
Surface tension [N/m].
Definition: CH4N2OI.H:92
static const char nl
Definition: Ostream.H:262
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
void writeData(Ostream &os) const
Write the function coefficients.
Definition: NSRDSfunc1.H:111
NSRDS function number 100.
Definition: NSRDSfunc0.H:67
NSRDS function number 106.
Definition: NSRDSfunc6.H:67
void writeData(Ostream &os) const
Write the function coefficients.
Definition: NSRDSfunc4.H:111
virtual autoPtr< liquidProperties > clone() const
Construct and return clone.
Definition: CH4N2O.H:119
void writeData(Ostream &os) const
Write the function coefficients.
Definition: CH4N2O.H:173
scalar Cp(scalar p, scalar T) const
Liquid heat capacity [J/(kg K)].
Definition: CH4N2OI.H:44
API function for vapour mass diffusivity.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:53
volScalarField & p
scalar rho(scalar p, scalar T) const
Liquid density [kg/m^3].
Definition: CH4N2OI.H:26
void writeData(Ostream &os) const
Write the function coefficients.
Definition: NSRDSfunc7.H:111
scalar D(scalar p, scalar T) const
Vapour diffussivity [m2/s].
Definition: CH4N2OI.H:98
CH4N2O()
Construct null.
Definition: CH4N2O.C:41
scalar pv(scalar p, scalar T) const
Vapour pressure [Pa].
Definition: CH4N2OI.H:32
NSRDS function number 101.
Definition: NSRDSfunc1.H:67
void writeData(Ostream &os) const
Write the function coefficients.
Definition: NSRDSfunc2.H:110
Namespace for OpenFOAM.