Go to the documentation of this file.
34 template<
class CloudType>
37 const typename CloudType::parcelType&
p,
38 const typename CloudType::parcelType::trackingData& td,
51 template<
class CloudType>
61 UName_(this->coeffs().
template getOrDefault<word>(
"U",
"U")),
62 curlUcInterpPtr_(
nullptr)
66 template<
class CloudType>
71 curlUcInterpPtr_(nullptr)
77 template<
class CloudType>
84 template<
class CloudType>
87 static word fName(
"curlUcDt");
89 bool fieldExists = this->
mesh().template foundObject<volVectorField>(fName);
96 lookupObject<volVectorField>(UName_);
105 lookupObject<volVectorField>(fName);
107 curlUcInterpPtr_.reset
111 this->owner().
solution().interpolationSchemes(),
118 curlUcInterpPtr_.clear();
123 this->
mesh().template lookupObjectRef<volVectorField>(fName);
131 template<
class CloudType>
135 const typename CloudType::parcelType::trackingData& td,
145 curlUcInterp().interpolate(
p.coordinates(),
p.currentTetIndices());
147 scalar Cl = this->Cl(
p, td, curlUc,
Re, muc);
149 value.
Su() = mass/
p.rho()*td.rhoc()*Cl*((td.Uc() -
p.U())^curlUc);
tmp< GeometricField< Type, fvPatchField, volMesh > > curl(const GeometricField< Type, fvPatchField, volMesh > &vf)
Selector class for relaxation factors, solver type and solution.
A class for handling words, derived from Foam::string.
static constexpr const zero Zero
Global zero (0)
const vector & Su() const
Return const access to the explicit contribution [kg.m/s2].
LiftForce(CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType)
Construct from mesh.
Calculate the curl of the given volField by constructing the Hodge-dual of the symmetric part of the ...
Helper container for force Su and Sp terms.
Abstract base class for particle forces.
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.
Templated base class for dsmc cloud.
Base class for particle lift force models.
Abstract base class for interpolation.
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.
Vector< scalar > vector
A scalar version of the templated Vector.
GeometricField< vector, fvPatchField, volMesh > volVectorField
virtual void cacheFields(const bool store)
Cache fields.
scalarField Re(const UList< complex > &cf)
Extract real component.
virtual ~LiftForce()
Destructor.
ParcelType parcelType
Type of parcel the cloud was instantiated for.