Loading...
Searching...
No Matches
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,
43 const TransportModel& transportModel,
44 const word& propertiesName
45)
46:
48 <
52 TransportModel
53 >
54 (
55 alpha,
56 rho,
57 U,
59 phi,
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 );
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_,
144
145template<class TransportModel>
149 return devRhoReff();
150}
151
152
153template<class TransportModel>
156(
157 const volVectorField& U
158) const
160 return devRhoReff(U);
161}
162
163
164template<class TransportModel>
167(
169) const
171 return divDevRhoReff(U);
172}
173
174
175template<class TransportModel>
178{
181 return devReff();
182}
183
184
185template<class TransportModel>
188(
189 const volVectorField& U
190) const
191{
194 return nullptr;
195}
196
197
198template<class TransportModel>
201(
203) const
204{
206
207 return divDevReff(U);
208}
209
210
211// ************************************************************************* //
@ NO_READ
Nothing to be read.
@ NO_WRITE
Ignore writing from objectRegistry::writeObject().
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Definition IOobject.H:191
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.
static autoPtr< PhaseIncompressibleTurbulenceModel > New(const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const TransportModel &transportModel, const word &propertiesName=turbulenceModel::propertiesName)
Return a reference to the selected turbulence model.
virtual tmp< volSymmTensorField > devReff() const
Return the effective stress tensor.
virtual tmp< fvVectorMatrix > divDevRhoReff(volVectorField &U) const
Return the source term for the momentum equation.
PhaseIncompressibleTurbulenceModel(const word &type, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const TransportModel &transportModel, const word &propertiesName)
Construct.
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.
Templated abstract base class for turbulence models.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition autoPtr.H:65
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:75
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
Definition tmp.H:215
Base-class for all transport models used by the incompressible turbulence models.
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.
const surfaceScalarField & alphaRhoPhi_
virtual tmp< surfaceScalarField > phi() const
Return the volumetric flux field.
A class for handling words, derived from Foam::string.
Definition word.H:66
U
Definition pEqn.H:72
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Definition error.H:688
const dimensionSet dimPressure
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
GeometricField< vector, fvPatchField, volMesh > volVectorField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
static constexpr const zero Zero
Global zero (0).
Definition zero.H:127
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.