Go to the documentation of this file.
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>
125 const typename CloudType::parcelType::trackingData& td,
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,
Selector class for relaxation factors, solver type and solution.
A class for handling words, derived from Foam::string.
PressureGradientForce(CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType=typeName)
Construct from mesh.
static constexpr const zero Zero
Global zero (0)
virtual ~PressureGradientForce()
Destructor.
tmp< GeometricField< typename outerProduct< vector, Type >::type, faPatchField, areaMesh >> grad(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
virtual void cacheFields(const bool store)
Cache fields.
const vector & Su() const
Return const access to the explicit contribution [kg.m/s2].
Calculates particle pressure gradient force.
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.
Helper container for force Su and Sp terms.
Abstract base class for particle forces.
const word UName_
Name of velocity field.
Templated base class for dsmc cloud.
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.
GeometricField< vector, fvPatchField, volMesh > volVectorField
Calculate the gradient of the given field.
tmp< GeometricField< Type, faPatchField, areaMesh > > ddt(const dimensioned< Type > dt, const faMesh &mesh)
scalarField Re(const UList< complex > &cf)
Extract real component.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
Calculate the first temporal derivative.
virtual scalar massAdd(const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar mass) const
Return the added mass.