Loading...
Searching...
No Matches
liquidFilmModel.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) 2020 OpenCFD Ltd.
9-------------------------------------------------------------------------------
10License
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
26Class
27 Foam::regionFaModels::liquidFilmModel
28
29Description
30 Thin film model.
31
32Usage
33 Example of the boundary condition specification:
34 \verbatim
35 <patchName>
36 {
37 // Mandatory entries
38 thermo <dict>;
39
40 // Optional entries
41 T0 <scalar>;
42
43 // Inherited entries
44 ...
45 }
46 \endverbatim
47
48 where the entries mean:
49 \table
50 Property | Description | Type | Reqd | Deflt
51 thermo | Liquid thermodynamics properties | dict | yes | -
52 T0 | Reference temperature [K] | scalar | choice | -
53 \endtable
54
55 The inherited entries are elaborated in:
56 - \link liquidFilmBase.H \endlink
57 - \link filmTurbulenceModel.H \endlink
58 - \link injectionModelList.H \endlink
59 - \link forceList.H \endlink
60
61SourceFiles
62 liquidFilmModel.C
63
64\*---------------------------------------------------------------------------*/
65
66#ifndef liquidFilmModel_H
67#define liquidFilmModel_H
68
69#include "volFieldsFwd.H"
70#include "liquidFilmBase.H"
71#include "filmTurbulenceModel.H"
73#include "injectionModelList.H"
74#include "faCFD.H"
75#include "forceList.H"
76
77// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
78
79namespace Foam
80{
81namespace regionModels
82{
83namespace areaSurfaceFilmModels
84{
85
86/*---------------------------------------------------------------------------*\
87 Class liquidFilmModel Declaration
88\*---------------------------------------------------------------------------*/
89
91:
92 public liquidFilmBase
93{
94protected:
95
96 // Thermo properties
97
98 //- Liquid thermo
100
101 //- Reference temperature
102 scalar Tref_;
104
105 // Fields
106
107 //- Density [kg/m3]
109
110 //- Dynamic viscosity [Pa.s]
112
113 //- Film temperature [K]
115
116 //- Film heat capacity [J/K]
118
119 //- Surface tension [m/s^2]
121
122 //- Film rho*height [m.kg/m^3]
124
125
126 // Mass exchange sources
128 //- Mass source
130
131 //- Momentum source
133
134 //- Normal pressure by particles
136
138 // Transfer fields
139
140 //- Film mass for transfer to cloud
143 //- Parcel diameters originating from film to cloud
145
146
147 // General properties
148
149 //- Turbulence model
151
153 // Sub-models
154
155 //- Available mass for transfer via sub-models
157
158 //- Cloud injection
161 //- List of film forces
163
164
165public:
166
167 //- Runtime type information
168 TypeName("liquidFilmModel");
169
171 // Constructors
172
173 //- Construct from components and dict
175 (
176 const word& modelType,
177 const fvMesh& mesh,
179 );
180
181 //- No copy construct
182 liquidFilmModel(const liquidFilmModel&) = delete;
184 //- No copy assignment
185 void operator=(const liquidFilmModel&) = delete;
186
187
188 //- Destructor
189 virtual ~liquidFilmModel() = default;
190
192 // Member Functions
193
194 // Helpers
195
196 //- Correct thermo
197 void correctThermoFields();
198
200 // Access
201
202 //- Access const reference mu
203 const areaScalarField& mu() const noexcept { return mu_; }
205 //- Access const reference rho
206 const areaScalarField& rho() const noexcept { return rho_; }
207
208 //- Access const reference sigma
209 const areaScalarField& sigma() const noexcept { return sigma_; }
210
211 //- Access const reference Tf
212 const areaScalarField& Tf() const noexcept { return Tf_; }
213
214 //- Access const reference Cp
215 const areaScalarField& Cp() const noexcept { return Cp_; }
216
217 //- Access to thermo
219 {
220 return thermo_;
221 }
222
223 //- Access to reference temperature
224 scalar Tref() const noexcept { return Tref_; }
225
226
227 // Transfer fields - to the primary region (lagragian injection)
228
229 //- Return the film mass available for transfer to cloud
230 virtual const volScalarField& cloudMassTrans() const;
231
232 //- Return the parcel diameters originating from film to cloud
233 virtual const volScalarField& cloudDiameterTrans() const;
234
236 // Evolution
237
238 //- Pre-evolve film
239 virtual void preEvolveRegion();
241 //- Post-evolve film
242 virtual void postEvolveRegion();
243
244
245 // I-O
247 //- Provide some feedback
248 virtual void info();
249};
250
251
252// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
253
254} // End namespace areaSurfaceFilmModels
255} // End namespace regionModels
256} // End namespace Foam
257
258// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
259
260
261#endif
262
263// ************************************************************************* //
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition autoPtr.H:65
dictionary()
Default construct, a top-level empty dictionary.
Definition dictionary.C:68
Mesh data needed to do the Finite Volume discretisation.
Definition fvMesh.H:85
Thin film model.
liquidFilmBase(const word &modelType, const fvMesh &mesh, const dictionary &dict)
Construct from type name and mesh and dict.
scalar Tref() const noexcept
Access to reference temperature.
liquidFilmModel(const word &modelType, const fvMesh &mesh, const dictionary &dict)
Construct from components and dict.
virtual const volScalarField & cloudDiameterTrans() const
Return the parcel diameters originating from film to cloud.
areaScalarField pnSp_
Normal pressure by particles.
const areaScalarField & Tf() const noexcept
Access const reference Tf.
volScalarField cloudDiameterTrans_
Parcel diameters originating from film to cloud.
void operator=(const liquidFilmModel &)=delete
No copy assignment.
liquidFilmModel(const liquidFilmModel &)=delete
No copy construct.
areaScalarField hRho_
Film rho*height [m.kg/m^3].
const areaScalarField & Cp() const noexcept
Access const reference Cp.
virtual const volScalarField & cloudMassTrans() const
Return the film mass available for transfer to cloud.
const liquidMixtureProperties & thermo() const noexcept
Access to thermo.
const areaScalarField & mu() const noexcept
Access const reference mu.
TypeName("liquidFilmModel")
Runtime type information.
const areaScalarField & sigma() const noexcept
Access const reference sigma.
volScalarField cloudMassTrans_
Film mass for transfer to cloud.
const areaScalarField & rho() const noexcept
Access const reference rho.
scalarField availableMass_
Available mass for transfer via sub-models.
autoPtr< filmTurbulenceModel > turbulence_
Turbulence model.
Base class for liquid-film models.
A class for handling words, derived from Foam::string.
Definition word.H:66
dynamicFvMesh & mesh
Namespace for OpenFOAM.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
GeometricField< vector, faPatchField, areaMesh > areaVectorField
GeometricField< scalar, faPatchField, areaMesh > areaScalarField
const direction noexcept
Definition scalarImpl.H:265
dictionary dict
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68
Forwards and collection of common volume field types.