Particle-drag model wherein drag forces (per unit carrier-fluid velocity) are dynamically computed based on the Wen-Yu drag model. More...
Public Member Functions | |
TypeName ("WenYuDrag") | |
Runtime type information. More... | |
WenYuDragForce (CloudType &owner, const fvMesh &mesh, const dictionary &dict) | |
Construct from mesh. More... | |
WenYuDragForce (const WenYuDragForce< CloudType > &df) | |
Construct copy. More... | |
virtual autoPtr< ParticleForce< CloudType > > | clone () const |
Construct and return a clone. More... | |
void | operator= (const WenYuDragForce< CloudType > &)=delete |
No copy assignment. More... | |
virtual | ~WenYuDragForce ()=default |
Destructor. More... | |
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. More... | |
Public Member Functions inherited from ParticleForce< CloudType > | |
TypeName ("particleForce") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, ParticleForce, dictionary,(CloudType &owner, const fvMesh &mesh, const dictionary &dict),(owner, mesh, dict)) | |
Declare runtime constructor selection table. More... | |
ParticleForce (CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType, const bool readCoeffs) | |
Construct from mesh. More... | |
ParticleForce (const ParticleForce &pf) | |
Construct copy. More... | |
virtual autoPtr< ParticleForce< CloudType > > | clone () const |
Construct and return a clone. More... | |
virtual | ~ParticleForce () |
Destructor. More... | |
const CloudType & | owner () const |
Return const access to the cloud owner. More... | |
CloudType & | owner () |
Return reference to the cloud owner. More... | |
const fvMesh & | mesh () const |
Return the mesh database. More... | |
const dictionary & | coeffs () const |
Return the force coefficients dictionary. More... | |
virtual void | cacheFields (const bool store) |
Cache fields. More... | |
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. More... | |
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. More... | |
virtual scalar | massAdd (const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar mass) const |
Return the added mass. More... | |
Additional Inherited Members | |
Public Types inherited from ParticleForce< CloudType > | |
typedef VectorSpace< Vector< vector >, vector, 2 > | returnType |
Convenience typedef for return type. More... | |
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. More... | |
Particle-drag model wherein drag forces (per unit carrier-fluid velocity) are dynamically computed based on the Wen-Yu drag model.
\[ \mathrm{F}_\mathrm{D} = \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} \]
with
\[ \mathrm{C}_\mathrm{D} = \frac{24}{\alpha_c \, \mathrm{Re}_p} \left(1 + \frac{1}{6}(\alpha_c \, \mathrm{Re}_p)^{2/3} \right) \quad \mathrm{if} \quad \alpha_c \, \mathrm{Re}_p < 1000 \]
\[ \mathrm{C}_\mathrm{D} = 0.44 \quad \mathrm{if} \quad \alpha_c \, \mathrm{Re}_p \geq 1000 \]
and
\[ \mathrm{Re}_p = \frac{\rho_c \, | \mathbf{u}_\mathrm{rel} | \, d_p}{\mu_c} \]
where
\( \mathrm{F}_\mathrm{D} \) | = | Drag force per carrier-fluid velocity [kg/s] |
\( \mathrm{C}_\mathrm{D} \) | = | Particle drag coefficient |
\( \mathrm{Re}_p \) | = | Particle Reynolds number |
\( \mu_c \) | = | Dynamic viscosity of carrier at the cell occupying particle |
\( d_p \) | = | Particle diameter |
\( \rho_c \) | = | Density of carrier at the cell occupying particle |
\( \mathbf{u}_\mathrm{rel} \) | = | Relative velocity between particle and carrier |
\( \alpha_c \) | = | Volume fraction of the carrier fluid |
References:
Standard model: Wen, C. Y., & Yu, Y. H., (1966). Mechanics of fluidization. Chem. Eng. Prog. Symp. Ser. 62, 100-111. 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.13-14, 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 { WenYuDrag { alphac <alphacName>; // e.g. alpha.air } } }
where the entries mean:
Property | Description | Type | Reqd | Deflt |
---|---|---|---|---|
type | Type name: WenYuDrag | word | yes | - |
alphac | Name of carrier fluid | word | yes | - |
Definition at line 198 of file WenYuDragForce.H.
WenYuDragForce | ( | CloudType & | owner, |
const fvMesh & | mesh, | ||
const dictionary & | dict | ||
) |
Construct from mesh.
Definition at line 49 of file WenYuDragForce.C.
WenYuDragForce | ( | const WenYuDragForce< CloudType > & | df | ) |
Construct copy.
Definition at line 68 of file WenYuDragForce.C.
|
virtualdefault |
Destructor.
TypeName | ( | "WenYuDrag" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone.
Reimplemented from ParticleForce< CloudType >.
Definition at line 234 of file WenYuDragForce.H.
|
delete |
No copy assignment.
|
virtual |
Calculate the coupled force.
Reimplemented from ParticleForce< CloudType >.
Definition at line 87 of file WenYuDragForce.C.
References p, Foam::pow(), Foam::Re(), Foam::sqr(), and Foam::Zero.