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

Particle class that tracks on triangles of boundary faces. Use trackToEdge similar to trackToFace on particle. More...

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

Classes

class  iNew
 
class  trackingData
 

Public Member Functions

 wallBoundedParticle (const polyMesh &c, const point &position, const label celli, const label tetFacei, const label tetPti, const label meshEdgeStart, const label diagEdge)
 
 wallBoundedParticle (const polyMesh &c, Istream &is, bool readFields=true, bool newFormat=true)
 
 wallBoundedParticle (const wallBoundedParticle &p)
 
autoPtr< particleclone () const
 
label meshEdgeStart () const
 
label diagEdge () const
 
template<class TrackCloudType >
scalar trackToEdge (TrackCloudType &cloud, trackingData &td, const vector &endPosition)
 
template<class TrackCloudType >
void patchInteraction (TrackCloudType &cloud, trackingData &td, const scalar trackFraction)
 
template<class TrackCloudType >
void hitProcessorPatch (TrackCloudType &cloud, trackingData &td)
 
template<class TrackCloudType >
void hitWallPatch (TrackCloudType &cloud, trackingData &td)
 
InfoProxy< wallBoundedParticleinfo () const
 
template<class TrackCloudType >
Foam::scalar trackToEdge (TrackCloudType &cloud, trackingData &td, const vector &endPosition)
 
template<class TrackCloudType >
void readFields (TrackCloudType &c)
 
template<class TrackCloudType >
void writeFields (const TrackCloudType &c)
 
- 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

template<class CloudType >
static void readFields (CloudType &)
 
template<class CloudType >
static void writeFields (const CloudType &)
 
- 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)
 

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
 

Protected Member Functions

edge currentEdge () const
 
void crossEdgeConnectedFace (const label &celli, label &tetFacei, label &tetPti, const edge &e)
 
void crossEdgeConnectedFace (const edge &meshEdge)
 
void crossDiagonalEdge ()
 
scalar trackFaceTri (const vector &n, const vector &endPosition, label &)
 
bool isTriAlongTrack (const vector &n, const point &endPosition) const
 
- 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 &)
 

Protected Attributes

point localPosition_
 
label meshEdgeStart_
 
label diagEdge_
 

Friends

Ostreamoperator<< (Ostream &, const wallBoundedParticle &)
 
Ostreamoperator<< (Ostream &, const InfoProxy< wallBoundedParticle > &)
 

Detailed Description

Particle class that tracks on triangles of boundary faces. Use trackToEdge similar to trackToFace on particle.

Source files

Definition at line 59 of file wallBoundedParticle.H.

Constructor & Destructor Documentation

◆ wallBoundedParticle() [1/3]

wallBoundedParticle ( const polyMesh c,
const point position,
const label  celli,
const label  tetFacei,
const label  tetPti,
const label  meshEdgeStart,
const label  diagEdge 
)

Definition at line 405 of file wallBoundedParticle.C.

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

Here is the caller graph for this function:

◆ wallBoundedParticle() [2/3]

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

◆ wallBoundedParticle() [3/3]

Definition at line 461 of file wallBoundedParticle.C.

Member Function Documentation

◆ currentEdge()

Foam::edge currentEdge ( ) const
protected

◆ crossEdgeConnectedFace() [1/2]

void crossEdgeConnectedFace ( const label &  celli,
label &  tetFacei,
label &  tetPti,
const edge e 
)
protected

◆ crossEdgeConnectedFace() [2/2]

void crossEdgeConnectedFace ( const edge meshEdge)
protected

Definition at line 183 of file wallBoundedParticle.C.

References Foam::abort(), f(), polyMesh::faces(), Foam::FatalError, FatalErrorInFunction, and mesh.

Here is the call graph for this function:

◆ crossDiagonalEdge()

void crossDiagonalEdge ( )
protected

Definition at line 232 of file wallBoundedParticle.C.

References Foam::abort(), f(), polyMesh::faces(), Foam::FatalError, FatalErrorInFunction, and mesh.

Here is the call graph for this function:

◆ trackFaceTri()

Foam::scalar trackFaceTri ( const vector n,
const vector endPosition,
label &  minEdgei 
)
protected

Definition at line 279 of file wallBoundedParticle.C.

References FixedList::fcIndex(), forAll, Foam::mag(), mesh, n, Vector< Cmpt >::normalise(), polyMesh::points(), and s.

Here is the call graph for this function:

◆ isTriAlongTrack()

bool isTriAlongTrack ( const vector n,
const point endPosition 
) const
protected

Definition at line 358 of file wallBoundedParticle.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, FixedList::fcIndex(), forAll, FixedList::found(), mesh, n, and polyMesh::points().

Here is the call graph for this function:

◆ clone()

autoPtr<particle> clone ( ) const
inlinevirtual

Reimplemented from particle< Type >.

Reimplemented in wallBoundedStreamLineParticle.

Definition at line 177 of file wallBoundedParticle.H.

References wallBoundedParticle::wallBoundedParticle().

Here is the call graph for this function:

◆ meshEdgeStart()

label meshEdgeStart ( ) const
inline

Definition at line 213 of file wallBoundedParticle.H.

References wallBoundedParticle::meshEdgeStart_.

Referenced by wallBoundedParticle::readFields().

Here is the caller graph for this function:

◆ diagEdge()

label diagEdge ( ) const
inline

Definition at line 219 of file wallBoundedParticle.H.

References wallBoundedParticle::diagEdge_.

Referenced by wallBoundedParticle::readFields().

Here is the caller graph for this function:

◆ trackToEdge() [1/2]

scalar trackToEdge ( TrackCloudType &  cloud,
trackingData td,
const vector endPosition 
)

◆ patchInteraction()

void patchInteraction ( TrackCloudType &  cloud,
trackingData td,
const scalar  trackFraction 
)

◆ hitProcessorPatch()

void hitProcessorPatch ( TrackCloudType &  cloud,
trackingData td 
)

Definition at line 375 of file wallBoundedParticleTemplates.C.

References f(), mesh, and particle< Type >::trackingData::switchProcessor.

Here is the call graph for this function:

◆ hitWallPatch()

void hitWallPatch ( TrackCloudType &  cloud,
trackingData td 
)

Definition at line 404 of file wallBoundedParticleTemplates.C.

◆ info()

InfoProxy<wallBoundedParticle> info ( ) const
inline

Definition at line 270 of file wallBoundedParticle.H.

Referenced by wallBoundedParticle::currentEdge().

Here is the caller graph for this function:

◆ readFields() [1/2]

static void readFields ( CloudType )
static

◆ writeFields() [1/2]

static void writeFields ( const CloudType )
static

◆ trackToEdge() [2/2]

Foam::scalar trackToEdge ( TrackCloudType &  cloud,
trackingData td,
const vector endPosition 
)

◆ readFields() [2/2]

void readFields ( TrackCloudType &  c)

◆ writeFields() [2/2]

void writeFields ( const TrackCloudType &  c)

Definition at line 452 of file wallBoundedParticleTemplates.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<< [1/2]

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

◆ operator<< [2/2]

Ostream& operator<< ( Ostream ,
const InfoProxy< wallBoundedParticle > &   
)
friend

Member Data Documentation

◆ localPosition_

point localPosition_
protected

Definition at line 96 of file wallBoundedParticle.H.

◆ meshEdgeStart_

label meshEdgeStart_
protected

◆ diagEdge_

label diagEdge_
protected

◆ sizeofFields_

const std::size_t sizeofFields_
static

Definition at line 147 of file wallBoundedParticle.H.

Referenced by Foam::operator<<().


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