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);
104 curlUcInterpPtr_.reset
108 this->owner().
solution().interpolationSchemes(),
115 curlUcInterpPtr_.clear();
120 lookupObject<volVectorField>(fName);
128 template<
class CloudType>
132 const typename CloudType::parcelType::trackingData& td,
142 curlUcInterp().interpolate
145 p.currentTetIndices(td.mesh)
148 const scalar Cl = this->Cl(
p, td, curlUc,
Re, muc);
150 value.
Su() = mass/
p.rho()*td.rhoc()*Cl*((td.Uc() -
p.U())^curlUc);
Templated base class for dsmc cloud.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
Generic GeometricField class.
Base class for particle lift force models.
virtual void cacheFields(const bool store)
Cache fields.
LiftForce(CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType)
Construct from mesh.
virtual ~LiftForce()
Destructor.
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.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Helper container for force Su and Sp terms.
const vector & Su() const
Return const access to the explicit contribution [kg m/s^2].
Mesh data needed to do the Finite Volume discretisation.
Abstract base class for interpolation.
void store()
Transfer ownership of this object to its registry.
Selector class for relaxation factors, solver type and solution.
A class for handling words, derived from string.
Calculate the curl of the given volField by constructing the Hodge-dual of the symmetric part of the ...
tmp< VolField< Type > > curl(const VolField< Type > &vf)
VolField< vector > volVectorField
Vector< scalar > vector
A scalar version of the templated Vector.
scalarField Re(const UList< complex > &cf)