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 vector &displacement, const label data) | |
Construct from components. More... | |
findCellParticle (const polyMesh &mesh, const vector &position, const label celli, const vector &displacement, 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 vector & | displacement () const |
Displacement over which to track. More... | |
vector & | displacement () |
Displacement over which to track. More... | |
label | data () const |
Transported label. More... | |
label & | data () |
Transported label. More... | |
bool | move (Cloud< findCellParticle > &, trackingData &, const scalar) |
Track all particles to their end point. More... | |
bool | hitPatch (Cloud< findCellParticle > &, trackingData &) |
Overridable function to handle the particle hitting a patch. More... | |
void | hitWedgePatch (Cloud< findCellParticle > &, trackingData &) |
Overridable function to handle the particle hitting a wedge. More... | |
void | hitSymmetryPlanePatch (Cloud< findCellParticle > &, trackingData &) |
Overridable function to handle the particle hitting a. More... | |
void | hitSymmetryPatch (Cloud< findCellParticle > &, trackingData &) |
Overridable function to handle the particle hitting a. More... | |
void | hitCyclicPatch (Cloud< findCellParticle > &, trackingData &) |
Overridable function to handle the particle hitting a cyclic. More... | |
void | hitCyclicAMIPatch (const vector &, const scalar, Cloud< findCellParticle > &, trackingData &) |
Overridable function to handle the particle hitting a cyclicAMI. More... | |
void | hitCyclicACMIPatch (const vector &, const scalar, Cloud< findCellParticle > &, trackingData &) |
Overridable function to handle the particle hitting a cyclicACMI. More... | |
void | hitCyclicRepeatAMIPatch (const vector &, const scalar, Cloud< findCellParticle > &, trackingData &) |
Overridable function to handle the particle hitting a. More... | |
void | hitProcessorPatch (Cloud< findCellParticle > &, trackingData &) |
void | hitWallPatch (Cloud< findCellParticle > &, trackingData &) |
Overridable function to handle the particle hitting a wallPatch. More... | |
Public Member Functions inherited from particle< Type > | |
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 references 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... | |
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... | |
void | reset () |
Set step fraction and behind data to zero in preparation for a new. More... | |
scalar | track (const vector &displacement, const scalar fraction) |
Track along the displacement for a given fraction of the overall. More... | |
scalar | trackToCell (const vector &displacement, const scalar fraction) |
As particle::track, but stops when a new cell is reached. More... | |
scalar | trackToFace (const vector &displacement, const scalar fraction) |
As particle::track, but stops when a face is hit. More... | |
scalar | trackToTri (const vector &displacement, const scalar fraction, label &tetTriI) |
As particle::trackToFace, but stops when a tet triangle is hit. 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 TrackCloudType > | |
void | hitFace (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
Hit the current face. If the current face is internal than this. More... | |
template<class TrackCloudType > | |
void | hitFaceNoChangeToMasterPatch (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
As above, but does not change the master patch. Needed in order for. More... | |
template<class TrackCloudType > | |
scalar | trackToAndHitFace (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
Convenience function. Combines trackToFace and hitFace. More... | |
vector | deviationFromMeshCentre () const |
Get the displacement from the mesh centre. Used to correct the. More... | |
void | patchData (vector &normal, vector &displacement) const |
Get the normal and displacement of the current patch location. More... | |
virtual void | transformProperties (const transformer &) |
Transform the physical properties of the particle. More... | |
void | prepareForParallelTransfer () |
Convert global addressing to the processor patch local equivalents. More... | |
void | correctAfterParallelTransfer (const label patchi, trackingData &td) |
Convert processor patch addressing to the global equivalents. More... | |
void | prepareForInteractionListReferral (const transformer &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 appropriate 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... | |
template<class TrackCloudType > | |
Foam::scalar | trackToAndHitFace (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
Friends | |
class | Cloud< findCellParticle > |
Ostream & | operator<< (Ostream &, const findCellParticle &) |
Additional Inherited Members | |
Static Public Member Functions inherited from particle< Type > | |
static string | propertyList () |
template<class TrackCloudType > | |
static void | readFields (TrackCloudType &c) |
Read the fields associated with the owner cloud. More... | |
template<class TrackCloudType > | |
static void | writeFields (const TrackCloudType &c) |
Write the fields associated with the owner cloud. More... | |
Static Public Attributes inherited from particle< Type > | |
static string | propertyList_ = Foam::particle::propertyList() |
String representation of properties. More... | |
static label | particleCount_ = 0 |
Cumulative particle counter - used to provide unique ID. More... | |
Protected Member Functions inherited from particle< Type > | |
template<class TrackCloudType > | |
bool | hitPatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a patch. More... | |
template<class TrackCloudType > | |
void | hitWedgePatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a wedgePatch. More... | |
template<class TrackCloudType > | |
void | hitSymmetryPlanePatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a. More... | |
template<class TrackCloudType > | |
void | hitSymmetryPatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a symmetryPatch. More... | |
template<class TrackCloudType > | |
void | hitCyclicPatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a cyclicPatch. More... | |
template<class TrackCloudType > | |
void | hitCyclicAMIPatch (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
Overridable function to handle the particle hitting a cyclicAMIPatch. More... | |
template<class TrackCloudType > | |
void | hitCyclicACMIPatch (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
Overridable function to handle the particle hitting a. More... | |
template<class TrackCloudType > | |
void | hitCyclicRepeatAMIPatch (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
Overridable function to handle the particle hitting an. More... | |
template<class TrackCloudType > | |
void | hitProcessorPatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a processorPatch. More... | |
template<class TrackCloudType > | |
void | hitWallPatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a wallPatch. 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 vector & | displacement, | ||
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 vector & | displacement, | ||
const label | data | ||
) |
Construct from a position and a cell, searching for the rest of the.
required topology
Definition at line 48 of file findCellParticle.C.
References findCellParticle::findCellParticle().
findCellParticle | ( | const polyMesh & | mesh, |
Istream & | is, | ||
bool | readFields = true |
||
) |
Construct from Istream.
Definition at line 63 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 149 of file findCellParticle.H.
References findCellParticle::findCellParticle().
|
inline |
Displacement over which to track.
Definition at line 180 of file findCellParticle.H.
Referenced by findCellParticle::trackingData::cellToEnd().
|
inline |
Displacement over which to track.
Definition at line 186 of file findCellParticle.H.
Transported label.
Definition at line 192 of file findCellParticle.H.
Transported label.
Definition at line 198 of file findCellParticle.H.
References findCellParticle::hitCyclicACMIPatch(), findCellParticle::hitCyclicAMIPatch(), findCellParticle::hitCyclicPatch(), findCellParticle::hitCyclicRepeatAMIPatch(), findCellParticle::hitPatch(), findCellParticle::hitProcessorPatch(), findCellParticle::hitSymmetryPatch(), findCellParticle::hitSymmetryPlanePatch(), findCellParticle::hitWallPatch(), findCellParticle::hitWedgePatch(), findCellParticle::move(), and findCellParticle::operator<<.
bool move | ( | Cloud< findCellParticle > & | cloud, |
trackingData & | td, | ||
const scalar | maxTrackLen | ||
) |
Track all particles to their end point.
Definition at line 100 of file findCellParticle.C.
References List< T >::append(), findCellParticle::trackingData::cellToData(), findCellParticle::trackingData::cellToEnd(), f(), particle< Type >::trackingData::keepParticle, and particle< Type >::trackingData::switchProcessor.
Referenced by findCellParticle::data(), and findCellParticle::findCellParticle().
bool hitPatch | ( | Cloud< findCellParticle > & | , |
trackingData & | |||
) |
Overridable function to handle the particle hitting a patch.
Executed before other patch-hitting functions
Definition at line 127 of file findCellParticle.C.
References findCellParticle::hitWedgePatch().
Referenced by findCellParticle::data().
void hitWedgePatch | ( | Cloud< findCellParticle > & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a wedge.
Definition at line 134 of file findCellParticle.C.
References findCellParticle::hitSymmetryPlanePatch(), and particle< Type >::trackingData::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitPatch().
void hitSymmetryPlanePatch | ( | Cloud< findCellParticle > & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a.
symmetry plane
Definition at line 145 of file findCellParticle.C.
References findCellParticle::hitSymmetryPatch(), and particle< Type >::trackingData::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitWedgePatch().
void hitSymmetryPatch | ( | Cloud< findCellParticle > & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a.
symmetry patch
Definition at line 156 of file findCellParticle.C.
References findCellParticle::hitCyclicPatch(), and particle< Type >::trackingData::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitSymmetryPlanePatch().
void hitCyclicPatch | ( | Cloud< findCellParticle > & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a cyclic.
Definition at line 167 of file findCellParticle.C.
References findCellParticle::hitCyclicAMIPatch(), and particle< Type >::trackingData::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitSymmetryPatch().
void hitCyclicAMIPatch | ( | const vector & | , |
const scalar | , | ||
Cloud< findCellParticle > & | , | ||
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a cyclicAMI.
Definition at line 178 of file findCellParticle.C.
References findCellParticle::hitCyclicACMIPatch(), and particle< Type >::trackingData::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitCyclicPatch().
void hitCyclicACMIPatch | ( | const vector & | , |
const scalar | , | ||
Cloud< findCellParticle > & | , | ||
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a cyclicACMI.
Definition at line 191 of file findCellParticle.C.
References findCellParticle::hitCyclicRepeatAMIPatch(), and particle< Type >::trackingData::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitCyclicAMIPatch().
void hitCyclicRepeatAMIPatch | ( | const vector & | , |
const scalar | , | ||
Cloud< findCellParticle > & | , | ||
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a.
cyclicRepeatAMI
Definition at line 204 of file findCellParticle.C.
References findCellParticle::hitProcessorPatch(), and particle< Type >::trackingData::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitCyclicACMIPatch().
void hitProcessorPatch | ( | Cloud< findCellParticle > & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a processorPatch
Definition at line 217 of file findCellParticle.C.
References findCellParticle::hitWallPatch(), and particle< Type >::trackingData::switchProcessor.
Referenced by findCellParticle::data(), and findCellParticle::hitCyclicRepeatAMIPatch().
void hitWallPatch | ( | Cloud< findCellParticle > & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a wallPatch.
Definition at line 228 of file findCellParticle.C.
References particle< Type >::trackingData::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitProcessorPatch().
|
friend |
Definition at line 74 of file findCellParticle.H.
|
friend |
Referenced by findCellParticle::data().