velocityFilmShellFvPatchVectorField.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::compressible::velocityFilmShellFvPatchVectorField
28
29Group
30 grpLiquidFilmBoundaryConditions
31
32Description
33
34Usage
35 Example of the boundary condition specification:
36 \verbatim
37 <patchName>
38 {
39 type velocityFilmShell;
40
41 active true;
42 infoOutput true;
43
44 U U;
45 pRef 1e5;
46 T0 300;
47
48 deltaWet 1e-4;
49 h0 1e-8;
50
51 zeroWallVelocity true;
52
53 thermo
54 {
55 H2O;
56 }
57
58 turbulence laminar;
59
60 laminarCoeffs
61 {
62 friction ManningStrickler; // Wall friction model
63 n 0.005; // Manning number
64 Cf 0.9; // Gas friction
65 }
66
67 injectionModels
68 (
69 curvatureSeparation
70 );
71
72 forces ();
73
74 curvatureSeparationCoeffs
75 {
76 definedPatchRadii 0;
77 }
78
79 region film;
80 liquidFilmModel kinematicThinFilm;
81
82 value uniform (0 0 0);
83 }
84 \endverbatim
85
86 where the entries mean:
87 \table
88 Property | Description | Type | Reqd | Deflt
89 type | Type name: velocityFilmShell | word | yes | -
90 U | Name of the primary U | word | yes | -
91 pRef | Reference pressure for thermo | scalar | yes | -
92 T0 | Film initial temperature | scalar | no | READ
93 thermo | Flow thermo | wordRes | yes | -
94 zeroWallVelocity | Flag to fix zero U for primary flow <!--
95 --> | bool | no | true
96 turbulence | Type of film turbulence model | word | yes | -
97 injectionModels | Lagrangian injection | | no | -
98 forces | Film force models | wordRes | no | -
99 deltaWet | Wet film thickness | scalar | no | 1e-4
100 h0 | Numerical minimum thickness | scalar | no | 1e-7
101 region | Name of the 2D region | word | yes | -
102 liquidFilmModel | Film model | word | yes | -
103 \endtable
104
105SourceFiles
106 velocityFilmShellFvPatchVectorField.C
107
108\*---------------------------------------------------------------------------*/
109
110#ifndef velocityFilmShellFvPatchVectorField_H
111#define velocityFilmShellFvPatchVectorField_H
112
113#include "autoPtr.H"
114#include "liquidFilmBase.H"
115#include "mixedFvPatchFields.H"
116
117// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
118
119namespace Foam
120{
121
122/*---------------------------------------------------------------------------*\
123 Class velocityFilmShellFvPatchVectorField Declaration
124\*---------------------------------------------------------------------------*/
125
127:
128 public mixedFvPatchField<vector>
129{
130 // Private Data
131
132 //- Thermal baffle
134
135 //- Dictionary
136 mutable dictionary dict_;
137
138 //- Time index to evolve the film
139 label curTimeIndex_;
140
141 //- Zero wall velocity. Fix U to zero or to film U
142 bool zeroWallVelocity_;
143
144
145public:
146
147 //- Runtime type information
148 TypeName("velocityFilmShell");
149
150
151 // Constructors
152
153 //- Construct from patch and internal field
155 (
156 const fvPatch&,
158 );
159
160 //- Construct from patch, internal field and dictionary
162 (
163 const fvPatch&,
165 const dictionary&
166 );
167
168 //- Construct by mapping given
169 //- velocityFilmShellFvPatchVectorField onto a new patch
171 (
173 const fvPatch&,
175 const fvPatchFieldMapper&
176 );
177
178 //- Construct and return a clone
179 virtual tmp<fvPatchVectorField> clone() const
180 {
182 (
184 );
185 }
186
187 //- Construct as copy setting internal field reference
189 (
192 );
193
194 //- Construct and return a clone setting internal field reference
196 (
198 ) const
199 {
201 (
203 );
204 }
205
206
207 // Member Functions
208
209 //- Update the coefficients associated with the patch field
210 virtual void updateCoeffs();
212 //- Write
213 virtual void write(Ostream&) const;
214};
215
216
217// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
218
219} // End namespace Foam
220
221// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
222
223
224#endif
225
226// ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:62
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
A FieldMapper for finite-volume patch fields.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:71
This boundary condition provides a base class for 'mixed' type boundary conditions,...
A class for managing temporary objects.
Definition: tmp.H:65
virtual tmp< fvPatchVectorField > clone(const DimensionedField< vector, volMesh > &iF) const
Construct and return a clone setting internal field reference.
virtual tmp< fvPatchVectorField > clone() const
Construct and return a clone.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
TypeName("velocityFilmShell")
Runtime type information.
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73