32 template<
class CloudType>
42 UName_(this->coeffs().template lookupOrDefault<word>(
"U",
"U")),
43 DUcDtInterpPtr_(
nullptr)
47 template<
class CloudType>
55 DUcDtInterpPtr_(
nullptr)
61 template<
class CloudType>
68 template<
class CloudType>
71 static word fName(
"DUcDt");
73 bool fieldExists = this->
mesh().template foundObject<volVectorField>(fName);
80 lookupObject<volVectorField>(UName_);
92 lookupObject<volVectorField>(fName);
98 this->owner().
solution().interpolationSchemes(),
105 DUcDtInterpPtr_.clear();
110 lookupObject<volVectorField>(fName);
118 template<
class CloudType>
122 const typename CloudType::parcelType::trackingData& td,
132 DUcDtInterp().interpolate(p.coordinates(), p.currentTetIndices());
134 value.
Su() = mass*td.rhoc()/p.rho()*DUcDt;
140 template<
class CloudType>
144 const typename CloudType::parcelType::trackingData& td,
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
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 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...
Abstract base class for particle forces.
GeometricField< vector, fvPatchField, volMesh > volVectorField
Helper container for force Su and Sp terms.
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
Calculate the first temporal derivative.
Calculates particle pressure gradient force.
virtual void cacheFields(const bool store)
Cache fields.
Calculate the gradient of the given field.
A class for handling words, derived from string.
virtual ~PressureGradientForce()
Destructor.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
const word UName_
Name of velocity field.
virtual scalar massAdd(const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar mass) const
Return the added mass.
Mesh data needed to do the Finite Volume discretisation.
Abstract base class for interpolation.
Selector class for relaxation factors, solver type and solution.
Templated base class for dsmc cloud.
PressureGradientForce(CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType=typeName)
Construct from mesh.