ErgunWenYuDragForce< CloudType > Class Template Reference

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...

Inheritance diagram for ErgunWenYuDragForce< CloudType >:
[legend]
Collaboration diagram for ErgunWenYuDragForce< CloudType >:
[legend]

Public Member Functions

 TypeName ("ErgunWenYuDrag")
 Runtime type information. More...
 
 ErgunWenYuDragForce (CloudType &owner, const fvMesh &mesh, const dictionary &dict)
 Construct from mesh. More...
 
 ErgunWenYuDragForce (const ErgunWenYuDragForce< CloudType > &df)
 Construct copy. More...
 
virtual autoPtr< ParticleForce< CloudType > > clone () const
 Construct and return a clone. More...
 
void operator= (const ErgunWenYuDragForce< CloudType > &)=delete
 No copy assignment. More...
 
virtual ~ErgunWenYuDragForce ()=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 CloudTypeowner () const
 Return const access to the cloud owner. More...
 
CloudTypeowner ()
 Return reference to the cloud owner. More...
 
const fvMeshmesh () const
 Return the mesh database. More...
 
const dictionarycoeffs () 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...
 

Detailed Description

template<class CloudType>
class Foam::ErgunWenYuDragForce< CloudType >

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} \]

\[ \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} \]

\[ \mathrm{F}_\mathrm{D} = \mathrm{F}_{\mathrm{D}, Wen-Yu} \quad \mathrm{if} \quad \alpha_c \geq 0.8 \]

\[ \mathrm{F}_\mathrm{D} = \mathrm{F}_{\mathrm{D}, Ergun} \quad \mathrm{if} \quad \alpha_c < 0.8 \]

with

\[ \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 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
Usage
Minimal example by using 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 -
Note
  • \(\mathrm{F}_\mathrm{D}\) is weighted with the particle mass/density at the stage of a function return, so that it can later be normalised with the effective mass, if necessary (e.g. when using virtual-mass forces).
See also
Source files

Definition at line 208 of file ErgunWenYuDragForce.H.

Constructor & Destructor Documentation

◆ ErgunWenYuDragForce() [1/2]

ErgunWenYuDragForce ( CloudType owner,
const fvMesh mesh,
const dictionary dict 
)

Construct from mesh.

Definition at line 50 of file ErgunWenYuDragForce.C.

◆ ErgunWenYuDragForce() [2/2]

Construct copy.

Definition at line 69 of file ErgunWenYuDragForce.C.

◆ ~ErgunWenYuDragForce()

virtual ~ErgunWenYuDragForce ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "ErgunWenYuDrag"  )

Runtime type information.

◆ clone()

virtual autoPtr< ParticleForce< CloudType > > clone ( ) const
inlinevirtual

Construct and return a clone.

Reimplemented from ParticleForce< CloudType >.

Definition at line 244 of file ErgunWenYuDragForce.H.

◆ operator=()

void operator= ( const ErgunWenYuDragForce< CloudType > &  )
delete

No copy assignment.

◆ calcCoupled()

Foam::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
virtual

Calculate the coupled force.

Reimplemented from ParticleForce< CloudType >.

Definition at line 88 of file ErgunWenYuDragForce.C.

References p, Foam::pow(), Foam::Re(), Foam::sqr(), and Foam::Zero.

Here is the call graph for this function:

The documentation for this class was generated from the following files: