LiquidEvaporation.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::LiquidEvaporation
29 
30 Group
31  grpLagrangianIntermediatePhaseChangeSubModels
32 
33 Description
34  Liquid evaporation model
35  - uses ideal gas assumption
36 
37 \*---------------------------------------------------------------------------*/
38 
39 #ifndef LiquidEvaporation_H
40 #define LiquidEvaporation_H
41 
42 #include "PhaseChangeModel.H"
44 
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 
47 namespace Foam
48 {
49 /*---------------------------------------------------------------------------*\
50  Class LiquidEvaporation Declaration
51 \*---------------------------------------------------------------------------*/
52 
53 template<class CloudType>
55 :
56  public PhaseChangeModel<CloudType>
57 {
58 protected:
59 
60  // Protected data
61 
62  //- Global liquid properties data
64 
65  //- List of active liquid names
67 
68  //- Mapping between liquid and carrier species
70 
71  //- Mapping between local and global liquid species
73 
74 
75  // Protected Member Functions
76 
77  //- Sherwood number as a function of Reynolds and Schmidt numbers
78  scalar Sh(const scalar Re, const scalar Sc) const;
79 
80  //- Calculate the carrier phase component volume fractions at celli
81  tmp<scalarField> calcXc(const label celli) const;
82 
83 
84 public:
85 
86  //- Runtime type information
87  TypeName("liquidEvaporation");
88 
89 
90  // Constructors
91 
92  //- Construct from dictionary
94 
95  //- Construct copy
97 
98  //- Construct and return a clone
100  {
102  (
104  );
105  }
106 
107 
108  //- Destructor
109  virtual ~LiquidEvaporation();
110 
111 
112  // Member Functions
113 
114  //- Update model
115  virtual void calculate
116  (
117  const scalar dt,
118  const label celli,
119  const scalar Re,
120  const scalar Pr,
121  const scalar d,
122  const scalar nu,
123  const scalar rho,
124  const scalar T,
125  const scalar Ts,
126  const scalar pc,
127  const scalar Tc,
128  const scalarField& X,
129  const scalarField& solMass,
130  const scalarField& liqMass,
131  scalarField& dMassPC
132  ) const;
133 
134  //- Return the enthalpy per unit mass
135  virtual scalar dh
136  (
137  const label idc,
138  const label idl,
139  const scalar p,
140  const scalar T
141  ) const;
142 
143  //- Return vapourisation temperature
144  virtual scalar Tvap(const scalarField& X) const;
145 
146  //- Return maximum/limiting temperature
147  virtual scalar TMax(const scalar p, const scalarField& X) const;
148 };
149 
150 
151 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
152 
153 } // End namespace Foam
154 
155 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
156 
157 #ifdef NoRepository
158  #include "LiquidEvaporation.C"
159 #endif
160 
161 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
162 
163 #endif
164 
165 // ************************************************************************* //
Foam::PhaseChangeModel
Templated phase change model class.
Definition: ReactingCloud.H:61
p
volScalarField & p
Definition: createFieldRefs.H:8
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::LiquidEvaporation::TMax
virtual scalar TMax(const scalar p, const scalarField &X) const
Return maximum/limiting temperature.
Definition: LiquidEvaporation.C:267
Foam::LiquidEvaporation::liquids_
const liquidMixtureProperties & liquids_
Global liquid properties data.
Definition: LiquidEvaporation.H:62
Foam::LiquidEvaporation::liqToLiqMap_
List< label > liqToLiqMap_
Mapping between local and global liquid species.
Definition: LiquidEvaporation.H:71
PhaseChangeModel.H
rho
rho
Definition: readInitialConditions.H:88
nu
volScalarField & nu
Definition: readMechanicalProperties.H:176
Foam::Field< scalar >
Foam::LiquidEvaporation::liqToCarrierMap_
List< label > liqToCarrierMap_
Mapping between liquid and carrier species.
Definition: LiquidEvaporation.H:68
Foam::LiquidEvaporation::TypeName
TypeName("liquidEvaporation")
Runtime type information.
Pr
dimensionedScalar Pr("Pr", dimless, laminarTransport)
Foam::T
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
Definition: FieldFieldFunctions.C:58
Foam::LiquidEvaporation::activeLiquids_
List< word > activeLiquids_
List of active liquid names.
Definition: LiquidEvaporation.H:65
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
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::LiquidEvaporation::clone
virtual autoPtr< PhaseChangeModel< CloudType > > clone() const
Construct and return a clone.
Definition: LiquidEvaporation.H:98
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::LiquidEvaporation::dh
virtual scalar dh(const label idc, const label idl, const scalar p, const scalar T) const
Return the enthalpy per unit mass.
Definition: LiquidEvaporation.C:219
Foam::LiquidEvaporation
Liquid evaporation model.
Definition: LiquidEvaporation.H:53
Foam::LiquidEvaporation::LiquidEvaporation
LiquidEvaporation(const dictionary &dict, CloudType &cloud)
Construct from dictionary.
Definition: LiquidEvaporation.C:71
Foam::List< word >
LiquidEvaporation.C
Foam::Re
scalarField Re(const UList< complex > &cf)
Extract real component.
Definition: complexField.C:159
Foam::LiquidEvaporation::Tvap
virtual scalar Tvap(const scalarField &X) const
Return vapourisation temperature.
Definition: LiquidEvaporation.C:257
liquidMixtureProperties.H
Foam::LiquidEvaporation::~LiquidEvaporation
virtual ~LiquidEvaporation()
Destructor.
Definition: LiquidEvaporation.C:128
Foam::LiquidEvaporation::calcXc
tmp< scalarField > calcXc(const label celli) const
Calculate the carrier phase component volume fractions at celli.
Definition: LiquidEvaporation.C:39
Foam::LiquidEvaporation::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: LiquidEvaporation.C:136