turbulentDispersionModel.H
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-2022 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::turbulentDispersionModel
26 
27 Description
28  Model for turbulent dispersion between two phases
29 
30 SourceFiles
31  turbulentDispersionModel.C
32  turbulentDispersionModelNew.C
33 
34 \*---------------------------------------------------------------------------*/
35 
36 #ifndef turbulentDispersionModel_H
37 #define turbulentDispersionModel_H
38 
39 #include "volFields.H"
40 #include "dictionary.H"
41 #include "runTimeSelectionTables.H"
43 
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 
46 namespace Foam
47 {
48 
49 /*---------------------------------------------------------------------------*\
50  Class turbulentDispersionModel Declaration
51 \*---------------------------------------------------------------------------*/
52 
54 {
55 public:
56 
57  //- Runtime type information
58  TypeName("turbulentDispersionModel");
59 
60 
61  // Declare runtime construction
62 
64  (
65  autoPtr,
67  dictionary,
68  (
69  const dictionary& dict,
70  const phaseInterface& interface
71  ),
72  (dict, interface)
73  );
74 
75  // Static Data Members
76 
77  //- Diffusivity dimensions
78  static const dimensionSet dimD;
79 
80  //- Does this model require correcting on fixed flux boundaries?
81  static const bool correctFixedFluxBCs = true;
82 
83 
84  // Constructors
85 
86  //- Construct from a dictionary and an interface
88  (
89  const dictionary& dict,
90  const phaseInterface& interface
91  );
92 
93 
94  //- Destructor
95  virtual ~turbulentDispersionModel();
96 
97 
98  // Selectors
99 
101  (
102  const dictionary& dict,
103  const phaseInterface& interface,
104  const bool outer=true
105  );
106 
107 
108  // Member Functions
109 
110  //- Return the turbulent diffusivity multiplying the gradient of the
111  // phase-fraction
112  virtual tmp<volScalarField> D() const = 0;
113 };
114 
115 
116 /*---------------------------------------------------------------------------*\
117  Class blendedTurbulentDispersionModel Declaration
118 \*---------------------------------------------------------------------------*/
121 :
122  public BlendedInterfacialModel<turbulentDispersionModel>
123 {
124 public:
125 
126  // Constructors
127 
128  //- Inherit base class constructors
129  using
131  BlendedInterfacialModel;
132 
133 
134  // Selectors
135 
137  (
138  const dictionary& dict,
139  const phaseInterface& interface
140  );
141 
142 
143  // Member Functions
144 
145  //- Return the turbulent diffusivity multiplying the gradient of the
146  // phase-fraction
147  tmp<volScalarField> D() const;
148 };
149 
150 
151 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
152 
153 } // End namespace Foam
154 
155 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
156 
157 #endif
158 
159 // ************************************************************************* //
dictionary dict
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:156
declareRunTimeSelectionTable(autoPtr, turbulentDispersionModel, dictionary,(const dictionary &dict, const phaseInterface &interface),(dict, interface))
void outer(FieldField< Field1, typename outerProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
Class to represent an interface between phases. Derivations can further specify the configuration of ...
static const bool correctFixedFluxBCs
Does this model require correcting on fixed flux boundaries?
Dimension set for the base types.
Definition: dimensionSet.H:121
virtual tmp< volScalarField > D() const =0
Return the turbulent diffusivity multiplying the gradient of the.
turbulentDispersionModel(const dictionary &dict, const phaseInterface &interface)
Construct from a dictionary and an interface.
virtual ~turbulentDispersionModel()
Destructor.
static autoPtr< turbulentDispersionModel > New(const dictionary &dict, const phaseInterface &interface, const bool outer=true)
TypeName("turbulentDispersionModel")
Runtime type information.
Model for turbulent dispersion between two phases.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:52
Macros to ease declaration of run-time selection tables.
A class for managing temporary objects.
Definition: PtrList.H:53
static const dimensionSet dimD
Diffusivity dimensions.
Namespace for OpenFOAM.