40 const scalar trackTime
53 <<
" trackTime = " << trackTime
54 <<
" steptFraction() = " << stepFraction() <<
endl;
58 const scalar sfrac = stepFraction();
60 const scalar
f = 1 - stepFraction();
61 trackToFace(f*trackTime*U_, f, td);
63 const scalar dt = (stepFraction() - sfrac)*trackTime;
65 const tetIndices tetIs = this->currentTetIndices();
71 scalar magUr =
mag(Uc - U_);
74 scalar
Re = magUr*d_/nuc;
78 ReFunc += 0.15*
pow(Re, 0.687);
81 scalar Dc = (24.0*nuc/d_)*ReFunc*(3.0/4.0)*(rhoc/(d_*rhop));
83 U_ = (U_ + dt*(Dc*Uc + (1.0 - rhoc/rhop)*td.
g()))/(1.0 + dt*Dc);
87 if (isA<processorPolyPatch>(pbMesh[patch()]))
136 U_ -= (1.0 + td.
cloud().
e())*Un*nw;
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
triPointRef faceTri(const polyMesh &mesh) const
Return the geometry corresponding to the tri on the face for.
void hitProcessorPatch(const processorPolyPatch &, trackingData &td)
Overridable function to handle the particle hitting a.
Ostream & endl(Ostream &os)
Add newline and flush stream.
static word timeName(const scalar, const int precision=precision_)
Return time name of given scalar time.
virtual void transformProperties(const tensor &T)
Transform the physical properties of the particle.
const Time & time() const
Return the top-level database.
Neighbour processor patch.
CloudType & cloud()
Return a reference to the cloud.
Type interpolate(const cellPointWeight &cpw) const
Interpolate field for the given cellPointWeight.
bool move(trackingData &, const scalar)
Move.
const interpolationCellPoint< scalar > & rhoInterp() const
const interpolationCellPoint< scalar > & nuInterp() const
Storage and named access for the indices of a tet which is part of the decomposition of a cell...
bool keepParticle
Flag to indicate whether to keep particle (false = delete)
defineTemplateTypeNameAndDebug(IOPtrList< ensightPart >, 0)
vector normal() const
Return vector normal.
const interpolationCellPoint< vector > & UInterp() const
Class used to pass tracking data to the trackToFace function.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
PtrList< coordinateSystem > coordinates(solidRegions.size())
dimensioned< scalar > mag(const dimensioned< Type > &)
bool switchProcessor
Flag to switch processor.
bool hitPatch(const polyPatch &, trackingData &td, const label patchi, const scalar trackFraction, const tetIndices &tetIs)
Overridable function to handle the particle hitting a patch.
A patch is a list of labels that address the faces in the global face list.
virtual void transformProperties(const tensor &T)
Transform the physical properties of the particle.
scalarField Re(const UList< complex > &cf)
void hitWallPatch(const wallPolyPatch &, trackingData &td, const tetIndices &)
Overridable function to handle the particle hitting a wallPatch.
virtual scalar wallImpactDistance(const vector &n) const
The nearest distance to a wall that.
dimensionSet transform(const dimensionSet &)