AttouFerschneider.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) 2018 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::dragModels::AttouFerschneider
26 
27 Description
28  Attou and Ferschneider's Drag model for film flow through packed beds. The
29  implementation follows the description of Gunjal and Ranade, who, in the
30  reference below, formulate the model in more convenient terms.
31 
32  Reference:
33  \verbatim
34  "Modeling of laboratory and commercial scale hydro-processing reactors
35  using CFD"
36  Gunjal, P.R., Ranade, V.V.,
37  Chemical Engineering Science
38  Volume 62, Issues 18-20, September-October 2007, pp. 5512 - 5526
39  \endverbatim
40 
41 SourceFiles
42  AttouFerschneider.C
43 
44 \*---------------------------------------------------------------------------*/
45 
46 #ifndef AttouFerschneider_H
47 #define AttouFerschneider_H
48 
49 #include "dragModel.H"
50 
51 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 
53 namespace Foam
54 {
55 
56 class phasePair;
57 class phaseModel;
58 
59 namespace dragModels
60 {
61 
62 /*---------------------------------------------------------------------------*\
63  Class AttouFerschneider Declaration
64 \*---------------------------------------------------------------------------*/
65 
67 :
68  public dragModel
69 {
70  // Private data
71 
72  //- Name of the gaseous phase
73  const word gasName_;
74 
75  //- Name of the liquidphase
76  const word liquidName_;
77 
78  //- Name of the solid phase
79  const word solidName_;
80 
81  //- Ergun constant 1
82  const dimensionedScalar E1_;
83 
84  //- Ergun constant 2
85  const dimensionedScalar E2_;
86 
87 
88  // Private member functions
89 
90  //- Return the momentum transfer coefficient between gas and liquid
91  virtual tmp<volScalarField> KGasLiquid
92  (
93  const phaseModel& gas,
94  const phaseModel& liquid
95  ) const;
96 
97  //- Return the momentum transfer coefficient between gas and solid
98  virtual tmp<volScalarField> KGasSolid
99  (
100  const phaseModel& gas,
101  const phaseModel& solid
102  ) const;
103 
104  //- Return the momentum transfer coefficient between liquid and solid
105  virtual tmp<volScalarField> KLiquidSolid
106  (
107  const phaseModel& liquid,
108  const phaseModel& solid
109  ) const;
110 
111 
112 public:
113 
114  //- Runtime type information
115  TypeName("AttouFerschneider");
116 
117 
118  // Constructors
119 
120  //- Construct from a dictionary and a phase pair
122  (
123  const dictionary& dict,
124  const phasePair& pair,
125  const bool registerObject
126  );
127 
128 
129  //- Destructor
130  virtual ~AttouFerschneider();
131 
132 
133  // Member Functions
134 
135  //- Drag coefficient
136  virtual tmp<volScalarField> CdRe() const;
137 
138  //- The drag coefficient used in the momentum equation
139  virtual tmp<volScalarField> K() const;
140 
141  //- The drag coefficient used in the face-momentum equations
142  virtual tmp<surfaceScalarField> Kf() const;
143 };
144 
145 
146 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
147 
148 } // End namespace dragModels
149 } // End namespace Foam
150 
151 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
152 
153 #endif
154 
155 // ************************************************************************* //
dictionary dict
virtual tmp< volScalarField > K() const
The drag coefficient used in the momentum equation.
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:137
virtual tmp< surfaceScalarField > Kf() const
The drag coefficient used in the face-momentum equations.
virtual ~AttouFerschneider()
Destructor.
AttouFerschneider(const dictionary &dict, const phasePair &pair, const bool registerObject)
Construct from a dictionary and a phase pair.
TypeName("AttouFerschneider")
Runtime type information.
A class for handling words, derived from string.
Definition: word.H:59
Attou and Ferschneider&#39;s Drag model for film flow through packed beds. The implementation follows the...
A class for managing temporary objects.
Definition: PtrList.H:53
bool & registerObject()
Register object created from this IOobject with registry if true.
Definition: IOobject.H:333
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phaseModel.H:53
virtual tmp< volScalarField > CdRe() const
Drag coefficient.
Namespace for OpenFOAM.