1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
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.
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
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/>.
25 Foam::incompressible::LESModels::DeardorffDiffStress
28 Differential SGS Stress Equation Model for incompressible flows
30 The DSEM uses a model version of the full balance equation for the SGS
31 stress tensor to simulate the behaviour of B.
34 d/dt(B) + div(U*B) - div(nuSgs*grad(B))
36 P - c1*epsilon/k*B - 0.667*(1 - c1)*epsilon*I - c2*(P - 0.333*trP*I)
41 epsilon = ce*k^3/2/delta,
42 epsilon/k = ce*k^1/2/delta
44 nuSgs = ck*sqrt(k)*delta
51 \*---------------------------------------------------------------------------*/
53 #ifndef DeardorffDiffStress_H
54 #define DeardorffDiffStress_H
56 #include "GenSGSStress.H"
58 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
62 namespace incompressible
67 /*---------------------------------------------------------------------------*\
68 Class DeardorffDiffStress Declaration
69 \*---------------------------------------------------------------------------*/
71 class DeardorffDiffStress
77 dimensionedScalar ck_;
78 dimensionedScalar cm_;
81 // Private Member Functions
83 //- Update sub-grid scale fields
84 void updateSubGridScaleFields(const volScalarField& K);
86 // Disallow default bitwise copy construct and assignment
87 DeardorffDiffStress(const DeardorffDiffStress&);
88 DeardorffDiffStress& operator=(const DeardorffDiffStress&);
93 //- Runtime type information
94 TypeName("DeardorffDiffStress");
98 //- Construct from components
101 const volVectorField& U,
102 const surfaceScalarField& phi,
103 transportModel& transport,
104 const word& turbulenceModelName = turbulenceModel::typeName,
105 const word& modelName = typeName
110 virtual ~DeardorffDiffStress()
116 //- Return the effective diffusivity for B
117 tmp<volScalarField> DBEff() const
119 return tmp<volScalarField>
121 new volScalarField("DBEff", nuSgs_ + nu())
125 //- Correct Eddy-Viscosity and related properties
126 virtual void correct(const tmp<volTensorField>& gradU);
128 //- Read LESProperties dictionary
133 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
135 } // End namespace LESModels
136 } // End namespace incompressible
137 } // End namespace Foam
139 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
143 // ************************************************************************* //