DeardorffDiffStress.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-2016 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::DeardorffDiffStress
26 
27 Group
28  grpLESTurbulence
29 
30 Description
31  Differential SGS Stress Equation Model for incompressible and
32  compressible flows
33 
34  Reference:
35  \verbatim
36  Deardorff, J. W. (1973).
37  The use of subgrid transport equations in a three-dimensional model
38  of atmospheric turbulence.
39  Journal of Fluids Engineering, 95(3), 429-438.
40  \endverbatim
41 
42  This SGS model uses a full balance equation for the SGS stress tensor to
43  simulate the behaviour of B.
44 
45  This implementation is as described in the above paper except that the
46  triple correlation model of Donaldson is replaced with the generalized
47  gradient diffusion model of Daly and Harlow:
48  \verbatim
49  Daly, B. J., & Harlow, F. H. (1970).
50  Transport equations in turbulence.
51  Physics of Fluids (1958-1988), 13(11), 2634-2649.
52  \endverbatim
53  with the default value for the coefficient Cs of 0.25 from
54  \verbatim
55  Launder, B. E., Reece, G. J., & Rodi, W. (1975).
56  Progress in the development of a Reynolds-stress turbulence closure.
57  Journal of fluid mechanics, 68(03), 537-566.
58  \endverbatim
59 
60 SourceFiles
61  DeardorffDiffStress.C
62 
63 \*---------------------------------------------------------------------------*/
64 
65 #ifndef DeardorffDiffStress_H
66 #define DeardorffDiffStress_H
67 
68 #include "LESModel.H"
69 #include "ReynoldsStress.H"
70 
71 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
72 
73 namespace Foam
74 {
75 namespace LESModels
76 {
77 
78 /*---------------------------------------------------------------------------*\
79  Class DeardorffDiffStress Declaration
80 \*---------------------------------------------------------------------------*/
81 
82 template<class BasicTurbulenceModel>
84 :
85  public ReynoldsStress<LESModel<BasicTurbulenceModel>>
86 {
87  // Private Member Functions
88 
89  // Disallow default bitwise copy construct and assignment
91  void operator=(const DeardorffDiffStress&);
92 
93 
94 protected:
95 
96  // Protected data
97 
98  // Model constants
99 
104 
105 
106  // Protected Member Functions
107 
108  //- Update the eddy-viscosity
109  virtual void correctNut();
110 
111 
112 public:
114  typedef typename BasicTurbulenceModel::alphaField alphaField;
115  typedef typename BasicTurbulenceModel::rhoField rhoField;
116  typedef typename BasicTurbulenceModel::transportModel transportModel;
117 
118 
119  //- Runtime type information
120  TypeName("DeardorffDiffStress");
121 
122 
123  // Constructors
124 
125  //- Constructor from components
127  (
128  const alphaField& alpha,
129  const rhoField& rho,
130  const volVectorField& U,
131  const surfaceScalarField& alphaRhoPhi,
132  const surfaceScalarField& phi,
133  const transportModel& transport,
134  const word& propertiesName = turbulenceModel::propertiesName,
135  const word& type = typeName
136  );
137 
138 
139  //- Destructor
140  virtual ~DeardorffDiffStress()
141  {}
142 
143 
144  // Member Functions
145 
146  //- Read model coefficients if they have changed
147  virtual bool read();
148 
149  //- Return the turbulence kinetic energy dissipation rate
150  virtual tmp<volScalarField> epsilon() const;
151 
152  //- Correct sub-grid stress, eddy-Viscosity and related properties
153  virtual void correct();
154 };
155 
156 
157 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158 
159 } // End namespace LESModels
160 } // End namespace Foam
161 
162 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
163 
164 #ifdef NoRepository
165  #include "DeardorffDiffStress.C"
166 #endif
167 
168 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
169 
170 #endif
171 
172 // ************************************************************************* //
surfaceScalarField & phi
U
Definition: pEqn.H:83
Differential SGS Stress Equation Model for incompressible and compressible flows. ...
BasicTurbulenceModel::rhoField rhoField
BasicTurbulenceModel::alphaField alphaField
BasicTurbulenceModel::transportModel transportModel
TypeName("DeardorffDiffStress")
Runtime type information.
virtual void correct()
Correct sub-grid stress, eddy-Viscosity and related properties.
static const word propertiesName
Default name of the turbulence properties dictionary.
A class for handling words, derived from string.
Definition: word.H:59
fileName::Type type(const fileName &, const bool followLink=true)
Return the file type: DIRECTORY or FILE.
Definition: POSIX.C:485
virtual void correctNut()
Update the eddy-viscosity.
virtual bool read()
Read model coefficients if they have changed.
virtual tmp< volScalarField > epsilon() const
Return the turbulence kinetic energy dissipation rate.
A class for managing temporary objects.
Definition: PtrList.H:53
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
Namespace for OpenFOAM.
Reynolds-stress turbulence model base class.