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-------------------------------------------------------------------------------
10License
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
26Class
27 Foam::dragModels::AttouFerschneider
28
29Description
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
42SourceFiles
43 AttouFerschneider.C
44
45\*---------------------------------------------------------------------------*/
46
47#ifndef AttouFerschneider_H
48#define AttouFerschneider_H
49
50#include "dragModel.H"
51
52// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
53
54namespace Foam
55{
56
57// Forward Declarations
58class phasePair;
59class phaseModel;
60
61namespace dragModels
62{
63
64/*---------------------------------------------------------------------------*\
65 Class AttouFerschneider Declaration
66\*---------------------------------------------------------------------------*/
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
114public:
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// ************************************************************************* //
bool registerObject() const noexcept
Should object created with this IOobject be registered?
Definition: IOobjectI.H:107
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
Attou and Ferschneider's Drag model for film flow through packed beds. The implementation follows the...
virtual tmp< surfaceScalarField > Kf() const
The drag coefficient used in the face-momentum equations.
TypeName("AttouFerschneider")
Runtime type information.
virtual tmp< volScalarField > K() const
The drag coefficient used in the momentum equation.
virtual ~AttouFerschneider()=default
Destructor.
virtual tmp< volScalarField > CdRe() const
Drag coefficient.
Generic thermophysical properties class for a liquid in which the functions and coefficients for each...
Definition: liquid.H:57
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phaseModel.H:61
Description for mass transfer between a pair of phases. The direction of the mass transfer is from th...
Definition: phasePair.H:56
A class for managing temporary objects.
Definition: tmp.H:65
A class for handling words, derived from Foam::string.
Definition: word.H:68
Namespace for OpenFOAM.
dictionary dict
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73