Particle for generating line-type sampled sets. More...
Classes | |
class | iNew |
Factory class to read-construct particles used for parallel transfer. More... | |
class | trackingData |
Tracking data class. More... | |
Public Member Functions | |
sampledSetParticle (const polyMesh &mesh, const point &position, const label celli, const label seti, const scalar setF, const scalar distance) | |
Construct from components. More... | |
sampledSetParticle (const polyMesh &mesh, Istream &is, bool readFields=true) | |
Construct from Istream. More... | |
sampledSetParticle (const sampledSetParticle &) | |
Copy constructor. More... | |
autoPtr< particle > | clone () const |
Construct and return a clone. More... | |
void | store (sampledSetCloud &, trackingData &) |
Store a point. More... | |
void | storeFace (sampledSetCloud &, trackingData &) |
Store a point on a face. More... | |
void | storeCell (sampledSetCloud &, trackingData &) |
Store a point in a cell. More... | |
bool | move (sampledSetCloud &, trackingData &, const scalar) |
Track all particles to their end point. More... | |
void | hitWedgePatch (sampledSetCloud &, trackingData &) |
Hit a wedge patch. Ends the track. More... | |
void | hitSymmetryPlanePatch (sampledSetCloud &, trackingData &) |
Hit a symmetry patch. Ends the track. More... | |
void | hitSymmetryPatch (sampledSetCloud &, trackingData &) |
Hit a symmetry plane patch. Ends the track. More... | |
void | hitCyclicPatch (sampledSetCloud &, trackingData &) |
Hit a cyclic patch. Ends the track. More... | |
void | hitCyclicAMIPatch (const vector &, const scalar, sampledSetCloud &, trackingData &) |
Hit a cyclicAMI patch. Ends the track. More... | |
void | hitProcessorPatch (sampledSetCloud &, trackingData &) |
Hit a processor patch. Transfers the particle if there is no. More... | |
void | hitWallPatch (sampledSetCloud &, trackingData &) |
Hit a wall patch. Ends the track. More... | |
Public Member Functions inherited from particle | |
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 (const scalar stepFraction) |
Set the step fraction and clear the behind data in preparation for. 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 > | |
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 (trackingData &td) |
Make changes prior to a parallel transfer. Runs either processor or. More... | |
void | correctAfterParallelTransfer (trackingData &td) |
Make changes following a parallel transfer. Runs either processor. More... | |
void | prepareForProcessorTransfer (trackingData &td) |
Make changes prior to a transfer across a processor boundary. More... | |
void | correctAfterProcessorTransfer (trackingData &td) |
Make changes following a transfer across a processor boundary. More... | |
void | prepareForNonConformalCyclicTransfer (const label sendToPatch, const label sendToPatchFace) |
Make changes prior to a transfer across a non conformal cyclic. More... | |
void | correctAfterNonConformalCyclicTransfer (const label sendToPatch) |
Make changes following a transfer across a non conformal cyclic. More... | |
void | prepareForInteractionListReferral (const transformer &transform) |
Break the topology and store the cartesian position so that the. More... | |
void | correctAfterInteractionListReferral (const label celli) |
Correct the topology after referral. Locates the particle relative. 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 polyTopoChangeMap &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) |
Friends | |
Ostream & | operator<< (Ostream &, const sampledSetParticle &) |
Additional Inherited Members | |
Static Public Member Functions inherited from particle | |
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... | |
Static Public Attributes inherited from particle | |
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 | |
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 > | |
bool | hitNonConformalCyclicPatch (const vector &displacement, const scalar fraction, const label patchi, 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 for generating line-type sampled sets.
Definition at line 57 of file sampledSetParticle.H.
sampledSetParticle | ( | const polyMesh & | mesh, |
const point & | position, | ||
const label | celli, | ||
const label | seti, | ||
const scalar | setF, | ||
const scalar | distance | ||
) |
Construct from components.
Definition at line 32 of file sampledSetParticle.C.
Referenced by sampledSetParticle::clone(), sampledSetParticle::iNew::operator()(), sampledSetParticle::sampledSetParticle(), and sampledSetParticle::trackingData::trackingData().
sampledSetParticle | ( | const polyMesh & | mesh, |
Istream & | is, | ||
bool | readFields = true |
||
) |
Construct from Istream.
Definition at line 51 of file sampledSetParticle.C.
References IOstream::check(), FUNCTION_NAME, and sampledSetParticle::sampledSetParticle().
sampledSetParticle | ( | const sampledSetParticle & | p | ) |
Copy constructor.
Definition at line 69 of file sampledSetParticle.C.
References sampledSetParticle::store().
Construct and return a clone.
Reimplemented from particle.
Definition at line 168 of file sampledSetParticle.H.
References sampledSetParticle::sampledSetParticle().
void store | ( | sampledSetCloud & | cloud, |
trackingData & | td | ||
) |
Store a point.
Definition at line 85 of file sampledSetParticle.C.
References DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), sampledSetParticle::trackingData::cells_, sampledSetParticle::trackingData::distances_, sampledSetParticle::trackingData::faces_, sampledSetParticle::trackingData::positions_, and sampledSetParticle::storeFace().
Referenced by sampledSetParticle::iNew::operator()(), and sampledSetParticle::sampledSetParticle().
void storeFace | ( | sampledSetCloud & | cloud, |
trackingData & | td | ||
) |
Store a point on a face.
Definition at line 98 of file sampledSetParticle.C.
References sampledSetParticle::storeCell().
Referenced by sampledSetParticle::iNew::operator()(), and sampledSetParticle::store().
void storeCell | ( | sampledSetCloud & | cloud, |
trackingData & | td | ||
) |
Store a point in a cell.
Definition at line 108 of file sampledSetParticle.C.
References DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), sampledSetParticle::trackingData::cells_, sampledSetParticle::trackingData::distances_, sampledSetParticle::trackingData::faces_, Foam::mag(), sampledSetParticle::move(), and sampledSetParticle::trackingData::positions_.
Referenced by sampledSetParticle::iNew::operator()(), and sampledSetParticle::storeFace().
bool move | ( | sampledSetCloud & | cloud, |
trackingData & | td, | ||
const scalar | |||
) |
Track all particles to their end point.
Definition at line 127 of file sampledSetParticle.C.
References f(), sampledSetParticle::hitWedgePatch(), particle::trackingData::keepParticle, Foam::mag(), s(), particle::trackingData::sendToProc, sampledSetParticle::trackingData::set_, sampledSetParticle::trackingData::storeCells_, sampledSetParticle::trackingData::storeFaces_, and sampledSetParticle::trackingData::storeSet_.
Referenced by sampledSetParticle::iNew::operator()(), and sampledSetParticle::storeCell().
void hitWedgePatch | ( | sampledSetCloud & | , |
trackingData & | td | ||
) |
Hit a wedge patch. Ends the track.
Definition at line 184 of file sampledSetParticle.C.
References sampledSetParticle::hitSymmetryPlanePatch(), and Foam::labelMax.
Referenced by sampledSetParticle::move(), and sampledSetParticle::iNew::operator()().
void hitSymmetryPlanePatch | ( | sampledSetCloud & | , |
trackingData & | td | ||
) |
Hit a symmetry patch. Ends the track.
Definition at line 194 of file sampledSetParticle.C.
References sampledSetParticle::hitSymmetryPatch(), and Foam::labelMax.
Referenced by sampledSetParticle::hitWedgePatch(), and sampledSetParticle::iNew::operator()().
void hitSymmetryPatch | ( | sampledSetCloud & | , |
trackingData & | td | ||
) |
Hit a symmetry plane patch. Ends the track.
Definition at line 204 of file sampledSetParticle.C.
References sampledSetParticle::hitCyclicPatch(), and Foam::labelMax.
Referenced by sampledSetParticle::hitSymmetryPlanePatch(), and sampledSetParticle::iNew::operator()().
void hitCyclicPatch | ( | sampledSetCloud & | cloud, |
trackingData & | td | ||
) |
Hit a cyclic patch. Ends the track.
Definition at line 214 of file sampledSetParticle.C.
References sampledSetParticle::hitCyclicAMIPatch(), and Foam::labelMax.
Referenced by sampledSetParticle::hitSymmetryPatch(), and sampledSetParticle::iNew::operator()().
void hitCyclicAMIPatch | ( | const vector & | displacement, |
const scalar | fraction, | ||
sampledSetCloud & | cloud, | ||
trackingData & | td | ||
) |
Hit a cyclicAMI patch. Ends the track.
Definition at line 224 of file sampledSetParticle.C.
References sampledSetParticle::hitProcessorPatch(), and Foam::labelMax.
Referenced by sampledSetParticle::hitCyclicPatch(), and sampledSetParticle::iNew::operator()().
void hitProcessorPatch | ( | sampledSetCloud & | cloud, |
trackingData & | td | ||
) |
Hit a processor patch. Transfers the particle if there is no.
transformation. Ends the track if there is a transformation.
Definition at line 236 of file sampledSetParticle.C.
References sampledSetParticle::hitWallPatch(), Foam::labelMax, mesh, processorPolyPatch::transform(), and transformer::transformsPosition().
Referenced by sampledSetParticle::hitCyclicAMIPatch(), and sampledSetParticle::iNew::operator()().
void hitWallPatch | ( | sampledSetCloud & | , |
trackingData & | td | ||
) |
Hit a wall patch. Ends the track.
Definition at line 256 of file sampledSetParticle.C.
References Foam::labelMax.
Referenced by sampledSetParticle::hitProcessorPatch(), and sampledSetParticle::iNew::operator()().
|
friend |
Referenced by sampledSetParticle::iNew::operator()().