33template<
class CloudType>
43template<
class CloudType>
52 phi_(this->coeffs().getScalar(
"phi")),
53 a_(
exp(2.3288 - 6.4581*phi_ + 2.4486*
sqr(phi_))),
54 b_(0.0964 + 0.5565*phi_),
55 c_(
exp(4.9050 - 13.8944*phi_ + 18.4222*
sqr(phi_) - 10.2599*
pow3(phi_))),
56 d_(
exp(1.4681 + 12.2584*phi_ - 20.7322*
sqr(phi_) + 15.8855*
pow3(phi_)))
61 <<
"Ratio of surface of sphere having same volume as particle to "
62 <<
"actual surface area of particle (phi) must be greater than 0 "
68template<
class CloudType>
71 const NonSphereDragForce<CloudType>& df
85template<
class CloudType>
89 const typename CloudType::parcelType::trackingData&
td,
NonSphereDragForce(CloudType &owner, const fvMesh &mesh, const dictionary &dict)
Construct from mesh.
scalar CdRe(const scalar Re) const
Drag coefficient multiplied by Reynolds number.
scalar phi_
Ratio of surface of sphere having same volume as particle to actual surface area of particle (0 < phi...
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.
Abstract base class for particle forces.
const fvMesh & mesh() const noexcept
Return the mesh database.
const CloudType & owner() const noexcept
Return const access to the cloud owner.
ParticleForce(CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType, const bool readCoeffs)
Construct from mesh.
const dictionary & coeffs() const noexcept
Return the force coefficients dictionary.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Helper container for force Su and Sp terms.
Mesh data needed to do the Finite Volume discretisation.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
DSMCCloud< dsmcParcel > CloudType
dimensionedScalar exp(const dimensionedScalar &ds)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar pow3(const dimensionedScalar &ds)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
const word GlobalIOList< Tuple2< scalar, vector > >::typeName("scalarVectorTable")
static constexpr const zero Zero
Global zero (0).
scalarField Re(const UList< complex > &cmplx)
Extract real component.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
errorManipArg< error, int > exit(error &err, const int errNo=1)