atmBoundaryLayerInletOmegaFvPatchScalarField.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 This file is part of OpenFOAM.
11
12 OpenFOAM is free software: you can redistribute it and/or modify it
13 under the terms of the GNU General Public License as published by
14 the Free Software Foundation, either version 3 of the License, or
15 (at your option) any later version.
16
17 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
18 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
20 for more details.
21
22 You should have received a copy of the GNU General Public License
23 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
24
25Class
26 Foam::atmBoundaryLayerInletOmegaFvPatchScalarField
27
28Group
29 grpRASBoundaryConditions grpInletBoundaryConditions
30
31Description
32 This boundary condition provides a log-law type ground-normal inlet
33 boundary condition for the specific dissipation rate (i.e. \c omega)
34 for homogeneous, two-dimensional, dry-air, equilibrium and neutral
35 atmospheric boundary layer modelling.
36
37 The ground-normal \c omega profile expression:
38
39 \f[
40 \omega = \frac{u^*}{\kappa \sqrt{C_\mu}} \frac{1}{z - d + z_0}
41 \f]
42
43 where
44 \vartable
45 \omega | Ground-normal specific dissipation rate profile [m^2/s^3]
46 u^* | Friction velocity [m/s]
47 \kappa | von Kármán constant [-]
48 C_\mu | Empirical model constant [-]
49 z | Ground-normal coordinate component [m]
50 d | Ground-normal displacement height [m]
51 z_0 | Aerodynamic roughness length [m]
52 \endvartable
53
54 Required fields:
55 \verbatim
56 omega | Specific dissipation rate [1/s]
57 \endverbatim
58
59Usage
60 Example of the boundary condition specification:
61 \verbatim
62 inlet
63 {
64 // Mandatory entries (unmodifiable)
65 type atmBoundaryLayerInletOmega;
66
67 // Mandatory/Optional (inherited) entries (unmodifiable)
68 ...
69 }
70 \endverbatim
71
72 where the entries mean:
73 \table
74 Property | Description | Type | Reqd | Deflt
75 type | Type name: atmBoundaryLayerInletOmega | word | yes | -
76 \endtable
77
78 The inherited entries are elaborated in:
79 - \link atmBoundaryLayer.H \endlink
80 - \link inletOutletFvPatchField.H \endlink
81
82See also
83 - Foam::atmBoundaryLayer
84 - Foam::atmBoundaryLayerInletVelocityFvPatchVelocityField
85 - Foam::atmBoundaryLayerInletEpsilonFvPatchScalarField
86 - Foam::atmBoundaryLayerInletKFvPatchScalarField
87
88SourceFiles
89 atmBoundaryLayerInletOmegaFvPatchScalarField.C
90
91\*---------------------------------------------------------------------------*/
92
93#ifndef atmBoundaryLayerInletOmegaFvPatchScalarField_H
94#define atmBoundaryLayerInletOmegaFvPatchScalarField_H
95
96#include "fvPatchFields.H"
98#include "atmBoundaryLayer.H"
99
100// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
101
102namespace Foam
103{
104
105/*---------------------------------------------------------------------------*\
106 Class atmBoundaryLayerInletOmegaFvPatchScalarField Declaration
107\*---------------------------------------------------------------------------*/
108
109class atmBoundaryLayerInletOmegaFvPatchScalarField
110:
111 public inletOutletFvPatchScalarField,
112 public atmBoundaryLayer
113{
114
115public:
116
117 //- Runtime type information
118 TypeName("atmBoundaryLayerInletOmega");
119
120
121 // Constructors
122
123 //- Construct from patch and internal field
125 (
126 const fvPatch&,
127 const DimensionedField<scalar, volMesh>&
128 );
129
130 //- Construct from patch, internal field and dictionary
132 (
133 const fvPatch&,
134 const DimensionedField<scalar, volMesh>&,
135 const dictionary&
136 );
137
138 //- Construct by mapping given
139 //- atmBoundaryLayerInletOmegaFvPatchScalarField onto a new patch
141 (
142 const atmBoundaryLayerInletOmegaFvPatchScalarField&,
143 const fvPatch&,
144 const DimensionedField<scalar, volMesh>&,
145 const fvPatchFieldMapper&
146 );
147
148 //- Construct and return a clone
150 {
152 (
154 );
155 }
156
157 //- Construct as copy setting internal field reference
159 (
162 );
163
164 //- Construct and return a clone setting internal field reference
166 (
168 ) const
169 {
171 (
173 );
174 }
175
176
177 // Member Functions
178
179 //- Update the coefficients associated with the patch field
180 virtual void updateCoeffs();
181
182
183 // Mapping
184
185 //- Map (and resize as needed) from self given a mapping object
186 virtual void autoMap
187 (
188 const fvPatchFieldMapper&
189 );
190
191 //- Reverse map the given fvPatchField onto this fvPatchField
192 virtual void rmap
193 (
194 const fvPatchScalarField&,
195 const labelList&
196 );
197
198
199 //- Write
200 virtual void write(Ostream&) const;
201};
202
203
204// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
206} // End namespace Foam
207
208// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
209
210#endif
211
212// ************************************************************************* //
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
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual tmp< fvPatchScalarField > clone(const DimensionedField< scalar, volMesh > &iF) const
Construct and return a clone setting internal field reference.
virtual tmp< fvPatchScalarField > clone() const
Construct and return a clone.
virtual void rmap(const fvPatchScalarField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
atmBoundaryLayerInletOmegaFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
TypeName("atmBoundaryLayerInletOmega")
Runtime type information.
Base class to set log-law type ground-normal inlet boundary conditions for wind velocity and turbulen...
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
A class for managing temporary objects.
Definition: tmp.H:65
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73