1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
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::LRRDiffStress
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, hence,
33 d/dt(B) + div(U*B) - div(nuSgs*grad(B))
35 P - c1*e/k*B - 0.667*(1 - c1)*e*I - c2*(P - 0.333*trP*I)
38 epsilon = ce*k^3/2/delta
39 epsilon/k = ce*k^1/2/delta
41 nuEff = ck*sqrt(k)*delta + nu
44 This version from Launder, Rece & Rodi 1975
49 \*---------------------------------------------------------------------------*/
51 #ifndef LRRDiffStress_H
52 #define LRRDiffStress_H
54 #include "GenSGSStress.H"
56 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
60 namespace incompressible
65 /*---------------------------------------------------------------------------*\
66 Class LRRDiffStress Declaration
67 \*---------------------------------------------------------------------------*/
75 dimensionedScalar ck_;
76 dimensionedScalar c1_;
77 dimensionedScalar c2_;
80 // Private Member Functions
82 //- Update sub-grid scale fields
83 void updateSubGridScaleFields(const volScalarField& K);
85 // Disallow default bitwise copy construct and assignment
86 LRRDiffStress(const LRRDiffStress&);
87 LRRDiffStress& operator=(const LRRDiffStress&);
92 //- Runtime type information
93 TypeName("LRRDiffStress");
97 //- Construct from components
100 const volVectorField& U,
101 const surfaceScalarField& phi,
102 transportModel& transport
107 virtual ~LRRDiffStress()
113 //- Return the effective diffusivity for B
114 tmp<volScalarField> DBEff() const
116 return tmp<volScalarField>
118 new volScalarField("DBEff", nuSgs_ + nu())
122 //- Correct Eddy-Viscosity and related properties
123 virtual void correct(const tmp<volTensorField>& gradU);
125 //- Read LESProperties dictionary
130 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
132 } // End namespace LESModels
133 } // End namespace incompressible
134 } // End namespace Foam
136 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 // ************************************************************************* //