SpalartAllmarasDDES.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 | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2011-2016 OpenFOAM Foundation
9 Copyright (C) 2019 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27Class
28 Foam::LESModels::SpalartAllmarasDDES
29
30Group
31 grpDESTurbulence
32
33Description
34 SpalartAllmaras DDES turbulence model for incompressible and compressible
35 flows
36
37 Reference:
38 \verbatim
39 Spalart, P. R., Deck, S., Shur, M. L., Squires, K. D., Strelets, M. K.,
40 & Travin, A. (2006).
41 A new version of detached-eddy simulation, resistant to ambiguous grid
42 densities.
43 Theoretical and computational fluid dynamics, 20(3), 181-195.
44 \endverbatim
45
46SourceFiles
47 SpalartAllmarasDDES.C
48
49\*---------------------------------------------------------------------------*/
50
51#ifndef SpalartAllmarasDDES_H
52#define SpalartAllmarasDDES_H
53
54#include "SpalartAllmarasDES.H"
55
56// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
57
58namespace Foam
59{
60namespace LESModels
61{
62
63/*---------------------------------------------------------------------------*\
64 Class SpalartAllmarasDDES Declaration
65\*---------------------------------------------------------------------------*/
66
67template<class BasicTurbulenceModel>
69:
70 public SpalartAllmarasDES<BasicTurbulenceModel>
71{
72 // Private Member Functions
73
74 tmp<volScalarField> fd(const volScalarField& magGradU) const;
75
76 tmp<volScalarField> rd(const volScalarField& magGradU) const;
77
78 //- No copy construct
80
81 //- No copy assignment
82 void operator=(const SpalartAllmarasDDES&) = delete;
83
84
85protected:
86
87 // Protected data
88
89 // Model coefficients
93
94
95 // Protected Member Functions
96
97 //- Length scale
99 (
100 const volScalarField& chi,
101 const volScalarField& fv1,
102 const volTensorField& gradU
103 ) const;
104
105
106public:
108 typedef typename BasicTurbulenceModel::alphaField alphaField;
109 typedef typename BasicTurbulenceModel::rhoField rhoField;
110 typedef typename BasicTurbulenceModel::transportModel transportModel;
111
112
113 //- Runtime type information
114 TypeName("SpalartAllmarasDDES");
115
116
117 // Constructors
118
119 //- Construct from components
121 (
122 const alphaField& alpha,
123 const rhoField& rho,
124 const volVectorField& U,
125 const surfaceScalarField& alphaRhoPhi,
126 const surfaceScalarField& phi,
127 const transportModel& transport,
128 const word& propertiesName = turbulenceModel::propertiesName,
129 const word& type = typeName
130 );
131
132
133 //- Destructor
134 virtual ~SpalartAllmarasDDES() = default;
135
136
137 // Member Functions
138
139 //- Read from dictionary
140 virtual bool read();
141};
142
143
144// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
145
146} // End namespace LESModels
147} // End namespace Foam
148
149// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
150
151#ifdef NoRepository
152 #include "SpalartAllmarasDDES.C"
153#endif
154
155// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
156
157#endif
158
159// ************************************************************************* //
surfaceScalarField & phi
SpalartAllmaras DDES turbulence model for incompressible and compressible flows.
BasicTurbulenceModel::alphaField alphaField
BasicTurbulenceModel::rhoField rhoField
virtual ~SpalartAllmarasDDES()=default
Destructor.
BasicTurbulenceModel::transportModel transportModel
TypeName("SpalartAllmarasDDES")
Runtime type information.
virtual tmp< volScalarField > dTilda(const volScalarField &chi, const volScalarField &fv1, const volTensorField &gradU) const
Length scale.
virtual bool read()
Read from dictionary.
SpalartAllmarasDES DES turbulence model for incompressible and compressible flows.
tmp< volScalarField > chi() const
tmp< volScalarField > fv1(const volScalarField &chi) const
A class for managing temporary objects.
Definition: tmp.H:65
static const word propertiesName
Default name of the turbulence properties dictionary.
A class for handling words, derived from Foam::string.
Definition: word.H:68
U
Definition: pEqn.H:72
Namespace for OpenFOAM.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
Definition: MSwindows.C:598
volScalarField & alpha
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73