31 template<
class CloudType>
34 const typename CloudType::parcelType& p,
35 const typename CloudType::parcelType::trackingData& td,
48 template<
class CloudType>
58 UName_(this->coeffs().template lookupOrDefault<word>(
"U",
"U")),
59 curlUcInterpPtr_(
nullptr)
63 template<
class CloudType>
68 curlUcInterpPtr_(nullptr)
74 template<
class CloudType>
81 template<
class CloudType>
84 static word fName(
"curlUcDt");
86 bool fieldExists = this->
mesh().template foundObject<volVectorField>(fName);
93 lookupObject<volVectorField>(
UName_);
102 lookupObject<volVectorField>(fName);
120 lookupObject<volVectorField>(fName);
128 template<
class CloudType>
132 const typename CloudType::parcelType::trackingData& td,
142 curlUcInterp().interpolate(p.coordinates(), p.currentTetIndices());
144 scalar
Cl = this->
Cl(p, td, curlUc, Re, muc);
146 value.
Su() = mass/p.rho()*td.rhoc()*Cl*((td.Uc() - p.U())^curlUc);
virtual void cacheFields(const bool store)
Cache fields.
LiftForce(CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType)
Construct from mesh.
const vector & Su() const
Return const access to the explicit contribution [kg m/s^2].
A list of keyword definitions, which are a keyword followed by any number of values (e...
const fvMesh & mesh() const
Return the mesh database.
Abstract base class for particle forces.
Vector< scalar > vector
A scalar version of the templated Vector.
const CloudType & owner() const
Return const access to the cloud owner.
GeometricField< vector, fvPatchField, volMesh > volVectorField
tmp< GeometricField< Type, fvPatchField, volMesh > > curl(const GeometricField< Type, fvPatchField, volMesh > &vf)
autoPtr< interpolation< vector > > curlUcInterpPtr_
Curk of carrier phase velocity interpolator.
Helper container for force Su and Sp terms.
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.
const interpolation< vector > & curlUcInterp() const
Return the curl of the carrier phase velocity interpolator.
Calculate the curl of the given volField by constructing the Hodge-dual of the symmetric part of the ...
A class for handling words, derived from string.
virtual ~LiftForce()
Destructor.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
virtual scalar Cl(const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const vector &curlUc, const scalar Re, const scalar muc) const
Calculate the lift coefficient.
Mesh data needed to do the Finite Volume discretisation.
Abstract base class for interpolation.
Base class for particle lift force models.
Selector class for relaxation factors, solver type and solution.
Templated base class for dsmc cloud.
const word UName_
Name of velocity field.