turbulentDispersionModel.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 | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2014-2015 OpenFOAM Foundation
9  Copyright (C) 2020 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
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 Class
28  Foam::turbulentDispersionModel
29 
30 Description
31 
32 SourceFiles
33  turbulentDispersionModel.C
34 
35 \*---------------------------------------------------------------------------*/
36 
37 #ifndef turbulentDispersionModel_H
38 #define turbulentDispersionModel_H
39 
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41 
42 #include "volFields.H"
43 #include "dictionary.H"
44 #include "runTimeSelectionTables.H"
45 
46 namespace Foam
47 {
48 
49 // Forward Declarations
50 class phasePair;
51 
52 /*---------------------------------------------------------------------------*\
53  Class turbulentDispersionModel Declaration
54 \*---------------------------------------------------------------------------*/
55 
56 class turbulentDispersionModel
57 {
58 protected:
59 
60  // Protected Data
61 
62  //- Phase pair
63  const phasePair& pair_;
64 
65 
66 public:
67 
68  //- Runtime type information
69  TypeName("turbulentDispersionModel");
70 
71 
72  // Declare runtime construction
73 
75  (
76  autoPtr,
78  dictionary,
79  (
80  const dictionary& dict,
81  const phasePair& pair
82  ),
83  (dict, pair)
84  );
85 
86  // Static Data Members
87 
88  //- Diffusivity dimensions
89  static const dimensionSet dimD;
90 
91  //- Force dimensions
92  static const dimensionSet dimF;
93 
94 
95  // Constructors
96 
97  //- Construct from a dictionary and a phase pair
99  (
100  const dictionary& dict,
101  const phasePair& pair
102  );
103 
104 
105  //- Destructor
106  virtual ~turbulentDispersionModel() = default;
107 
108 
109  // Selectors
110 
111  static autoPtr<turbulentDispersionModel> New
112  (
113  const dictionary& dict,
114  const phasePair& pair
115  );
116 
117 
118  // Member Functions
119 
120  //- Turbulent diffusivity
121  // multiplying the gradient of the phase-fraction
122  virtual tmp<volScalarField> D() const = 0;
123 
124  //- Turbulent dispersion force
125  virtual tmp<volVectorField> F() const;
126 };
127 
128 
129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
130 
131 } // End namespace Foam
132 
133 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
134 
135 #endif
136 
137 // ************************************************************************* //
virtual ~turbulentDispersionModel()=default
Destructor.
dictionary dict
virtual tmp< volVectorField > F() const
Turbulent dispersion force.
declareRunTimeSelectionTable(autoPtr, turbulentDispersionModel, dictionary,(const dictionary &dict, const phasePair &pair),(dict, pair))
static autoPtr< turbulentDispersionModel > New(const dictionary &dict, const phasePair &pair)
static const dimensionSet dimF
Force dimensions.
static const dimensionSet dimD
Diffusivity dimensions.
virtual tmp< volScalarField > D() const =0
Turbulent diffusivity.
const phasePair & pair_
Phase pair.
TypeName("turbulentDispersionModel")
Runtime type information.
Macros to ease declaration of run-time selection tables.
turbulentDispersionModel(const dictionary &dict, const phasePair &pair)
Construct from a dictionary and a phase pair.
Namespace for OpenFOAM.