AttouFerschneider.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) 2018 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 Class
27  Foam::dragModels::AttouFerschneider
28 
29 Description
30  Attou and Ferschneider's Drag model for film flow through packed beds. The
31  implementation follows the description of Gunjal and Ranade, who, in the
32  reference below, formulate the model in more convenient terms.
33 
34  Reference:
35  \verbatim
36  Gunjal, P. R., & Ranade, V. V. (2007).
37  Modeling of laboratory and commercial scale hydro-processing reactors
38  using CFD.
39  Chemical Engineering Science, 62(18-20), 5512-5526.
40  \endverbatim
41 
42 SourceFiles
43  AttouFerschneider.C
44 
45 \*---------------------------------------------------------------------------*/
46 
47 #ifndef AttouFerschneider_H
48 #define AttouFerschneider_H
49 
50 #include "dragModel.H"
51 
52 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
53 
54 namespace Foam
55 {
56 
57 class phasePair;
58 class phaseModel;
59 
60 namespace dragModels
61 {
62 
63 /*---------------------------------------------------------------------------*\
64  Class AttouFerschneider Declaration
65 \*---------------------------------------------------------------------------*/
66 
68 :
69  public dragModel
70 {
71  // Private data
72 
73  //- Name of the gaseous phase
74  const word gasName_;
75 
76  //- Name of the liquidphase
77  const word liquidName_;
78 
79  //- Name of the solid phase
80  const word solidName_;
81 
82  //- Ergun constant 1
83  const dimensionedScalar E1_;
84 
85  //- Ergun constant 2
86  const dimensionedScalar E2_;
87 
88 
89  // Private member functions
90 
91  //- Return the momentum transfer coefficient between gas and liquid
92  virtual tmp<volScalarField> KGasLiquid
93  (
94  const phaseModel& gas,
95  const phaseModel& liquid
96  ) const;
97 
98  //- Return the momentum transfer coefficient between gas and solid
99  virtual tmp<volScalarField> KGasSolid
100  (
101  const phaseModel& gas,
102  const phaseModel& solid
103  ) const;
104 
105  //- Return the momentum transfer coefficient between liquid and solid
106  virtual tmp<volScalarField> KLiquidSolid
107  (
108  const phaseModel& liquid,
109  const phaseModel& solid
110  ) const;
111 
112 
113 public:
114 
115  //- Runtime type information
116  TypeName("AttouFerschneider");
117 
118 
119  // Constructors
120 
121  //- Construct from a dictionary and a phase pair
123  (
124  const dictionary& dict,
125  const phasePair& pair,
126  const bool registerObject
127  );
128 
129 
130  //- Destructor
131  virtual ~AttouFerschneider();
132 
133 
134  // Member Functions
135 
136  //- Drag coefficient
137  virtual tmp<volScalarField> CdRe() const;
138 
139  //- The drag coefficient used in the momentum equation
140  virtual tmp<volScalarField> K() const;
141 
142  //- The drag coefficient used in the face-momentum equations
143  virtual tmp<surfaceScalarField> Kf() const;
144 };
145 
146 
147 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
148 
149 } // End namespace dragModels
150 } // End namespace Foam
151 
152 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
153 
154 #endif
155 
156 // ************************************************************************* //
Foam::dragModels::AttouFerschneider::AttouFerschneider
AttouFerschneider(const dictionary &dict, const phasePair &pair, const bool registerObject)
Construct from a dictionary and a phase pair.
Definition: AttouFerschneider.C:109
Foam::dragModels::AttouFerschneider::Kf
virtual tmp< surfaceScalarField > Kf() const
The drag coefficient used in the face-momentum equations.
Definition: AttouFerschneider.C:181
Foam::phaseModel
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phaseModel.H:57
Foam::phasePair
Description for mass transfer between a pair of phases. The direction of the mass transfer is from th...
Definition: phasePair.H:51
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:62
Foam::tmp< volScalarField >
Foam::dragModels::AttouFerschneider::K
virtual tmp< volScalarField > K() const
The drag coefficient used in the momentum equation.
Definition: AttouFerschneider.C:145
Foam::dragModels::AttouFerschneider::TypeName
TypeName("AttouFerschneider")
Runtime type information.
Foam::IOobject::registerObject
bool registerObject() const
Should object created with this IOobject be registered?
Definition: IOobjectI.H:88
Foam::dragModels::AttouFerschneider::CdRe
virtual tmp< volScalarField > CdRe() const
Drag coefficient.
Definition: AttouFerschneider.C:133
dict
dictionary dict
Definition: searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:121
Foam::dimensioned< scalar >
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::dragModels::AttouFerschneider::~AttouFerschneider
virtual ~AttouFerschneider()
Destructor.
Definition: AttouFerschneider.C:126
Foam::dragModel
Definition: dragModel.H:55
Foam::dragModels::AttouFerschneider
Attou and Ferschneider's Drag model for film flow through packed beds. The implementation follows the...
Definition: AttouFerschneider.H:66