33template<
class CloudType>
41 stressAverage_(nullptr),
52template<
class CloudType>
59 stressAverage_(cm.stressAverage_->clone()),
62 cm.correctionLimiting_->clone()
69template<
class CloudType>
76template<
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;
137 stressAverage_.
clear();
142template<
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
const word cloudName(propsDict.get< word >("cloud"))
Base class for lagrangian averaging methods.
virtual TypeGrad interpolateGrad(const barycentric &coordinates, const tetIndices &tetIs) const =0
Interpolate gradient.
static autoPtr< AveragingMethod< Type > > New(const IOobject &io, const dictionary &dict, const fvMesh &mesh)
Selector.
virtual Type interpolate(const barycentric &coordinates, const tetIndices &tetIs) const =0
Interpolate.
const CloudType & owner() const
Return const access to the owner cloud.
Base class for correction limiting methods.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
static word scopedName(const std::string &scope, const word &name)
Create scope:name or scope_name string.
Base class for packing models.
autoPtr< ParticleStressModel > particleStressModel_
Protected data.
static autoPtr< PackingModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
PackingModel(CloudType &owner)
Construct null from owner.
Explicit model for applying an inter-particle stress to the particles.
virtual ~Explicit()
Destructor.
virtual autoPtr< PackingModel< CloudType > > clone() const
Construct and return a clone.
virtual void cacheFields(const bool store)
Calculate the inter particles stresses.
virtual vector velocityCorrection(typename CloudType::parcelType &p, const scalar deltaT) const
Calculate the velocity correction.
Explicit(const dictionary &dict, CloudType &owner)
Construct from components.
void clear()
Clear the PtrList. Delete allocated entries and set size to zero.
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.
Selector class for relaxation factors, solver type and solution.
virtual void cacheFields(const bool store)
Cache dependent sub-model fields.
const dictionary & coeffDict() const
Return const access to the coefficients dictionary.
const dictionary & dict() const
Return const access to the cloud dictionary.
Storage and named access for the indices of a tet which is part of the decomposition of a cell.
A class for handling words, derived from Foam::string.
DSMCCloud< dsmcParcel > CloudType
const word GlobalIOList< Tuple2< scalar, vector > >::typeName("scalarVectorTable")
static constexpr const zero Zero
Global zero (0).