44 #ifndef MomentumParcel_H 45 #define MomentumParcel_H 56 template<
class ParcelType>
61 template<
class ParcelType>
79 template<
class ParcelType>
83 public MomentumParcelName
88 static const std::size_t sizeofFields_;
91 static label maxTrackAttempts;
148 inline scalar
rhoMin()
const;
151 inline scalar
rho0()
const;
160 public ParcelType::trackingData
199 template <
class TrackCloudType>
218 inline scalar rhoc()
const;
221 inline scalar& rhoc();
224 inline const vector& Uc()
const;
230 inline scalar muc()
const;
233 inline scalar& muc();
236 inline const vector&
g()
const;
280 template<
class TrackCloudType>
283 TrackCloudType&
cloud,
312 +
" (UTurbx UTurby UTurbz)" 325 const label tetFacei,
392 inline bool moving()
const;
401 inline scalar
d()
const;
407 inline const vector&
U()
const;
410 inline scalar
rho()
const;
413 inline scalar
age()
const;
416 inline scalar
tTurb()
const;
443 inline scalar&
rho();
446 inline scalar&
age();
449 inline scalar&
tTurb();
461 inline scalar
mass()
const;
467 inline scalar
volume()
const;
470 inline static scalar
volume(
const scalar d);
473 inline scalar
areaP()
const;
476 inline static scalar
areaP(
const scalar d);
479 inline scalar
areaS()
const;
482 inline static scalar
areaS(
const scalar d);
488 inline static scalar
Re 505 inline static scalar
We 522 inline static scalar
Eo 536 template<
class TrackCloudType>
541 template<
class TrackCloudType>
544 TrackCloudType& cloud,
550 template<
class TrackCloudType>
553 TrackCloudType& cloud,
559 template<
class TrackCloudType>
562 TrackCloudType& cloud,
571 template<
class TrackCloudType>
574 TrackCloudType& cloud,
576 const scalar trackTime
584 template<
class TrackCloudType>
589 template<
class TrackCloudType>
593 template<
class TrackCloudType>
604 template<
class TrackCloudType>
608 template<
class TrackCloudType>
614 friend Ostream& operator<< <ParcelType>
scalar volume() const
Particle volume.
const vector & UTurb() const
Return const access to turbulent velocity fluctuation.
TemplateName(blendedSchemeBase)
bool moving_
Moving flag - tracking stopped when moving = false.
void hitWallPatch(TrackCloudType &cloud, trackingData &td)
Overridable function to handle the particle hitting a wallPatch.
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 areaS() const
Particle surface area.
scalar dTarget_
Target diameter [m].
void setCellValues(TrackCloudType &cloud, trackingData &td)
Set cell values.
const dictionary dict_
Constant properties dictionary.
A list of keyword definitions, which are a keyword followed by any number of values (e...
bool hitPatch(TrackCloudType &cloud, trackingData &td)
Overridable function to handle the particle hitting a patch.
scalar age() const
Return const access to the age.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
scalar rho0() const
Return const access to the particle density.
bool cp(const fileName &src, const fileName &dst, const bool followLink=true)
Copy, recursively if necessary, the source to the destination.
label typeId_
Parcel type id.
scalar minParcelMass() const
Return const access to the minimum parcel mass.
scalar rhoMin() const
Return const access to the minimum density.
scalar We(const trackingData &td, const scalar sigma) const
Weber number.
scalar dTarget() const
Return const access to target diameter.
bool moving() const
Return const access to moving flag.
const dimensionedScalar c
Speed of light in a vacuum.
scalar d() const
Return const access to diameter.
constantProperties()
Null constructor.
void cellValueSourceCorrection(TrackCloudType &cloud, trackingData &td, const scalar dt)
Correct cell values using latest transfer information.
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.
scalar rho_
Density [kg/m^3].
scalar nParticle_
Number of particles in Parcel.
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
void calc(TrackCloudType &cloud, trackingData &td, const scalar dt)
Update parcel properties over the time interval.
void hitProcessorPatch(TrackCloudType &cloud, trackingData &td)
Overridable function to handle the particle hitting a.
static void readFields(TrackCloudType &c)
Read.
scalar massCell(const trackingData &td) const
Cell owner mass.
scalar nParticle() const
Return const access to number of particles.
scalar tTurb_
Time spent in turbulent eddy [s].
A cloud is a collection of lagrangian particles.
label parcelTypeId() const
Return const access to the parcel type id.
scalar Eo(const trackingData &td, const scalar sigma) const
Eotvos number.
scalar momentOfInertia() const
Particle moment of inertia around diameter axis.
scalar Re(const trackingData &td) const
Reynolds number.
vector U_
Velocity of Parcel [m/s].
Momentum parcel class with rotational motion (as spherical particles only) and one/two-way coupling w...
An Ostream is an abstract base class for all output systems (streams, files, token lists...
const dimensionedScalar mu
Atomic mass unit.
scalar rho() const
Return const access to density.
virtual void transformProperties(const transformer &)
Transform the physical properties of the particle.
void calcDispersion(TrackCloudType &cloud, trackingData &td, const scalar dt)
Apply dispersion to the carrier phase velocity and update.
MomentumParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
Construct from mesh, coordinates and topology.
scalar mass() const
Particle mass.
static void writeFields(const TrackCloudType &c)
Write.
Factory class to read-construct particles used for.
AddToPropertyList(ParcelType, " moving"+" typeId"+" nParticle"+" d"+" dTarget "+" (Ux Uy Uz)"+" rho"+" age"+" tTurb"+" (UTurbx UTurby UTurbz)")
String representation of properties.
const vector & U() const
Return const access to velocity.
const dictionary & dict() const
Return const access to the constant properties dictionary.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
label typeId() const
Return const access to type id.
Mesh consisting of general polyhedral cells.
const tmp< volScalarField::Internal > & Su
bool move(TrackCloudType &cloud, trackingData &td, const scalar trackTime)
Move the parcel.
const dimensionedVector & g
scalar areaP() const
Particle projected area.
scalar tTurb() const
Return const access to time spent in turbulent eddy.
virtual autoPtr< particle > clone() const
Construct and return a (basic particle) clone.
vector UTurb_
Turbulent velocity fluctuation [m/s].
Class to hold momentum parcel constant properties.