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