PlessisMasliyahDragForce< CloudType > Class Template Reference

Particle-drag model wherein drag forces (per unit carrier-fluid velocity) are dynamically computed based on the Du Plessis-Masliyah drag model. More...

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

Public Member Functions

 TypeName ("PlessisMasliyahDrag")
 Runtime type information. More...
 
 PlessisMasliyahDragForce (CloudType &owner, const fvMesh &mesh, const dictionary &dict)
 Construct from mesh. More...
 
 PlessisMasliyahDragForce (const PlessisMasliyahDragForce< CloudType > &df)
 Construct copy. More...
 
virtual autoPtr< ParticleForce< CloudType > > clone () const
 Construct and return a clone. More...
 
void operator= (const PlessisMasliyahDragForce< CloudType > &)=delete
 No copy assignment. More...
 
virtual ~PlessisMasliyahDragForce ()=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::PlessisMasliyahDragForce< CloudType >

Particle-drag model wherein drag forces (per unit carrier-fluid velocity) are dynamically computed based on the Du Plessis-Masliyah drag model.

\[ \mathrm{F}_\mathrm{D} = \left(\mathrm{A}\, (1-\alpha_c) + \mathrm{B}\, \mathrm{Re}\right) \frac{(1-\alpha_c)\, \mu_c}{\alpha_c^2\, d_p^2} \]

with

\[ A = \frac{26.8\, \alpha_c^2} { \alpha_p^{2/3} (1 - \alpha_p^{1/3}) (1 - \alpha_p^{2/3}) } \]

\[ \mathrm{B} = \frac{\alpha_c^2}{\left( 1 - \alpha_p^{2/3} \right)^2} \]

\[ \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{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
\( \alpha_p \) = Volume fraction of particles

References:

        Standard model (tag:P), (Eq. 34-36):
            Du Plessis, J. P. (1994).
            Analytical quantification of coefficients in the
            Ergun equation for fluid friction in a packed bed.
            Transport in porous media, 16(2), 189-207.
            DOI:10.1007/BF00617551
Usage
Minimal example by using constant/<CloudProperties>:
subModels
{
    particleForces
    {
        PlessisMasliyahDrag
        {
            alphac    <alphacName>; // e.g. alpha.air
        }
    }
}

where the entries mean:

Property Description Type Reqd Deflt
type Type name: PlessisMasliyahDrag 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).
Source files

Definition at line 182 of file PlessisMasliyahDragForce.H.

Constructor & Destructor Documentation

◆ PlessisMasliyahDragForce() [1/2]

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

Construct from mesh.

Definition at line 34 of file PlessisMasliyahDragForce.C.

◆ PlessisMasliyahDragForce() [2/2]

Construct copy.

Definition at line 53 of file PlessisMasliyahDragForce.C.

◆ ~PlessisMasliyahDragForce()

virtual ~PlessisMasliyahDragForce ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "PlessisMasliyahDrag"  )

Runtime type information.

◆ clone()

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

Construct and return a clone.

Reimplemented from ParticleForce< CloudType >.

Definition at line 212 of file PlessisMasliyahDragForce.H.

◆ operator=()

void operator= ( const PlessisMasliyahDragForce< 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 72 of file PlessisMasliyahDragForce.C.

References A, B, Foam::cbrt(), p, Foam::pow3(), 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: