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_(NULL)
62 template<
class CloudType>
67 curlUcInterpPtr_(NULL)
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.position(), 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);
const CloudType & owner() const
Return const access to the cloud owner.
Mesh data needed to do the Finite Volume discretisation.
tmp< GeometricField< Type, fvPatchField, volMesh > > curl(const GeometricField< Type, fvPatchField, volMesh > &vf)
A class for handling words, derived from string.
Abstract base class for interpolation.
autoPtr< interpolation< vector > > curlUcInterpPtr_
Curk of carrier phase velocity interpolator.
A list of keyword definitions, which are a keyword followed by any number of values (e...
Selector class for relaxation factors, solver type and solution.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
const vector & Su() const
Return const access to the explicit contribution [kg.m/s2].
Calculate the curl of the given volField by constructing the Hodge-dual of the symmetric part of the ...
LiftForce(CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType)
Construct from mesh.
virtual void cacheFields(const bool store)
Cache fields.
const word UName_
Name of velocity field.
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.
virtual ~LiftForce()
Destructor.
virtual scalar Cl(const typename CloudType::parcelType &p, const vector &curlUc, const scalar Re, const scalar muc) const
Calculate the lift coefficient.
GeometricField< vector, fvPatchField, volMesh > volVectorField
Base class for particle lift force models.
const fvMesh & mesh() const
Return the mesh database.
const interpolation< vector > & curlUcInterp() const
Return the curl of the carrier phase velocity interpolator.
Abstract base class for particle forces.
Vector< scalar > vector
A scalar version of the templated Vector.
Templated base class for dsmc cloud.
Helper container for force Su and Sp terms.