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 resultName(
"DUcDt");
77 this->
mesh().template getObjectPtr<volVectorField>(resultName);
84 lookupObject<volVectorField>(UName_);
100 this->owner().solution().interpolationSchemes(),
107 DUcDtInterpPtr_.
clear();
111 resultPtr->checkOut();
117 template<
class CloudType>
120 const typename CloudType::parcelType&
p,
121 const typename CloudType::parcelType::trackingData& td,
128 forceSuSp value(
Zero);
131 DUcDtInterp().interpolate(
p.coordinates(),
p.currentTetIndices());
133 value.Su() = mass*td.rhoc()/
p.rho()*DUcDt;
139 template<
class CloudType>
143 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...
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
Abstract base class for particle forces.
tmp< GeometricField< Type, faPatchField, areaMesh > > ddt(const dimensioned< Type > dt, const faMesh &mesh)
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.
void clear()
Clear the list, i.e. set size to zero.
A class for handling words, derived from Foam::string.
virtual ~PressureGradientForce()
Destructor.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
scalarField Re(const UList< complex > &cmplx)
Extract real component.
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)