Particle-drag model wherein drag forces (per unit carrier-fluid velocity) are dynamically computed based on the Gidaspow drag model which is a switch-like combination of the Wen-Yu and Ergun drag models. More...
#include <ErgunWenYuDragForce.H>


Public Member Functions | |
| TypeName ("ErgunWenYuDrag") | |
| Runtime type information. | |
| ErgunWenYuDragForce (CloudType &owner, const fvMesh &mesh, const dictionary &dict) | |
| Construct from mesh. | |
| ErgunWenYuDragForce (const ErgunWenYuDragForce< CloudType > &df) | |
| Construct copy. | |
| virtual autoPtr< ParticleForce< CloudType > > | clone () const |
| Construct and return a clone. | |
| void | operator= (const ErgunWenYuDragForce< CloudType > &)=delete |
| No copy assignment. | |
| virtual | ~ErgunWenYuDragForce ()=default |
| Destructor. | |
| virtual forceSuSp | calcCoupled (const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar dt, const scalar mass, const scalar Re, const scalar muc) const |
| Calculate the coupled force. | |
| Public Member Functions inherited from ParticleForce< CloudType > | |
| TypeName ("particleForce") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, ParticleForce, dictionary,(CloudType &owner, const fvMesh &mesh, const dictionary &dict),(owner, mesh, dict)) | |
| Declare runtime constructor selection table. | |
| ParticleForce (CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType, const bool readCoeffs) | |
| Construct from mesh. | |
| ParticleForce (const ParticleForce &pf) | |
| Construct copy. | |
| virtual | ~ParticleForce () |
| Destructor. | |
| const CloudType & | owner () const noexcept |
| Return const access to the cloud owner. | |
| CloudType & | owner () noexcept |
| Return reference to the cloud owner. | |
| const fvMesh & | mesh () const noexcept |
| Return the mesh database. | |
| const dictionary & | coeffs () const noexcept |
| Return the force coefficients dictionary. | |
| virtual void | cacheFields (const bool store) |
| Cache fields. | |
| virtual forceSuSp | calcNonCoupled (const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar dt, const scalar mass, const scalar Re, const scalar muc) const |
| Calculate the non-coupled force. | |
| virtual scalar | massAdd (const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar mass) const |
| Return the added mass. | |
Additional Inherited Members | |
| Public Types inherited from ParticleForce< CloudType > | |
| typedef VectorSpace< Vector< vector >, vector, 2 > | returnType |
| Convenience typedef for return type. | |
| Static Public Member Functions inherited from ParticleForce< CloudType > | |
| static autoPtr< ParticleForce< CloudType > > | New (CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType) |
| Selector. | |
Particle-drag model wherein drag forces (per unit carrier-fluid velocity) are dynamically computed based on the Gidaspow drag model which is a switch-like combination of the Wen-Yu and Ergun drag models.
![\[ \mathrm{F}_{\mathrm{D}, Wen-Yu} =
\frac{3}{4}
\frac{(1 - \alpha_c) \, \mu_c \, \alpha_c \, \mathrm{Re}_p }{d_p^2}
\mathrm{C}_\mathrm{D} \, \alpha_c^{-2.65}
\]](form_604.png)
![\[ \mathrm{F}_{\mathrm{D}, Ergun} =
\left(150 \frac{1-\alpha_c}{\alpha_c} + 1.75 \mathrm{Re}_p \right)
\frac{(1-\alpha_c) \, \mu_c}{d_p^2}
\]](form_605.png)
![\[ \mathrm{F}_\mathrm{D} = \mathrm{F}_{\mathrm{D}, Wen-Yu}
\quad \mathrm{if} \quad \alpha_c \geq 0.8
\]](form_606.png)
![\[ \mathrm{F}_\mathrm{D} = \mathrm{F}_{\mathrm{D}, Ergun}
\quad \mathrm{if} \quad \alpha_c < 0.8
\]](form_607.png)
with
![\[ \mathrm{Re}_p =
\frac{\rho_c \, | \mathbf{u}_\mathrm{rel} | \, d_p}{\mu_c}
\]](form_576.png)
where
![]() | = | Drag force per carrier-fluid velocity [kg/s] |
![]() | = | Particle drag coefficient |
![]() | = | Particle Reynolds number |
![]() | = | Dynamic viscosity of carrier at the cell occupying particle |
![]() | = | Particle diameter |
![]() | = | Density of carrier at the cell occupying particle |
![]() | = | Relative velocity between particle and carrier |
![]() | = | Volume fraction of carrier fluid |
References:
Standard model (tag:G):
Gidaspow, D. (1994).
Multiphase flow and fluidization:
continuum and kinetic theory descriptions.
Academic press.
Drag-coefficient model:
Schiller, L., & Naumann, A. (1935).
Über die grundlegenden Berechnungen bei der Schwerkraftaufbereitung.
Z. Ver. Dtsch. Ing., 77: 318–326.
Expressions (tags:ZZB, GLSLR), (Eq.16-18, Table 3):
Zhou, L., Zhang, L., Bai, L., Shi, W.,
Li, W., Wang, C., & Agarwal, R. (2017).
Experimental study and transient CFD/DEM simulation in
a fluidized bed based on different drag models.
RSC advances, 7(21), 12764-12774.
DOI:10.1039/C6RA28615A
Gao, X., Li, T., Sarkar, A., Lu, L., & Rogers, W. A. (2018).
Development and validation of an enhanced filtered drag model
for simulating gas-solid fluidization of Geldart A particles
in all flow regimes.
Chemical Engineering Science, 184, 33-51.
DOI:10.1016/j.ces.2018.03.038
constant/<CloudProperties>: subModels
{
particleForces
{
ErgunWenYuDrag
{
alphac <alphacName>; // e.g. alpha.air
}
}
}
where the entries mean:
| Property | Description | Type | Reqd | Deflt |
|---|---|---|---|---|
type | Type name: ErgunWenYuDrag | word | yes | - |
alphac | Name of carrier fluid | word | yes | - |

Definition at line 204 of file ErgunWenYuDragForce.H.
| ErgunWenYuDragForce | ( | CloudType & | owner, |
| const fvMesh & | mesh, | ||
| const dictionary & | dict ) |
Construct from mesh.
Definition at line 43 of file ErgunWenYuDragForce.C.
References ParticleForce< CloudType >::coeffs(), dict, Foam::GlobalIOList< Tuple2< scalar, vector > >::typeName, ParticleForce< CloudType >::mesh(), ParticleForce< CloudType >::owner(), and ParticleForce< CloudType >::ParticleForce().
Referenced by clone(), ErgunWenYuDragForce(), operator=(), and TypeName().


Construct copy.
Definition at line 62 of file ErgunWenYuDragForce.C.
References ParticleForce< CloudType >::coeffs(), ErgunWenYuDragForce(), ParticleForce< CloudType >::mesh(), and ParticleForce< CloudType >::ParticleForce().

|
virtualdefault |
| TypeName | ( | "ErgunWenYuDrag" | ) |
Runtime type information.
References dict, ErgunWenYuDragForce(), ParticleForce< CloudType >::mesh(), and ParticleForce< CloudType >::owner().

|
inlinevirtual |
Construct and return a clone.
Reimplemented from ParticleForce< CloudType >.
Definition at line 252 of file ErgunWenYuDragForce.H.
References ErgunWenYuDragForce().

|
delete |
|
virtual |
Calculate the coupled force.
Reimplemented from ParticleForce< CloudType >.
Definition at line 81 of file ErgunWenYuDragForce.C.
References p, Foam::pow(), Foam::Re(), Foam::sqr(), td(), and Foam::Zero.
