30 template<
class CloudType>
38 stressAverage_(nullptr),
49 template<
class CloudType>
56 stressAverage_(cm.stressAverage_, false),
57 correctionLimiting_(cm.correctionLimiting_, false)
63 template<
class CloudType>
70 template<
class CloudType>
101 volumeAverage_ = &volumeAverage;
102 uAverage_ = &uAverage;
111 this->owner().db().time().name(),
114 this->owner().solution().dict(),
120 this->particleStressModel_->tau
129 volumeAverage_ =
nullptr;
131 stressAverage_.
clear();
136 template<
class CloudType>
143 const tetIndices tetIs(
p.currentTetIndices(this->owner().mesh()));
147 this->volumeAverage_->interpolate(
p.coordinates(), tetIs);
149 this->volumeAverage_->interpolateGrad(
p.coordinates(), tetIs);
151 this->uAverage_->interpolate(
p.coordinates(), tetIs);
155 stressAverage_->interpolateGrad(
p.coordinates(), tetIs);
158 const vector uRelative =
p.U() - uMean;
171 if ((uRelative & alphaGrad) > 0)
173 dU = - deltaT*tauGrad/(
p.rho()*
alpha);
178 correctionLimiting_->limitedVelocity
Base class for correction limiting methods.
Templated base class for dsmc cloud.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Base class for packing models.
Explicit model for applying an inter-particle stress to the particles.
virtual ~Explicit()
Destructor.
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, i.e. set size to zero deleting all the.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Mesh data needed to do the Finite Volume discretisation.
const polyMesh & mesh() const
Return reference to polyMesh.
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type and name.
virtual void cacheFields(const bool store)
Cache dependent sub-model fields.
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 string.
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
const word cloudName(propsDict.lookup("cloudName"))