1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 1991-2009 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 the
13 Free Software Foundation; either version 2 of the License, or (at your
14 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, write to the Free Software Foundation,
23 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
26 Foam::incompressible::RASModels::LienCubicKELowRe
29 Lien cubic non-linear low-Reynolds k-epsilon turbulence models for
34 Lien, F.S., Chen, W.L., Leschziner, M.A.,
35 "Low-Reynolds-number eddy-viscosity modeling based on non-linear
36 stress-strain/vorticity relations"
37 Engineering Turbulence Modelling and Experiments 3
38 (Edited by Rodi, W. and Bergeles, G.), 91-100. 1996.
39 Elsevier Science Publishers.
42 "Turbulent flow and heat transfer in a square-sectioned U bend"
43 Progress in compuational fluid dynamics 6, 89-100. 2006.
49 \*---------------------------------------------------------------------------*/
51 #ifndef LienCubicKELowRe_H
52 #define LienCubicKELowRe_H
57 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
61 namespace incompressible
66 /*---------------------------------------------------------------------------*\
67 Class LienCubicKELowRe Declaration
68 \*---------------------------------------------------------------------------*/
70 class LienCubicKELowRe
78 dimensionedScalar C1_;
79 dimensionedScalar C2_;
80 dimensionedScalar sigmak_;
81 dimensionedScalar sigmaEps_;
82 dimensionedScalar A1_;
83 dimensionedScalar A2_;
84 dimensionedScalar Ctau1_;
85 dimensionedScalar Ctau2_;
86 dimensionedScalar Ctau3_;
87 dimensionedScalar alphaKsi_;
89 dimensionedScalar CmuWall_;
90 dimensionedScalar kappa_;
92 dimensionedScalar Am_;
93 dimensionedScalar Aepsilon_;
94 dimensionedScalar Amu_;
100 volScalarField epsilon_;
104 volTensorField gradU_;
108 volScalarField fEta_;
109 volScalarField C5viscosity_;
111 volScalarField yStar_;
115 volSymmTensorField nonlinearStress_;
120 //- Runtime type information
121 TypeName("LienCubicKELowRe");
125 //- Construct from components
128 const volVectorField& U,
129 const surfaceScalarField& phi,
130 transportModel& transport
135 virtual ~LienCubicKELowRe()
141 //- Return the turbulence viscosity
142 virtual tmp<volScalarField> nut() const
147 //- Return the effective diffusivity for k
148 tmp<volScalarField> DkEff() const
150 return tmp<volScalarField>
152 new volScalarField("DkEff", nut_/sigmak_ + nu())
156 //- Return the effective diffusivity for epsilon
157 tmp<volScalarField> DepsilonEff() const
159 return tmp<volScalarField>
161 new volScalarField("DepsilonEff", nut_/sigmaEps_ + nu())
165 //- Return the turbulence kinetic energy
166 virtual tmp<volScalarField> k() const
171 //- Return the turbulence kinetic energy dissipation rate
172 virtual tmp<volScalarField> epsilon() const
177 //- Return the Reynolds stress tensor
178 virtual tmp<volSymmTensorField> R() const;
180 //- Return the effective stress tensor including the laminar stress
181 virtual tmp<volSymmTensorField> devReff() const;
183 //- Return the source term for the momentum equation
184 virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
186 //- Solve the turbulence equations and correct the turbulence viscosity
187 virtual void correct();
189 //- Read RASProperties dictionary
194 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
196 } // End namespace RASModels
197 } // Edn namespace incompressible
198 } // End namespace Foam
200 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
204 // ************************************************************************* //