1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | foam-extend: Open Source CFD
4 \\ / O peration | Version: 3.2
5 \\ / A nd | Web: http://www.foam-extend.org
6 \\/ M anipulation | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
9 This file is part of foam-extend.
11 foam-extend is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by the
13 Free Software Foundation, either version 3 of the License, or (at your
14 option) any later version.
16 foam-extend is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
25 Foam::incompressible::RASModels::
26 immersedBoundaryOmegaWallFunctionFvPatchScalarField
29 Provides a wall function boundary condition/constraint on omega
33 omega = sqrt(omega_vis^2 + omega_log^2)
36 omega_vis = omega in viscous region
37 omega_log = omega in logarithmic region
39 Model described by Eq.(15) of:
42 "Elements of Industrial Heat Transfer Prediction"
43 16th Brazilian Congress of Mechanical Engineering (COBEM),
48 immersedBoundaryOmegaWallFunctionFvPatchScalarField.C
50 \*---------------------------------------------------------------------------*/
52 #ifndef immersedBoundaryOmegaWallFunctionFvPatchScalarField_H
53 #define immersedBoundaryOmegaWallFunctionFvPatchScalarField_H
55 #include "immersedBoundaryWallFunctionFvPatchFields.H"
57 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
61 namespace incompressible
66 /*---------------------------------------------------------------------------*\
67 Class immersedBoundaryOmegaWallFunctionFvPatchScalarField Declaration
68 \*---------------------------------------------------------------------------*/
70 class immersedBoundaryOmegaWallFunctionFvPatchScalarField
72 public immersedBoundaryWallFunctionFvPatchScalarField
76 //- Name of velocity field
79 //- Name of turbulence kinetic energy field
82 //- Name of turbulence generation field
85 //- Name of laminar viscosity field
88 //- Name of turbulent viscosity field
94 //- Von Karman constant
100 //- beta1 coefficient
106 //- Runtime type information
107 TypeName("immersedBoundaryOmegaWallFunction");
112 //- Construct from patch and internal field
113 immersedBoundaryOmegaWallFunctionFvPatchScalarField
116 const DimensionedField<scalar, volMesh>&
119 //- Construct from patch, internal field and dictionary
120 immersedBoundaryOmegaWallFunctionFvPatchScalarField
123 const DimensionedField<scalar, volMesh>&,
127 //- Construct by mapping given
128 // immersedBoundaryOmegaWallFunctionFvPatchScalarField
130 immersedBoundaryOmegaWallFunctionFvPatchScalarField
132 const immersedBoundaryOmegaWallFunctionFvPatchScalarField&,
134 const DimensionedField<scalar, volMesh>&,
135 const fvPatchFieldMapper&
138 //- Construct as copy
139 immersedBoundaryOmegaWallFunctionFvPatchScalarField
141 const immersedBoundaryOmegaWallFunctionFvPatchScalarField&
144 //- Construct and return a clone
145 virtual tmp<fvPatchScalarField> clone() const
147 return tmp<fvPatchScalarField>
149 new immersedBoundaryOmegaWallFunctionFvPatchScalarField
156 //- Construct as copy setting internal field reference
157 immersedBoundaryOmegaWallFunctionFvPatchScalarField
159 const immersedBoundaryOmegaWallFunctionFvPatchScalarField&,
160 const DimensionedField<scalar, volMesh>&
163 //- Construct and return a clone setting internal field reference
164 virtual tmp<fvPatchScalarField> clone
166 const DimensionedField<scalar, volMesh>& iF
169 return tmp<fvPatchScalarField>
171 new immersedBoundaryOmegaWallFunctionFvPatchScalarField
181 virtual ~immersedBoundaryOmegaWallFunctionFvPatchScalarField()
187 // Evaluation functions
189 //- Update the coefficients associated with the patch field
190 virtual void updateCoeffs();
192 //- Evaluate the patchField
193 virtual void evaluate
195 const Pstream::commsTypes = Pstream::blocking
202 void write(Ostream&) const;
206 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
208 } // End namespace RASModels
209 } // End namespace incompressible
210 } // End namespace Foam
212 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
216 // ************************************************************************* //