Loading...
Searching...
No Matches
DistortedSphereDragForce< CloudType > Class Template Reference

Particle-drag model wherein drag forces (per unit carrier-fluid velocity) are dynamically computed by using sphereDrag model; however, are corrected for particle distortion by linearly varying the drag between of a sphere (i.e. sphereDrag) and a value of 1.54 corresponding to a disk. More...

#include <DistortedSphereDragForce.H>

Inheritance diagram for DistortedSphereDragForce< CloudType >:
Collaboration diagram for DistortedSphereDragForce< CloudType >:

Public Member Functions

 TypeName ("distortedSphereDrag")
 Runtime type information.
 DistortedSphereDragForce (CloudType &owner, const fvMesh &mesh, const dictionary &dict)
 Construct from mesh.
 DistortedSphereDragForce (const DistortedSphereDragForce< CloudType > &df)
 Construct copy.
virtual autoPtr< ParticleForce< CloudType > > clone () const
 Construct and return a clone.
void operator= (const DistortedSphereDragForce< CloudType > &)=delete
 No copy assignment.
virtual ~DistortedSphereDragForce ()=default
 Destructor.
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.
Public Member Functions inherited from ParticleForce< CloudType >
 TypeName ("particleForce")
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, ParticleForce, dictionary,(CloudType &owner, const fvMesh &mesh, const dictionary &dict),(owner, mesh, dict))
 Declare runtime constructor selection table.
 ParticleForce (CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType, const bool readCoeffs)
 Construct from mesh.
 ParticleForce (const ParticleForce &pf)
 Construct copy.
virtual ~ParticleForce ()
 Destructor.
const CloudTypeowner () const noexcept
 Return const access to the cloud owner.
CloudTypeowner () noexcept
 Return reference to the cloud owner.
const fvMeshmesh () const noexcept
 Return the mesh database.
const dictionarycoeffs () const noexcept
 Return the force coefficients dictionary.
virtual void cacheFields (const bool store)
 Cache fields.
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.
virtual scalar massAdd (const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar mass) const
 Return the added mass.

Additional Inherited Members

Public Types inherited from ParticleForce< CloudType >
typedef VectorSpace< Vector< vector >, vector, 2 > returnType
 Convenience typedef for return type.
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.

Detailed Description

template<class CloudType>
class Foam::DistortedSphereDragForce< CloudType >

Particle-drag model wherein drag forces (per unit carrier-fluid velocity) are dynamically computed by using sphereDrag model; however, are corrected for particle distortion by linearly varying the drag between of a sphere (i.e. sphereDrag) and a value of 1.54 corresponding to a disk.

\‍[    \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} =
        \mathrm{C}_{\mathrm{D, sphere}} \left( 1 + 2.632 y \right)
\‍]

where

$        \mathrm{F}_\mathrm{D}  $=Drag force per carrier-fluid velocity [kg/s]
$        \mathrm{C}_\mathrm{D}  $=Particle drag coefficient
$        \mathrm{C}_{\mathrm{D, sphere}} $=Sphere drag coefficient
$        \mathrm{Re}_p          $=Particle Reynolds number
$        \rho_p                 $=Particle mass density
$        d_p                    $=Particle diameter
$        y    $=Level of distortion determined by other models internally

Constraints:

  • Applicable to particles with a spatially homogeneous distribution.
  • $ 1 \geq y \geq 0 $

References:

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

        Standard model (tag:AOB):
            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

        Expression correcting drag for particle distortion (tag:LMR):
            Liu, A. B., Mather, D., & Reitz, R. D. (1993).
            Modeling the effects of drop drag
            and breakup on fuel sprays.
            SAE Transactions, 83-95.
            DOI:10.4271/930072
Usage
Minimal example by using constant/<CloudProperties>:
subModels
{
    particleForces
    {
        distortedSphereDrag;
    }
}

where the entries mean:

Property Description Type Reqd Deflt
type Type name: distortedSphereDrag word yes -
Note
  • $\mathrm{F}_\mathrm{D}$ is weighted with the particle mass 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 168 of file DistortedSphereDragForce.H.

Constructor & Destructor Documentation

◆ DistortedSphereDragForce() [1/2]

template<class CloudType>
DistortedSphereDragForce ( CloudType & owner,
const fvMesh & mesh,
const dictionary & dict )

Construct from mesh.

Definition at line 45 of file DistortedSphereDragForce.C.

References dict, Foam::GlobalIOList< Tuple2< scalar, vector > >::typeName, ParticleForce< CloudType >::mesh(), ParticleForce< CloudType >::owner(), and ParticleForce< CloudType >::ParticleForce().

Referenced by clone(), DistortedSphereDragForce(), operator=(), and TypeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DistortedSphereDragForce() [2/2]

template<class CloudType>
DistortedSphereDragForce ( const DistortedSphereDragForce< CloudType > & df)

Construct copy.

Definition at line 57 of file DistortedSphereDragForce.C.

References DistortedSphereDragForce(), and ParticleForce< CloudType >::ParticleForce().

Here is the call graph for this function:

◆ ~DistortedSphereDragForce()

template<class CloudType>
virtual ~DistortedSphereDragForce ( )
virtualdefault

Destructor.

References p, Foam::Re(), and td().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

template<class CloudType>
TypeName ( "distortedSphereDrag" )

Runtime type information.

References dict, DistortedSphereDragForce(), ParticleForce< CloudType >::mesh(), and ParticleForce< CloudType >::owner().

Here is the call graph for this function:

◆ clone()

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

Construct and return a clone.

Reimplemented from ParticleForce< CloudType >.

Definition at line 208 of file DistortedSphereDragForce.H.

References DistortedSphereDragForce().

Here is the call graph for this function:

◆ operator=()

template<class CloudType>
void operator= ( const DistortedSphereDragForce< CloudType > & )
delete

No copy assignment.

References DistortedSphereDragForce().

Here is the call graph for this function:

◆ calcCoupled()

template<class CloudType>
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 69 of file DistortedSphereDragForce.C.

References Foam::clamp(), p, Foam::Re(), Foam::sqr(), td(), y, and Foam::Zero.

Here is the call graph for this function:

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