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, label &nLocateBoundaryHits, 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, label &nLocateBoundaryHits) | |
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 | getNewParticleIndex () 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... | |
bool | locate (const polyMesh &mesh, const vector &position, label celli) |
Locate the particle at the given position. 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, const vector &sendToPosition) |
Make changes prior to a transfer across a non conformal cyclic. More... | |
void | correctAfterNonConformalCyclicTransfer (const polyMesh &mesh, const label sendToPatch, labelList &patchNLocateBoundaryHits) |
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 | 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, | ||
label & | nLocateBoundaryHits, | ||
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 46 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 134 of file findCellParticle.H.
References findCellParticle::findCellParticle().
|
inlinestatic |
Construct from Istream and return.
Definition at line 140 of file findCellParticle.H.
References findCellParticle::findCellParticle().
|
inline |
Displacement over which to track.
Definition at line 149 of file findCellParticle.H.
|
inline |
Displacement over which to track.
Definition at line 155 of file findCellParticle.H.
|
inline |
Transported label.
Definition at line 161 of file findCellParticle.H.
|
inline |
Transported label.
Definition at line 167 of file findCellParticle.H.
bool move | ( | Cloud< findCellParticle > & | cloud, |
trackingData & | td | ||
) |
Track all particles to their end point.
Definition at line 78 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 105 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 116 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 127 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 138 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 149 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 172 of file findCellParticle.C.
References particle::trackingData::keepParticle.
|
friend |
Definition at line 70 of file findCellParticle.H.
|
friend |