Classes | Public Member Functions | Static Public Attributes | Friends | List of all members
trackedParticle Class Reference

Particle class that marks cells it passes through. Used to mark cells visited by feature edges. More...

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

Classes

class  iNew
 
class  trackingData
 

Public Member Functions

 trackedParticle (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPtI, const point &end, const label level, const label i, const label j, const label k)
 
 trackedParticle (const polyMesh &mesh, const vector &position, const label celli, const point &end, const label level, const label i, const label j, const label k)
 
 trackedParticle (const polyMesh &mesh, Istream &is, bool readFields=true, bool newFormat=true)
 
autoPtr< particleclone () const
 
pointstart ()
 
pointend ()
 
label i () const
 
label & i ()
 
label j () const
 
label & j ()
 
label k () const
 
label & k ()
 
bool move (Cloud< trackedParticle > &, trackingData &, const scalar)
 
bool hitPatch (Cloud< trackedParticle > &, trackingData &)
 
void hitWedgePatch (Cloud< trackedParticle > &, trackingData &)
 
void hitSymmetryPlanePatch (Cloud< trackedParticle > &, trackingData &)
 
void hitSymmetryPatch (Cloud< trackedParticle > &, trackingData &)
 
void hitCyclicPatch (Cloud< trackedParticle > &, trackingData &)
 
void hitCyclicAMIPatch (Cloud< trackedParticle > &, trackingData &, const vector &)
 
void hitCyclicACMIPatch (Cloud< trackedParticle > &, trackingData &, const vector &)
 
void hitProcessorPatch (Cloud< trackedParticle > &, trackingData &)
 
void hitWallPatch (Cloud< trackedParticle > &, trackingData &)
 
void correctAfterParallelTransfer (const label, trackingData &)
 
