Particle class that finds cells by tracking. More...
Classes | |
class | trackingData |
Class used to pass tracking data to the trackToFace function. More... | |
Public Member Functions | |
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 (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 &) |
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 | 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, const label facei) | |
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 (Istream &, bool readFields=true) | |
Construct from Istream. More... | |
particle (const particle &p) | |
Construct as a copy. More... | |
virtual | ~particle () |
Destructor. More... | |
label | getNewParticleID () const |
Get unique particle creation id. 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... | |
label & | face () |
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... | |
tetIndices | currentTetIndices (const polyMesh &mesh) const |
Return the indices of the current tet that the. More... | |
barycentricTensor | currentTetTransform (const polyMesh &mesh) const |
Return the current tet transformation tensor. More... | |
vector | normal (const polyMesh &mesh) 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 polyMesh &mesh) const |
Is the particle on an internal face? More... | |
bool | onBoundaryFace (const polyMesh &mesh) const |
Is the particle on a boundary face? More... | |
label | patch (const polyMesh &mesh) const |
Return the index of patch that the particle is on. More... | |
vector | position (const polyMesh &mesh) const |
Return current particle position. More... | |
void | reset (const scalar stepFraction) |
Set the step fraction and clear the behind data in preparation. More... | |
scalar | track (const polyMesh &mesh, const vector &displacement, const scalar fraction) |
Track along the displacement for a given fraction of the overall. More... | |
scalar | trackToCell (const polyMesh &mesh, const vector &displacement, const scalar fraction) |
As particle::track, but stops when a new cell is reached. More... | |
scalar | trackToFace (const polyMesh &mesh, const vector &displacement, const scalar fraction) |
As particle::track, but stops when a face is hit. More... | |
scalar | trackToTri (const polyMesh &mesh, const vector &displacement, const scalar fraction, label &tetTriI) |
As particle::trackToFace, but stops when a tet triangle is hit. More... | |
scalar | trackToStationaryTri (const polyMesh &mesh, const vector &displacement, const scalar fraction, label &tetTriI) |
As particle::trackToTri, but for stationary meshes. More... | |
scalar | trackToMovingTri (const polyMesh &mesh, 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 polyMesh &mesh) const |
Get the displacement from the mesh centre. Used to correct the. More... | |
void | patchData (const polyMesh &mesh, 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... | |
template<class TrackCloudType > | |
void | prepareForParallelTransfer (TrackCloudType &, trackingData &) |
Make changes prior to a parallel transfer. Runs either. More... | |
template<class TrackCloudType > | |
void | correctAfterParallelTransfer (TrackCloudType &, trackingData &) |
Make changes following a parallel transfer. Runs either. 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 polyMesh &mesh, const label sendToPatch, const label sendToPatchFace) |
Make changes prior to a transfer across a non conformal cyclic. More... | |
void | correctAfterNonConformalCyclicTransfer (const polyMesh &mesh, const label sendToPatch) |
Make changes following a transfer across a non conformal cyclic. More... | |
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. More... | |
template<class TrackCloudType > | |
void | hitCyclicPatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a. 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. More... | |
template<class TrackCloudType > | |
void | hitWallPatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a wallPatch. More... | |
template<class TrackCloudType > | |
void | hitBasicPatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a basic. More... | |
void | prepareForInteractionListReferral (const polyMesh &mesh, const transformer &transform) |
Break the topology and store the cartesian position so that the. More... | |
void | correctAfterInteractionListReferral (const polyMesh &mesh, const label celli) |
Correct the topology after referral. Locates the particle. More... | |
label | procTetPt (const polyMesh &mesh, const polyMesh &procMesh, const label procCell, const label procTetFace) const |
Return the tet point appropriate for decomposition or. More... | |
void | map (const polyMesh &mesh, const point &position, const label celli) |
Map after a mesh 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) |
Static Public Member Functions | |
static autoPtr< findCellParticle > | New (Istream &is) |
Construct from Istream and return. More... | |
Static Public Member Functions inherited from particle | |
static string | propertyList () |
static autoPtr< particle > | New (Istream &is) |
Construct from Istream and return. More... | |
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... | |
Friends | |
class | Cloud< findCellParticle > |
Ostream & | operator<< (Ostream &, const findCellParticle &) |
Additional Inherited Members | |
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... | |
Particle class that finds cells by tracking.
Definition at line 60 of file findCellParticle.H.
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 30 of file findCellParticle.C.
Referenced by findCellParticle::clone(), and findCellParticle::New().
findCellParticle | ( | Istream & | is, |
bool | readFields = true |
||
) |
Construct from Istream.
Definition at line 45 of file findCellParticle.C.
References IOstream::ASCII, IOstream::check(), IOstream::format(), Istream::read(), particle::readFields(), and Foam::readLabel().
Construct and return a clone.
Reimplemented from particle.
Definition at line 133 of file findCellParticle.H.
References findCellParticle::findCellParticle().
|
inlinestatic |
Construct from Istream and return.
Definition at line 139 of file findCellParticle.H.
References findCellParticle::findCellParticle().
|
inline |
Displacement over which to track.
Definition at line 148 of file findCellParticle.H.
|
inline |
Displacement over which to track.
Definition at line 154 of file findCellParticle.H.
Transported label.
Definition at line 160 of file findCellParticle.H.
Transported label.
Definition at line 166 of file findCellParticle.H.
bool move | ( | Cloud< findCellParticle > & | cloud, |
trackingData & | td | ||
) |
Track all particles to their end point.
Definition at line 77 of file findCellParticle.C.
References List< T >::append(), findCellParticle::trackingData::cellToData(), findCellParticle::trackingData::cellToEnd(), f(), particle::trackingData::keepParticle, particle::trackingData::mesh, and particle::trackingData::sendToProc.
void hitWedgePatch | ( | Cloud< findCellParticle > & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a wedge.
Definition at line 104 of file findCellParticle.C.
References particle::trackingData::keepParticle.
void hitSymmetryPlanePatch | ( | Cloud< findCellParticle > & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a.
symmetry plane
Definition at line 115 of file findCellParticle.C.
References particle::trackingData::keepParticle.
void hitSymmetryPatch | ( | Cloud< findCellParticle > & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a.
symmetry patch
Definition at line 126 of file findCellParticle.C.
References particle::trackingData::keepParticle.
void hitCyclicPatch | ( | Cloud< findCellParticle > & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a cyclic.
Definition at line 137 of file findCellParticle.C.
References particle::trackingData::keepParticle.
void hitProcessorPatch | ( | Cloud< findCellParticle > & | cloud, |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a processorPatch
Definition at line 148 of file findCellParticle.C.
References polyMesh::boundaryMesh(), particle::hitProcessorPatch(), particle::trackingData::keepParticle, particle::trackingData::mesh, processorPolyPatch::transform(), and transformer::transforms().
void hitWallPatch | ( | Cloud< findCellParticle > & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a wallPatch.
Definition at line 171 of file findCellParticle.C.
References particle::trackingData::keepParticle.
|
friend |
Definition at line 70 of file findCellParticle.H.
|
friend |