31 template<
class CloudType>
34 const typename CloudType::parcelType& p,
47 template<
class CloudType>
57 UName_(this->coeffs().template lookupOrDefault<word>(
"U",
"U")),
58 curlUcInterpPtr_(
nullptr)
62 template<
class CloudType>
67 curlUcInterpPtr_(nullptr)
73 template<
class CloudType>
80 template<
class CloudType>
83 static word fName(
"curlUcDt");
85 bool fieldExists = this->
mesh().template foundObject<volVectorField>(fName);
92 lookupObject<volVectorField>(
UName_);
101 lookupObject<volVectorField>(fName);
119 lookupObject<volVectorField>(fName);
127 template<
class CloudType>
140 curlUcInterp().interpolate(p.coordinates(), p.currentTetIndices());
142 scalar
Cl = this->
Cl(p, curlUc, Re, muc);
144 value.
Su() = mass/p.rho()*p.rhoc()*Cl*((p.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/s2].
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
virtual scalar Cl(const typename CloudType::parcelType &p, const vector &curlUc, const scalar Re, const scalar muc) const
Calculate the lift coefficient.
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.
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.
Mesh data needed to do the Finite Volume discretisation.
virtual forceSuSp calcCoupled(const typename CloudType::parcelType &p, const scalar dt, const scalar mass, const scalar Re, const scalar muc) const
Calculate the non-coupled force.
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.