All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PDRkEpsilon.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::compressible::RASModels::PDRkEpsilon
26 
27 Description
28  Standard k-epsilon turbulence model with additional source terms
29  corresponding to PDR basic drag model (\link basic.H \endlink)
30 
31  The default model coefficients correspond to the following:
32  @verbatim
33  PDRkEpsilonCoeffs
34  {
35  Cmu 0.09;
36  C1 1.44;
37  C2 1.92;
38  C3 -0.33; // only for compressible
39  C4 0.1;
40  sigmak 1.0; // only for compressible
41  sigmaEps 1.3;
42  Prt 1.0; // only for compressible
43  }
44  @endverbatim
45 
46  The turbulence source term \f$ G_{R} \f$ appears in the
47  \f$ \kappa-\epsilon \f$ equation for the generation of turbulence due to
48  interaction with unresolved obstacles.
49 
50  In the \f$ \epsilon \f$ equation \f$ C_{1} G_{R} \f$ is added as a source
51  term.
52 
53  In the \f$ \kappa \f$ equation \f$ G_{R} \f$ is added as a source term.
54 
55 SourceFiles
56  PDRkEpsilon.C
57 
58 \*---------------------------------------------------------------------------*/
59 
60 #ifndef compressible_PDRkEpsilon_H
61 #define compressible_PDRkEpsilon_H
62 
63 #include "kEpsilon.H"
65 
66 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
67 
68 namespace Foam
69 {
70 namespace compressible
71 {
72 namespace RASModels
73 {
74 
75 /*---------------------------------------------------------------------------*\
76  Class PDRkEpsilon Declaration
77 \*---------------------------------------------------------------------------*/
78 
79 class PDRkEpsilon
80 :
81  public Foam::RASModels::kEpsilon<compressible::momentumTransportModel>
82 {
83  // Private Data
84 
85  // Model coefficients
87 
88 
89  // Protected Member Functions
90 
91  //- Bound epsilon and return Cmu*sqr(k) for nut
92  tmp<volScalarField> boundEpsilon();
93 
94  //- Correct the eddy-viscosity nut
95  virtual void correctNut();
96 
97 
98 public:
99 
100  //- Runtime type information
101  TypeName("PDRkEpsilon");
102 
103 
104  // Constructors
105 
106  //- Construct from components
108  (
109  const geometricOneField& alpha,
110  const volScalarField& rho,
111  const volVectorField& U,
112  const surfaceScalarField& alphaRhoPhi,
113  const surfaceScalarField& phi,
114  const viscosity& transport,
115  const word& modelName = typeName
116  );
117 
118 
119  //- Destructor
120  virtual ~PDRkEpsilon();
121 
122 
123  // Member Functions
124 
125  //- Solve the turbulence equations and correct the turbulence viscosity
126  void correct();
127 
128  //- Read momentumTransport dictionary
129  bool read();
130 };
131 
132 
133 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
134 
135 } // End namespace RASModels
136 } // End namespace compressible
137 } // End namespace Foam
138 
139 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 
141 #endif
142 
143 // ************************************************************************* //
Generic GeometricField class.
Standard k-epsilon turbulence model for incompressible and compressible flows including rapid distort...
Definition: kEpsilon.H:86
Standard k-epsilon turbulence model with additional source terms corresponding to PDR basic drag mode...
Definition: PDRkEpsilon.H:81
TypeName("PDRkEpsilon")
Runtime type information.
void correct()
Solve the turbulence equations and correct the turbulence viscosity.
Definition: PDRkEpsilon.C:120
PDRkEpsilon(const geometricOneField &alpha, const volScalarField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &transport, const word &modelName=typeName)
Construct from components.
Definition: PDRkEpsilon.C:65
bool read()
Read momentumTransport dictionary.
Definition: PDRkEpsilon.C:106
A class representing the concept of a GeometricField of 1 used to avoid unnecessary manipulations for...
A class for managing temporary objects.
Definition: tmp.H:55
Abstract base class for all fluid physical properties.
Definition: viscosity.H:50
A class for handling words, derived from string.
Definition: word.H:62
U
Definition: pEqn.H:72
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
Namespace for OpenFOAM.