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>
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,
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)
static constexpr const zero Zero
virtual ~PressureGradientForce()
tmp< GeometricField< typename outerProduct< vector, Type >::type, faPatchField, areaMesh >> grad(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
virtual void cacheFields(const bool store)
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
Helper container for force Su and Sp terms.
Abstract base class for particle forces.
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.
Vector< scalar > vector
A scalar version of the templated Vector.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
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)
Calculate the first temporal derivative.
Generic GeometricField class.
const vector & Su() const
virtual scalar massAdd(const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar mass) const