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-------------------------------------------------------------------------------
11License
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
27Class
28 Foam::LiquidEvaporationBoil
29
30Group
31 grpLagrangianIntermediatePhaseChangeSubModels
32
33Description
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
57namespace Foam
58{
59/*---------------------------------------------------------------------------*\
60 Class LiquidEvaporationBoil Declaration
61\*---------------------------------------------------------------------------*/
62
63template<class CloudType>
65:
66 public PhaseChangeModel<CloudType>
67{
68protected:
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
94public:
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// ************************************************************************* //
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:75
Liquid evaporation model.
List< word > activeLiquids_
List of active liquid names.
TypeName("liquidEvaporationBoil")
Runtime type information.
virtual ~LiquidEvaporationBoil()
Destructor.
virtual scalar dh(const label idc, const label idl, const scalar p, const scalar T) const
Return the enthalpy per unit mass.
virtual autoPtr< PhaseChangeModel< CloudType > > clone() const
Construct and return a clone.
List< label > liqToLiqMap_
Mapping between local and global liquid species.
List< label > liqToCarrierMap_
Mapping between liquid and carrier species.
virtual scalar Tvap(const scalarField &X) const
Return vapourisation temperature.
const liquidMixtureProperties & liquids_
Global liquid properties data.
tmp< scalarField > calcXc(const label celli) const
Calculate the carrier phase component volume fractions at celli.
virtual scalar TMax(const scalar p, const scalarField &X) const
Return maximum/limiting temperature.
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.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Definition: List.H:77
Templated phase change model class.
scalar Sh() const
Sherwood number.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
A cloud is a registry collection of lagrangian particles.
Definition: cloud.H:60
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:113
A class for managing temporary objects.
Definition: tmp.H:65
volScalarField & p
const volScalarField & T
Namespace for OpenFOAM.
scalarField Re(const UList< complex > &cf)
Extract real component.
Definition: complexField.C:159
volScalarField & nu
dimensionedScalar Pr("Pr", dimless, laminarTransport)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73