incompressibleTurbulenceModel.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 | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2013-2015 OpenFOAM Foundation
9 Copyright (C) 2019 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27Class
28 Foam::incompressibleTurbulenceModel
29
30Description
31 Abstract base class for turbulence models (RAS, LES and laminar).
32
33SourceFiles
34 incompressibleTurbulenceModel.C
35
36\*---------------------------------------------------------------------------*/
37
38#ifndef incompressibleTurbulenceModel_H
39#define incompressibleTurbulenceModel_H
40
41#include "turbulenceModel.H"
42#include "geometricOneField.H"
43
44// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46namespace Foam
47{
48
49// Forward declarations
50class fvMesh;
51
52/*---------------------------------------------------------------------------*\
53 Class incompressibleTurbulenceModel Declaration
54\*---------------------------------------------------------------------------*/
57:
58 public turbulenceModel
59{
60
61protected:
62
63 // Protected data
66
67
68 // Protected member functions
69
70 //- ***HGW Temporary function to be removed when the run-time selectable
71 // thermal transport layer is complete
72 virtual void correctNut()
73 {}
74
75
76private:
77
78 // Private Member Functions
79
80 //- No copy construct
82 (
84 ) = delete;
85
86 //- No copy assignment
87 void operator=(const incompressibleTurbulenceModel&) = delete;
88
89
90public:
91
92 //- Runtime type information
93 TypeName("incompressibleTurbulenceModel");
94
95
96 // Constructors
97
98 //- Construct from components
100 (
101 const geometricOneField& rho,
102 const volVectorField& U,
104 const surfaceScalarField& phi,
105 const word& propertiesName
106 );
107
108
109 //- Destructor
110 virtual ~incompressibleTurbulenceModel() = default;
111
112
113 // Member Functions
114
115 // Access functipons
116
117 //- Return rho
118
119
120 //- Return the laminar dynamic viscosity
121 virtual tmp<volScalarField> mu() const;
122
123 //- Return the laminar dynamic viscosity on patch
124 virtual tmp<scalarField> mu(const label patchi) const;
125
126 //- Return the turbulence dynamic viscosity
127 virtual tmp<volScalarField> mut() const;
128
129 //- Return the turbulence dynamic viscosity on patch
130 virtual tmp<scalarField> mut(const label patchi) const;
131
132 //- Return the effective dynamic viscosity
133 virtual tmp<volScalarField> muEff() const;
134
135 //- Return the effective dynamic viscosity on patch
136 virtual tmp<scalarField> muEff(const label patchi) const;
137
138 //- Return the effective stress tensor including the laminar stress
139 virtual tmp<volSymmTensorField> devReff() const = 0;
140
141 //- Return the effective stress tensor including
142 //- the laminar stress based on a given velocity field
144 (
145 const volVectorField& U
146 ) const = 0;
147
148 //- Return the source term for the momentum equation
150};
151
152
153// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154
155} // End namespace Foam
156
157// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158
159#endif
160
161// ************************************************************************* //
A class representing the concept of a GeometricField of 1 used to avoid unnecessary manipulations for...
Abstract base class for turbulence models (RAS, LES and laminar).
virtual void correctNut()
***HGW Temporary function to be removed when the run-time selectable
virtual tmp< volScalarField > muEff() const
Return the effective dynamic viscosity.
virtual tmp< volSymmTensorField > devReff() const =0
Return the effective stress tensor including the laminar stress.
virtual tmp< volSymmTensorField > devReff(const volVectorField &U) const =0
virtual tmp< fvVectorMatrix > divDevReff(volVectorField &U) const =0
Return the source term for the momentum equation.
TypeName("incompressibleTurbulenceModel")
Runtime type information.
virtual tmp< volScalarField > mu() const
Return rho.
virtual tmp< volScalarField > mut() const
Return the turbulence dynamic viscosity.
virtual ~incompressibleTurbulenceModel()=default
Destructor.
A class for managing temporary objects.
Definition: tmp.H:65
Abstract base class for turbulence models (RAS, LES and laminar).
const volVectorField & U() const
Access function to velocity field.
static const word propertiesName
Default name of the turbulence properties dictionary.
const surfaceScalarField & alphaRhoPhi() const
Access function to phase flux field.
virtual tmp< surfaceScalarField > phi() const
Return the volumetric flux field.
A class for handling words, derived from Foam::string.
Definition: word.H:68
Namespace for OpenFOAM.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73