35 template<
class ParcelType>
40 parcelTypeId_(dict_, -1),
43 minParcelMass_(dict_, 0.0)
47 template<
class ParcelType>
54 parcelTypeId_(
cp.parcelTypeId_),
57 minParcelMass_(
cp.minParcelMass_)
61 template<
class ParcelType>
67 dict_(parentDict.subOrEmptyDict(
"constantProperties")),
68 parcelTypeId_(dict_,
"parcelTypeId", -1),
69 rhoMin_(dict_,
"rhoMin", 1
e-15),
70 rho0_(dict_,
"rho0", -1),
71 minParcelMass_(dict_,
"minParcelMass", 1
e-15)
75 template<
class ParcelType>
85 ParcelType(owner,
coordinates, celli, tetFacei, tetPti),
99 template<
class ParcelType>
107 ParcelType(owner, position, celli),
121 template<
class ParcelType>
127 const label tetFacei,
130 const scalar nParticle0,
132 const scalar dTarget0,
134 const constantProperties& constProps
137 ParcelType(owner,
coordinates, celli, tetFacei, tetPti),
140 nParticle_(nParticle0),
144 rho_(constProps.
rho0()),
153 template<
class ParcelType>
161 template<
class ParcelType>
165 return parcelTypeId_.value();
169 template<
class ParcelType>
173 return rhoMin_.value();
177 template<
class ParcelType>
181 return rho0_.value();
185 template<
class ParcelType>
189 return minParcelMass_.value();
195 template<
class ParcelType>
202 template<
class ParcelType>
209 template<
class ParcelType>
216 template<
class ParcelType>
223 template<
class ParcelType>
230 template<
class ParcelType>
237 template<
class ParcelType>
244 template<
class ParcelType>
251 template<
class ParcelType>
258 template<
class ParcelType>
265 template<
class ParcelType>
272 template<
class ParcelType>
279 template<
class ParcelType>
286 template<
class ParcelType>
293 template<
class ParcelType>
300 template<
class ParcelType>
307 template<
class ParcelType>
314 template<
class ParcelType>
321 template<
class ParcelType>
328 template<
class ParcelType>
335 template<
class ParcelType>
342 template<
class ParcelType>
349 template<
class ParcelType>
352 const trackingData&
td 355 return td.rhoc()*this->
mesh().cellVolumes()[this->
cell()];
359 template<
class ParcelType>
366 template<
class ParcelType>
369 return 0.1*mass()*
sqr(d_);
373 template<
class ParcelType>
380 template<
class ParcelType>
387 template<
class ParcelType>
394 template<
class ParcelType>
397 return 0.25*areaS(d);
401 template<
class ParcelType>
408 template<
class ParcelType>
415 template<
class ParcelType>
418 const trackingData&
td 421 return Re(
td.rhoc(), U_,
td.Uc(), d_,
td.muc());
425 template<
class ParcelType>
435 return rhoc*
mag(
U - Uc)*d/
max(muc, ROOTVSMALL);
439 template<
class ParcelType>
442 const trackingData&
td,
446 return We(
td.rhoc(), U_,
td.Uc(), d_,
sigma);
450 template<
class ParcelType>
464 template<
class ParcelType>
467 const trackingData&
td,
471 return Eo(
td.g(), rho_,
td.rhoc(), U_, d_,
sigma);
475 template<
class ParcelType>
scalar massCell(const trackingData &td) const
Cell owner mass.
const vector & U() const
Return const access to velocity.
scalar tTurb() const
Return const access to time spent in turbulent eddy.
scalar rhoMin() const
Return const access to the minimum density.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
const vector & UTurb() const
Return const access to turbulent velocity fluctuation.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
scalar nParticle() const
Return const access to number of particles.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Class to hold kinematic particle constant properties.
scalar mass() const
Particle mass.
scalar d() const
Return const access to diameter.
scalar rho() const
Return const access to density.
bool cp(const fileName &src, const fileName &dst, const bool followLink=true)
Copy the source to the destination (recursively if necessary).
scalar rho0() const
Return const access to the particle density.
constantProperties()
Default construct.
scalar areaP() const
Particle projected area.
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
KinematicParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
Construct from mesh, coordinates and topology.
const vector & UCorrect() const
Return const access to correction velocity.
scalar dTarget() const
Return const access to target diameter.
label parcelTypeId() const
Return const access to the parcel type id.
scalar age() const
Return const access to the age.
scalar Eo(const trackingData &td, const scalar sigma) const
Eotvos number.
scalar momentOfInertia() const
Particle moment of inertia around diameter axis.
constexpr scalar pi(M_PI)
bool active() const
Return const access to active flag.
const uniformDimensionedVectorField & g
const wordList volume
Standard volume field types (scalar, vector, tensor, etc)
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
scalar minParcelMass() const
Return const access to the minimum parcel mass.
scalarField Re(const UList< complex > &cmplx)
Extract real component.
dimensionedScalar pow3(const dimensionedScalar &ds)
PtrList< coordinateSystem > coordinates(solidRegions.size())
A cell is defined as a list of faces with extra functionality.
scalar volume() const
Particle volume.
scalar Re(const trackingData &td) const
Reynolds number.
Mesh consisting of general polyhedral cells.
label typeId() const
Return const access to type id.
scalar areaS() const
Particle surface area.
scalar We(const trackingData &td, const scalar sigma) const
Weber number.
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
const dictionary & dict() const
Return const access to the constant properties dictionary.
static constexpr const zero Zero
Global zero (0)