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 // Forward Declarations
58 class phasePair;
59 class phaseModel;
60 
61 namespace dragModels
62 {
63 
64 /*---------------------------------------------------------------------------*\
65  Class AttouFerschneider Declaration
66 \*---------------------------------------------------------------------------*/
67 
69 :
70  public dragModel
71 {
72  // Private Data
73 
74  //- Name of the gaseous phase
75  const word gasName_;
76 
77  //- Name of the liquidphase
78  const word liquidName_;
79 
80  //- Name of the solid phase
81  const word solidName_;
82 
83  //- Ergun constant 1
84  const dimensionedScalar E1_;
85 
86  //- Ergun constant 2
87  const dimensionedScalar E2_;
88 
89 
90  // Private Member Functions
91 
92  //- Return the momentum transfer coefficient between gas and liquid
93  virtual tmp<volScalarField> KGasLiquid
94  (
95  const phaseModel& gas,
96  const phaseModel& liquid
97  ) const;
98 
99  //- Return the momentum transfer coefficient between gas and solid
100  virtual tmp<volScalarField> KGasSolid
101  (
102  const phaseModel& gas,
103  const phaseModel& solid
104  ) const;
105 
106  //- Return the momentum transfer coefficient between liquid and solid
107  virtual tmp<volScalarField> KLiquidSolid
108  (
109  const phaseModel& liquid,
110  const phaseModel& solid
111  ) const;
112 
113 
114 public:
115 
116  //- Runtime type information
117  TypeName("AttouFerschneider");
118 
119 
120  // Constructors
121 
122  //- Construct from a dictionary and a phase pair
124  (
125  const dictionary& dict,
126  const phasePair& pair,
127  const bool registerObject
128  );
129 
130 
131  //- Destructor
132  virtual ~AttouFerschneider() = default;
133 
134 
135  // Member Functions
136 
137  //- Drag coefficient
138  virtual tmp<volScalarField> CdRe() const;
139 
140  //- The drag coefficient used in the momentum equation
141  virtual tmp<volScalarField> K() const;
142 
143  //- The drag coefficient used in the face-momentum equations
144  virtual tmp<surfaceScalarField> Kf() const;
145 };
146 
147 
148 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
149 
150 } // End namespace dragModels
151 } // End namespace Foam
152 
153 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154 
155 #endif
156 
157 // ************************************************************************* //
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:175
Foam::phaseModel
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phaseModel.H:54
Foam::phasePair
Description for mass transfer between a pair of phases. The direction of the mass transfer is from th...
Definition: phasePair.H:53
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::dragModels::AttouFerschneider::~AttouFerschneider
virtual ~AttouFerschneider()=default
Destructor.
Foam::dragModels::AttouFerschneider::K
virtual tmp< volScalarField > K() const
The drag coefficient used in the momentum equation.
Definition: AttouFerschneider.C:139
Foam::liquid
Generic thermophysical properties class for a liquid in which the functions and coefficients for each...
Definition: liquid.H:54
Foam::dragModels::AttouFerschneider::TypeName
TypeName("AttouFerschneider")
Runtime type information.
Foam::dragModels::AttouFerschneider::CdRe
virtual tmp< volScalarField > CdRe() const
Drag coefficient.
Definition: AttouFerschneider.C:127
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:123
Foam::dimensioned< scalar >
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::dragModel
Definition: dragModel.H:51
Foam::dragModels::AttouFerschneider
Attou and Ferschneider's Drag model for film flow through packed beds. The implementation follows the...
Definition: AttouFerschneider.H:67