Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
NonSphereDragForce< CloudType > Class Template Reference

Drag model for non-spherical particles. More...

Inheritance diagram for NonSphereDragForce< CloudType >:
Inheritance graph
[legend]
Collaboration diagram for NonSphereDragForce< CloudType >:
Collaboration graph
[legend]

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...
 
virtual ~NonSphereDragForce ()
 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 ~ParticleForce ()
 Destructor. More...
 
const CloudTypeowner () const
 Return const access to the cloud owner. More...
 
CloudTypeowner ()
 Return references 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 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_
 Ratio of surface of sphere having same volume as particle to. More...
 
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...
 

Detailed Description

template<class CloudType>
class Foam::NonSphereDragForce< CloudType >

Drag model for non-spherical particles.

Takes the form of

24.0/Re*(1.0 + a_*pow(Re, b_)) + Re*c_/(Re + d_);

Where a(phi), b(phi), c(phi) and d(phi) are model coefficients, with phi defined as:

area of sphere with same volume as particle phi = ——————————————- actual particle area

Equation used is Eqn (11) of reference below - good to within 2 to 4 % of RMS values from experiment.

H and L also give a simplified model with greater error compared to results from experiment - Eqn 12 - but since phi is presumed constant, it offers little benefit.

Reference:

    "Drag coefficient and terminal velocity of spherical and nonspherical
    particles"
    A. Haider and O. Levenspiel,
    Powder Technology
    Volume 58, Issue 1, May 1989, Pages 63-70

Definition at line 73 of file NonSphereDragForce.H.

Constructor & Destructor Documentation

◆ NonSphereDragForce() [1/2]

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

Construct from mesh.

Definition at line 41 of file NonSphereDragForce.C.

References Foam::exit(), Foam::FatalError, and FatalErrorInFunction.

Referenced by NonSphereDragForce< CloudType >::CdRe().

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

◆ NonSphereDragForce() [2/2]

Construct copy.

Definition at line 66 of file NonSphereDragForce.C.

◆ ~NonSphereDragForce()

~NonSphereDragForce ( )
virtual

Destructor.

Definition at line 82 of file NonSphereDragForce.C.

References NonSphereDragForce< CloudType >::calcCoupled().

Referenced by NonSphereDragForce< CloudType >::clone().

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

Member Function Documentation

◆ CdRe()

Foam::scalar CdRe ( const scalar  Re) const
protected

Drag coefficient multiplied by Reynolds number.

Definition at line 31 of file NonSphereDragForce.C.

References NonSphereDragForce< CloudType >::NonSphereDragForce(), and Foam::pow().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "nonSphereDrag"  )

Runtime type information.

◆ clone()

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

Construct and return a clone.

Reimplemented from ParticleForce< CloudType >.

Definition at line 123 of file NonSphereDragForce.H.

References NonSphereDragForce< CloudType >::calcCoupled(), p, Foam::Re(), and NonSphereDragForce< CloudType >::~NonSphereDragForce().

Here is the call graph for this function:

◆ 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 non-coupled force.

Reimplemented from ParticleForce< CloudType >.

Definition at line 90 of file NonSphereDragForce.C.

References forceSuSp::Sp(), Foam::sqr(), and Foam::Zero.

Referenced by NonSphereDragForce< CloudType >::clone(), and NonSphereDragForce< CloudType >::~NonSphereDragForce().

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

Member Data Documentation

◆ phi_

scalar phi_
protected

Ratio of surface of sphere having same volume as particle to.

actual surface area of particle (0 < phi <= 1)

Definition at line 83 of file NonSphereDragForce.H.

◆ a_

scalar a_
protected

Definition at line 88 of file NonSphereDragForce.H.

◆ b_

scalar b_
protected

Definition at line 90 of file NonSphereDragForce.H.

◆ c_

scalar c_
protected

Definition at line 92 of file NonSphereDragForce.H.

◆ d_

scalar d_
protected

Definition at line 94 of file NonSphereDragForce.H.


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