Kinematic parcel class with rotational motion (as spherical particles only) and one/two-way coupling with the continuous phase. More...
Data Structures | |
class | constantProperties |
Class to hold kinematic particle constant properties. More... | |
class | iNew |
Factory class to read-construct particles used for. More... | |
class | TrackingData |
Public Member Functions | |
TypeName ("KinematicParcel") | |
Runtime type information. More... | |
AddToPropertyList (ParcelType, " active"+" typeId"+" nParticle"+" d"+" dTarget "+" (Ux Uy Uz)"+" rho"+" age"+" tTurb"+" (UTurbx UTurby UTurbz)") | |
String representation of properties. More... | |
KinematicParcel (const polyMesh &mesh, const vector &position, const label cellI, const label tetFaceI, const label tetPtI) | |
Construct from owner, position, and cloud owner. More... | |
KinematicParcel (const polyMesh &mesh, const vector &position, const label cellI, const label tetFaceI, const label tetPtI, const label typeId, const scalar nParticle0, const scalar d0, const scalar dTarget0, const vector &torque0, const constantProperties &constProps) | |
Construct from components. More... | |
KinematicParcel (const polyMesh &mesh, Istream &is, bool readFields=true) | |
Construct from Istream. More... | |
KinematicParcel (const KinematicParcel &p) | |
Construct as a copy. More... | |
KinematicParcel (const KinematicParcel &p, const polyMesh &mesh) | |
Construct as a copy. More... | |
virtual autoPtr< particle > | clone () const |
Construct and return a (basic particle) clone. More... | |
virtual autoPtr< particle > | clone (const polyMesh &mesh) const |
Construct and return a (basic particle) clone. More... | |
bool | active () const |
Return const access to active flag. More... | |
label | typeId () const |
Return const access to type id. More... | |
scalar | nParticle () const |
Return const access to number of particles. More... | |
scalar | d () const |
Return const access to diameter. More... | |
scalar | dTarget () const |
Return const access to target diameter. More... | |
const vector & | U () const |
Return const access to velocity. More... | |
scalar | rho () const |
Return const access to density. More... | |
scalar | age () const |
Return const access to the age. More... | |
scalar | tTurb () const |
Return const access to time spent in turbulent eddy. More... | |
const vector & | UTurb () const |
Return const access to turbulent velocity fluctuation. More... | |
scalar | rhoc () const |
Return const access to carrier density [kg/m3]. More... | |
const vector & | Uc () const |
Return const access to carrier velocity [m/s]. More... | |
scalar | muc () const |
Return const access to carrier viscosity [Pa.s]. More... | |
bool & | active () |
Return const access to active flag. More... | |
label & | typeId () |
Return access to type id. More... | |
scalar & | nParticle () |
Return access to number of particles. More... | |
scalar & | d () |
Return access to diameter. More... | |
scalar & | dTarget () |
Return access to target diameter. More... | |
vector & | U () |
Return access to velocity. More... | |
scalar & | rho () |
Return access to density. More... | |
scalar & | age () |
Return access to the age. More... | |
scalar & | tTurb () |
Return access to time spent in turbulent eddy. More... | |
vector & | UTurb () |
Return access to turbulent velocity fluctuation. More... | |
label | faceInterpolation () const |
Return the index of the face used in the interpolation routine. More... | |
scalar | massCell (const label cellI) const |
Cell owner mass. More... | |
scalar | mass () const |
Particle mass. More... | |
scalar | momentOfInertia () const |
Particle moment of inertia around diameter axis. More... | |
scalar | volume () const |
Particle volume. More... | |
scalar | areaP () const |
Particle projected area. More... | |
scalar | areaS () const |
Particle surface area. More... | |
scalar | Re (const vector &U, const scalar d, const scalar rhoc, const scalar muc) const |
Reynolds number. More... | |
scalar | We (const vector &U, const scalar d, const scalar rhoc, const scalar sigma) const |
Weber number. More... | |
scalar | Eo (const vector &a, const scalar d, const scalar sigma) const |
Eotvos number. More... | |
template<class TrackData > | |
void | setCellValues (TrackData &td, const scalar dt, const label cellI) |
Set cell values. More... | |
template<class TrackData > | |
void | cellValueSourceCorrection (TrackData &td, const scalar dt, const label cellI) |
Correct cell values using latest transfer information. More... | |
template<class TrackData > | |
void | calc (TrackData &td, const scalar dt, const label cellI) |
Update parcel properties over the time interval. More... | |
template<class TrackData > | |
bool | move (TrackData &td, const scalar trackTime) |
Move the parcel. More... | |
void | hitFace (int &td) |
Overridable function to handle the particle hitting a face. More... | |
template<class TrackData > | |
void | hitFace (TrackData &td) |
Overridable function to handle the particle hitting a face. More... | |
template<class TrackData > | |
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. More... | |
template<class TrackData > | |
void | hitProcessorPatch (const processorPolyPatch &, TrackData &td) |
Overridable function to handle the particle hitting a. More... | |
template<class TrackData > | |
void | hitWallPatch (const wallPolyPatch &, TrackData &td, const tetIndices &) |
Overridable function to handle the particle hitting a wallPatch. More... | |
template<class TrackData > | |
void | hitPatch (const polyPatch &, TrackData &td) |
Overridable function to handle the particle hitting a polyPatch. More... | |
virtual void | transformProperties (const tensor &T) |
Transform the physical properties of the particle. More... | |
virtual void | transformProperties (const vector &separation) |
Transform the physical properties of the particle. More... | |
virtual scalar | wallImpactDistance (const vector &n) const |
The nearest distance to a wall that the particle can be. More... | |
template<class TrackData > | |
const Foam::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 |
template<class ParcelType > | |
void | hitFace (int &td) |
Static Public Member Functions | |
static scalar | volume (const scalar d) |
Particle volume for a given diameter. More... | |
static scalar | areaP (const scalar d) |
Projected area for given diameter. More... | |
static scalar | areaS (const scalar d) |
Surface area for given diameter. More... | |
template<class CloudType > | |
static void | readFields (CloudType &c) |
Read. More... | |
template<class CloudType > | |
static void | writeFields (const CloudType &c) |
Write. More... | |
Protected Member Functions | |
template<class TrackData > | |
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. More... | |
Protected Attributes | |
bool | active_ |
Active flag - tracking inactive when active = false. More... | |
label | typeId_ |
Parcel type id. More... | |
scalar | nParticle_ |
Number of particles in Parcel. More... | |
scalar | d_ |
Diameter [m]. More... | |
scalar | dTarget_ |
Target diameter [m]. More... | |
vector | U_ |
Velocity of Parcel [m/s]. More... | |
scalar | rho_ |
Density [kg/m3]. More... | |
scalar | age_ |
Age [s]. More... | |
scalar | tTurb_ |
Time spent in turbulent eddy [s]. More... | |
vector | UTurb_ |
Turbulent velocity fluctuation [m/s]. More... | |
scalar | rhoc_ |
Density [kg/m3]. More... | |
vector | Uc_ |
Velocity [m/s]. More... | |
scalar | muc_ |
Viscosity [Pa.s]. More... | |
Static Private Attributes | |
static const std::size_t | sizeofFields_ |
Size in bytes of the fields. More... | |
static label | maxTrackAttempts = 1 |
Number of particle tracking attempts before we assume that it stalls. More... | |
Friends | |
Ostream & | operator (Ostream &, const KinematicParcel< ParcelType > &) |
Kinematic parcel class with rotational motion (as spherical particles only) and one/two-way coupling with the continuous phase.
Definition at line 60 of file KinematicParcel.H.
|
inline |
Construct from owner, position, and cloud owner.
Other properties initialised as null
Referenced by KinematicParcel::clone().
|
inline |
Construct from components.
KinematicParcel | ( | const polyMesh & | mesh, |
Istream & | is, | ||
bool | readFields = true |
||
) |
Construct from Istream.
KinematicParcel | ( | const KinematicParcel & | p | ) |
Construct as a copy.
KinematicParcel | ( | const KinematicParcel & | p, |
const polyMesh & | mesh | ||
) |
Construct as a copy.
|
protected |
Calculate new particle velocity.
TypeName | ( | "KinematicParcel" | ) |
Runtime type information.
AddToPropertyList | ( | ParcelType | , |
" active"+" typeId"+" nParticle"+" d"+" dTarget "+" (Ux Uy Uz)"+" rho"+" age"+" tTurb"+" (UTurbx UTurby UTurbz)" | |||
) |
String representation of properties.
Construct and return a (basic particle) clone.
Definition at line 364 of file KinematicParcel.H.
References KinematicParcel::KinematicParcel().
Construct and return a (basic particle) clone.
Definition at line 370 of file KinematicParcel.H.
References KinematicParcel::KinematicParcel(), and mesh.
|
inline |
Return const access to active flag.
Definition at line 177 of file KinematicParcelI.H.
References KinematicParcel::active_.
|
inline |
Return const access to type id.
Definition at line 184 of file KinematicParcelI.H.
References KinematicParcel::typeId_.
|
inline |
Return const access to number of particles.
Definition at line 191 of file KinematicParcelI.H.
References KinematicParcel::nParticle_.
|
inline |
Return const access to diameter.
Definition at line 198 of file KinematicParcelI.H.
References KinematicParcel::d_.
Referenced by KinematicParcel::areaP(), KinematicParcel::areaS(), KinematicParcel::Eo(), KinematicParcel::Re(), KinematicParcel::volume(), and KinematicParcel::We().
|
inline |
Return const access to target diameter.
Definition at line 205 of file KinematicParcelI.H.
References KinematicParcel::dTarget_.
|
inline |
Return const access to velocity.
Definition at line 212 of file KinematicParcelI.H.
References KinematicParcel::U_.
Referenced by MPPICParcel::move(), KinematicParcel::Re(), and KinematicParcel::We().
|
inline |
Return const access to density.
Definition at line 219 of file KinematicParcelI.H.
References KinematicParcel::rho_.
|
inline |
Return const access to the age.
Definition at line 226 of file KinematicParcelI.H.
References KinematicParcel::age_.
|
inline |
Return const access to time spent in turbulent eddy.
Definition at line 233 of file KinematicParcelI.H.
References KinematicParcel::tTurb_.
|
inline |
Return const access to turbulent velocity fluctuation.
Definition at line 240 of file KinematicParcelI.H.
References KinematicParcel::UTurb_.
|
inline |
Return const access to carrier density [kg/m3].
Definition at line 247 of file KinematicParcelI.H.
References KinematicParcel::rhoc_.
Referenced by KinematicParcel::Re(), and KinematicParcel::We().
|
inline |
Return const access to carrier velocity [m/s].
Definition at line 254 of file KinematicParcelI.H.
References KinematicParcel::Uc_.
|
inline |
Return const access to carrier viscosity [Pa.s].
Definition at line 261 of file KinematicParcelI.H.
References KinematicParcel::muc_.
Referenced by KinematicParcel::Re().
|
inline |
Return const access to active flag.
Definition at line 268 of file KinematicParcelI.H.
References KinematicParcel::active_.
|
inline |
Return access to type id.
Definition at line 275 of file KinematicParcelI.H.
References KinematicParcel::typeId_.
|
inline |
Return access to number of particles.
Definition at line 282 of file KinematicParcelI.H.
References KinematicParcel::nParticle_.
|
inline |
Return access to diameter.
Definition at line 289 of file KinematicParcelI.H.
References KinematicParcel::d_.
|
inline |
Return access to target diameter.
Definition at line 296 of file KinematicParcelI.H.
References KinematicParcel::dTarget_.
|
inline |
Return access to velocity.
Definition at line 303 of file KinematicParcelI.H.
References KinematicParcel::U_.
|
inline |
Return access to density.
Definition at line 310 of file KinematicParcelI.H.
References KinematicParcel::rho_.
|
inline |
Return access to the age.
Definition at line 317 of file KinematicParcelI.H.
References KinematicParcel::age_.
|
inline |
Return access to time spent in turbulent eddy.
Definition at line 324 of file KinematicParcelI.H.
References KinematicParcel::tTurb_.
|
inline |
Return access to turbulent velocity fluctuation.
Definition at line 331 of file KinematicParcelI.H.
References KinematicParcel::UTurb_.
|
inline |
Return the index of the face used in the interpolation routine.
Definition at line 338 of file KinematicParcelI.H.
|
inline |
Cell owner mass.
Definition at line 354 of file KinematicParcelI.H.
References mesh, and KinematicParcel::rhoc_.
|
inline |
Particle mass.
Definition at line 363 of file KinematicParcelI.H.
References KinematicParcel::rho_, and KinematicParcel::volume().
Referenced by KinematicParcel::momentOfInertia().
|
inline |
Particle moment of inertia around diameter axis.
Definition at line 370 of file KinematicParcelI.H.
References KinematicParcel::d_, KinematicParcel::mass(), and Foam::sqr().
|
inline |
Particle volume.
Definition at line 377 of file KinematicParcelI.H.
References KinematicParcel::d_.
Referenced by KinematicParcel::mass().
|
inlinestatic |
Particle volume for a given diameter.
Definition at line 384 of file KinematicParcelI.H.
References KinematicParcel::d(), Foam::constant::mathematical::pi(), and Foam::pow3().
|
inline |
Particle projected area.
Definition at line 391 of file KinematicParcelI.H.
References KinematicParcel::d_.
|
inlinestatic |
Projected area for given diameter.
Definition at line 398 of file KinematicParcelI.H.
References KinematicParcel::areaS(), and KinematicParcel::d().
|
inline |
Particle surface area.
Definition at line 405 of file KinematicParcelI.H.
References KinematicParcel::d_.
Referenced by KinematicParcel::areaP().
|
inlinestatic |
Surface area for given diameter.
Definition at line 412 of file KinematicParcelI.H.
References KinematicParcel::d(), and Foam::constant::mathematical::pi().
|
inline |
Reynolds number.
Definition at line 420 of file KinematicParcelI.H.
References KinematicParcel::d(), Foam::mag(), KinematicParcel::muc(), KinematicParcel::rhoc(), KinematicParcel::U(), and KinematicParcel::Uc_.
|
inline |
Weber number.
Definition at line 433 of file KinematicParcelI.H.
References KinematicParcel::d(), Foam::magSqr(), KinematicParcel::rhoc(), Foam::constant::physicoChemical::sigma, KinematicParcel::U(), and KinematicParcel::Uc_.
|
inline |
Eotvos number.
Definition at line 446 of file KinematicParcelI.H.
References KinematicParcel::d(), Foam::mag(), KinematicParcel::rho_, KinematicParcel::rhoc_, Foam::constant::physicoChemical::sigma, Foam::sqr(), and KinematicParcel::U_.
void setCellValues | ( | TrackData & | td, |
const scalar | dt, | ||
const label | cellI | ||
) |
Set cell values.
Definition at line 43 of file KinematicParcel.C.
References Foam::endl(), Foam::nl, and WarningInFunction.
void cellValueSourceCorrection | ( | TrackData & | td, |
const scalar | dt, | ||
const label | cellI | ||
) |
Correct cell values using latest transfer information.
Definition at line 85 of file KinematicParcel.C.
void calc | ( | TrackData & | td, |
const scalar | dt, | ||
const label | cellI | ||
) |
Update parcel properties over the time interval.
Definition at line 98 of file KinematicParcel.C.
References Foam::Re(), and Foam::fvc::Su().
bool move | ( | TrackData & | td, |
const scalar | trackTime | ||
) |
Move the parcel.
Definition at line 255 of file KinematicParcel.C.
References polyMesh::boundaryMesh(), Foam::meshTools::constrainToMeshCentre(), Foam::mag(), mesh, Foam::min(), particle< Type >::minStepFractionTol, p, and solution::solution().
void hitFace | ( | int & | td | ) |
Overridable function to handle the particle hitting a face.
without trackData
void hitFace | ( | TrackData & | td | ) |
Overridable function to handle the particle hitting a face.
Definition at line 367 of file KinematicParcel.C.
References p.
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.
Executed before other patch-hitting functions
Definition at line 384 of file KinematicParcel.C.
References p.
void hitProcessorPatch | ( | const processorPolyPatch & | , |
TrackData & | td | ||
) |
Overridable function to handle the particle hitting a.
processorPatch
Definition at line 429 of file KinematicParcel.C.
void hitWallPatch | ( | const wallPolyPatch & | wpp, |
TrackData & | td, | ||
const tetIndices & | |||
) |
Overridable function to handle the particle hitting a wallPatch.
Definition at line 441 of file KinematicParcel.C.
void hitPatch | ( | const polyPatch & | , |
TrackData & | td | ||
) |
Overridable function to handle the particle hitting a polyPatch.
Definition at line 454 of file KinematicParcel.C.
|
virtual |
Transform the physical properties of the particle.
according to the given transformation tensor
Definition at line 466 of file KinematicParcel.C.
References Foam::T(), and Foam::transform().
|
virtual |
Transform the physical properties of the particle.
according to the given separation vector
Definition at line 476 of file KinematicParcel.C.
|
virtual |
The nearest distance to a wall that the particle can be.
in the n direction
Definition at line 486 of file KinematicParcel.C.
|
static |
Read.
Definition at line 102 of file KinematicParcelIO.C.
References Foam::constant::universal::c, forAllIter, IOobject::MUST_READ, p, readFields(), rho, and U.
|
static |
Write.
Definition at line 166 of file KinematicParcelIO.C.
References Foam::constant::universal::c, forAllConstIter(), IOobject::NO_READ, p, rho, U, and regIOobject::write().
const Foam::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 |
Definition at line 149 of file KinematicParcel.C.
References IntegrationScheme< Type >::integrationResult::average(), Foam::meshTools::constrainDirection(), forces::forces(), mesh, Foam::constant::physicoChemical::mu, p, Foam::Re(), forceSuSp::Sp(), Foam::fvc::Su(), forceSuSp::Su(), and IntegrationScheme< Type >::integrationResult::value().
void hitFace | ( | int & | td | ) |
Definition at line 377 of file KinematicParcel.C.
|
friend |
|
staticprivate |
Size in bytes of the fields.
Definition at line 83 of file KinematicParcel.H.
|
staticprivate |
Number of particle tracking attempts before we assume that it stalls.
Definition at line 86 of file KinematicParcel.H.
|
protected |
Active flag - tracking inactive when active = false.
Definition at line 236 of file KinematicParcel.H.
Referenced by KinematicParcel::active().
|
protected |
Parcel type id.
Definition at line 239 of file KinematicParcel.H.
Referenced by KinematicParcel::typeId().
|
protected |
Number of particles in Parcel.
Definition at line 242 of file KinematicParcel.H.
Referenced by KinematicParcel::nParticle().
|
protected |
Diameter [m].
Definition at line 245 of file KinematicParcel.H.
Referenced by KinematicParcel::areaP(), KinematicParcel::areaS(), KinematicParcel::d(), KinematicParcel::momentOfInertia(), and KinematicParcel::volume().
|
protected |
Target diameter [m].
Definition at line 248 of file KinematicParcel.H.
Referenced by KinematicParcel::dTarget().
|
protected |
Velocity of Parcel [m/s].
Definition at line 251 of file KinematicParcel.H.
Referenced by KinematicParcel::Eo(), and KinematicParcel::U().
|
protected |
Density [kg/m3].
Definition at line 254 of file KinematicParcel.H.
Referenced by KinematicParcel::Eo(), KinematicParcel::mass(), and KinematicParcel::rho().
|
protected |
|
protected |
Time spent in turbulent eddy [s].
Definition at line 260 of file KinematicParcel.H.
Referenced by KinematicParcel::tTurb().
|
protected |
Turbulent velocity fluctuation [m/s].
Definition at line 263 of file KinematicParcel.H.
Referenced by KinematicParcel::UTurb().
|
protected |
Density [kg/m3].
Definition at line 269 of file KinematicParcel.H.
Referenced by KinematicParcel::Eo(), KinematicParcel::massCell(), and KinematicParcel::rhoc().
|
protected |
Velocity [m/s].
Definition at line 272 of file KinematicParcel.H.
Referenced by KinematicParcel::Re(), KinematicParcel::Uc(), and KinematicParcel::We().
|
protected |
Viscosity [Pa.s].
Definition at line 275 of file KinematicParcel.H.
Referenced by KinematicParcel::muc().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.