Classes | Public Member Functions | Friends | List of all members
findCellParticle Class Reference

Particle class that finds cells by tracking. More...

Inheritance diagram for findCellParticle:
Inheritance graph
[legend]
Collaboration diagram for findCellParticle:
Collaboration graph
[legend]

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< particleclone () const
 Construct and return a clone. More...
 
const pointstart () const
 Point to track from. More...
 
pointstart ()
 Point to track from. More...
 
const pointend () const
 Point to track to. More...
 
pointend ()
 Point to track to. More...
 
label data () const
 Transported label. More...
 
labeldata ()
 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...
 
- 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 refernce to a new mesh. More...
 
virtual ~particle ()
 Destructor. More...
 
label getNewParticleID () const
 Get unique particle creation id. More...
 
const polyMeshmesh () const
 Return the mesh database. More...
 
const barycentriccoordinates () 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...
 
labelorigProc ()
 Return the originating processor ID. More...
 
label origId () const
 Return the particle ID on the originating processor. More...
 
labelorigId ()
 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 >
 
Ostreamoperator<< (Ostream &, const findCellParticle &)
 

Additional Inherited Members

- Static Public Member Functions inherited from particle< Type >
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 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 provode unique ID. More...
 
- Protected Member Functions inherited from particle< Type >
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...
 

Detailed Description

Particle class that finds cells by tracking.

Source files

Definition at line 59 of file findCellParticle.H.

Constructor & Destructor Documentation

◆ findCellParticle() [1/3]

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()().

Here is the caller graph for this function:

◆ findCellParticle() [2/3]

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().

Here is the call graph for this function:

◆ findCellParticle() [3/3]

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().

Here is the call graph for this function:

Member Function Documentation

◆ clone()

autoPtr<particle> clone ( ) const
inlinevirtual

Construct and return a clone.

Reimplemented from particle< Type >.

Definition at line 152 of file findCellParticle.H.

References findCellParticle::findCellParticle().

Here is the call graph for this function:

◆ start() [1/2]

const point& start ( ) const
inline

Point to track from.

Definition at line 183 of file findCellParticle.H.

◆ start() [2/2]

point& start ( )
inline

Point to track from.

Definition at line 189 of file findCellParticle.H.

◆ end() [1/2]

const point& end ( ) const
inline

Point to track to.

Definition at line 195 of file findCellParticle.H.

Referenced by nearWallFields::calcAddressing(), and findCellParticle::trackingData::cellToEnd().

Here is the caller graph for this function:

◆ end() [2/2]

point& end ( )
inline

Point to track to.

Definition at line 201 of file findCellParticle.H.

◆ data() [1/2]

label data ( ) const
inline

Transported label.

Definition at line 207 of file findCellParticle.H.

◆ data() [2/2]

label& data ( )
inline

◆ move()

bool move ( trackingData td,
const scalar  maxTrackLen 
)

◆ hitPatch() [1/2]

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hitWedgePatch()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hitSymmetryPlanePatch()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hitSymmetryPatch()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hitCyclicPatch()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hitProcessorPatch()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hitWallPatch()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hitPatch() [2/2]

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.

Friends And Related Function Documentation

◆ Cloud< findCellParticle >

friend class Cloud< findCellParticle >
friend

Definition at line 77 of file findCellParticle.H.

◆ operator<<

Ostream& operator<< ( Ostream ,
const findCellParticle  
)
friend

Referenced by findCellParticle::data().


The documentation for this class was generated from the following files: