GidaspowErgunWenYuDrag.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) 2025 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::Lagrangian::GidaspowErgunWenYuDrag
26 
27 Description
28  Drag model of Gidaspow which switches between the drag models of Ergun and
29  Wen and Yu at different particulate volume dractions
30 
31  References:
32  \verbatim
33  Gidaspow, D. (1994).
34  Multiphase flow and fluidisation: continuum and kinetic theory
35  descriptions.
36  Academic press, New York.
37  \endverbatim
38 
39 Usage
40  Example specification:
41  \verbatim
42  <LagrangianModelName>
43  {
44  type GidaspowErgunWenYuDrag;
45  }
46  \endverbatim
47 
48 SourceFiles
49  GidaspowErgunWenYuDrag.C
50 
51 \*---------------------------------------------------------------------------*/
52 
53 #ifndef GidaspowErgunWenYuDrag_H
54 #define GidaspowErgunWenYuDrag_H
55 
56 #include "drag.H"
57 
58 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
59 
60 namespace Foam
61 {
62 namespace Lagrangian
63 {
64 
65 /*---------------------------------------------------------------------------*\
66  Class GidaspowErgunWenYuDrag Declaration
67 \*---------------------------------------------------------------------------*/
68 
70 :
71  public drag
72 {
73 private:
74 
75  // Private Member Functions
76 
77  //- Calculate the drag coefficient
78  virtual tmp<LagrangianSubScalarField> calcD
79  (
80  const LagrangianModelRef& model,
81  const LagrangianSubMesh& subMesh
82  ) const;
83 
84 
85  // Private Data
86 
87  //- The upper bound on the volume fraction
88  const scalar alphaMax_;
89 
90 
91 public:
92 
93  //- Runtime type information
94  TypeName("GidaspowErgunWenYuDrag");
95 
96 
97  // Constructors
98 
99  //- Construct from components
101  (
102  const word& name,
103  const LagrangianMesh& mesh,
104  const dictionary& modelDict,
105  const dictionary& stateDict
106  );
107 };
108 
109 
110 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
111 
112 } // End namespace Lagrangian
113 } // End namespace Foam
114 
115 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
116 
117 #endif
118 
119 // ************************************************************************* //
Class containing Lagrangian geometry and topology.
Simple wrapper to provide an optional reference to a Lagrangian model.
const LagrangianMesh & mesh() const
The mesh.
const word & name() const
The source name.
Mesh that relates to a sub-section of a Lagrangian mesh. This is used to construct fields that relate...
Drag model of Gidaspow which switches between the drag models of Ergun and Wen and Yu at different pa...
GidaspowErgunWenYuDrag(const word &name, const LagrangianMesh &mesh, const dictionary &modelDict, const dictionary &stateDict)
Construct from components.
TypeName("GidaspowErgunWenYuDrag")
Runtime type information.
Base class for Lagrangian drag models.
Definition: drag.H:55
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Definition: dictionary.H:162
static dictionary stateDict(const word &name, const objectRegistry &db)
Construct and return the state dictionary for reading.
Definition: stateModel.C:137
A class for managing temporary objects.
Definition: tmp.H:55
A class for handling words, derived from string.
Definition: word.H:63
Namespace for OpenFOAM.