TomiyamaDragForce< CloudType > Class Template Reference

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

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

Public Types

enum  contaminationType : char { PURE = 0, SLIGHT, FULL }
 Options for the contamination types. More...
 
- Public Types inherited from ParticleForce< CloudType >
typedef VectorSpace< Vector< vector >, vector, 2 > returnType
 Convenience typedef for return type. More...
 

Public Member Functions

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

Static Public Attributes

static const Enum< contaminationTypecontaminationTypeNames
 Names for the contaminationType options. More...
 

Additional Inherited Members

- 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::TomiyamaDragForce< CloudType >

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

\[ \mathrm{F}_\mathrm{D} = \frac{3}{4} \frac{\mu_c\,\mathrm{C}_\mathrm{D}\,\mathrm{Re}_p}{\rho_p \, d_p^2} \]

For pure systems:

\[ \mathrm{C}_\mathrm{D} = \max\left[ \min\left(\frac{16}{Re}(1+0.15Re^{0.687}), \frac{48}{Re}\right), \frac{8}{3}\frac{Eo}{Eo+4} \right] \]

For slightly contaminated systems:

\[ \mathrm{C}_\mathrm{D} = \max\left[ \min\left(\frac{24}{Re}(1+0.15Re^{0.687}), \frac{72}{Re}\right), \frac{8}{3}\frac{Eo}{Eo+4} \right] \]

For fully contaminated systems:

\[ \mathrm{C}_\mathrm{D} = \max\left[ \frac{24}{Re}(1+0.15Re^{0.687}), \frac{8}{3}\frac{Eo}{Eo+4} \right] \]

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
$ Eo $ = Eotvos number

Constraints:

  • Applicable to bubbles with a spatially homogeneous distribution.

References:

        Tomiyama, A., Kataoka, I., Zun, I., & Sakaguchi, T. (1998).
        Drag coefficients of single bubbles under normal and micro gravity
        conditions.
        JSME International Journal Series B
        Fluids and Thermal Engineering, 41(2), 472-479.
Usage
Minimal example by using constant/<CloudProperties>:
subModels
{
    particleForces
    {
        tomiyamaDrag
        {
            // Mandatory entries
            sigma         <scalar>;
            contamination <word>;  // pure | slight | full
        }
    }
}

where the entries mean:

Property Description Type Reqd Deflt
type Type name: tomiyamaDrag word yes -
sigma Surface tension scalar yes -
contamination Contamination type word yes -

Options for the contamination entry:

      pure          | Pure systems
      slight        | Slightly contaminated systems
      full          | Fully contaminated systems
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 207 of file TomiyamaDragForce.H.

Member Enumeration Documentation

◆ contaminationType

enum contaminationType : char

Options for the contamination types.

Enumerator
PURE 

"Pure systems"

SLIGHT 

"Slightly contaminated systems"

FULL 

"Fully contaminated systems"

Definition at line 218 of file TomiyamaDragForce.H.

Constructor & Destructor Documentation

◆ TomiyamaDragForce() [1/2]

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

Construct from mesh.

Definition at line 71 of file TomiyamaDragForce.C.

◆ TomiyamaDragForce() [2/2]

Copy construct.

Definition at line 88 of file TomiyamaDragForce.C.

◆ ~TomiyamaDragForce()

virtual ~TomiyamaDragForce ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "TomiyamaDrag"  )

Runtime type information.

◆ clone()

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

Construct and return a clone.

Reimplemented from ParticleForce< CloudType >.

Definition at line 282 of file TomiyamaDragForce.H.

◆ operator=()

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

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

Here is the call graph for this function:

Member Data Documentation

◆ contaminationTypeNames

const Foam::Enum< typename Foam::TomiyamaDragForce< CloudType >::contaminationType > contaminationTypeNames
static
Initial value:
{
{ contaminationType::PURE, "pure" },
{ contaminationType::SLIGHT, "slight" },
{ contaminationType::FULL, "full" },
}

Names for the contaminationType options.

Definition at line 228 of file TomiyamaDragForce.H.


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