35 template<
class CloudType>
45 UName_(this->coeffs().template getOrDefault<
word>(
"U",
"U")),
46 DUcDtInterpPtr_(nullptr)
50 template<
class CloudType>
58 DUcDtInterpPtr_(nullptr)
64 template<
class CloudType>
71 template<
class CloudType>
74 static word fName(
"DUcDt");
76 bool fieldExists = this->
mesh().template foundObject<volVectorField>(fName);
83 lookupObject<volVectorField>(UName_);
95 lookupObject<volVectorField>(fName);
101 this->owner().solution().interpolationSchemes(),
108 DUcDtInterpPtr_.clear();
113 this->
mesh().template lookupObjectRef<volVectorField>(fName);
121 template<
class CloudType>
124 const typename CloudType::parcelType&
p,
125 const typename CloudType::parcelType::trackingData& td,
132 forceSuSp value(
Zero);
135 DUcDtInterp().interpolate(
p.coordinates(),
p.currentTetIndices());
137 value.Su() = mass*td.rhoc()/
p.rho()*DUcDt;
143 template<
class CloudType>
147 const typename CloudType::parcelType::trackingData& td,
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.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Abstract base class for particle forces.
tmp< GeometricField< Type, faPatchField, areaMesh > > ddt(const dimensioned< Type > dt, const faMesh &mesh)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
GeometricField< vector, fvPatchField, volMesh > volVectorField
Helper container for force Su and Sp terms.
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 Foam::string.
virtual ~PressureGradientForce()
Destructor.
scalarField Re(const UList< complex > &cf)
Extract real component.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
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.
Templated base class for dsmc cloud.
PressureGradientForce(CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType=typeName)
Construct from mesh.
tmp< GeometricField< typename outerProduct< vector, Type >::type, faPatchField, areaMesh >> grad(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
static constexpr const zero Zero
Global zero (0)