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... | |
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 | 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 | |
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 (const scalar stepFraction) |
Set the step fraction and clear the behind data in preparation for. 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 > | |
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 (trackingData &td) |
Make changes prior to a parallel transfer. Runs either processor or. More... | |
void | correctAfterParallelTransfer (trackingData &td) |
Make changes following a parallel transfer. Runs either processor. More... | |
void | prepareForProcessorTransfer (trackingData &td) |
Make changes prior to a transfer across a processor boundary. More... | |
void | correctAfterProcessorTransfer (trackingData &td) |
Make changes following a transfer across a processor boundary. More... | |
void | prepareForNonConformalCyclicTransfer (const label sendToPatch, const label sendToPatchFace) |
Make changes prior to a transfer across a non conformal cyclic. More... | |
void | correctAfterNonConformalCyclicTransfer (const label sendToPatch) |
Make changes following a transfer across a non conformal cyclic. More... | |
void | prepareForInteractionListReferral (const transformer &transform) |
Break the topology and store the cartesian position so that the. More... | |
void | correctAfterInteractionListReferral (const label celli) |
Correct the topology after referral. Locates the particle relative. 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 polyTopoChangeMap &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 | |
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 | |
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 | |
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 > | |
bool | hitNonConformalCyclicPatch (const vector &displacement, const scalar fraction, const label patchi, 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 60 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.
Definition at line 150 of file findCellParticle.H.
References findCellParticle::findCellParticle().
|
inline |
Displacement over which to track.
Definition at line 181 of file findCellParticle.H.
Referenced by findCellParticle::trackingData::cellToEnd().
|
inline |
Displacement over which to track.
Definition at line 187 of file findCellParticle.H.
Transported label.
Definition at line 193 of file findCellParticle.H.
Transported label.
Definition at line 199 of file findCellParticle.H.
References findCellParticle::hitCyclicAMIPatch(), findCellParticle::hitCyclicPatch(), 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(), findCellParticle::hitWedgePatch(), particle::trackingData::keepParticle, and particle::trackingData::sendToProc.
Referenced by findCellParticle::data(), and findCellParticle::findCellParticle().
void hitWedgePatch | ( | Cloud< findCellParticle > & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a wedge.
Definition at line 128 of file findCellParticle.C.
References findCellParticle::hitSymmetryPlanePatch(), and particle::trackingData::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::move().
void hitSymmetryPlanePatch | ( | Cloud< findCellParticle > & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a.
symmetry plane
Definition at line 139 of file findCellParticle.C.
References findCellParticle::hitSymmetryPatch(), and particle::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 150 of file findCellParticle.C.
References findCellParticle::hitCyclicPatch(), and particle::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 161 of file findCellParticle.C.
References findCellParticle::hitCyclicAMIPatch(), and particle::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 172 of file findCellParticle.C.
References findCellParticle::hitProcessorPatch(), and particle::trackingData::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitCyclicPatch().
void hitProcessorPatch | ( | Cloud< findCellParticle > & | cloud, |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a processorPatch
Definition at line 185 of file findCellParticle.C.
References findCellParticle::hitWallPatch(), particle::trackingData::keepParticle, mesh, processorPolyPatch::transform(), and transformer::transforms().
Referenced by findCellParticle::data(), and findCellParticle::hitCyclicAMIPatch().
void hitWallPatch | ( | Cloud< findCellParticle > & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a wallPatch.
Definition at line 205 of file findCellParticle.C.
References particle::trackingData::keepParticle.
Referenced by findCellParticle::data(), and findCellParticle::hitProcessorPatch().
|
friend |
Definition at line 75 of file findCellParticle.H.
|
friend |
Referenced by findCellParticle::data().