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 -------------------------------------------------------------------------------
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::LiquidEvaporation
28 
29 Group
30  grpLagrangianIntermediatePhaseChangeSubModels
31 
32 Description
33  Liquid evaporation model
34  - uses ideal gas assumption
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef LiquidEvaporation_H
39 #define LiquidEvaporation_H
40 
41 #include "PhaseChangeModel.H"
43 
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 
46 namespace Foam
47 {
48 /*---------------------------------------------------------------------------*\
49  Class LiquidEvaporation Declaration
50 \*---------------------------------------------------------------------------*/
51 
52 template<class CloudType>
54 :
55  public PhaseChangeModel<CloudType>
56 {
57 protected:
58 
59  // Protected data
60 
61  //- Global liquid properties data
63 
64  //- List of active liquid names
66 
67  //- Mapping between liquid and carrier species
69 
70  //- Mapping between local and global liquid species
72 
73 
74  // Protected Member Functions
75 
76  //- Sherwood number as a function of Reynolds and Schmidt numbers
77  scalar Sh(const scalar Re, const scalar Sc) const;
78 
79  //- Calculate the carrier phase component volume fractions at celli
80  tmp<scalarField> calcXc(const label celli) const;
81 
82 
83 public:
84 
85  //- Runtime type information
86  TypeName("liquidEvaporation");
87 
88 
89  // Constructors
90 
91  //- Construct from dictionary
93 
94  //- Construct copy
96 
97  //- Construct and return a clone
99  {
101  (
103  );
104  }
105 
106 
107  //- Destructor
108  virtual ~LiquidEvaporation();
109 
110 
111  // Member Functions
112 
113  //- Update model
114  virtual void calculate
115  (
116  const scalar dt,
117  const label celli,
118  const scalar Re,
119  const scalar Pr,
120  const scalar d,
121  const scalar nu,
122  const scalar T,
123  const scalar Ts,
124  const scalar pc,
125  const scalar Tc,
126  const scalarField& X,
127  scalarField& dMassPC
128  ) const;
129 
130  //- Return the enthalpy per unit mass
131  virtual scalar dh
132  (
133  const label idc,
134  const label idl,
135  const scalar p,
136  const scalar T
137  ) const;
138 
139  //- Return vapourisation temperature
140  virtual scalar Tvap(const scalarField& X) const;
141 
142  //- Return maximum/limiting temperature
143  virtual scalar TMax(const scalar p, const scalarField& X) const;
144 };
145 
146 
147 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
148 
149 } // End namespace Foam
150 
151 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
152 
153 #ifdef NoRepository
154  #include "LiquidEvaporation.C"
155 #endif
156 
157 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158 
159 #endif
160 
161 // ************************************************************************* //
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:59
Foam::LiquidEvaporation::TMax
virtual scalar TMax(const scalar p, const scalarField &X) const
Return maximum/limiting temperature.
Definition: LiquidEvaporation.C:263
Foam::LiquidEvaporation::liquids_
const liquidMixtureProperties & liquids_
Global liquid properties data.
Definition: LiquidEvaporation.H:61
Foam::LiquidEvaporation::liqToLiqMap_
List< label > liqToLiqMap_
Mapping between local and global liquid species.
Definition: LiquidEvaporation.H:70
PhaseChangeModel.H
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:67
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:64
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
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::LiquidEvaporation::clone
virtual autoPtr< PhaseChangeModel< CloudType > > clone() const
Construct and return a clone.
Definition: LiquidEvaporation.H:97
Foam::PhaseChangeModel::Sh
scalar Sh() const
Sherwood number.
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 T, const scalar Ts, const scalar pc, const scalar Tc, const scalarField &X, scalarField &dMassPC) const
Update model.
Definition: LiquidEvaporation.C:135
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:215
Foam::LiquidEvaporation
Liquid evaporation model.
Definition: LiquidEvaporation.H:52
Foam::LiquidEvaporation::LiquidEvaporation
LiquidEvaporation(const dictionary &dict, CloudType &cloud)
Construct from dictionary.
Definition: LiquidEvaporation.C:70
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:253
liquidMixtureProperties.H
Foam::LiquidEvaporation::~LiquidEvaporation
virtual ~LiquidEvaporation()
Destructor.
Definition: LiquidEvaporation.C:127
Foam::LiquidEvaporation::calcXc
tmp< scalarField > calcXc(const label celli) const
Calculate the carrier phase component volume fractions at celli.
Definition: LiquidEvaporation.C:38