sampledSetParticle Class Reference

Particle for generating line-type sampled sets. More...

Inheritance diagram for sampledSetParticle:
Collaboration diagram for sampledSetParticle:

Classes

class  iNew
 Factory class to read-construct particles used for parallel transfer. More...
 
class  trackingData
 Tracking data class. More...
 

Public Member Functions

 sampledSetParticle (const polyMesh &mesh, const point &position, const label celli, const label seti, const scalar setF, const scalar distance)
 Construct from components. More...
 
 sampledSetParticle (const polyMesh &mesh, Istream &is, bool readFields=true)
 Construct from Istream. More...
 
 sampledSetParticle (const sampledSetParticle &)
 Copy constructor. More...
 
autoPtr< particleclone () const
 Construct and return a clone. More...
 
void store (sampledSetCloud &, trackingData &)
 Store a point. More...
 
void storeFace (sampledSetCloud &, trackingData &)
 Store a point on a face. More...
 
void storeCell (sampledSetCloud &, trackingData &)
 Store a point in a cell. More...
 
bool move (sampledSetCloud &, trackingData &, const scalar)
 Track all particles to their end point. More...
 
void hitWedgePatch (sampledSetCloud &, trackingData &)
 Hit a wedge patch. Ends the track. More...
 
void hitSymmetryPlanePatch (sampledSetCloud &, trackingData &)
 Hit a symmetry patch. Ends the track. More...
 
void hitSymmetryPatch (sampledSetCloud &, trackingData &)
 Hit a symmetry plane patch. Ends the track. More...
 
void hitCyclicPatch (sampledSetCloud &, trackingData &)
 Hit a cyclic patch. Ends the track. More...
 
void hitCyclicAMIPatch (const vector &, const scalar, sampledSetCloud &, trackingData &)
 Hit a cyclicAMI patch. Ends the track. More...
 
void hitProcessorPatch (sampledSetCloud &, trackingData &)
 Hit a processor patch. Transfers the particle if there is no. More...
 
void hitWallPatch (sampledSetCloud &, trackingData &)
 Hit a wall patch. Ends the track. 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 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...
 
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

Ostreamoperator<< (Ostream &, const sampledSetParticle &)
 

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

Detailed Description

Particle for generating line-type sampled sets.

Source files

Definition at line 57 of file sampledSetParticle.H.

Constructor & Destructor Documentation

◆ sampledSetParticle() [1/3]

sampledSetParticle ( const polyMesh mesh,
const point position,
const label  celli,
const label  seti,
const scalar  setF,
const scalar  distance 
)

Construct from components.

Definition at line 32 of file sampledSetParticle.C.

Referenced by sampledSetParticle::clone(), sampledSetParticle::iNew::operator()(), sampledSetParticle::sampledSetParticle(), and sampledSetParticle::trackingData::trackingData().

Here is the caller graph for this function:

◆ sampledSetParticle() [2/3]

sampledSetParticle ( const polyMesh mesh,
Istream is,
bool  readFields = true 
)

Construct from Istream.

Definition at line 51 of file sampledSetParticle.C.

References IOstream::check(), FUNCTION_NAME, and sampledSetParticle::sampledSetParticle().

Here is the call graph for this function:

◆ sampledSetParticle() [3/3]

Copy constructor.

Definition at line 69 of file sampledSetParticle.C.

References sampledSetParticle::store().

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.

Definition at line 168 of file sampledSetParticle.H.

References sampledSetParticle::sampledSetParticle().

Here is the call graph for this function:

◆ store()

◆ storeFace()

void storeFace ( sampledSetCloud cloud,
trackingData td 
)

Store a point on a face.

Definition at line 98 of file sampledSetParticle.C.

References sampledSetParticle::storeCell().

Referenced by sampledSetParticle::iNew::operator()(), and sampledSetParticle::store().

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

◆ storeCell()

◆ move()

◆ hitWedgePatch()

void hitWedgePatch ( sampledSetCloud ,
trackingData td 
)

Hit a wedge patch. Ends the track.

Definition at line 184 of file sampledSetParticle.C.

References sampledSetParticle::hitSymmetryPlanePatch(), and Foam::labelMax.

Referenced by sampledSetParticle::move(), and sampledSetParticle::iNew::operator()().

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

◆ hitSymmetryPlanePatch()

void hitSymmetryPlanePatch ( sampledSetCloud ,
trackingData td 
)

Hit a symmetry patch. Ends the track.

Definition at line 194 of file sampledSetParticle.C.

References sampledSetParticle::hitSymmetryPatch(), and Foam::labelMax.

Referenced by sampledSetParticle::hitWedgePatch(), and sampledSetParticle::iNew::operator()().

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

◆ hitSymmetryPatch()

void hitSymmetryPatch ( sampledSetCloud ,
trackingData td 
)

Hit a symmetry plane patch. Ends the track.

Definition at line 204 of file sampledSetParticle.C.

References sampledSetParticle::hitCyclicPatch(), and Foam::labelMax.

Referenced by sampledSetParticle::hitSymmetryPlanePatch(), and sampledSetParticle::iNew::operator()().

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

◆ hitCyclicPatch()

void hitCyclicPatch ( sampledSetCloud cloud,
trackingData td 
)

Hit a cyclic patch. Ends the track.

Definition at line 214 of file sampledSetParticle.C.

References sampledSetParticle::hitCyclicAMIPatch(), and Foam::labelMax.

Referenced by sampledSetParticle::hitSymmetryPatch(), and sampledSetParticle::iNew::operator()().

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

◆ hitCyclicAMIPatch()

void hitCyclicAMIPatch ( const vector displacement,
const scalar  fraction,
sampledSetCloud cloud,
trackingData td 
)

Hit a cyclicAMI patch. Ends the track.

Definition at line 224 of file sampledSetParticle.C.

References sampledSetParticle::hitProcessorPatch(), and Foam::labelMax.

Referenced by sampledSetParticle::hitCyclicPatch(), and sampledSetParticle::iNew::operator()().

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

◆ hitProcessorPatch()

void hitProcessorPatch ( sampledSetCloud cloud,
trackingData td 
)

Hit a processor patch. Transfers the particle if there is no.

transformation. Ends the track if there is a transformation.

Definition at line 236 of file sampledSetParticle.C.

References sampledSetParticle::hitWallPatch(), Foam::labelMax, mesh, processorPolyPatch::transform(), and transformer::transformsPosition().

Referenced by sampledSetParticle::hitCyclicAMIPatch(), and sampledSetParticle::iNew::operator()().

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

◆ hitWallPatch()

void hitWallPatch ( sampledSetCloud ,
trackingData td 
)

Hit a wall patch. Ends the track.

Definition at line 256 of file sampledSetParticle.C.

References Foam::labelMax.

Referenced by sampledSetParticle::hitProcessorPatch(), and sampledSetParticle::iNew::operator()().

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator<<

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

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