SphereDragForce< CloudType > Class Template Reference

Particle-drag model wherein drag forces (per unit carrier-fluid velocity) are dynamically computed based on empirical expressions. More...

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

Public Member Functions

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

Particle-drag model wherein drag forces (per unit carrier-fluid velocity) are dynamically computed based on empirical expressions.

\[ \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 + \frac{1}{6}\mathrm{Re}_p^{2/3} \right) \quad \mathrm{if} \quad \mathrm{Re}_p \leq 1000 \]

\[ \mathrm{C}_\mathrm{D} = 0.424 \quad \mathrm{if} \quad \mathrm{Re}_p > 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
\( \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

Constraints:

  • Particles remain spherical throughout the force computation, hence no particle distortion.
  • Applicable to particles with a spatially homogeneous distribution.

References:

        Standard model:
            Putnam, A. (1961).
            Integratable form of droplet drag coefficient.
            ARS Journal, 31(10), 1467-1468.

        Expressions (tag:AOB), (Eq. 34-35):
            Amsden, A. A., O'Rourke, P. J., & Butler, T. D. (1989).
            KIVA-II: A computer program for chemically
            reactive flows with sprays (No. LA-11560-MS).
            Los Alamos National Lab.(LANL), Los Alamos, NM (United States).
            DOI:10.2172/6228444
Usage
Minimal example by using constant/<CloudProperties>:
subModels
{
    particleForces
    {
        sphereDrag;
    }
}

where the entries mean:

Property Description Type Reqd Deflt
type Type name: sphereDrag 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 177 of file SphereDragForce.H.

Constructor & Destructor Documentation

◆ SphereDragForce() [1/2]

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

Construct from mesh.

Definition at line 49 of file SphereDragForce.C.

◆ SphereDragForce() [2/2]

Construct copy.

Definition at line 61 of file SphereDragForce.C.

◆ ~SphereDragForce()

virtual ~SphereDragForce ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "sphereDrag"  )

Runtime type information.

◆ clone()

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

Construct and return a clone.

Reimplemented from ParticleForce< CloudType >.

Definition at line 207 of file SphereDragForce.H.

◆ operator=()

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

References p, 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: