44 #ifndef KinematicParcel_H 45 #define KinematicParcel_H 58 template<
class ParcelType>
63 template<
class ParcelType>
74 template<
class ParcelType>
82 static const std::size_t sizeofFields_;
85 static label maxTrackAttempts;
142 inline scalar
rhoMin()
const;
145 inline scalar
rho0()
const;
154 public ParcelType::trackingData
193 template <
class TrackCloudType>
212 inline scalar rhoc()
const;
215 inline scalar& rhoc();
218 inline const vector& Uc()
const;
224 inline scalar muc()
const;
227 inline scalar& muc();
230 inline const vector&
g()
const;
274 template<
class TrackCloudType>
277 TrackCloudType&
cloud,
309 +
" (UTurbx UTurby UTurbz)" 322 const label tetFacei,
341 const label tetFacei,
344 const scalar nParticle0,
346 const scalar dTarget0,
405 inline bool active()
const;
414 inline scalar
d()
const;
420 inline const vector&
U()
const;
423 inline scalar
rho()
const;
426 inline scalar
age()
const;
429 inline scalar
tTurb()
const;
456 inline scalar&
rho();
459 inline scalar&
age();
462 inline scalar&
tTurb();
474 inline scalar
mass()
const;
480 inline scalar
volume()
const;
483 inline static scalar
volume(
const scalar d);
486 inline scalar
areaP()
const;
489 inline static scalar
areaP(
const scalar d);
492 inline scalar
areaS()
const;
495 inline static scalar
areaS(
const scalar d);
501 inline static scalar
Re 518 inline static scalar
We 535 inline static scalar
Eo 549 template<
class TrackCloudType>
554 template<
class TrackCloudType>
557 TrackCloudType& cloud,
563 template<
class TrackCloudType>
566 TrackCloudType& cloud,
572 template<
class TrackCloudType>
575 TrackCloudType& cloud,
584 template<
class TrackCloudType>
587 TrackCloudType& cloud,
589 const scalar trackTime
597 template<
class TrackCloudType>
602 template<
class TrackCloudType>
606 template<
class TrackCloudType>
617 template<
class TrackCloudType>
621 template<
class TrackCloudType>
627 friend Ostream& operator<< <ParcelType>
scalar massCell(const trackingData &td) const
Cell owner mass.
const vector & U() const
Return const access to velocity.
static void writeFields(const TrackCloudType &c)
Write.
scalar tTurb() const
Return const access to time spent in turbulent eddy.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
scalar rhoMin() const
Return const access to the minimum density.
const vector & UTurb() const
Return const access to turbulent velocity fluctuation.
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 ...
TypeName("KinematicParcel")
Runtime type information.
scalar nParticle() const
Return const access to number of particles.
const dimensionedScalar & sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Class to hold kinematic particle constant properties.
scalar mass() const
Particle mass.
scalar d() const
Return const access to diameter.
scalar tTurb_
Time spent in turbulent eddy [s].
scalar rho() const
Return const access to density.
bool cp(const fileName &src, const fileName &dst, const bool followLink=true)
Copy, recursively if necessary, the source to the destination.
scalar rho0() const
Return const access to the particle density.
void setCellValues(TrackCloudType &cloud, trackingData &td)
Set cell values.
constantProperties()
Null constructor.
scalar areaP() const
Particle projected area.
const dimensionedScalar & c
Speed of light in a vacuum.
Factory class to read-construct particles used for.
KinematicParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
Construct from mesh, coordinates and topology.
scalar dTarget() const
Return const access to target diameter.
label parcelTypeId() const
Return const access to the parcel type id.
scalar dTarget_
Target diameter [m].
scalar age() const
Return const access to the age.
void cellValueSourceCorrection(TrackCloudType &cloud, trackingData &td, const scalar dt)
Correct cell values using latest transfer information.
scalar Eo(const trackingData &td, const scalar sigma) const
Eotvos number.
scalar rho_
Density [kg/m^3].
scalar momentOfInertia() const
Particle moment of inertia around diameter axis.
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].
static void readFields(TrackCloudType &c)
Read.
virtual void transformProperties(const transformer &)
Transform the physical properties of the particle.
void calc(TrackCloudType &cloud, trackingData &td, const scalar dt)
Update parcel properties over the time interval.
bool active() const
Return const access to active flag.
const vector calcVelocity(TrackCloudType &cloud, trackingData &td, const scalar dt, const scalar Re, const scalar mu, const scalar mass, const vector &Su, vector &dUTrans, scalar &Spu) const
Calculate new particle velocity.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
scalar nParticle_
Number of particles in Parcel.
scalar minParcelMass() const
Return const access to the minimum parcel mass.
vector U_
Velocity of Parcel [m/s].
virtual autoPtr< particle > clone() const
Construct and return a (basic particle) clone.
PtrList< coordinateSystem > coordinates(solidRegions.size())
const dimensionedScalar & mu
Atomic mass unit.
scalar volume() const
Particle volume.
scalar Re(const trackingData &td) const
Reynolds number.
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.
bool move(TrackCloudType &cloud, trackingData &td, const scalar trackTime)
Move the parcel.
const dimensionedVector & g
label typeId() const
Return const access to type id.
AddToPropertyList(ParcelType, " active"+" typeId"+" nParticle"+" d"+" dTarget "+" (Ux Uy Uz)"+" rho"+" age"+" tTurb"+" (UTurbx UTurby UTurbz)")
String representation of properties.
void hitProcessorPatch(TrackCloudType &cloud, trackingData &td)
Overridable function to handle the particle hitting a.
scalar areaS() const
Particle surface area.
bool hitPatch(TrackCloudType &cloud, trackingData &td)
Overridable function to handle the particle hitting a patch.
scalar We(const trackingData &td, const scalar sigma) const
Weber number.
void calcDispersion(TrackCloudType &cloud, trackingData &td, const scalar dt)
Apply dispersion to the carrier phase velocity and update.
const dictionary & dict() const
Return const access to the constant properties dictionary.
void hitWallPatch(TrackCloudType &cloud, trackingData &td)
Overridable function to handle the particle hitting a wallPatch.