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 | Copyright (C) 2013-2015 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
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.
15 
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.
20 
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/>.
23 
24 Class
25  Foam::incompressibleTurbulenceModel
26 
27 Description
28  Abstract base class for turbulence models (RAS, LES and laminar).
29 
30 SourceFiles
31  incompressibleTurbulenceModel.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef incompressibleTurbulenceModel_H
36 #define incompressibleTurbulenceModel_H
37 
38 #include "turbulenceModel.H"
39 #include "geometricOneField.H"
40 
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 
43 namespace Foam
44 {
45 
46 // Forward declarations
47 class fvMesh;
48 
49 /*---------------------------------------------------------------------------*\
50  Class incompressibleTurbulenceModel Declaration
51 \*---------------------------------------------------------------------------*/
52 
54 :
55  public turbulenceModel
56 {
57 
58 protected:
59 
60  // Protected data
61 
63 
64 
65  // Protected member functions
66 
67  //- ***HGW Temporary function to be removed when the run-time selectable
68  // thermal transport layer is complete
69  virtual void correctNut()
70  {}
71 
72 
73 private:
74 
75  // Private Member Functions
76 
77  //- Disallow default bitwise copy construct
79 
80  //- Disallow default bitwise assignment
81  void operator=(const incompressibleTurbulenceModel&);
82 
83 
84 public:
85 
86  //- Runtime type information
87  TypeName("incompressibleTurbulenceModel");
88 
89 
90  // Constructors
91 
92  //- Construct from components
94  (
95  const geometricOneField& rho,
96  const volVectorField& U,
98  const surfaceScalarField& phi,
99  const word& propertiesName
100  );
101 
102 
103  //- Destructor
105  {}
106 
107 
108  // Member Functions
109 
110  //- Return the laminar dynamic viscosity
111  virtual tmp<volScalarField> mu() const;
112 
113  //- Return the laminar dynamic viscosity on patch
114  virtual tmp<scalarField> mu(const label patchi) const;
115 
116  //- Return the turbulence dynamic viscosity
117  virtual tmp<volScalarField> mut() const;
118 
119  //- Return the turbulence dynamic viscosity on patch
120  virtual tmp<scalarField> mut(const label patchi) const;
121 
122  //- Return the effective dynamic viscosity
123  virtual tmp<volScalarField> muEff() const;
124 
125  //- Return the effective dynamic viscosity on patch
126  virtual tmp<scalarField> muEff(const label patchi) const;
127 
128  //- Return the effective stress tensor including the laminar stress
129  virtual tmp<volSymmTensorField> devReff() const = 0;
130 
131  //- Return the source term for the momentum equation
132  virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const = 0;
133 };
134 
135 
136 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
137 
138 } // End namespace Foam
139 
140 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
141 
142 #endif
143 
144 // ************************************************************************* //
virtual tmp< fvVectorMatrix > divDevReff(volVectorField &U) const =0
Return the source term for the momentum equation.
A class representing the concept of a GeometricField of 1 used to avoid unnecessary manipulations for...
virtual tmp< surfaceScalarField > phi() const
Return the volumetric flux field.
A class for handling words, derived from string.
Definition: word.H:59
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
const surfaceScalarField & alphaRhoPhi() const
Access function to phase flux field.
virtual tmp< volScalarField > mut() const
Return the turbulence dynamic viscosity.
Namespace for OpenFOAM.
virtual tmp< volScalarField > mu() const
Return the laminar dynamic viscosity.
label patchi
virtual tmp< volSymmTensorField > devReff() const =0
Return the effective stress tensor including the laminar stress.
Abstract base class for turbulence models (RAS, LES and laminar).
static const word propertiesName
Default name of the turbulence properties dictionary.
Abstract base class for turbulence models (RAS, LES and laminar).
const volVectorField & U() const
Access function to velocity field.
virtual tmp< volScalarField > muEff() const
Return the effective dynamic viscosity.
TypeName("incompressibleTurbulenceModel")
Runtime type information.
virtual void correctNut()
***HGW Temporary function to be removed when the run-time selectable
A class for managing temporary objects.
Definition: PtrList.H:118