Go to the documentation of this file.
32 template<
class CloudType>
35 return 24.0*(1.0 + a_*
pow(
Re, b_)) +
Re*c_/(1 + d_/(
Re + ROOTVSMALL));
41 template<
class CloudType>
50 phi_(this->coeffs().getScalar(
"phi")),
51 a_(
exp(2.3288 - 6.4581*phi_ + 2.4486*
sqr(phi_))),
52 b_(0.0964 + 0.5565*phi_),
53 c_(
exp(4.9050 - 13.8944*phi_ + 18.4222*
sqr(phi_) - 10.2599*
pow3(phi_))),
54 d_(
exp(1.4681 + 12.2584*phi_ - 20.7322*
sqr(phi_) + 15.8855*
pow3(phi_)))
56 if (phi_ <= 0 || phi_ > 1)
59 <<
"Ratio of surface of sphere having same volume as particle to "
60 <<
"actual surface area of particle (phi) must be greater than 0 "
66 template<
class CloudType>
83 template<
class CloudType>
90 template<
class CloudType>
94 const typename CloudType::parcelType::trackingData& td,
103 value.
Sp() = mass*0.75*muc*CdRe(
Re)/(
p.rho()*
sqr(
p.d()));
static constexpr const zero Zero
Global zero (0)
Drag model for non-spherical particles.
NonSphereDragForce(CloudType &owner, const fvMesh &mesh, const dictionary &dict)
Construct from mesh.
dimensionedScalar exp(const dimensionedScalar &ds)
dimensionedScalar pow3(const dimensionedScalar &ds)
Helper container for force Su and Sp terms.
Abstract base class for particle forces.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
Templated base class for dsmc cloud.
virtual ~NonSphereDragForce()
Destructor.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
errorManipArg< error, int > exit(error &err, const int errNo=1)
scalar phi_
Ratio of surface of sphere having same volume as particle to.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
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.
scalarField Re(const UList< complex > &cf)
Extract real component.
scalar Sp() const
Return const access to the implicit coefficient [kg/s].
ParcelType parcelType
Type of parcel the cloud was instantiated for.
scalar CdRe(const scalar Re) const
Drag coefficient multiplied by Reynolds number.