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

Particle class that samples fields as it passes through. Used in streamline calculation. More...

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

Classes

class  iNew
 
class  trackingData
 

Public Member Functions

 streamLineParticle (const polyMesh &c, const vector &position, const label celli, const bool trackForward, const label lifeTime)
 
 streamLineParticle (const polyMesh &c, Istream &is, bool readFields=true, bool newFormat=true)
 
 streamLineParticle (const streamLineParticle &p)
 
autoPtr< particleclone () const
 
bool move (streamLineParticleCloud &, trackingData &, const scalar)
 
bool hitPatch (streamLineParticleCloud &, trackingData &)
 
void hitWedgePatch (streamLineParticleCloud &, trackingData &)
 
void hitSymmetryPlanePatch (streamLineParticleCloud &, trackingData &)
 
void hitSymmetryPatch (streamLineParticleCloud &, trackingData &)
 
void hitCyclicPatch (streamLineParticleCloud &, trackingData &)
 
void hitCyclicAMIPatch (streamLineParticleCloud &, trackingData &, const vector &direction)
 
void hitCyclicACMIPatch (streamLineParticleCloud &, trackingData &, const vector &direction)
 
void hitProcessorPatch (streamLineParticleCloud &, trackingData &)
 
void hitWallPatch (streamLineParticleCloud &, 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 Member Functions

static void readFields (Cloud< streamLineParticle > &)
 
static void writeFields (const Cloud< streamLineParticle > &)
 
- 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)
 

Friends

Ostreamoperator<< (Ostream &, const streamLineParticle &)
 

Additional Inherited Members

- Static Public Attributes inherited from particle< Type >
static string propertyList_ = Foam::particle::propertyList()
 
static label particleCount_ = 0
 
static bool writeLagrangianCoordinates = true
 
static bool writeLagrangianPositions
 
- 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 samples fields as it passes through. Used in streamline calculation.

Source files

Definition at line 57 of file streamLineParticle.H.

Constructor & Destructor Documentation

◆ streamLineParticle() [1/3]

streamLineParticle ( const polyMesh c,
const vector position,
const label  celli,
const bool  trackForward,
const label  lifeTime 
)

Definition at line 79 of file streamLineParticle.C.

Referenced by streamLineParticle::clone(), and streamLineParticle::iNew::operator()().

Here is the caller graph for this function:

◆ streamLineParticle() [2/3]

streamLineParticle ( const polyMesh c,
Istream is,
bool  readFields = true,
bool  newFormat = true 
)

Definition at line 94 of file streamLineParticle.C.

References IOstream::check(), forAll, FUNCTION_NAME, Foam::readFields(), and List::setSize().

Here is the call graph for this function:

◆ streamLineParticle() [3/3]

Definition at line 129 of file streamLineParticle.C.

Member Function Documentation

◆ clone()

autoPtr<particle> clone ( ) const
inlinevirtual

Reimplemented from particle< Type >.

Definition at line 176 of file streamLineParticle.H.

References streamLineParticle::streamLineParticle().

Here is the call graph for this function:

◆ move()

bool move ( streamLineParticleCloud cloud,
trackingData td,
const  scalar 
)

◆ hitPatch()

bool hitPatch ( streamLineParticleCloud ,
trackingData  
)

Definition at line 270 of file streamLineParticle.C.

◆ hitWedgePatch()

void hitWedgePatch ( streamLineParticleCloud ,
trackingData td 
)

◆ hitSymmetryPlanePatch()

void hitSymmetryPlanePatch ( streamLineParticleCloud ,
trackingData td 
)

◆ hitSymmetryPatch()

void hitSymmetryPatch ( streamLineParticleCloud ,
trackingData td 
)

◆ hitCyclicPatch()

void hitCyclicPatch ( streamLineParticleCloud ,
trackingData td 
)

◆ hitCyclicAMIPatch()

void hitCyclicAMIPatch ( streamLineParticleCloud ,
trackingData td,
const vector direction 
)

◆ hitCyclicACMIPatch()

void hitCyclicACMIPatch ( streamLineParticleCloud ,
trackingData td,
const vector direction 
)

◆ hitProcessorPatch()

void hitProcessorPatch ( streamLineParticleCloud ,
trackingData td 
)

◆ hitWallPatch()

void hitWallPatch ( streamLineParticleCloud ,
trackingData td 
)

◆ readFields()

void readFields ( Cloud< streamLineParticle > &  c)
static

Definition at line 367 of file streamLineParticle.C.

References Foam::constant::universal::c, IOobject::MUST_READ, p, and particle< Type >::readFields().

Here is the call graph for this function:

◆ writeFields()

void writeFields ( const Cloud< streamLineParticle > &  c)
static

Definition at line 397 of file streamLineParticle.C.

References Foam::constant::universal::c, IOobject::NO_READ, p, and particle< Type >::writeFields().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator<<

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

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