33 template<
class CloudType>
41 stressAverage_(nullptr),
52 template<
class CloudType>
59 stressAverage_(cm.stressAverage_->clone()),
62 cm.correctionLimiting_->clone()
69 template<
class CloudType>
76 template<
class CloudType>
86 const auto& volumeAverage =
91 const auto& rhoAverage =
96 const auto& uAverage =
101 const auto& uSqrAverage =
107 volumeAverage_ = &volumeAverage;
108 uAverage_ = &uAverage;
117 this->owner().db().time().
timeName(),
126 this->particleStressModel_->tau
135 volumeAverage_ =
nullptr;
142 template<
class CloudType>
153 this->volumeAverage_->
interpolate(
p.coordinates(), tetIs);
159 this->uAverage_->interpolate(
p.coordinates(), tetIs);
163 stressAverage_->interpolateGrad(
p.coordinates(), tetIs);
166 const vector uRelative =
p.U() - uMean;
179 if ((uRelative & alphaGrad) > 0)
181 dU = - deltaT*tauGrad/(
p.rho()*(
alpha + SMALL));
186 correctionLimiting_->limitedVelocity
A list of keyword definitions, which are a keyword followed by a number of values (eg...
virtual vector velocityCorrection(typename CloudType::parcelType &p, const scalar deltaT) const
Calculate the velocity correction.
Base class for packing models.
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.
Explicit model for applying an inter-particle stress to the particles.
static word scopedName(const std::string &scope, const word &name)
Create scope:name or scope_name string.
const word cloudName(propsDict.get< word >("cloud"))
A class for handling words, derived from Foam::string.
virtual TypeGrad interpolateGrad(const barycentric &coordinates, const tetIndices &tetIs) const =0
Interpolate gradient.
Storage and named access for the indices of a tet which is part of the decomposition of a cell...
ParcelType parcelType
Type of parcel the cloud was instantiated for.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
virtual void cacheFields(const bool store)
Cache dependent sub-model fields.
Explicit(const dictionary &dict, CloudType &owner)
Construct from components.
Base class for correction limiting methods.
virtual Type interpolate(const barycentric &coordinates, const tetIndices &tetIs) const =0
Interpolate.
virtual ~Explicit()
Destructor.
Mesh data needed to do the Finite Volume discretisation.
void clear()
Clear the PtrList. Delete allocated entries and set size to zero.
virtual void cacheFields(const bool store)
Calculate the inter particles stresses.
Selector class for relaxation factors, solver type and solution.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
Defines the attributes of an object for which implicit objectRegistry management is supported...
Templated base class for dsmc cloud.
static constexpr const zero Zero
Global zero (0)