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


Classes | |
| class | iNew |
| Factory class to read-construct particles used for parallel transfer. More... | |
| class | trackingData |
Public Member Functions | |
| streamlinesParticle (const polyMesh &c, const vector &position, const label celli, const label lifeTime) | |
| Construct from components. More... | |
| streamlinesParticle (const polyMesh &c, Istream &is, bool readFields=true) | |
| Construct from Istream. More... | |
| streamlinesParticle (const streamlinesParticle &p) | |
| Construct copy. More... | |
| autoPtr< particle > | clone () const |
| Construct and return a clone. More... | |
| bool | move (streamlinesCloud &, trackingData &, const scalar) |
| Track all particles to their end point. More... | |
| bool | hitPatch (streamlinesCloud &, trackingData &) |
| Overridable function to handle the particle hitting a patch. More... | |
| void | hitWedgePatch (streamlinesCloud &, trackingData &) |
| Overridable function to handle the particle hitting a wedge. More... | |
| void | hitSymmetryPlanePatch (streamlinesCloud &, trackingData &) |
| Overridable function to handle the particle hitting a. More... | |
| void | hitSymmetryPatch (streamlinesCloud &, trackingData &) |
| Overridable function to handle the particle hitting a. More... | |
| void | hitCyclicPatch (streamlinesCloud &, trackingData &) |
| Overridable function to handle the particle hitting a cyclic. More... | |
| void | hitCyclicAMIPatch (const vector &, const scalar, streamlinesCloud &, trackingData &) |
| Overridable function to handle the particle hitting a. More... | |
| void | hitCyclicACMIPatch (const vector &, const scalar, streamlinesCloud &, trackingData &) |
| Overridable function to handle the particle hitting a. More... | |
| void | hitCyclicRepeatAMIPatch (const vector &, const scalar, streamlinesCloud &, trackingData &) |
| Overridable function to handle the particle hitting a. More... | |
| void | hitProcessorPatch (streamlinesCloud &, trackingData &) |
| void | hitWallPatch (streamlinesCloud &, trackingData &) |
| Overridable function to handle the particle hitting a wallPatch. 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 references 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... | |
| 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 () |
| Set step fraction and behind data to zero in preparation for a new. 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 > | |
| void | hitFaceNoChangeToMasterPatch (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
| As above, but does not change the master patch. Needed in order for. 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 () |
| Convert global addressing to the processor patch local equivalents. More... | |
| void | correctAfterParallelTransfer (const label patchi, trackingData &td) |
| Convert processor patch addressing to the global equivalents. More... | |
| void | prepareForInteractionListReferral (const transformer &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 appropriate 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... | |
| template<class TrackCloudType > | |
| Foam::scalar | trackToAndHitFace (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
Static Public Member Functions | |
| static void | readFields (Cloud< streamlinesParticle > &) |
| Read. More... | |
| static void | writeFields (const Cloud< streamlinesParticle > &) |
| Write. More... | |
Static Public Member Functions inherited from particle< Type > | |
| 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... | |
Friends | |
| Ostream & | operator<< (Ostream &, const streamlinesParticle &) |
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 provide unique ID. More... | |
Protected Member Functions inherited from particle< Type > | |
| 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 > | |
| void | hitCyclicACMIPatch (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
| Overridable function to handle the particle hitting a. More... | |
| template<class TrackCloudType > | |
| void | hitCyclicRepeatAMIPatch (const vector &displacement, const scalar fraction, 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... | |
Particle class that samples fields as it passes through. Used in streamlines calculation.
Definition at line 60 of file streamlinesParticle.H.
| streamlinesParticle | ( | const polyMesh & | c, |
| const vector & | position, | ||
| const label | celli, | ||
| const label | lifeTime | ||
| ) |
Construct from components.
Definition at line 84 of file streamlinesParticle.C.
Referenced by streamlinesParticle::clone(), streamlinesParticle::iNew::operator()(), streamlinesParticle::streamlinesParticle(), and streamlinesParticle::trackingData::trackingData().

| streamlinesParticle | ( | const polyMesh & | c, |
| Istream & | is, | ||
| bool | readFields = true |
||
| ) |
Construct from Istream.
Definition at line 98 of file streamlinesParticle.C.
References IOstream::check(), forAll, List< T >::size(), and streamlinesParticle::streamlinesParticle().

| streamlinesParticle | ( | const streamlinesParticle & | p | ) |
Construct copy.
Definition at line 136 of file streamlinesParticle.C.
References streamlinesParticle::move().

Construct and return a clone.
Reimplemented from particle< Type >.
Definition at line 188 of file streamlinesParticle.H.
References streamlinesParticle::streamlinesParticle().

| bool move | ( | streamlinesCloud & | cloud, |
| trackingData & | td, | ||
| const scalar | |||
| ) |
Track all particles to their end point.
Definition at line 153 of file streamlinesParticle.C.
References streamlinesParticle::trackingData::allPositions_, streamlinesParticle::trackingData::allScalars_, streamlinesParticle::trackingData::allTimes_, streamlinesParticle::trackingData::allVectors_, DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), polyMesh::bounds(), particle< Type >::cell(), Foam::endl(), particle< Type >::face(), forAll, particle< Type >::trackingData::keepParticle, boundBox::mag(), Foam::mag(), Foam::max(), particle< Type >::mesh(), streamlinesParticle::trackingData::nSubCycle_, particle< Type >::onFace(), particle< Type >::position(), Foam::Pout, particle< Type >::stepFraction(), particle< Type >::trackingData::switchProcessor, streamlinesParticle::trackingData::trackForward_, streamlinesParticle::trackingData::trackLength_, particle< Type >::trackToAndHitFace(), particle< Type >::trackToFace(), List< T >::transfer(), and U.
Referenced by streamlinesParticle::iNew::operator()(), and streamlinesParticle::streamlinesParticle().


| bool hitPatch | ( | streamlinesCloud & | , |
| trackingData & | |||
| ) |
Overridable function to handle the particle hitting a patch.
Executed before other patch-hitting functions
Definition at line 289 of file streamlinesParticle.C.
References streamlinesParticle::hitWedgePatch().
Referenced by streamlinesParticle::iNew::operator()().


| void hitWedgePatch | ( | streamlinesCloud & | , |
| trackingData & | td | ||
| ) |
Overridable function to handle the particle hitting a wedge.
Definition at line 297 of file streamlinesParticle.C.
References streamlinesParticle::hitSymmetryPlanePatch(), and particle< Type >::trackingData::keepParticle.
Referenced by streamlinesParticle::hitPatch(), and streamlinesParticle::iNew::operator()().


| void hitSymmetryPlanePatch | ( | streamlinesCloud & | , |
| trackingData & | td | ||
| ) |
Overridable function to handle the particle hitting a.
symmetry plane
Definition at line 308 of file streamlinesParticle.C.
References streamlinesParticle::hitSymmetryPatch(), and particle< Type >::trackingData::keepParticle.
Referenced by streamlinesParticle::hitWedgePatch(), and streamlinesParticle::iNew::operator()().


| void hitSymmetryPatch | ( | streamlinesCloud & | , |
| trackingData & | td | ||
| ) |
Overridable function to handle the particle hitting a.
symmetry patch
Definition at line 319 of file streamlinesParticle.C.
References streamlinesParticle::hitCyclicPatch(), and particle< Type >::trackingData::keepParticle.
Referenced by streamlinesParticle::hitSymmetryPlanePatch(), and streamlinesParticle::iNew::operator()().


| void hitCyclicPatch | ( | streamlinesCloud & | , |
| trackingData & | td | ||
| ) |
Overridable function to handle the particle hitting a cyclic.
Definition at line 330 of file streamlinesParticle.C.
References streamlinesParticle::hitCyclicAMIPatch(), and particle< Type >::trackingData::keepParticle.
Referenced by streamlinesParticle::hitSymmetryPatch(), and streamlinesParticle::iNew::operator()().


| void hitCyclicAMIPatch | ( | const vector & | , |
| const scalar | , | ||
| streamlinesCloud & | , | ||
| trackingData & | td | ||
| ) |
Overridable function to handle the particle hitting a.
cyclicAMIPatch
Definition at line 341 of file streamlinesParticle.C.
References streamlinesParticle::hitCyclicACMIPatch(), and particle< Type >::trackingData::keepParticle.
Referenced by streamlinesParticle::hitCyclicPatch(), and streamlinesParticle::iNew::operator()().


| void hitCyclicACMIPatch | ( | const vector & | , |
| const scalar | , | ||
| streamlinesCloud & | , | ||
| trackingData & | td | ||
| ) |
Overridable function to handle the particle hitting a.
cyclicACMIPatch
Definition at line 354 of file streamlinesParticle.C.
References streamlinesParticle::hitCyclicRepeatAMIPatch(), and particle< Type >::trackingData::keepParticle.
Referenced by streamlinesParticle::hitCyclicAMIPatch(), and streamlinesParticle::iNew::operator()().


| void hitCyclicRepeatAMIPatch | ( | const vector & | , |
| const scalar | , | ||
| streamlinesCloud & | , | ||
| trackingData & | td | ||
| ) |
Overridable function to handle the particle hitting a.
cyclicRepeatAMIPatch
Definition at line 367 of file streamlinesParticle.C.
References streamlinesParticle::hitProcessorPatch(), and particle< Type >::trackingData::keepParticle.
Referenced by streamlinesParticle::hitCyclicACMIPatch(), and streamlinesParticle::iNew::operator()().


| void hitProcessorPatch | ( | streamlinesCloud & | , |
| trackingData & | td | ||
| ) |
Overridable function to handle the particle hitting a processorPatch
Definition at line 380 of file streamlinesParticle.C.
References streamlinesParticle::hitWallPatch(), and particle< Type >::trackingData::switchProcessor.
Referenced by streamlinesParticle::hitCyclicRepeatAMIPatch(), and streamlinesParticle::iNew::operator()().


| void hitWallPatch | ( | streamlinesCloud & | , |
| trackingData & | td | ||
| ) |
Overridable function to handle the particle hitting a wallPatch.
Definition at line 391 of file streamlinesParticle.C.
References particle< Type >::trackingData::keepParticle.
Referenced by streamlinesParticle::hitProcessorPatch(), and streamlinesParticle::iNew::operator()().

|
static |
Read.
Definition at line 401 of file streamlinesParticle.C.
References Cloud< ParticleType >::checkFieldIOobject(), Cloud< ParticleType >::fieldIOobject(), forAllIter, IOobject::MUST_READ, particle< Type >::readFields(), and Cloud< ParticleType >::size().
Referenced by streamlinesParticle::iNew::operator()(), streamlinesCloud::streamlinesCloud(), and streamlinesParticle::trackingData::trackingData().


|
static |
Write.
Definition at line 443 of file streamlinesParticle.C.
References Cloud< ParticleType >::fieldIOobject(), forAllConstIter(), IOobject::NO_READ, Cloud< ParticleType >::size(), regIOobject::write(), and particle< Type >::writeFields().
Referenced by streamlinesParticle::iNew::operator()().


|
friend |
Referenced by streamlinesParticle::iNew::operator()().