PhaseIncompressibleTurbulenceModel.C
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-2017 OpenFOAM Foundation
9 Copyright (C) 2020 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
27\*---------------------------------------------------------------------------*/
28
30
31// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
32
33template<class TransportModel>
36(
37 const word& type,
39 const volScalarField& rho,
40 const volVectorField& U,
41 const surfaceScalarField& alphaRhoPhi,
43 const TransportModel& transportModel,
44 const word& propertiesName
45)
46:
48 <
52 TransportModel
53 >
54 (
55 alpha,
56 rho,
57 U,
58 alphaRhoPhi,
59 phi,
61 propertiesName
62 )
63{}
64
65
66// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * //
67
68template<class TransportModel>
71(
72 const volScalarField& rho,
73 const volVectorField& U,
74 const surfaceScalarField& alphaRhoPhi,
76 const TransportModel& transportModel,
77 const word& propertiesName
78)
79{
81 (
84 <
88 TransportModel
89 >::New
90 (
92 rho,
93 U,
94 alphaRhoPhi,
95 phi,
97 propertiesName
98 ).ptr())
99 );
100}
101
102
103// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
104
105template<class TransportModel>
108{
110 (
112 (
113 IOobject::groupName("pPrime", this->alphaRhoPhi_.group()),
114 this->runTime_.timeName(),
115 this->mesh_,
118 ),
119 this->mesh_,
121 );
122}
123
124
125template<class TransportModel>
128{
130 (
132 (
133 IOobject::groupName("pPrimef", this->alphaRhoPhi_.group()),
134 this->runTime_.timeName(),
135 this->mesh_,
138 ),
139 this->mesh_,
141 );
142}
143
144
145template<class TransportModel>
148{
149 return devRhoReff();
150}
151
152
153template<class TransportModel>
156(
157 const volVectorField& U
158) const
159{
160 return devRhoReff(U);
161}
162
163
164template<class TransportModel>
167(
169) const
170{
171 return divDevRhoReff(U);
172}
173
174
175template<class TransportModel>
178{
180
181 return devReff();
182}
183
184
185template<class TransportModel>
188(
189 const volVectorField& U
190) const
191{
193
194 return nullptr;
195}
196
197
198template<class TransportModel>
201(
203) const
204{
206
207 return divDevReff(U);
208}
209
210
211// ************************************************************************* //
surfaceScalarField & phi
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Definition: IOobject.H:170
static word groupName(StringType base, const word &group)
Create dot-delimited name.group string.
Templated abstract base class for multiphase incompressible turbulence models.
virtual tmp< fvVectorMatrix > divDevReff(volVectorField &U) const
Return the source term for the momentum equation.
virtual tmp< volSymmTensorField > devReff() const
Return the effective stress tensor.
virtual tmp< volScalarField > pPrime() const
Return the phase-pressure'.
virtual tmp< surfaceScalarField > pPrimef() const
Return the face-phase-pressure'.
virtual tmp< volSymmTensorField > devRhoReff() const
Return the effective stress tensor.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
Definition: Time.C:717
Templated abstract base class for turbulence models.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
tmp< volVectorField > divDevRhoReff()
Return the effective viscous stress (laminar + turbulent).
Definition: momentumError.C:52
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).
A class for managing temporary objects.
Definition: tmp.H:65
A class for handling words, derived from Foam::string.
Definition: word.H:68
U
Definition: pEqn.H:72
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Definition: error.H:517
const dimensionSet dimPressure
static constexpr const zero Zero
Global zero (0)
Definition: zero.H:131
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
volScalarField & alpha