Particle class that finds cells by tracking. More...
Classes | |
class | iNew |
Factory class to read-construct particles used for. More... | |
class | trackingData |
Class used to pass tracking data to the trackToFace function. More... | |
Public Member Functions | |
findCellParticle (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPtI, const point &end, const label data) | |
Construct from components. More... | |
findCellParticle (const polyMesh &mesh, const vector &position, const label celli, const point &end, const label data) | |
Construct from a position and a cell, searching for the rest of the. More... | |
findCellParticle (const polyMesh &mesh, Istream &is, bool readFields=true) | |
Construct from Istream. More... | |
autoPtr< particle > | clone () const |
Construct and return a clone. More... | |
const point & | start () const |
Point to track from. More... | |
point & | start () |
Point to track from. More... | |
const point & | end () const |
Point to track to. More... | |
point & | end () |
Point to track to. More... | |
label | data () const |
Transported label. More... | |
label & | data () |
Transported label. More... | |
bool | move (trackingData &, const scalar) |
Track all particles to their end point. More... | |
bool | hitPatch (const polyPatch &, trackingData &td, const label patchi, const scalar trackFraction, const tetIndices &tetIs) |
Overridable function to handle the particle hitting a patch. More... | |
void | hitWedgePatch (const wedgePolyPatch &, trackingData &td) |
Overridable function to handle the particle hitting a wedge. More... | |
void | hitSymmetryPlanePatch (const symmetryPlanePolyPatch &, trackingData &td) |
Overridable function to handle the particle hitting a. More... | |
void | hitSymmetryPatch (const symmetryPolyPatch &, trackingData &td) |
Overridable function to handle the particle hitting a. More... | |
void | hitCyclicPatch (const cyclicPolyPatch &, trackingData &td) |
Overridable function to handle the particle hitting a cyclic. More... | |
void | hitProcessorPatch (const processorPolyPatch &, trackingData &td) |
void | hitWallPatch (const wallPolyPatch &, trackingData &td, const tetIndices &) |
Overridable function to handle the particle hitting a wallPatch. More... | |
void | hitPatch (const polyPatch &, trackingData &td) |
Overridable function to handle the particle hitting a polyPatch. More... | |
![]() | |
TypeName ("particle") | |
Runtime type information. More... | |
particle (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti) | |
Construct from components. More... | |
particle (const polyMesh &mesh, const vector &position, const label celli) | |
Construct from a position and a cell, searching for the rest of the. More... | |
particle (const polyMesh &mesh, Istream &, bool readFields=true) | |
Construct from Istream. More... | |
particle (const particle &p) | |
Construct as a copy. More... | |
particle (const particle &p, const polyMesh &mesh) | |
Construct as a copy with refernce to a new mesh. More... | |
virtual | ~particle () |
Destructor. More... | |
label | getNewParticleID () const |
Get unique particle creation id. More... | |
const polyMesh & | mesh () const |
Return the mesh database. More... | |
const barycentric & | coordinates () const |
Return current particle coordinates. More... | |
label | cell () const |
Return current cell particle is in. More... | |
label | tetFace () const |
Return current tet face particle is in. More... | |
label | tetPt () const |
Return current tet face particle is in. More... | |
label | face () const |
Return current face particle is on otherwise -1. More... | |
scalar | stepFraction () const |
Return the fraction of time-step completed. More... | |
scalar & | stepFraction () |
Return the fraction of time-step completed. More... | |
label | origProc () const |
Return the originating processor ID. More... | |
label & | origProc () |
Return the originating processor ID. More... | |
label | origId () const |
Return the particle ID on the originating processor. More... | |
label & | origId () |
Return the particle ID on the originating processor. More... | |
Pair< scalar > | stepFractionSpan () const |
Return the step fraction change within the overall time-step. More... | |
scalar | currentTimeFraction () const |
Return the current fraction within the timestep. This differs. More... | |
tetIndices | currentTetIndices () const |
Return the indices of the current tet that the. More... | |
barycentricTensor | currentTetTransform () const |
Return the current tet transformation tensor. More... | |
vector | normal () const |
Return the normal of the tri on tetFacei_ for the. More... | |
vector | oldNormal () const |
Return the normal of the tri on tetFacei_ for the. More... | |
bool | onFace () const |
Is the particle on a face? More... | |
bool | onInternalFace () const |
Is the particle on an internal face? More... | |
bool | onBoundaryFace () const |
Is the particle on a boundary face? More... | |
label | patch () const |
Return the index of patch that the particle is on. More... | |
vector | position () const |
Return current particle position. More... | |
scalar | track (const vector &displacement, const scalar fraction) |
Track along the displacement for a given fraction of the overall. More... | |
scalar | trackToFace (const vector &displacement, const scalar fraction) |
As particle::track, but also stops on internal faces. More... | |
scalar | trackToTri (const vector &displacement, const scalar fraction, label &tetTriI) |
As particle::trackToFace, but also stops on tet triangles. On. More... | |
scalar | trackToStationaryTri (const vector &displacement, const scalar fraction, label &tetTriI) |
As particle::trackToTri, but for stationary meshes. More... | |
scalar | trackToMovingTri (const vector &displacement, const scalar fraction, label &tetTriI) |
As particle::trackToTri, but for moving meshes. More... | |
template<class TrackData > | |
void | trackToFace (const vector &displacement, const scalar fraction, TrackData &td) |
As non-templated particle::trackToFace, but with additional. More... | |
void | constrainToMeshCentre () |
Set the constrained components of the particle position to the. More... | |
void | patchData (vector &n, vector &U) const |
Get the normal and velocity of the current patch location. 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. More... | |
template<class TrackData > | |
void | prepareForParallelTransfer (const label patchi, TrackData &td) |
Convert global addressing to the processor patch. More... | |
template<class TrackData > | |
void | correctAfterParallelTransfer (const label patchi, TrackData &td) |
Convert processor patch addressing to the global equivalents. More... | |
void | prepareForInteractionListReferral (const vectorTensorTransform &transform) |
Break the topology and store the particle position so that the. More... | |
void | correctAfterInteractionListReferral (const label celli) |
Correct the topology after referral. The particle may still be. More... | |
label | procTetPt (const polyMesh &procMesh, const label procCell, const label procTetFace) const |
Return the tet point approproate for decomposition or reconstruction. More... | |
void | autoMap (const vector &position, const mapPolyMesh &mapper) |
Map after a topology change. More... | |
void | writePosition (Ostream &) const |
Write the particle position and cell. More... | |
Friends | |
class | Cloud< findCellParticle > |
Ostream & | operator<< (Ostream &, const findCellParticle &) |
Additional Inherited Members | |
![]() | |
static string | propertyList () |
template<class CloudType > | |
static void | readFields (CloudType &c) |
Read the fields associated with the owner cloud. More... | |
template<class CloudType > | |
static void | writeFields (const CloudType &c) |
Write the fields associated with the owner cloud. More... | |
![]() | |
static string | propertyList_ = Foam::particle::propertyList() |
String representation of properties. More... | |
static label | particleCount_ = 0 |
Cumulative particle counter - used to provode unique ID. 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 &, TrackData &td, const label patchi, const scalar trackFraction, const tetIndices &tetIs) |
Overridable function to handle the particle hitting a. More... | |
template<class TrackData > | |
void | hitWedgePatch (const wedgePolyPatch &, TrackData &td) |
Overridable function to handle the particle hitting a wedgePatch. More... | |
template<class TrackData > | |
void | hitSymmetryPlanePatch (const symmetryPlanePolyPatch &, TrackData &td) |
Overridable function to handle the particle hitting a. More... | |
template<class TrackData > | |
void | hitSymmetryPatch (const symmetryPolyPatch &, TrackData &td) |
Overridable function to handle the particle hitting a. More... | |
template<class TrackData > | |
void | hitCyclicPatch (const cyclicPolyPatch &, TrackData &td) |
Overridable function to handle the particle hitting a cyclicPatch. More... | |
template<class TrackData > | |
void | hitCyclicAMIPatch (const cyclicAMIPolyPatch &, TrackData &td, const vector &direction) |
Overridable function to handle the particle hitting a cyclicAMIPatch. 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 &tetIs) |
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. More... | |
Particle class that finds cells by tracking.
Definition at line 59 of file findCellParticle.H.
findCellParticle | ( | const polyMesh & | mesh, |
const barycentric & | coordinates, | ||
const label | celli, | ||
const label | tetFacei, | ||
const label | tetPtI, | ||
const point & | end, | ||
const label | data | ||
) |
Construct from components.
Definition at line 31 of file findCellParticle.C.
Referenced by findCellParticle::trackingData::cellToEnd(), findCellParticle::clone(), findCellParticle::findCellParticle(), and findCellParticle::iNew::operator()().
findCellParticle | ( | const polyMesh & | mesh, |
const vector & | position, | ||
const label | celli, | ||
const point & | end, | ||
const label | data | ||
) |
Construct from a position and a cell, searching for the rest of the.
required topology
Definition at line 49 of file findCellParticle.C.
References findCellParticle::findCellParticle().
findCellParticle | ( | const polyMesh & | mesh, |
Istream & | is, | ||
bool | readFields = true |
||
) |
Construct from Istream.
Definition at line 65 of file findCellParticle.C.
References IOstream::check(), IOstream::format(), findCellParticle::move(), Istream::read(), and Foam::readLabel().
Construct and return a clone.
Reimplemented from particle< Type >.
Definition at line 152 of file findCellParticle.H.
References findCellParticle::findCellParticle().
|
inline |
Point to track from.
Definition at line 183 of file findCellParticle.H.
|
inline |
Point to track from.
Definition at line 189 of file findCellParticle.H.
|
inline |
Point to track to.
Definition at line 195 of file findCellParticle.H.
Referenced by nearWallFields::calcAddressing(), and findCellParticle::trackingData::cellToEnd().
|
inline |
Point to track to.
Definition at line 201 of file findCellParticle.H.
Transported label.
Definition at line 207 of file findCellParticle.H.
Transported label.
Definition at line 213 of file findCellParticle.H.
References findCellParticle::hitCyclicPatch(), findCellParticle::hitPatch(), findCellParticle::hitProcessorPatch(), findCellParticle::hitSymmetryPatch(), findCellParticle::hitSymmetryPlanePatch(), findCellParticle::hitWallPatch(), findCellParticle::hitWedgePatch(), findCellParticle::move(), findCellParticle::operator<<, and patchi.
bool move | ( | trackingData & | td, |
const scalar | maxTrackLen | ||
) |
Track all particles to their end point.
Definition at line 102 of file findCellParticle.C.
References List< T >::append(), findCellParticle::trackingData::cellToData(), findCellParticle::trackingData::cellToEnd(), f(), findCellParticle::hitPatch(), particle< Type >::TrackingData< CloudType >::keepParticle, and particle< Type >::TrackingData< CloudType >::switchProcessor.
Referenced by findCellParticle::data(), and findCellParticle::findCellParticle().
bool hitPatch | ( | const polyPatch & | , |
trackingData & | 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 129 of file findCellParticle.C.
References findCellParticle::hitWedgePatch().
Referenced by findCellParticle::data(), findCellParticle::hitWallPatch(), and findCellParticle::move().
void hitWedgePatch | ( | const wedgePolyPatch & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a wedge.
Definition at line 142 of file findCellParticle.C.
References findCellParticle::hitSymmetryPlanePatch(), and particle< Type >::TrackingData< CloudType >::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitPatch().
void hitSymmetryPlanePatch | ( | const symmetryPlanePolyPatch & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a.
symmetry plane
Definition at line 153 of file findCellParticle.C.
References findCellParticle::hitSymmetryPatch(), and particle< Type >::TrackingData< CloudType >::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitWedgePatch().
void hitSymmetryPatch | ( | const symmetryPolyPatch & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a.
symmetry patch
Definition at line 164 of file findCellParticle.C.
References findCellParticle::hitCyclicPatch(), and particle< Type >::TrackingData< CloudType >::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitSymmetryPlanePatch().
void hitCyclicPatch | ( | const cyclicPolyPatch & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a cyclic.
Definition at line 175 of file findCellParticle.C.
References findCellParticle::hitProcessorPatch(), and particle< Type >::TrackingData< CloudType >::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitSymmetryPatch().
void hitProcessorPatch | ( | const processorPolyPatch & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a processorPatch
Definition at line 186 of file findCellParticle.C.
References findCellParticle::hitWallPatch(), and particle< Type >::TrackingData< CloudType >::switchProcessor.
Referenced by findCellParticle::data(), and findCellParticle::hitCyclicPatch().
void hitWallPatch | ( | const wallPolyPatch & | wpp, |
trackingData & | td, | ||
const tetIndices & | |||
) |
Overridable function to handle the particle hitting a wallPatch.
Definition at line 197 of file findCellParticle.C.
References findCellParticle::hitPatch(), and particle< Type >::TrackingData< CloudType >::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitProcessorPatch().
void hitPatch | ( | const polyPatch & | wpp, |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a polyPatch.
Definition at line 209 of file findCellParticle.C.
References particle< Type >::TrackingData< CloudType >::keepParticle.
|
friend |
Definition at line 77 of file findCellParticle.H.
|
friend |
Referenced by findCellParticle::data().