SpalartAllmarasIDDES.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) 2011-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::SpalartAllmarasIDDES
26 
27 Group
28  grpDESTurbulence
29 
30 Description
31  SpalartAllmaras IDDES turbulence model for incompressible and compressible
32  flows
33 
34  Reference:
35  \verbatim
36  Shur, M. L., Spalart, P. R., Strelets, M. K., & Travin, A. K. (2008).
37  A hybrid RANS-LES approach with delayed-DES and wall-modelled LES
38  capabilities.
39  International Journal of Heat and Fluid Flow, 29(6), 1638-1649.
40  \endverbatim
41 
42 SourceFiles
43  SpalartAllmarasIDDES.C
44 
45 \*---------------------------------------------------------------------------*/
46 
47 #ifndef SpalartAllmarasIDDES_H
48 #define SpalartAllmarasIDDES_H
49 
50 #include "SpalartAllmarasDES.H"
51 #include "IDDESDelta.H"
52 
53 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
54 
55 namespace Foam
56 {
57 namespace LESModels
58 {
59 
60 /*---------------------------------------------------------------------------*\
61  Class SpalartAllmarasIDDES Declaration
62 \*---------------------------------------------------------------------------*/
63 
64 template<class BasicTurbulenceModel>
66 :
67  public SpalartAllmarasDES<BasicTurbulenceModel>
68 {
69  // Private Member Functions
70 
71  //- Check that the supplied delta is an IDDESDelta
72  const IDDESDelta& setDelta() const;
73 
74  tmp<volScalarField> alpha() const;
75  tmp<volScalarField> ft(const volScalarField& magGradU) const;
76  tmp<volScalarField> fl(const volScalarField& magGradU) const;
77 
79  (
80  const volScalarField& nur,
81  const volScalarField& magGradU
82  ) const;
83 
84  //- Delay function
85  tmp<volScalarField> fdt(const volScalarField& magGradU) const;
86 
87  // Disallow default bitwise copy construct and assignment
90 
91 
92 protected:
93 
94  // Protected data
95 
96  // Model coefficients
97 
102 
103  // Fields
104 
105  const IDDESDelta& IDDESDelta_;
106 
107  // Protected Member Functions
108 
109  //- Length scale
111  (
112  const volScalarField& chi,
113  const volScalarField& fv1,
114  const volTensorField& gradU
115  ) const;
116 
117 
118 public:
119 
120  typedef typename BasicTurbulenceModel::alphaField alphaField;
121  typedef typename BasicTurbulenceModel::rhoField rhoField;
122  typedef typename BasicTurbulenceModel::transportModel transportModel;
123 
124 
125  //- Runtime type information
126  TypeName("SpalartAllmarasIDDES");
127 
128 
129  // Constructors
130 
131  //- Construct from components
133  (
134  const alphaField& alpha,
135  const rhoField& rho,
136  const volVectorField& U,
137  const surfaceScalarField& alphaRhoPhi,
138  const surfaceScalarField& phi,
139  const transportModel& transport,
140  const word& propertiesName = turbulenceModel::propertiesName,
141  const word& type = typeName
142  );
143 
144 
145  //- Destructor
146  virtual ~SpalartAllmarasIDDES()
147  {}
148 
149 
150  // Member Functions
151 
152  //- Re-read model coefficients if they have changed
153  virtual bool read();
154 };
155 
156 
157 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158 
159 } // End namespace LESModels
160 } // End namespace Foam
161 
162 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
163 
164 #ifdef NoRepository
165 # include "SpalartAllmarasIDDES.C"
166 #endif
167 
168 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
169 
170 #endif
171 
172 // ************************************************************************* //
Foam::LESModels::SpalartAllmarasIDDES
SpalartAllmaras IDDES turbulence model for incompressible and compressible flows.
Definition: SpalartAllmarasIDDES.H:64
Foam::word
A class for handling words, derived from string.
Definition: word.H:59
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:118
Foam::LESModels::SpalartAllmarasIDDES::Ct_
dimensionedScalar Ct_
Definition: SpalartAllmarasIDDES.H:100
Foam::LESModels::SpalartAllmarasIDDES::dTilda
virtual tmp< volScalarField > dTilda(const volScalarField &chi, const volScalarField &fv1, const volTensorField &gradU) const
Length scale.
Definition: SpalartAllmarasIDDES.C:121
phi
surfaceScalarField & phi
Definition: setRegionFluidFields.H:8
Foam::LESModels::SpalartAllmarasIDDES::rhoField
BasicTurbulenceModel::rhoField rhoField
Definition: SpalartAllmarasIDDES.H:120
Foam::LESModels::SpalartAllmarasIDDES::alpha
tmp< volScalarField > alpha() const
Definition: SpalartAllmarasIDDES.C:52
Foam::turbulenceModel::propertiesName
static const word propertiesName
Default name of the turbulence properties dictionary.
Definition: turbulenceModel.H:97
Foam::LESModels::SpalartAllmarasDES
SpalartAllmarasDES DES turbulence model for incompressible and compressible flows.
Definition: SpalartAllmarasDES.H:72
Foam::LESModels::DESModel::rhoField
BasicTurbulenceModel::rhoField rhoField
Definition: DESModel.H:71
Foam::LESModels::SpalartAllmarasIDDES::~SpalartAllmarasIDDES
virtual ~SpalartAllmarasIDDES()
Destructor.
Definition: SpalartAllmarasIDDES.H:145
Foam::LESModels::SpalartAllmarasIDDES::setDelta
const IDDESDelta & setDelta() const
Check that the supplied delta is an IDDESDelta.
Definition: SpalartAllmarasIDDES.C:38
Foam::LESModels::SpalartAllmarasIDDES::IDDESDelta_
const IDDESDelta & IDDESDelta_
Definition: SpalartAllmarasIDDES.H:104
Foam::LESModels::SpalartAllmarasIDDES::Cdt1_
dimensionedScalar Cdt1_
Definition: SpalartAllmarasIDDES.H:97
Foam::LESModels::IDDESDelta
Definition: IDDESDelta.H:52
U
U
Definition: pEqn.H:46
Foam::LESModels::SpalartAllmarasIDDES::operator=
SpalartAllmarasIDDES & operator=(const SpalartAllmarasIDDES &)
Foam::LESModels::SpalartAllmarasIDDES::read
virtual bool read()
Re-read model coefficients if they have changed.
Definition: SpalartAllmarasIDDES.C:235
Foam::LESModels::SpalartAllmarasDES::chi
tmp< volScalarField > chi() const
Definition: SpalartAllmarasDES.C:38
Foam::LESModels::SpalartAllmarasIDDES::fl
tmp< volScalarField > fl(const volScalarField &magGradU) const
Definition: SpalartAllmarasIDDES.C:70
Foam::LESModels::SpalartAllmarasIDDES::alphaField
BasicTurbulenceModel::alphaField alphaField
Definition: SpalartAllmarasIDDES.H:119
IDDESDelta.H
Foam::LESModels::SpalartAllmarasIDDES::Cdt2_
dimensionedScalar Cdt2_
Definition: SpalartAllmarasIDDES.H:98
Foam::dimensioned
Generic dimensioned Type class.
Definition: dimensionedScalarFwd.H:41
SpalartAllmarasDES.H
Foam::LESModels::DESModel::transportModel
BasicTurbulenceModel::transportModel transportModel
Definition: DESModel.H:72
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
rho
rho
Definition: pEqn.H:3
Foam::LESModels::SpalartAllmarasIDDES::SpalartAllmarasIDDES
SpalartAllmarasIDDES(const SpalartAllmarasIDDES &)
Foam::LESModels::SpalartAllmarasIDDES::TypeName
TypeName("SpalartAllmarasIDDES")
Runtime type information.
Foam::LESModels::SpalartAllmarasIDDES::Cl_
dimensionedScalar Cl_
Definition: SpalartAllmarasIDDES.H:99
Foam::LESModels::SpalartAllmarasIDDES::fdt
tmp< volScalarField > fdt(const volScalarField &magGradU) const
Delay function.
Definition: SpalartAllmarasIDDES.C:111
Foam::LESModels::SpalartAllmarasIDDES::transportModel
BasicTurbulenceModel::transportModel transportModel
Definition: SpalartAllmarasIDDES.H:121
SpalartAllmarasIDDES.C
Foam::LESModels::DESModel::alphaField
BasicTurbulenceModel::alphaField alphaField
Definition: DESModel.H:70
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::SpalartAllmarasDES::fv1
tmp< volScalarField > fv1(const volScalarField &chi) const
Definition: SpalartAllmarasDES.C:46
Foam::LESModels::SpalartAllmarasIDDES::ft
tmp< volScalarField > ft(const volScalarField &magGradU) const
Definition: SpalartAllmarasIDDES.C:60
Foam::LESModels::SpalartAllmarasIDDES::rd
tmp< volScalarField > rd(const volScalarField &nur, const volScalarField &magGradU) const
Definition: SpalartAllmarasIDDES.C:80