- Public Member Functions inherited from particle< Type >
 TypeName ("particle")
 
 particle (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
 
 particle (const polyMesh &mesh, const vector &position, const label celli=-1)
 
 particle (const polyMesh &mesh, const vector &position, const label celli, const label tetFacei, const label tetPti, const bool doLocate=true)
 
 particle (const polyMesh &mesh, Istream &, bool readFields=true, bool newFormat=true)
 
 particle (const particle &p)
 
 particle (const particle &p, const polyMesh &mesh)
 
virtual ~particle ()=default
 
label getNewParticleID () const
 
const polyMeshmesh () const
 
const barycentriccoordinates () const
 
label cell () const
 
label & cell ()
 
label tetFace () const
 
label & tetFace ()
 
label tetPt () const
 
label & tetPt ()
 
label face () const
 
label & face ()
 
scalar stepFraction () const
 
scalar & stepFraction ()
 
label origProc () const
 
label & origProc ()
 
label origId () const
 
label & origId ()
 
Pair< scalar > stepFractionSpan () const
 
scalar currentTimeFraction () const
 
tetIndices currentTetIndices () const
 
barycentricTensor currentTetTransform () const
 
vector normal () const
 
bool onFace () const
 
bool onInternalFace () const
 
bool onBoundaryFace () const
 
label patch () const
 
vector position () const
 
void reset ()
 
scalar track (const vector &displacement, const scalar fraction)
 
scalar trackToFace (const vector &displacement, const scalar fraction)
 
scalar trackToTri (const vector &displacement, const scalar fraction, label &tetTriI)
 
scalar trackToStationaryTri (const vector &displacement, const scalar fraction, label &tetTriI)
 
scalar trackToMovingTri (const vector &displacement, const scalar fraction, label &tetTriI)
 
template<class TrackCloudType >
void hitFace (const vector &direction, TrackCloudType &cloud, trackingData &td)
 
template<class TrackCloudType >
void trackToAndHitFace (const vector &direction, const scalar fraction, TrackCloudType &cloud, trackingData &td)
 
vector deviationFromMeshCentre () const
 
void patchData (vector &n, vector &U) const
 
virtual void transformProperties (const tensor &T)
 
virtual void transformProperties (const vector &separation)
 
void prepareForParallelTransfer ()
 
void correctAfterParallelTransfer (const label patchi, trackingData &td)
 
void prepareForInteractionListReferral (const vectorTensorTransform &transform)
 
void correctAfterInteractionListReferral (const label celli)
 
label procTetPt (const polyMesh &procMesh, const label procCell, const label procTetFace) const
 
void autoMap (const vector &position, const mapPolyMesh &mapper)
 
void relocate (const point &position, const label celli=-1)
 
void writeProperties (Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly) const
 
void writeCoordinates (Ostream &os) const
 
virtual void writePosition (Ostream &os) const
 

Static Public Attributes

static const std::size_t sizeofFields_
 
- Static Public Attributes inherited from particle< Type >
static string propertyList_ = Foam::particle::propertyList()
 
static label particleCount_ = 0
 
static bool writeLagrangianCoordinates = true
 
static bool writeLagrangianPositions
 

Friends

class Cloud< trackedParticle >
 
Ostreamoperator<< (Ostream &, const trackedParticle &)
 

Additional Inherited Members

- Static Public Member Functions inherited from particle< Type >
static string propertyList ()
 
template<class Type >
static void writePropertyName (Ostream &os, const word &name, const word &delim)
 
template<class Type >
static void writeProperty (Ostream &os, const word &name, const Type &value, const bool nameOnly, const word &delim, const wordRes &filters=wordRes::null())
 
template<class Type >
static void writeProperty (Ostream &os, const word &name, const Field< Type > &values, const bool nameOnly, const word &delim, const wordRes &filters=wordRes::null())
 
template<class TrackCloudType >
static void readFields (TrackCloudType &c)
 
template<class TrackCloudType >
static void writeFields (const TrackCloudType &c)
 
template<class CloudType >
static void readObjects (CloudType &c, const objectRegistry &obr)
 
template<class CloudType >
static void writeObjects (const CloudType &c, objectRegistry &obr)
 
- Protected Member Functions inherited from particle< Type >
template<class TrackCloudType >
bool hitPatch (TrackCloudType &, trackingData &)
 
template<class TrackCloudType >
void hitWedgePatch (TrackCloudType &, trackingData &)
 
template<class TrackCloudType >
void hitSymmetryPlanePatch (TrackCloudType &, trackingData &)
 
template<class TrackCloudType >
void hitSymmetryPatch (TrackCloudType &, trackingData &)
 
template<class TrackCloudType >
void hitCyclicPatch (TrackCloudType &, trackingData &)
 
template<class TrackCloudType >
void hitCyclicAMIPatch (TrackCloudType &, trackingData &, const vector &)
 
template<class TrackCloudType >
void hitCyclicACMIPatch (TrackCloudType &, trackingData &, const vector &)
 
template<class TrackCloudType >
void hitProcessorPatch (TrackCloudType &, trackingData &)
 
template<class TrackCloudType >
void hitWallPatch (TrackCloudType &, trackingData &)
 

Detailed Description

Particle class that marks cells it passes through. Used to mark cells visited by feature edges.

Source files

Definition at line 58 of file trackedParticle.H.

Constructor & Destructor Documentation

◆ trackedParticle() [1/3]

trackedParticle ( const polyMesh mesh,
const barycentric coordinates,
const label  celli,
const label  tetFacei,
const label  tetPtI,
const point end,
const label  level,
const label  i,
const label  j,
const label  k 
)

Definition at line 35 of file trackedParticle.C.

◆ trackedParticle() [2/3]

trackedParticle ( const polyMesh mesh,
const vector position,
const label  celli,
const point end,
const label  level,
const label  i,
const label  j,
const label  k 
)

Definition at line 59 of file trackedParticle.C.

◆ trackedParticle() [3/3]

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

Member Function Documentation

◆ clone()

autoPtr<particle> clone ( ) const
inlinevirtual

Reimplemented from particle< Type >.

Definition at line 163 of file trackedParticle.H.

◆ start()

point& start ( )
inline

Definition at line 191 of file trackedParticle.H.

◆ end()

point& end ( )
inline

Definition at line 197 of file trackedParticle.H.

◆ i() [1/2]

label i ( ) const
inline

Definition at line 203 of file trackedParticle.H.

◆ i() [2/2]

label& i ( )
inline

Definition at line 209 of file trackedParticle.H.

◆ j() [1/2]

label j ( ) const
inline

Definition at line 215 of file trackedParticle.H.

◆ j() [2/2]

label& j ( )
inline

Definition at line 221 of file trackedParticle.H.

◆ k() [1/2]

label k ( ) const
inline

Definition at line 227 of file trackedParticle.H.

◆ k() [2/2]

label& k ( )
inline

Definition at line 233 of file trackedParticle.H.

◆ move()

bool move ( Cloud< trackedParticle > &  cloud,
trackingData td,
const scalar  trackTime 
)

◆ hitPatch()

bool hitPatch ( Cloud< trackedParticle > &  ,
trackingData  
)

Definition at line 165 of file trackedParticle.C.

◆ hitWedgePatch()

void hitWedgePatch ( Cloud< trackedParticle > &  ,
trackingData td 
)

Definition at line 172 of file trackedParticle.C.

References particle< Type >::trackingData::keepParticle.

◆ hitSymmetryPlanePatch()

void hitSymmetryPlanePatch ( Cloud< trackedParticle > &  ,
trackingData td 
)

Definition at line 183 of file trackedParticle.C.

References particle< Type >::trackingData::keepParticle.

◆ hitSymmetryPatch()

void hitSymmetryPatch ( Cloud< trackedParticle > &  ,
trackingData td 
)

Definition at line 194 of file trackedParticle.C.

References particle< Type >::trackingData::keepParticle.

◆ hitCyclicPatch()

void hitCyclicPatch ( Cloud< trackedParticle > &  ,
trackingData td 
)

Definition at line 205 of file trackedParticle.C.

References particle< Type >::trackingData::keepParticle.

◆ hitCyclicAMIPatch()

void hitCyclicAMIPatch ( Cloud< trackedParticle > &  ,
trackingData td,
const vector direction 
)

Definition at line 216 of file trackedParticle.C.

References particle< Type >::trackingData::keepParticle.

◆ hitCyclicACMIPatch()

void hitCyclicACMIPatch ( Cloud< trackedParticle > &  ,
trackingData td,
const vector  
)

Definition at line 228 of file trackedParticle.C.

References particle< Type >::trackingData::keepParticle.

◆ hitProcessorPatch()

void hitProcessorPatch ( Cloud< trackedParticle > &  ,
trackingData td 
)

◆ hitWallPatch()

void hitWallPatch ( Cloud< trackedParticle > &  ,
trackingData td 
)

Definition at line 251 of file trackedParticle.C.

References particle< Type >::trackingData::keepParticle.

◆ correctAfterParallelTransfer()

void correctAfterParallelTransfer ( const label  patchi,
trackingData td 
)

Definition at line 262 of file trackedParticle.C.

References particle< Type >::correctAfterParallelTransfer(), trackedParticle::trackingData::featureEdgeVisited_, and k.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ Cloud< trackedParticle >

friend class Cloud< trackedParticle >
friend

Definition at line 85 of file trackedParticle.H.

◆ operator<<

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

Member Data Documentation

◆ sizeofFields_

const std::size_t sizeofFields_
static

Definition at line 119 of file trackedParticle.H.

Referenced by Foam::operator<<().


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