Particle-drag model wherein drag forces (per unit carrier-fluid velocity) are dynamically computed based on empirical expressions using a four-parameter general drag correlation for non-spherical particles. More...
Public Member Functions | |
TypeName ("nonSphereDrag") | |
Runtime type information. More... | |
NonSphereDragForce (CloudType &owner, const fvMesh &mesh, const dictionary &dict) | |
Construct from mesh. More... | |
NonSphereDragForce (const NonSphereDragForce< CloudType > &df) | |
Construct copy. More... | |
virtual autoPtr< ParticleForce< CloudType > > | clone () const |
Construct and return a clone. More... | |
void | operator= (const NonSphereDragForce< CloudType > &)=delete |
No copy assignment. More... | |
virtual | ~NonSphereDragForce ()=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 non-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... | |
Protected Member Functions | |
scalar | CdRe (const scalar Re) const |
Drag coefficient multiplied by Reynolds number. More... | |
Protected Attributes | |
scalar | phi_ |
scalar | a_ |
scalar | b_ |
scalar | c_ |
scalar | d_ |
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 empirical expressions using a four-parameter general drag correlation for non-spherical particles.
\[ \mathrm{F}_\mathrm{D} = \frac{3}{4} \frac{\mu_c\,\mathrm{C}_\mathrm{D}\,\mathrm{Re}_p}{\rho_p \, d_p^2} \]
with
\[ \mathrm{C}_\mathrm{D} = \frac{24}{\mathrm{Re}_p} \left( 1 + A \, \mathrm{Re}_p^B \right) + \frac{C \, \mathrm{Re}_p}{D + \mathrm{Re}_p} \]
where
\[ A = \exp(2.3288 - 6.4581\phi + 2.4486 \phi^2) \]
\[ B = 0.0964 + 0.5565\phi \]
\[ C = \exp(4.9050 - 13.8944\phi + 18.4222\phi^2 - 10.2599 \phi^3) \]
\[ D = \exp(1.4681 + 12.2584\phi - 20.7322\phi^2 + 15.8855\phi^3) \]
\[ \phi = \frac{A_p}{A_a} \]
\[ \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 |
\( \rho_p \) | = | Particle mass density |
\( \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 |
\( A_p \) | = | Surface area of sphere with the same volume as the particle |
\( A_a \) | = | Actual surface area of the particle |
\( \phi \) | = | Ratio of surface areas |
Constraints:
References:
Standard model (tag:HL), (Eq. 4,10-11): Haider, A., & Levenspiel, O. (1989). Drag coefficient and terminal velocity of spherical and nonspherical particles. Powder technology, 58(1), 63-70. DOI:10.1016/0032-5910(89)80008-7
constant/<CloudProperties>
: subModels { particleForces { nonSphereDrag { phi <phi>; } } }
where the entries mean:
Property | Description | Type | Reqd | Deflt |
---|---|---|---|---|
type | Type name: nonSphereDrag | word | yes | - |
phi | Ratio of surface area of sphere having same volume as particle to actual surface area of particle | scalar | yes | - |
phi
is presumed constant, Eq. 12 offers little benefit.Definition at line 224 of file NonSphereDragForce.H.
NonSphereDragForce | ( | CloudType & | owner, |
const fvMesh & | mesh, | ||
const dictionary & | dict | ||
) |
Construct from mesh.
Definition at line 44 of file NonSphereDragForce.C.
References Foam::exit(), Foam::exp(), Foam::FatalError, FatalErrorInFunction, Foam::pow3(), and Foam::sqr().
NonSphereDragForce | ( | const NonSphereDragForce< CloudType > & | df | ) |
Construct copy.
Definition at line 69 of file NonSphereDragForce.C.
|
virtualdefault |
Destructor.
|
protected |
Drag coefficient multiplied by Reynolds number.
Definition at line 34 of file NonSphereDragForce.C.
References Foam::pow(), and Foam::Re().
TypeName | ( | "nonSphereDrag" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone.
Reimplemented from ParticleForce< CloudType >.
Definition at line 274 of file NonSphereDragForce.H.
|
delete |
No copy assignment.
|
virtual |
Calculate the non-coupled force.
Reimplemented from ParticleForce< CloudType >.
Definition at line 86 of file NonSphereDragForce.C.
References p, Foam::Re(), Foam::sqr(), and Foam::Zero.
|
protected |
Ratio of surface of sphere having same volume as particle to actual surface area of particle (0 < phi <= 1)
Definition at line 234 of file NonSphereDragForce.H.
|
protected |
Definition at line 239 of file NonSphereDragForce.H.
|
protected |
Definition at line 241 of file NonSphereDragForce.H.
|
protected |
Definition at line 243 of file NonSphereDragForce.H.
|
protected |
Definition at line 245 of file NonSphereDragForce.H.