Initial commit for version 2.0.x patch release
[OpenFOAM-2.0.x.git] / src / turbulenceModels / incompressible / LES / SpalartAllmarasDDES / SpalartAllmarasDDES.H
blob048a7a4b544bfb24a658b8c4f40c9ec65583ee32
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2008-2011 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
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
19     for more details.
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/>.
24 Class
25     Foam::incompressible::LESModels::SpalartAllmarasDDES
27 Description
28     SpalartAllmaras DDES LES turbulence model for incompressible flows
30     Reference:
31     P.R. Spalart, S. Deck, S., M.L.Shur, K.D. Squires, M.Kh Strelets, and
32     A. Travin. `A new version of detached-eddy simulation, resistant to
33     ambiguous grid densities'. Theor. Comp. Fluid Dyn., 20:181-195, 2006.
35 SourceFiles
36     SpalartAllmarasDDES.C
38 \*---------------------------------------------------------------------------*/
40 #ifndef SpalartAllmarasDDES_H
41 #define SpalartAllmarasDDES_H
43 #include "SpalartAllmaras.H"
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 namespace Foam
49 namespace incompressible
51 namespace LESModels
54 /*---------------------------------------------------------------------------*\
55                         Class SpalartAllmarasDDES Declaration
56 \*---------------------------------------------------------------------------*/
58 class SpalartAllmarasDDES
60     public SpalartAllmaras
62     // Private Member Functions
64         tmp<volScalarField> fd(const volScalarField& S) const;
66         tmp<volScalarField> rd
67         (
68             const volScalarField& visc,
69             const volScalarField& S
70         ) const;
72         // Disallow default bitwise copy construct and assignment
73         SpalartAllmarasDDES(const SpalartAllmarasDDES&);
74         SpalartAllmarasDDES& operator=(const SpalartAllmarasDDES&);
77 protected:
79     // Protected Member Functions
81         //- Length scale
82         virtual tmp<volScalarField> dTilda(const volScalarField& S) const;
84         virtual tmp<volScalarField> S(const volTensorField& gradU) const;
87 public:
89     //- Runtime type information
90     TypeName("SpalartAllmarasDDES");
93     // Constructors
95         //- Construct from components
96         SpalartAllmarasDDES
97         (
98             const volVectorField& U,
99             const surfaceScalarField& phi,
100             transportModel& transport,
101             const word& turbulenceModelName = turbulenceModel::typeName,
102             const word& modelName = typeName
103         );
106     //- Destructor
107     virtual ~SpalartAllmarasDDES()
108     {}
112 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
114 } // End namespace LESModels
115 } // End namespace incompressible
116 } // End namespace Foam
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
120 #endif
122 // ************************************************************************* //