FreeFOAM The Cross-Platform CFD Toolkit
nC3H8O.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) 1991-2010 OpenCFD Ltd.
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::nC3H8O
26 
27 Description
28  propanol
29 
30 SourceFiles
31  nC3H8O.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef nC3H8O_H
36 #define nC3H8O_H
37 
38 #include <liquids/liquid.H>
48 
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50 
51 namespace Foam
52 {
53 
54 /*---------------------------------------------------------------------------*\
55  Class nC3H8O Declaration
56 \*---------------------------------------------------------------------------*/
57 
58 class nC3H8O
59 :
60  public liquid
61 {
62  // Private data
63 
64  NSRDSfunc5 rho_;
65  NSRDSfunc1 pv_;
66  NSRDSfunc6 hl_;
67  NSRDSfunc0 cp_;
68  NSRDSfunc0 h_;
69  NSRDSfunc7 cpg_;
70  NSRDSfunc4 B_;
71  NSRDSfunc1 mu_;
72  NSRDSfunc2 mug_;
73  NSRDSfunc0 K_;
74  NSRDSfunc2 Kg_;
75  NSRDSfunc0 sigma_;
76  NSRDSfunc1 D_;
77 
78 public:
79 
80  //- Runtime type information
81  TypeName("nC3H8O");
82 
83 
84  // Constructors
85 
86  //- Construct null
87  nC3H8O();
88 
89  //- Construct from components
90  nC3H8O
91  (
92  const liquid& l,
93  const NSRDSfunc5& density,
94  const NSRDSfunc1& vapourPressure,
95  const NSRDSfunc6& heatOfVapourisation,
96  const NSRDSfunc0& heatCapacity,
97  const NSRDSfunc0& enthalpy,
98  const NSRDSfunc7& idealGasHeatCapacity,
99  const NSRDSfunc4& secondVirialCoeff,
100  const NSRDSfunc1& dynamicViscosity,
101  const NSRDSfunc2& vapourDynamicViscosity,
102  const NSRDSfunc0& thermalConductivity,
103  const NSRDSfunc2& vapourThermalConductivity,
104  const NSRDSfunc0& surfaceTension,
105  const NSRDSfunc1& vapourDiffussivity
106  );
107 
108  //- Construct from Istream
109  nC3H8O(Istream& is);
110 
111 
112  // Member Functions
113 
114  //- Liquid density [kg/m^3]
115  inline scalar rho(scalar p, scalar T) const;
116 
117  //- Vapour pressure [Pa]
118  inline scalar pv(scalar p, scalar T) const;
119 
120  //- Heat of vapourisation [J/kg]
121  inline scalar hl(scalar p, scalar T) const;
122 
123  //- Liquid heat capacity [J/(kg K)]
124  inline scalar cp(scalar p, scalar T) const;
125 
126  //- Liquid Enthalpy [J/(kg)]
127  inline scalar h(scalar p, scalar T) const;
128 
129  //- Ideal gas heat capacity [J/(kg K)]
130  inline scalar cpg(scalar p, scalar T) const;
131 
132  //- Second Virial Coefficient [m^3/kg]
133  inline scalar B(scalar p, scalar T) const;
134 
135  //- Liquid viscosity [Pa s]
136  inline scalar mu(scalar p, scalar T) const;
137 
138  //- Vapour viscosity [Pa s]
139  inline scalar mug(scalar p, scalar T) const;
140 
141  //- Liquid thermal conductivity [W/(m K)]
142  inline scalar K(scalar p, scalar T) const;
143 
144  //- Vapour thermal conductivity [W/(m K)]
145  inline scalar Kg(scalar p, scalar T) const;
146 
147  //- Surface tension [N/m]
148  inline scalar sigma(scalar p, scalar T) const;
149 
150  //- Vapour diffussivity [m2/s]
151  inline scalar D(scalar p, scalar T) const;
152 
153  //- Vapour diffussivity [m2/s] with specified binary pair
154  // Note: behaves the same as D(p, T)
155  inline scalar D(scalar p, scalar T, scalar Wb) const;
156 
157 
158  // I-O
159 
160  //- Write the function coefficients
161  void writeData(Ostream& os) const
162  {
163  liquid::writeData(os); os << nl;
164  rho_.writeData(os); os << nl;
165  pv_.writeData(os); os << nl;
166  hl_.writeData(os); os << nl;
167  cp_.writeData(os); os << nl;
168  cpg_.writeData(os); os << nl;
169  B_.writeData(os); os << nl;
170  mu_.writeData(os); os << nl;
171  mug_.writeData(os); os << nl;
172  K_.writeData(os); os << nl;
173  Kg_.writeData(os); os << nl;
174  sigma_.writeData(os); os << nl;
175  D_.writeData(os); os << endl;
176  }
177 
178  //- Ostream Operator
179  friend Ostream& operator<<(Ostream& os, const nC3H8O& l)
180  {
181  l.writeData(os);
182  return os;
183  }
184 };
185 
186 
187 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
188 
189 } // End namespace Foam
190 
191 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
192 
193 #include "nC3H8OI.H"
194 
195 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
196 
197 #endif
198 
199 // ************************ vim: set sw=4 sts=4 et: ************************ //
200