Go to the documentation of this file.
30 template<
class ParcelType>
31 template<
class CloudType>
49 cloud.solution().dict(),
63 cloud.solution().dict(),
77 cloud.solution().dict(),
91 cloud.solution().dict(),
105 cloud.solution().dict(),
119 cloud.solution().dict(),
133 cloud.solution().dict(),
141 template<
class ParcelType>
142 template<
class CloudType>
150 volumeAverage_() = 0;
151 radiusAverage_() = 0;
153 uAverage_() = vector::zero;
155 frequencyAverage_() = 0;
169 cloud.solution().dict(),
181 const scalar m =
p.nParticle()*
p.mass();
183 volumeAverage_->add(
p.position(), tetIs,
p.nParticle()*
p.volume());
184 rhoAverage_->add(
p.position(), tetIs, m*
p.rho());
185 uAverage_->add(
p.position(), tetIs, m*
p.U());
186 massAverage_->add(
p.position(), tetIs, m);
188 volumeAverage_->average();
189 massAverage_->average();
190 rhoAverage_->average(massAverage_);
191 uAverage_->average(massAverage_);
199 const vector u = uAverage_->interpolate(
p.position(), tetIs);
208 uSqrAverage_->average(massAverage_);
211 radiusAverage_() = volumeAverage_();
222 p.nParticle()*
pow(
p.volume(), 2.0/3.0)
226 radiusAverage_->average(weightAverage);
235 const scalar a = volumeAverage_->interpolate(
p.position(), tetIs);
236 const scalar r = radiusAverage_->interpolate(
p.position(), tetIs);
237 const vector u = uAverage_->interpolate(
p.position(), tetIs);
239 const scalar
f = 0.75*a/
pow3(r)*
sqr(0.5*
p.d() + r)*
mag(
p.U() - u);
241 frequencyAverage_->add(
p.position(), tetIs,
p.nParticle()*
f*
f);
243 weightAverage.
add(
p.position(), tetIs,
p.nParticle()*
f);
245 frequencyAverage_->average(weightAverage);
249 template<
class ParcelType>
250 template<
class CloudType>
259 template<
class ParcelType>
260 template<
class CloudType>
Base class for lagrangian averaging methods.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const Time & time() const
Return time.
dimensioned< scalar > mag(const dimensioned< Type > &)
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
const objectRegistry & db() const
Return the local objectRegistry.
dimensionedScalar pow3(const dimensionedScalar &ds)
Wrapper around kinematic parcel types to add MPPIC modelling.
const word & name() const
Return name.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
virtual void add(const point position, const tetIndices &tetIs, const Type &value)=0
Member Functions.
Templated base class for dsmc cloud.
Storage and named access for the indices of a tet which is part of the decomposition of a cell.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A cloud is a collection of lagrangian particles.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
static word timeName(const scalar, const int precision=precision_)
Return time name of given scalar time.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
virtual void average()
Calculate the average.
dimensioned< scalar > magSqr(const dimensioned< Type > &)