kOmegaSSTDES.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 | Copyright (C) 2015 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::LESModels::kOmegaSSTDES
26 
27 Group
28  grpDESTurbulence
29 
30 Description
31  k-omega-SST DES turbulence model for incompressible and compressible flows
32 
33  Reference:
34  \verbatim
35  Strelets, M. (2001)
36  Detached Eddy Simulation of Massively Separated Flows,
37  39th AIAA Aerospace Sciences Meeting and Exhibit, Reno, NV
38  \endverbatim
39 
40  Note: DES constants CDES_kom and CDES_keps have been re-calibrated to
41  OpenFOAM numerics via decaying isotropic turbulence test case
42 
43 SourceFiles
44  kOmegaSSTDES.C
45 
46 \*---------------------------------------------------------------------------*/
47 
48 #ifndef kOmegaSSTDES_H
49 #define kOmegaSSTDES_H
50 
51 #include "DESModel.H"
52 #include "kOmegaSSTBase.H"
53 
54 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
55 
56 namespace Foam
57 {
58 namespace LESModels
59 {
60 
61 /*---------------------------------------------------------------------------*\
62  class kOmegaSSTDES Declaration
63 \*---------------------------------------------------------------------------*/
64 
65 template<class BasicTurbulenceModel>
66 class kOmegaSSTDES
67 :
68  public kOmegaSSTBase<DESModel<BasicTurbulenceModel> >
69 {
70  // Private Member Functions
71 
72  // Disallow default bitwise copy construct and assignment
73  kOmegaSSTDES(const kOmegaSSTDES&);
75 
76 
77 protected:
78 
79  // Protected data
80 
81  // Model coefficients
82 
86 
87 
88  // Protected Member Functions
89 
90  //- Blending for CDES parameter
91  virtual tmp<volScalarField> CDES(const volScalarField& F1) const
92  {
93  return this->blend(F1, CDESkom_, CDESkeps_);
94  }
95 
96  virtual void correctNut(const volScalarField& S2);
97  virtual void correctNut();
98 
99  //- Length scale
101  (
102  const volScalarField& magGradU,
103  const volScalarField& CDES
104  ) const;
105 
106 
107 public:
108 
109  typedef typename BasicTurbulenceModel::alphaField alphaField;
110  typedef typename BasicTurbulenceModel::rhoField rhoField;
111  typedef typename BasicTurbulenceModel::transportModel transportModel;
112 
113 
114  //- Runtime type information
115  TypeName("kOmegaSSTDES");
116 
117 
118  // Constructors
119 
120  //- Construct from components
122  (
123  const alphaField& alpha,
124  const rhoField& rho,
125  const volVectorField& U,
126  const surfaceScalarField& alphaRhoPhi,
127  const surfaceScalarField& phi,
128  const transportModel& transport,
129  const word& propertiesName = turbulenceModel::propertiesName,
130  const word& type = typeName
131  );
132 
133 
134  //- Destructor
135  virtual ~kOmegaSSTDES()
136  {}
137 
138 
139  // Member Functions
140 
141  //- Re-read model coefficients if they have changed
142  virtual bool read();
143 
144  //- Solve the turbulence equations and correct the turbulence viscosity
145  virtual void correct();
146 
147  //- Return the LES field indicator
148  virtual tmp<volScalarField> LESRegion() const;
149 };
150 
151 
152 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
153 
154 } // End namespace LESModels
155 } // End namespace Foam
156 
157 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158 #ifdef NoRepository
159 # include "kOmegaSSTDES.C"
160 #endif
161 
162 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
163 #endif
164 
165 // ************************************************************************* //
Foam::word
A class for handling words, derived from string.
Definition: word.H:59
Foam::LESModels::kOmegaSSTDES
k-omega-SST DES turbulence model for incompressible and compressible flows
Definition: kOmegaSSTDES.H:65
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:118
Foam::kOmegaSSTBase< DESModel< BasicTurbulenceModel > >::F1
tmp< volScalarField > F1(const volScalarField &CDkOmega) const
Definition: kOmegaSSTBase.C:39
phi
surfaceScalarField & phi
Definition: setRegionFluidFields.H:8
Foam::constant::atomic::alpha
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
Definition: readThermalProperties.H:216
Foam::LESModels::kOmegaSSTDES::correct
virtual void correct()
Solve the turbulence equations and correct the turbulence viscosity.
Definition: kOmegaSSTDES.C:154
Foam::turbulenceModel::propertiesName
static const word propertiesName
Default name of the turbulence properties dictionary.
Definition: turbulenceModel.H:97
Foam::LESModels::kOmegaSSTDES::kappa_
dimensionedScalar kappa_
Definition: kOmegaSSTDES.H:82
Foam::LESModels::kOmegaSSTDES::kOmegaSSTDES
kOmegaSSTDES(const kOmegaSSTDES &)
Foam::LESModels::kOmegaSSTDES::read
virtual bool read()
Re-read model coefficients if they have changed.
Definition: kOmegaSSTDES.C:136
DESModel.H
Foam::kOmegaSSTBase< DESModel< BasicTurbulenceModel > >::blend
tmp< volScalarField > blend(const volScalarField &F1, const dimensionedScalar &psi1, const dimensionedScalar &psi2) const
Definition: kOmegaSSTBase.H:172
U
U
Definition: pEqn.H:46
Foam::LESModels::kOmegaSSTDES::CDESkom_
dimensionedScalar CDESkom_
Definition: kOmegaSSTDES.H:83
Foam::LESModels::kOmegaSSTDES::~kOmegaSSTDES
virtual ~kOmegaSSTDES()
Destructor.
Definition: kOmegaSSTDES.H:134
Foam::LESModels::kOmegaSSTDES::operator=
kOmegaSSTDES & operator=(const kOmegaSSTDES &)
Foam::LESModels::kOmegaSSTDES::CDESkeps_
dimensionedScalar CDESkeps_
Definition: kOmegaSSTDES.H:84
kOmegaSSTBase.H
Foam::LESModels::kOmegaSSTDES::dTilda
virtual tmp< volScalarField > dTilda(const volScalarField &magGradU, const volScalarField &CDES) const
Length scale.
Definition: kOmegaSSTDES.C:57
Foam::dimensioned
Generic dimensioned Type class.
Definition: dimensionedScalarFwd.H:41
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
kOmegaSSTDES.C
Foam::LESModels::kOmegaSSTDES::CDES
virtual tmp< volScalarField > CDES(const volScalarField &F1) const
Blending for CDES parameter.
Definition: kOmegaSSTDES.H:90
Foam::LESModels::kOmegaSSTDES::transportModel
BasicTurbulenceModel::transportModel transportModel
Definition: kOmegaSSTDES.H:110
rho
rho
Definition: pEqn.H:3
Foam::LESModels::kOmegaSSTDES::TypeName
TypeName("kOmegaSSTDES")
Runtime type information.
Foam::LESModels::kOmegaSSTDES::alphaField
BasicTurbulenceModel::alphaField alphaField
Definition: kOmegaSSTDES.H:108
Foam::LESModels::kOmegaSSTDES::correctNut
virtual void correctNut()
Definition: kOmegaSSTDES.C:49
Foam::type
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
Definition: POSIX.C:588
Foam::GeometricField
Generic GeometricField class.
Definition: surfaceFieldsFwd.H:52
Foam::LESModels::kOmegaSSTDES::LESRegion
virtual tmp< volScalarField > LESRegion() const
Return the LES field indicator.
Definition: kOmegaSSTDES.C:244
Foam::LESModels::kOmegaSSTDES::rhoField
BasicTurbulenceModel::rhoField rhoField
Definition: kOmegaSSTDES.H:109
Foam::kOmegaSSTBase
Base class implementation of the k-omega-SST turbulence model for incompressible and compressible flo...
Definition: kOmegaSSTBase.H:115