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-------------------------------------------------------------------------------
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::LiquidEvaporation
29
30Group
31 grpLagrangianIntermediatePhaseChangeSubModels
32
33Description
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
47namespace Foam
48{
49/*---------------------------------------------------------------------------*\
50 Class LiquidEvaporation Declaration
51\*---------------------------------------------------------------------------*/
52
53template<class CloudType>
55:
56 public PhaseChangeModel<CloudType>
57{
58protected:
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
84public:
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// ************************************************************************* //
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:75
Liquid evaporation model.
List< word > activeLiquids_
List of active liquid names.
virtual scalar dh(const label idc, const label idl, const scalar p, const scalar T) const
Return the enthalpy per unit mass.
virtual ~LiquidEvaporation()
Destructor.
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.
TypeName("liquidEvaporation")
Runtime type information.
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