turbulentDispersionModel.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2014-2020 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 \*---------------------------------------------------------------------------*/
25 
27 #include "phasePair.H"
28 #include "fvcGrad.H"
29 #include "surfaceInterpolate.H"
30 #include "fvcSnGrad.H"
33 
34 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
35 
36 namespace Foam
37 {
38  defineTypeNameAndDebug(turbulentDispersionModel, 0);
39  defineBlendedInterfacialModelTypeNameAndDebug(turbulentDispersionModel, 0);
40  defineRunTimeSelectionTable(turbulentDispersionModel, dictionary);
41 }
42 
45 
46 
47 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
48 
50 (
51  const dictionary& dict,
52  const phasePair& pair
53 )
54 :
55  pair_(pair)
56 {}
57 
58 
59 // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
60 
62 {}
63 
64 
65 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
66 
69 {
70  return
71  pair_.phase1().mesh().lookupObject
72  <
74  >
75  (
77  (
78  momentumTransportModel::typeName,
80  )
81  );
82 }
83 
84 
87 {
88  return
89  D()
90  *fvc::grad
91  (
93  /max
94  (
97  )
98  );
99 }
100 
101 
104 {
105  return
106  pair_.phase1().mesh().magSf()
107  *(
109  *fvc::snGrad
110  (
111  pair_.dispersed()
112  /max
113  (
116  )
117  )
118  );
119 }
120 
121 
122 // ************************************************************************* //
Templated abstract base class for multiphase compressible turbulence models.
dictionary dict
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Definition: fvcGrad.C:52
PhaseCompressibleMomentumTransportModel< phaseModel > phaseCompressibleMomentumTransportModel
Typedef for phaseCompressibleMomentumTransportModel.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
const phaseModel & phase1() const
Return phase 1.
Definition: phasePairI.H:28
const word & name() const
Definition: phaseModel.H:109
Calculate the snGrad of the given volField.
virtual tmp< surfaceScalarField > Ff() const
Turbulent dispersion force on faces.
const phaseCompressibleMomentumTransportModel & continuousTurbulence() const
Return a reference to the turbulence model for the continuous phase.
virtual tmp< volVectorField > F() const
Turbulent dispersion force.
Dimension set for the base types.
Definition: dimensionSet.H:120
virtual const phaseModel & continuous() const
Continuous phase.
Calculate the gradient of the given field.
static word groupName(Name name, const word &group)
virtual ~turbulentDispersionModel()
Destructor.
const dimensionedScalar & residualAlpha() const
Return the residual phase-fraction for given phase.
virtual const phaseModel & dispersed() const
Dispersed phase.
static const dimensionSet dimF
Force dimensions.
defineRunTimeSelectionTable(reactionRateFlameArea, dictionary)
const Mesh & mesh() const
Return mesh.
defineTypeNameAndDebug(combustionModel, 0)
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
#define defineBlendedInterfacialModelTypeNameAndDebug(ModelType, DebugSwitch)
virtual tmp< volScalarField > D() const
Turbulent diffusivity.
A class for managing temporary objects.
Definition: PtrList.H:53
const phasePair & pair_
Phase pair.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
Definition: fvcSnGrad.C:45
turbulentDispersionModel(const dictionary &dict, const phasePair &pair)
Construct from a dictionary and a phase pair.
static const dimensionSet dimD
Diffusivity dimensions.
Namespace for OpenFOAM.