44 #ifndef KinematicParcel_H 45 #define KinematicParcel_H 60 template<
class ParcelType>
65 template<
class ParcelType>
76 template<
class ParcelType>
84 static const std::size_t sizeofFields_;
87 static label maxTrackAttempts;
144 inline scalar
rhoMin()
const;
147 inline scalar
rho0()
const;
154 template<
class CloudType>
220 inline const vector&
g()
const;
282 template<
class TrackData>
317 +
" (UTurbx UTurby UTurbz)" 330 const label tetFacei,
340 const label tetFacei,
343 const scalar nParticle0,
345 const scalar dTarget0,
404 inline bool active()
const;
413 inline scalar
d()
const;
419 inline const vector&
U()
const;
422 inline scalar
rho()
const;
425 inline scalar
age()
const;
428 inline scalar
tTurb()
const;
434 inline scalar
rhoc()
const;
440 inline scalar
muc()
const;
464 inline scalar&
rho();
467 inline scalar&
age();
470 inline scalar&
tTurb();
485 inline scalar
mass()
const;
491 inline scalar
volume()
const;
494 inline static scalar
volume(
const scalar d);
497 inline scalar
areaP()
const;
500 inline static scalar
areaP(
const scalar d);
503 inline scalar
areaS()
const;
506 inline static scalar
areaS(
const scalar d);
538 template<
class TrackData>
547 template<
class TrackData>
556 template<
class TrackData>
568 template<
class TrackData>
569 bool move(TrackData& td,
const scalar trackTime);
579 template<
class TrackData>
584 template<
class TrackData>
590 const scalar trackFraction,
596 template<
class TrackData>
604 template<
class TrackData>
613 template<
class TrackData>
636 template<
class CloudType>
640 template<
class CloudType>
646 friend Ostream& operator<< <ParcelType>
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
static void readFields(CloudType &c)
Read.
scalar mass() const
Particle mass.
bool hitPatch(const polyPatch &p, TrackData &td, const label patchi, const scalar trackFraction, const tetIndices &tetIs)
Overridable function to handle the particle hitting a patch.
virtual autoPtr< particle > clone() const
Construct and return a (basic particle) clone.
A list of keyword definitions, which are a keyword followed by any number of values (e...
Kinematic parcel class with rotational motion (as spherical particles only) and one/two-way coupling ...
scalar Eo(const vector &a, const scalar d, const scalar sigma) const
Eotvos number.
scalar Re(const vector &U, const scalar d, const scalar rhoc, const scalar muc) const
Reynolds number.
const dictionary & dict() const
Return const access to the constant properties dictionary.
TypeName("KinematicParcel")
Runtime type information.
scalar rho0() const
Return const access to the particle density.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Class to hold kinematic particle constant properties.
scalar rho() const
Return const access to density.
scalar tTurb_
Time spent in turbulent eddy [s].
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m2/K4].
KinematicParcel(const polyMesh &mesh, const vector &position, const label celli, const label tetFacei, const label tetPtI)
Construct from owner, position, and cloud owner.
label faceInterpolation() const
Return the index of the face used in the interpolation routine.
bool cp(const fileName &src, const fileName &dst)
Copy, recursively if necessary, the source to the destination.
const vector & Uc() const
Return const access to carrier velocity [m/s].
scalar volume() const
Particle volume.
constantProperties()
Null constructor.
scalar massCell(const label celli) const
Cell owner mass.
virtual scalar wallImpactDistance(const vector &n) const
The nearest distance to a wall that the particle can be.
Factory class to read-construct particles used for.
scalar dTarget() const
Return const access to target diameter.
AddToPropertyList(ParcelType," active"+" typeId"+" nParticle"+" d"+" dTarget "+" (Ux Uy Uz)"+" rho"+" age"+" tTurb"+" (UTurbx UTurby UTurbz)")
String representation of properties.
const vector & UTurb() const
Return const access to turbulent velocity fluctuation.
scalar muc() const
Return const access to carrier viscosity [Pa.s].
vector Uc_
Velocity [m/s].
Neighbour processor patch.
scalar areaS() const
Particle surface area.
bool move(TrackData &td, const scalar trackTime)
Move the parcel.
scalar dTarget_
Target diameter [m].
scalar rhoc() const
Return const access to carrier density [kg/m3].
scalar tTurb() const
Return const access to time spent in turbulent eddy.
scalar We(const vector &U, const scalar d, const scalar rhoc, const scalar sigma) const
Weber number.
scalar momentOfInertia() const
Particle moment of inertia around diameter axis.
scalar rho_
Density [kg/m3].
virtual void transformProperties(const tensor &T)
Transform the physical properties of the particle.
scalar muc_
Viscosity [Pa.s].
void hitFace(int &td)
Overridable function to handle the particle hitting a face.
bool active_
Active flag - tracking inactive when active = false.
const dictionary dict_
Constant properties dictionary.
A cloud is a collection of lagrangian particles.
label typeId_
Parcel type id.
vector UTurb_
Turbulent velocity fluctuation [m/s].
label parcelTypeId() const
Return const access to the parcel type id.
Storage and named access for the indices of a tet which is part of the decomposition of a cell...
const vector calcVelocity(TrackData &td, const scalar dt, const label celli, const scalar Re, const scalar mu, const scalar mass, const vector &Su, vector &dUTrans, scalar &Spu) const
Calculate new particle velocity.
scalar age() const
Return const access to the age.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
const dimensionedVector & g
scalar nParticle_
Number of particles in Parcel.
void cellValueSourceCorrection(TrackData &td, const scalar dt, const label celli)
Correct cell values using latest transfer information.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
void calc(TrackData &td, const scalar dt, const label celli)
Update parcel properties over the time interval.
const dimensionedScalar mu
Atomic mass unit.
scalar rhoc_
Density [kg/m3].
vector U_
Velocity of Parcel [m/s].
scalar rhoMin() const
Return const access to the minimum density.
bool active() const
Return const access to active flag.
const dimensionedScalar c
Speed of light in a vacuum.
void setCellValues(TrackData &td, const scalar dt, const label celli)
Set cell values.
static void writeFields(const CloudType &c)
Write.
void hitWallPatch(const wallPolyPatch &, TrackData &td, const tetIndices &)
Overridable function to handle the particle hitting a wallPatch.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Mesh consisting of general polyhedral cells.
void hitProcessorPatch(const processorPolyPatch &, TrackData &td)
Overridable function to handle the particle hitting a.
A patch is a list of labels that address the faces in the global face list.
scalar areaP() const
Particle projected area.
tmp< GeometricField< Type, fvPatchField, volMesh > > Su(const GeometricField< Type, fvPatchField, volMesh > &su, const GeometricField< Type, fvPatchField, volMesh > &vf)
Templated base class for dsmc cloud.
scalar d() const
Return const access to diameter.
scalar nParticle() const
Return const access to number of particles.
scalar minParcelMass() const
Return const access to the minimum parcel mass.
const vector & U() const
Return const access to velocity.
label typeId() const
Return const access to type id.