Particle class that samples fields as it passes through. Used in streamline calculation. More...
Classes | |
class | iNew |
Factory class to read-construct particles used for parallel transfer. More... | |
class | trackingData |
Public Member Functions | |
streamLineParticle (const polyMesh &c, const vector &position, const label celli, const label lifeTime) | |
Construct from components. More... | |
streamLineParticle (const polyMesh &c, Istream &is, bool readFields=true) | |
Construct from Istream. More... | |
streamLineParticle (const streamLineParticle &p) | |
Construct copy. More... | |
autoPtr< particle > | clone () const |
Construct and return a clone. 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 polyMesh & | mesh () const |
Return the mesh database. More... | |
const barycentric & | coordinates () 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... | |
label & | origProc () |
Return the originating processor ID. More... | |
label | origId () const |
Return the particle ID on the originating processor. More... | |
label & | origId () |
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... | |
Static Public Member Functions | |
static void | readFields (Cloud< streamLineParticle > &) |
Read. More... | |
static void | writeFields (const Cloud< streamLineParticle > &) |
Write. More... | |
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... | |
Friends | |
Ostream & | operator<< (Ostream &, const streamLineParticle &) |
Additional Inherited Members | |
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... | |
Particle class that samples fields as it passes through. Used in streamline calculation.
Definition at line 58 of file streamLineParticle.H.
streamLineParticle | ( | const polyMesh & | c, |
const vector & | position, | ||
const label | celli, | ||
const label | lifeTime | ||
) |
Construct from components.
Definition at line 82 of file streamLineParticle.C.
Referenced by streamLineParticle::clone(), streamLineParticle::iNew::operator()(), streamLineParticle::streamLineParticle(), and streamLineParticle::trackingData::trackingData().
streamLineParticle | ( | const polyMesh & | c, |
Istream & | is, | ||
bool | readFields = true |
||
) |
Construct from Istream.
Definition at line 95 of file streamLineParticle.C.
References IOstream::check(), forAll, List< T >::size(), and streamLineParticle::streamLineParticle().
streamLineParticle | ( | const streamLineParticle & | p | ) |
Construct copy.
Definition at line 133 of file streamLineParticle.C.
References streamLineParticle::move().
Construct and return a clone.
Reimplemented from particle< Type >.
Definition at line 176 of file streamLineParticle.H.
References streamLineParticle::streamLineParticle().
bool move | ( | trackingData & | td, |
const scalar | |||
) |
Track all particles to their end point.
Definition at line 147 of file streamLineParticle.C.
References streamLineParticle::trackingData::allPositions_, streamLineParticle::trackingData::allScalars_, streamLineParticle::trackingData::allVectors_, polyMesh::bounds(), particle< Type >::cell(), Foam::endl(), particle< Type >::face(), forAll, streamLineParticle::hitPatch(), particle< Type >::TrackingData< CloudType >::keepParticle, boundBox::mag(), Foam::mag(), Foam::max(), particle< Type >::mesh(), streamLineParticle::trackingData::nSubCycle_, particle< Type >::onFace(), particle< Type >::position(), Foam::Pout, particle< Type >::stepFraction(), particle< Type >::TrackingData< CloudType >::switchProcessor, streamLineParticle::trackingData::trackForward_, streamLineParticle::trackingData::trackLength_, particle< Type >::trackToFace(), List< T >::transfer(), and U.
Referenced by streamLineParticle::iNew::operator()(), and streamLineParticle::streamLineParticle().
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 272 of file streamLineParticle.C.
References streamLineParticle::hitWedgePatch().
Referenced by streamLineParticle::hitWallPatch(), streamLineParticle::move(), and streamLineParticle::iNew::operator()().
void hitWedgePatch | ( | const wedgePolyPatch & | pp, |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a wedge.
Definition at line 286 of file streamLineParticle.C.
References streamLineParticle::hitSymmetryPlanePatch(), and particle< Type >::TrackingData< CloudType >::keepParticle.
Referenced by streamLineParticle::hitPatch(), and streamLineParticle::iNew::operator()().
void hitSymmetryPlanePatch | ( | const symmetryPlanePolyPatch & | pp, |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a.
symmetry plane
Definition at line 297 of file streamLineParticle.C.
References streamLineParticle::hitSymmetryPatch(), and particle< Type >::TrackingData< CloudType >::keepParticle.
Referenced by streamLineParticle::hitWedgePatch(), and streamLineParticle::iNew::operator()().
void hitSymmetryPatch | ( | const symmetryPolyPatch & | pp, |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a.
symmetry patch
Definition at line 308 of file streamLineParticle.C.
References streamLineParticle::hitCyclicPatch(), and particle< Type >::TrackingData< CloudType >::keepParticle.
Referenced by streamLineParticle::hitSymmetryPlanePatch(), and streamLineParticle::iNew::operator()().
void hitCyclicPatch | ( | const cyclicPolyPatch & | pp, |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a cyclic.
Definition at line 319 of file streamLineParticle.C.
References streamLineParticle::hitProcessorPatch(), and particle< Type >::TrackingData< CloudType >::keepParticle.
Referenced by streamLineParticle::hitSymmetryPatch(), and streamLineParticle::iNew::operator()().
void hitProcessorPatch | ( | const processorPolyPatch & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a processorPatch
Definition at line 330 of file streamLineParticle.C.
References streamLineParticle::hitWallPatch(), and particle< Type >::TrackingData< CloudType >::switchProcessor.
Referenced by streamLineParticle::hitCyclicPatch(), and streamLineParticle::iNew::operator()().
void hitWallPatch | ( | const wallPolyPatch & | wpp, |
trackingData & | td, | ||
const tetIndices & | |||
) |
Overridable function to handle the particle hitting a wallPatch.
Definition at line 341 of file streamLineParticle.C.
References streamLineParticle::hitPatch(), and particle< Type >::TrackingData< CloudType >::keepParticle.
Referenced by streamLineParticle::hitProcessorPatch(), and streamLineParticle::iNew::operator()().
void hitPatch | ( | const polyPatch & | wpp, |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a polyPatch.
Definition at line 353 of file streamLineParticle.C.
References particle< Type >::TrackingData< CloudType >::keepParticle.
|
static |
Read.
Definition at line 363 of file streamLineParticle.C.
References Cloud< ParticleType >::checkFieldIOobject(), Cloud< ParticleType >::fieldIOobject(), forAllIter, IOobject::MUST_READ, particle< Type >::readFields(), and Cloud< ParticleType >::size().
Referenced by streamLineParticle::iNew::operator()(), streamLineParticleCloud::streamLineParticleCloud(), and streamLineParticle::trackingData::trackingData().
|
static |
Write.
Definition at line 397 of file streamLineParticle.C.
References Cloud< ParticleType >::fieldIOobject(), forAllConstIter(), IOobject::NO_READ, Cloud< ParticleType >::size(), regIOobject::write(), and particle< Type >::writeFields().
Referenced by streamLineParticle::iNew::operator()().
|
friend |
Referenced by streamLineParticle::iNew::operator()().