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