30 template<
class CloudType>
38 stressAverage_(
nullptr),
43 this->coeffDict().subDict(CorrectionLimitingMethod::typeName)
49 template<
class CloudType>
56 stressAverage_(cm.stressAverage_->clone()),
59 cm.correctionLimiting_->clone()
66 template<
class CloudType>
73 template<
class CloudType>
86 cloudName +
":volumeAverage" 91 cloudName +
":rhoAverage" 96 cloudName +
":uAverage" 101 cloudName +
":uSqrAverage" 104 volumeAverage_ = &volumeAverage;
105 uAverage_ = &uAverage;
113 cloudName +
":stressAverage",
114 this->owner().db().time().
timeName(),
123 this->particleStressModel_->tau
132 volumeAverage_ =
nullptr;
134 stressAverage_.
clear();
139 template<
class CloudType>
146 const tetIndices tetIs(p.currentTetIndices());
150 this->volumeAverage_->interpolate(p.coordinates(), tetIs);
152 this->volumeAverage_->interpolateGrad(p.coordinates(), tetIs);
154 this->uAverage_->interpolate(p.coordinates(), tetIs);
158 stressAverage_->interpolateGrad(p.coordinates(), tetIs);
161 const vector uRelative = p.U() - uMean;
174 if ((uRelative & alphaGrad) > 0)
176 dU = - deltaT*tauGrad/(p.rho()*alpha);
181 correctionLimiting_->limitedVelocity
A list of keyword definitions, which are a keyword followed by any number of values (e...
virtual vector velocityCorrection(typename CloudType::parcelType &p, const scalar deltaT) const
Calculate the velocity correction.
volScalarField alpha(IOobject("alpha", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
Base class for packing models.
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type.
Explicit model for applying an inter-particle stress to the particles.
autoPtr< BasicCompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const typename BasicCompressibleMomentumTransportModel::transportModel &transport)
A class for handling words, derived from string.
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.
Explicit(const dictionary &dict, CloudType &owner)
Construct from components.
virtual ~Explicit()
Destructor.
Mesh data needed to do the Finite Volume discretisation.
void clear()
Clear the PtrList, i.e. set size to zero deleting all the.
virtual void cacheFields(const bool store)
Calculate the inter particles stresses.
Selector class for relaxation factors, solver type and solution.
const word cloudName(propsDict.lookup("cloudName"))
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Templated base class for dsmc cloud.