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 -------------------------------------------------------------------------------
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::regionFaModels::liquidFilmModel
28 
29 Description
30  Thin Model Film model.
31 
32 
33 SourceFiles
34  liquidFilmModel.C
35  kinematicThinFilmI.H
36 
37 \*---------------------------------------------------------------------------*/
38 
39 #ifndef liquidFilmModel_H
40 #define liquidFilmModel_H
41 
42 #include "volFieldsFwd.H"
43 #include "liquidFilmBase.H"
44 #include "faMesh.H"
45 #include "filmTurbulenceModel.H"
47 #include "injectionModelList.H"
48 #include "faCFD.H"
49 #include "forceList.H"
50 
51 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 
53 namespace Foam
54 {
55 namespace regionModels
56 {
57 namespace areaSurfaceFilmModels
58 {
59 
60 /*---------------------------------------------------------------------------*\
61  Class liquidFilmModel Declaration
62 \*---------------------------------------------------------------------------*/
63 
64 class liquidFilmModel
65 :
66  public liquidFilmBase
67 {
68 protected:
69 
70  // Thermo properties
71 
72  //- Liquid thermo
74 
75  //- Reference tempararure
76  scalar Tref_;
77 
78 
79  // Fields
80 
81  //- Density [kg/m3]
83 
84  //- Dynamic viscosity [Pa.s]
86 
87  //- Film temperature
89 
90  //- Film Heat capacity
92 
93  //- Surface tension [m/s2]
95 
96  //- Film rho*height
98 
99 
100  // Mass exchange sources
101 
102  //- Mass source
104 
105  //- Momentum source
107 
108  //- Normal pressure by particles
110 
111 
112  // Transfer fields
113 
114  //- Film mass for transfer to cloud
117  //- Parcel diameters originating from film to cloud
119 
120 
121  // General properties
122 
123  //- Turbulence model
125 
127  // Sub-models
128 
129  //- Available mass for transfer via sub-models
131 
132  //- Cloud injection
135  //- Transfer with the continuous phase
136  //transferModelList transfer_;
137 
138  //- List of film forces
140 
141 
142 public:
143 
144  //- Runtime type information
145  TypeName("liquidFilmModel");
146 
148  // Constructors
149 
150  //- Construct from components and dict
152  (
153  const word& modelType,
154  const fvMesh& mesh,
156  );
157 
158  //- No copy construct
159  liquidFilmModel(const liquidFilmModel&) = delete;
161  //- No copy assignment
162  void operator=(const liquidFilmModel&) = delete;
163 
164 
165  //- Destructor
166  virtual ~liquidFilmModel() = default;
167 
168 
169  // Member Functions
170 
171  // Helpers
172 
173  //- Correct thermo
174  void correctThermoFields();
175 
176 
177  // Access
178 
179  //- Access const reference mu
180  const areaScalarField& mu() const;
181 
182  //- Access const reference rho
183  const areaScalarField& rho() const;
184 
185  //- Access const reference sigma
186  const areaScalarField& sigma() const;
187 
188  //- Access const reference Tf
189  const areaScalarField& Tf() const;
190 
191  //- Access const reference Cp
192  const areaScalarField& Cp() const;
193 
194  //- Access to thermo
195  const liquidMixtureProperties& thermo() const;
196 
197  //- Access to reference temperature
198  scalar Tref() const;
199 
200 
201  // Transfer fields - to the primary region (lagragian injection)
202 
203  //- Return the film mass available for transfer to cloud
204  virtual const volScalarField& cloudMassTrans() const;
205 
206  //- Return the parcel diameters originating from film to cloud
207  virtual const volScalarField& cloudDiameterTrans() const;
208 
209 
210  // Evolution
211 
212  //- Pre-evolve film
213  virtual void preEvolveRegion();
214 
215  //- Post-evolve film
216  virtual void postEvolveRegion();
217 
218 
219  // I-O
220 
221  //- Provide some feedback
222  virtual void info();
223 };
224 
225 
226 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
227 
228 } // End namespace areaSurfaceFilmModels
229 } // End namespace regionModels
230 } // End namespace Foam
231 
232 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
233 
234 
235 #endif
236 
237 // ************************************************************************* //
const areaScalarField & rho() const
Access const reference rho.
dictionary dict
volScalarField cloudDiameterTrans_
Parcel diameters originating from film to cloud.
Forwards and collection of common volume field types.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Definition: dictionary.H:129
areaScalarField mu_
Dynamic viscosity [Pa.s].
autoPtr< filmTurbulenceModel > turbulence_
Turbulence model.
liquidMixtureProperties thermo_
Liquid thermo.
virtual const volScalarField & cloudDiameterTrans() const
Return the parcel diameters originating from film to cloud.
const areaScalarField & mu() const
Access const reference mu.
const areaScalarField & Tf() const
Access const reference Tf.
areaScalarField sigma_
Surface tension [m/s2].
dynamicFvMesh & mesh
A class for handling words, derived from Foam::string.
Definition: word.H:63
TypeName("liquidFilmModel")
Runtime type information.
const areaScalarField & sigma() const
Access const reference sigma.
volScalarField cloudMassTrans_
Film mass for transfer to cloud.
const liquidMixtureProperties & thermo() const
Access to thermo.
forceList forces_
Transfer with the continuous phase.
virtual const volScalarField & cloudMassTrans() const
Return the film mass available for transfer to cloud.
const areaScalarField & Cp() const
Access const reference Cp.
liquidFilmModel(const word &modelType, const fvMesh &mesh, const dictionary &dict)
Construct from components and dict.
scalar Tref() const
Access to reference temperature.
areaScalarField pnSp_
Normal pressure by particles.
scalarField availableMass_
Available mass for transfer via sub-models.
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:78
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Definition: HashPtrTable.H:48
void operator=(const liquidFilmModel &)=delete
No copy assignment.
Namespace for OpenFOAM.