LiquidEvaporationBoil.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 | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2016 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 Class
27  Foam::LiquidEvaporationBoil
28 
29 Group
30  grpLagrangianIntermediatePhaseChangeSubModels
31 
32 Description
33  Liquid evaporation model
34  - uses ideal gas assumption
35  - includes boiling model based on:
36 
37  \verbatim
38  "Studies of Superheated Fuel Spray Structures and Vaporization in
39  GDI Engines"
40 
41  Zuo, B., Gomes, A. M. and Rutland C. J.
42 
43  International Journal of Engine Research, 2000, Vol. 1(4), pp. 321-336
44  \endverbatim
45 
46 \*---------------------------------------------------------------------------*/
47 
48 #ifndef LiquidEvaporationBoil_H
49 #define LiquidEvaporationBoil_H
50 
51 #include "PhaseChangeModel.H"
53 
54 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
55 
56 namespace Foam
57 {
58 /*---------------------------------------------------------------------------*\
59  Class LiquidEvaporationBoil Declaration
60 \*---------------------------------------------------------------------------*/
61 
62 template<class CloudType>
64 :
65  public PhaseChangeModel<CloudType>
66 {
67 protected:
68 
69  // Protected data
70 
71  //- Global liquid properties data
73 
74  //- List of active liquid names
76 
77  //- Mapping between liquid and carrier species
79 
80  //- Mapping between local and global liquid species
82 
83 
84  // Protected Member Functions
85 
86  //- Sherwood number as a function of Reynolds and Schmidt numbers
87  scalar Sh(const scalar Re, const scalar Sc) const;
88 
89  //- Calculate the carrier phase component volume fractions at celli
90  tmp<scalarField> calcXc(const label celli) const;
91 
92 
93 public:
94 
95  //- Runtime type information
96  TypeName("liquidEvaporationBoil");
97 
98 
99  // Constructors
100 
101  //- Construct from dictionary
103 
104  //- Construct copy
106 
107  //- Construct and return a clone
109  {
111  (
113  );
114  }
115 
116 
117  //- Destructor
118  virtual ~LiquidEvaporationBoil();
119 
120 
121  // Member Functions
122 
123  //- Update model
124  virtual void calculate
125  (
126  const scalar dt,
127  const label celli,
128  const scalar Re,
129  const scalar Pr,
130  const scalar d,
131  const scalar nu,
132  const scalar T,
133  const scalar Ts,
134  const scalar pc,
135  const scalar Tc,
136  const scalarField& X,
137  scalarField& dMassPC
138  ) const;
139 
140  //- Return the enthalpy per unit mass
141  virtual scalar dh
142  (
143  const label idc,
144  const label idl,
145  const scalar p,
146  const scalar T
147  ) const;
148 
149  //- Return vapourisation temperature
150  virtual scalar Tvap(const scalarField& X) const;
151 
152  //- Return maximum/limiting temperature
153  virtual scalar TMax(const scalar p, const scalarField& X) const;
154 };
155 
156 
157 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158 
159 } // End namespace Foam
160 
161 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
162 
163 #ifdef NoRepository
164  #include "LiquidEvaporationBoil.C"
165 #endif
166 
167 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
168 
169 #endif
170 
171 // ************************************************************************* //
Foam::PhaseChangeModel
Templated phase change model class.
Definition: ReactingCloud.H:61
p
volScalarField & p
Definition: createFieldRefs.H:8
Foam::LiquidEvaporationBoil::calculate
virtual void calculate(const scalar dt, const label celli, const scalar Re, const scalar Pr, const scalar d, const scalar nu, const scalar T, const scalar Ts, const scalar pc, const scalar Tc, const scalarField &X, scalarField &dMassPC) const
Update model.
Definition: LiquidEvaporationBoil.C:135
Foam::LiquidEvaporationBoil::TypeName
TypeName("liquidEvaporationBoil")
Runtime type information.
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:59
Foam::LiquidEvaporationBoil::liqToLiqMap_
List< label > liqToLiqMap_
Mapping between local and global liquid species.
Definition: LiquidEvaporationBoil.H:80
Foam::LiquidEvaporationBoil::dh
virtual scalar dh(const label idc, const label idl, const scalar p, const scalar T) const
Return the enthalpy per unit mass.
Definition: LiquidEvaporationBoil.C:305
PhaseChangeModel.H
Foam::LiquidEvaporationBoil::Tvap
virtual scalar Tvap(const scalarField &X) const
Return vapourisation temperature.
Definition: LiquidEvaporationBoil.C:349
Foam::LiquidEvaporationBoil::~LiquidEvaporationBoil
virtual ~LiquidEvaporationBoil()
Destructor.
Definition: LiquidEvaporationBoil.C:127
nu
volScalarField & nu
Definition: readMechanicalProperties.H:176
LiquidEvaporationBoil.C
Foam::LiquidEvaporationBoil::liquids_
const liquidMixtureProperties & liquids_
Global liquid properties data.
Definition: LiquidEvaporationBoil.H:71
Foam::LiquidEvaporationBoil::TMax
virtual scalar TMax(const scalar p, const scalarField &X) const
Return maximum/limiting temperature.
Definition: LiquidEvaporationBoil.C:359
Foam::LiquidEvaporationBoil::liqToCarrierMap_
List< label > liqToCarrierMap_
Mapping between liquid and carrier species.
Definition: LiquidEvaporationBoil.H:77
Foam::LiquidEvaporationBoil::activeLiquids_
List< word > activeLiquids_
List of active liquid names.
Definition: LiquidEvaporationBoil.H:74
Foam::Field< scalar >
Pr
dimensionedScalar Pr("Pr", dimless, laminarTransport)
Foam::T
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
Definition: FieldFieldFunctions.C:58
Foam::LiquidEvaporationBoil::LiquidEvaporationBoil
LiquidEvaporationBoil(const dictionary &dict, CloudType &cloud)
Construct from dictionary.
Definition: LiquidEvaporationBoil.C:70
Foam::LiquidEvaporationBoil
Liquid evaporation model.
Definition: LiquidEvaporationBoil.H:62
Foam::LiquidEvaporationBoil::clone
virtual autoPtr< PhaseChangeModel< CloudType > > clone() const
Construct and return a clone.
Definition: LiquidEvaporationBoil.H:107
Foam::DSMCCloud
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:71
dict
dictionary dict
Definition: searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:121
Foam::LiquidEvaporationBoil::calcXc
tmp< scalarField > calcXc(const label celli) const
Calculate the carrier phase component volume fractions at celli.
Definition: LiquidEvaporationBoil.C:38
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::PhaseChangeModel::Sh
scalar Sh() const
Sherwood number.
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
Foam::cloud
A cloud is a registry collection of lagrangian particles.
Definition: cloud.H:57
Foam::liquidMixtureProperties
A mixture of liquids.
Definition: liquidMixtureProperties.H:68
Foam::List< word >
Foam::Re
scalarField Re(const UList< complex > &cf)
Extract real component.
Definition: complexField.C:159
liquidMixtureProperties.H