LiquidEvaporationBoil.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2018 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::LiquidEvaporationBoil
26 
27 Description
28  Liquid evaporation model
29  - uses ideal gas assumption
30  - includes boiling model based on:
31 
32  \verbatim
33  "Studies of Superheated Fuel Spray Structures and Vaporization in
34  GDI Engines"
35 
36  Zuo, B., Gomes, A. M. and Rutland C. J.
37 
38  International Journal of Engine Research, 2000, Vol. 1(4), pp. 321-336
39  \endverbatim
40 
41 \*---------------------------------------------------------------------------*/
42 
43 #ifndef LiquidEvaporationBoil_H
44 #define LiquidEvaporationBoil_H
45 
46 #include "PhaseChangeModel.H"
48 
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50 
51 namespace Foam
52 {
53 /*---------------------------------------------------------------------------*\
54  Class LiquidEvaporationBoil Declaration
55 \*---------------------------------------------------------------------------*/
56 
57 template<class CloudType>
59 :
60  public PhaseChangeModel<CloudType>
61 {
62 protected:
63 
64  // Protected data
65 
66  //- Global liquid properties data
68 
69  //- List of active liquid names
71 
72  //- Mapping between liquid and carrier species
74 
75  //- Mapping between local and global liquid species
77 
78 
79  // Protected Member Functions
80 
81  //- Sherwood number as a function of Reynolds and Schmidt numbers
82  scalar Sh(const scalar Re, const scalar Sc) const;
83 
84  //- Calculate the carrier phase component volume fractions at celli
85  tmp<scalarField> calcXc(const label celli) const;
86 
87 
88 public:
89 
90  //- Runtime type information
91  TypeName("liquidEvaporationBoil");
92 
93 
94  // Constructors
95 
96  //- Construct from dictionary
98 
99  //- Construct copy
101 
102  //- Construct and return a clone
104  {
106  (
108  );
109  }
110 
111 
112  //- Destructor
113  virtual ~LiquidEvaporationBoil();
114 
115 
116  // Member Functions
117 
118  //- Update model
119  virtual void calculate
120  (
121  const scalar dt,
122  const label celli,
123  const scalar Re,
124  const scalar Pr,
125  const scalar d,
126  const scalar nu,
127  const scalar T,
128  const scalar Ts,
129  const scalar pc,
130  const scalar Tc,
131  const scalarField& X,
132  scalarField& dMassPC
133  ) const;
134 
135  //- Return the enthalpy per unit mass
136  virtual scalar dh
137  (
138  const label idc,
139  const label idl,
140  const scalar p,
141  const scalar T
142  ) const;
143 
144  //- Return vapourisation temperature
145  virtual scalar Tvap(const scalarField& X) const;
146 
147  //- Return maximum/limiting temperature
148  virtual scalar TMax(const scalar p, const scalarField& X) const;
149 };
150 
151 
152 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
153 
154 } // End namespace Foam
155 
156 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
157 
158 #ifdef NoRepository
159  #include "LiquidEvaporationBoil.C"
160 #endif
161 
162 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
163 
164 #endif
165 
166 // ************************************************************************* //
dimensionedScalar Pr("Pr", dimless, laminarTransport)
tmp< scalarField > calcXc(const label celli) const
Calculate the carrier phase component volume fractions at celli.
List< word > activeLiquids_
List of active liquid names.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
Templated phase change model class.
Definition: ReactingCloud.H:55
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:137
virtual autoPtr< PhaseChangeModel< CloudType > > clone() const
Construct and return a clone.
List< label > liqToCarrierMap_
Mapping between liquid and carrier species.
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:110
virtual scalar Tvap(const scalarField &X) const
Return vapourisation temperature.
List< label > liqToLiqMap_
Mapping between local and global liquid species.
const liquidMixtureProperties & liquids_
Global liquid properties data.
virtual scalar dh(const label idc, const label idl, const scalar p, const scalar T) const
Return the enthalpy per unit mass.
LiquidEvaporationBoil(const dictionary &dict, CloudType &cloud)
Construct from dictionary.
A cloud is a collection of lagrangian particles.
Definition: cloud.H:51
Liquid evaporation model.
TypeName("liquidEvaporationBoil")
Runtime type information.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
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 T, const scalar Ts, const scalar pc, const scalar Tc, const scalarField &X, scalarField &dMassPC) const
Update model.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:52
volScalarField & p
A class for managing temporary objects.
Definition: PtrList.H:53
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:69
scalarField Re(const UList< complex > &cf)
Definition: complexFields.C:97
volScalarField & nu
virtual ~LiquidEvaporationBoil()
Destructor.
Namespace for OpenFOAM.
scalar Sh() const
Sherwood number.