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 immersedBoundaryEpsilonWallFunctionFvPatchScalarField
29 Boundary condition for epsilon when using wall functions
30 - calculates y+, G, tangential velocity, nut and k
31 - each of calculated values is handled separately by the appropriate
33 - epsilon values added directly into the field to act as a constraint
36 immersedBoundaryEpsilonWallFunctionFvPatchScalarField.C
38 \*---------------------------------------------------------------------------*/
40 #ifndef immersedBoundaryEpsilonWallFunctionFvPatchScalarField_H
41 #define immersedBoundaryEpsilonWallFunctionFvPatchScalarField_H
43 #include "immersedBoundaryWallFunctionFvPatchFields.H"
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 namespace incompressible
54 /*---------------------------------------------------------------------------*\
55 Class immersedBoundaryEpsilonWallFunctionFvPatchScalarField Declaration
56 \*---------------------------------------------------------------------------*/
58 class immersedBoundaryEpsilonWallFunctionFvPatchScalarField
60 public immersedBoundaryWallFunctionFvPatchScalarField
64 //- Name of velocity field
67 //- Name of turbulence kinetic energy field
70 //- Name of turbulence generation field
73 //- Name of laminar viscosity field
76 //- Name of turbulent viscosity field
82 //- Von Karman constant
91 //- Runtime type information
92 TypeName("immersedBoundaryEpsilonWallFunction");
97 //- Construct from patch and internal field
98 immersedBoundaryEpsilonWallFunctionFvPatchScalarField
101 const DimensionedField<scalar, volMesh>&
104 //- Construct from patch, internal field and dictionary
105 immersedBoundaryEpsilonWallFunctionFvPatchScalarField
108 const DimensionedField<scalar, volMesh>&,
112 //- Construct by mapping given
113 // immersedBoundaryEpsilonWallFunctionFvPatchScalarField
115 immersedBoundaryEpsilonWallFunctionFvPatchScalarField
117 const immersedBoundaryEpsilonWallFunctionFvPatchScalarField&,
119 const DimensionedField<scalar, volMesh>&,
120 const fvPatchFieldMapper&
123 //- Construct as copy
124 immersedBoundaryEpsilonWallFunctionFvPatchScalarField
126 const immersedBoundaryEpsilonWallFunctionFvPatchScalarField&
129 //- Construct and return a clone
130 virtual tmp<fvPatchScalarField> clone() const
132 return tmp<fvPatchScalarField>
134 new immersedBoundaryEpsilonWallFunctionFvPatchScalarField
141 //- Construct as copy setting internal field reference
142 immersedBoundaryEpsilonWallFunctionFvPatchScalarField
144 const immersedBoundaryEpsilonWallFunctionFvPatchScalarField&,
145 const DimensionedField<scalar, volMesh>&
148 //- Construct and return a clone setting internal field reference
149 virtual tmp<fvPatchScalarField> clone
151 const DimensionedField<scalar, volMesh>& iF
154 return tmp<fvPatchScalarField>
156 new immersedBoundaryEpsilonWallFunctionFvPatchScalarField
166 virtual ~immersedBoundaryEpsilonWallFunctionFvPatchScalarField()
172 // Evaluation functions
174 //- Update the coefficients associated with the patch field
175 virtual void updateCoeffs();
177 //- Evaluate the patchField
178 virtual void evaluate
180 const Pstream::commsTypes = Pstream::blocking
187 void write(Ostream&) const;
191 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
193 } // End namespace RASModels
194 } // End namespace incompressible
195 } // End namespace Foam
197 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
201 // ************************************************************************* //