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