Base particle class. More...
Classes | |
class | iNew |
Factory class to read-construct particles used for. More... | |
class | TrackingData |
Public Member Functions | |
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 autoPtr< particle > | clone () const |
Construct a clone. 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 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... | |
Static Public Attributes | |
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 | |
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... | |
Friends | |
Ostream & | operator<< (Ostream &, const particle &) |
bool | operator== (const particle &pA, const particle &pB) |
bool | operator!= (const particle &pA, const particle &pB) |
Base particle class.
Definition at line 81 of file particle.H.
particle | ( | const polyMesh & | mesh, |
const barycentric & | coordinates, | ||
const label | celli, | ||
const label | tetFacei, | ||
const label | tetPti | ||
) |
Construct from components.
Definition at line 524 of file particle.C.
Referenced by particle< Type >::clone(), and particle< Type >::iNew::operator()().
Construct from a position and a cell, searching for the rest of the.
required topology
Definition at line 545 of file particle.C.
Construct from Istream.
Definition at line 46 of file particleIO.C.
References IOstream::ASCII, IOstream::check(), IOstream::format(), and Istream::read().
Construct as a copy.
Definition at line 572 of file particle.C.
Construct as a copy with refernce to a new mesh.
Definition at line 586 of file particle.C.
References particle< Type >::track().
|
inlinevirtual |
Destructor.
Definition at line 440 of file particle.H.
References particle< Type >::autoMap(), Foam::constant::universal::c, particle< Type >::cell(), particle< Type >::constrainToMeshCentre(), particle< Type >::coordinates(), particle< Type >::correctAfterInteractionListReferral(), particle< Type >::correctAfterParallelTransfer(), particle< Type >::currentTetIndices(), particle< Type >::currentTetTransform(), particle< Type >::currentTimeFraction(), particle< Type >::face(), particle< Type >::getNewParticleID(), particle< Type >::mesh(), n, particle< Type >::normal(), particle< Type >::oldNormal(), particle< Type >::onBoundaryFace(), particle< Type >::onFace(), particle< Type >::onInternalFace(), particle< Type >::operator!=, particle< Type >::operator<<, particle< Type >::operator==, particle< Type >::origId(), particle< Type >::origProc(), particle< Type >::patch(), particle< Type >::patchData(), patchi, particle< Type >::position(), particle< Type >::prepareForInteractionListReferral(), particle< Type >::prepareForParallelTransfer(), particle< Type >::procTetPt(), particle< Type >::readFields(), particle< Type >::stepFraction(), particle< Type >::stepFractionSpan(), Foam::T(), particle< Type >::tetFace(), particle< Type >::tetPt(), particle< Type >::track(), particle< Type >::trackToFace(), particle< Type >::trackToMovingTri(), particle< Type >::trackToStationaryTri(), particle< Type >::trackToTri(), Foam::transform(), particle< Type >::transformProperties(), U, particle< Type >::wallImpactDistance(), particle< Type >::writeFields(), and particle< Type >::writePosition().
|
protected |
Overridable function to handle the particle hitting a face.
Definition at line 281 of file particleTemplates.C.
References particle< Type >::hitPatch().
Referenced by particle< Type >::TrackingData< moleculeCloud >::cloud().
|
protected |
Overridable function to handle the particle hitting a.
patch. Executed before other patch-hitting functions. trackFraction is passed in to allow mesh motion to interpolate in time to the correct face state.
Definition at line 287 of file particleTemplates.C.
References particle< Type >::hitWedgePatch().
Referenced by particle< Type >::TrackingData< moleculeCloud >::cloud(), and particle< Type >::hitFace().
|
protected |
Overridable function to handle the particle hitting a wedgePatch.
Definition at line 301 of file particleTemplates.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, particle< Type >::hitSymmetryPlanePatch(), Foam::I, Foam::mag(), particle< Type >::normal(), and particle< Type >::transformProperties().
Referenced by particle< Type >::TrackingData< moleculeCloud >::cloud(), and particle< Type >::hitPatch().
|
protected |
Overridable function to handle the particle hitting a.
symmetryPlanePatch
Definition at line 319 of file particleTemplates.C.
References particle< Type >::hitSymmetryPatch(), Foam::I, Foam::mag(), particle< Type >::normal(), and particle< Type >::transformProperties().
Referenced by particle< Type >::TrackingData< moleculeCloud >::cloud(), and particle< Type >::hitWedgePatch().
|
protected |
Overridable function to handle the particle hitting a.
symmetryPatch
Definition at line 333 of file particleTemplates.C.
References particle< Type >::hitCyclicPatch(), Foam::I, Foam::mag(), particle< Type >::normal(), and particle< Type >::transformProperties().
Referenced by particle< Type >::TrackingData< moleculeCloud >::cloud(), and particle< Type >::hitSymmetryPlanePatch().
|
protected |
Overridable function to handle the particle hitting a cyclicPatch.
Definition at line 347 of file particleTemplates.C.
References polyMesh::faceOwner(), polyMesh::faces(), coupledPolyPatch::forwardT(), particle< Type >::hitCyclicAMIPatch(), cyclicPolyPatch::neighbPatch(), coupledPolyPatch::parallel(), s(), coupledPolyPatch::separated(), coupledPolyPatch::separation(), List< T >::size(), Foam::T(), cyclicPolyPatch::transformGlobalFace(), particle< Type >::transformProperties(), and polyPatch::whichFace().
Referenced by particle< Type >::TrackingData< moleculeCloud >::cloud(), and particle< Type >::hitSymmetryPatch().
|
protected |
Overridable function to handle the particle hitting a cyclicAMIPatch.
Definition at line 390 of file particleTemplates.C.
References Foam::endl(), polyMesh::faceOwner(), coupledPolyPatch::forwardT(), patchIdentifier::name(), cyclicAMIPolyPatch::neighbPatch(), coupledPolyPatch::parallel(), cyclicAMIPolyPatch::pointFace(), Foam::pos(), particle< Type >::position(), cyclicAMIPolyPatch::reverseTransformDirection(), s(), coupledPolyPatch::separated(), coupledPolyPatch::separation(), List< T >::size(), polyPatch::start(), Foam::T(), particle< Type >::transformProperties(), WarningInFunction, and polyPatch::whichFace().
Referenced by particle< Type >::TrackingData< moleculeCloud >::cloud(), and particle< Type >::hitCyclicPatch().
|
protected |
Overridable function to handle the particle hitting a.
processorPatch
Definition at line 459 of file particleTemplates.C.
References particle< Type >::hitWallPatch().
Referenced by particle< Type >::TrackingData< moleculeCloud >::cloud().
|
protected |
Overridable function to handle the particle hitting a wallPatch.
Definition at line 465 of file particleTemplates.C.
Referenced by particle< Type >::TrackingData< moleculeCloud >::cloud(), and particle< Type >::hitProcessorPatch().
|
protected |
Overridable function to handle the particle hitting a.
general patch
Definition at line 474 of file particleTemplates.C.
TypeName | ( | "particle< Type >" | ) |
Runtime type information.
Referenced by particle< Type >::TrackingData< moleculeCloud >::cloud().
|
inlinestatic |
Definition at line 377 of file particle.H.
Construct a clone.
Reimplemented in molecule, streamLineParticle, trackedParticle, findCellParticle, solidParticle, passiveParticle, and indexedParticle.
Definition at line 414 of file particle.H.
References particle< Type >::particle().
|
inline |
Get unique particle creation id.
Definition at line 31 of file particleI.H.
References Foam::endl(), Foam::labelMax, particle< Type >::particleCount_, and WarningInFunction.
Referenced by particle< Type >::~particle().
|
inline |
Return the mesh database.
Definition at line 45 of file particleI.H.
Referenced by findCellParticle::trackingData::cellToEnd(), streamLineParticle::move(), trackedParticle::trackingData::trackingData(), and particle< Type >::~particle().
|
inline |
Return current particle coordinates.
Definition at line 51 of file particleI.H.
Referenced by findCellParticle::trackingData::cellToEnd(), Foam::reconstructLagrangianPositions(), trackedParticle::trackingData::trackingData(), and particle< Type >::~particle().
|
inline |
Return current cell particle is in.
Definition at line 57 of file particleI.H.
Referenced by streamLineParticle::move(), Foam::reconstructLagrangianPositions(), and particle< Type >::~particle().
|
inline |
Return current tet face particle is in.
Definition at line 63 of file particleI.H.
Referenced by Foam::reconstructLagrangianPositions(), and particle< Type >::~particle().
|
inline |
Return current tet face particle is in.
Definition at line 69 of file particleI.H.
Referenced by particle< Type >::~particle().
|
inline |
Return current face particle is on otherwise -1.
Definition at line 75 of file particleI.H.
Referenced by streamLineParticle::move(), and particle< Type >::~particle().
|
inline |
Return the fraction of time-step completed.
Definition at line 81 of file particleI.H.
Referenced by streamLineParticle::move(), molecule::move(), particle< Type >::trackToFace(), and particle< Type >::~particle().
|
inline |
Return the fraction of time-step completed.
Definition at line 87 of file particleI.H.
|
inline |
Return the originating processor ID.
Definition at line 93 of file particleI.H.
Referenced by Foam::operator==(), particle< Type >::writeFields(), and particle< Type >::~particle().
|
inline |
Return the originating processor ID.
Definition at line 99 of file particleI.H.
|
inline |
Return the particle ID on the originating processor.
Definition at line 105 of file particleI.H.
Referenced by Foam::operator==(), particle< Type >::readFields(), particle< Type >::trackToMovingTri(), particle< Type >::trackToStationaryTri(), particle< Type >::writeFields(), and particle< Type >::~particle().
|
inline |
Return the particle ID on the originating processor.
Definition at line 111 of file particleI.H.
|
inline |
Return the step fraction change within the overall time-step.
Returns the start value and the change as a scalar pair. Always return Pair<scalar>(0, 1), unless sub-cycling is in effect, in which case the values will reflect the span of the sub-cycle within the time-step.
Definition at line 117 of file particleI.H.
References TimeState::deltaTValue(), Time::prevTimeState(), Time::subCycling(), objectRegistry::time(), and dimensioned< Type >::value().
Referenced by particle< Type >::currentTimeFraction(), and particle< Type >::~particle().
|
inline |
Return the current fraction within the timestep. This differs.
from the stored step fraction due to sub-cycling.
Definition at line 141 of file particleI.H.
References s(), and particle< Type >::stepFractionSpan().
Referenced by particle< Type >::~particle().
|
inline |
Return the indices of the current tet that the.
particle occupies.
Definition at line 149 of file particleI.H.
Referenced by particle< Type >::normal(), particle< Type >::oldNormal(), and particle< Type >::~particle().
|
inline |
Return the current tet transformation tensor.
Definition at line 155 of file particleI.H.
References polyMesh::moving().
Referenced by particle< Type >::position(), and particle< Type >::~particle().
|
inline |
Return the normal of the tri on tetFacei_ for the.
current tet.
Definition at line 168 of file particleI.H.
References particle< Type >::currentTetIndices(), tetIndices::faceTri(), and triangle< Point, PointRef >::normal().
Referenced by particle< Type >::hitSymmetryPatch(), particle< Type >::hitSymmetryPlanePatch(), molecule::hitWallPatch(), particle< Type >::hitWedgePatch(), and particle< Type >::~particle().
|
inline |
Return the normal of the tri on tetFacei_ for the.
current tet at the start of the timestep, i.e. based on oldPoints
Definition at line 174 of file particleI.H.
References particle< Type >::currentTetIndices(), triangle< Point, PointRef >::normal(), and tetIndices::oldFaceTri().
Referenced by particle< Type >::~particle().
|
inline |
Is the particle on a face?
Definition at line 180 of file particleI.H.
Referenced by streamLineParticle::move(), particle< Type >::onBoundaryFace(), particle< Type >::onInternalFace(), particle< Type >::trackToFace(), and particle< Type >::~particle().
|
inline |
Is the particle on an internal face?
Definition at line 186 of file particleI.H.
References primitiveMesh::isInternalFace(), and particle< Type >::onFace().
Referenced by particle< Type >::track(), particle< Type >::trackToFace(), and particle< Type >::~particle().
|
inline |
Is the particle on a boundary face?
Definition at line 192 of file particleI.H.
References primitiveMesh::isInternalFace(), and particle< Type >::onFace().
Referenced by particle< Type >::patchData(), and particle< Type >::~particle().
|
inline |
Return the index of patch that the particle is on.
Definition at line 198 of file particleI.H.
References polyMesh::boundaryMesh(), and polyBoundaryMesh::whichPatch().
Referenced by particle< Type >::trackToFace(), and particle< Type >::~particle().
|
inline |
Return current particle position.
Definition at line 204 of file particleI.H.
References particle< Type >::currentTetTransform().
Referenced by nearWallFields::calcAddressing(), findCellParticle::trackingData::cellToEnd(), particle< Type >::TrackingData< moleculeCloud >::cloud(), particle< Type >::constrainToMeshCentre(), particle< Type >::hitCyclicAMIPatch(), streamLineParticle::move(), particle< Type >::prepareForInteractionListReferral(), molecule::setSitePositions(), streamLineParticle::trackingData::trackingData(), trackedParticle::trackingData::trackingData(), particle< Type >::trackToMovingTri(), particle< Type >::trackToStationaryTri(), molecule::transformProperties(), and particle< Type >::~particle().
Foam::scalar track | ( | const vector & | displacement, |
const scalar | fraction | ||
) |
Track along the displacement for a given fraction of the overall.
step. End when the track is complete, or when a boundary is hit. On exit, stepFraction_ will have been incremented to the current position, and facei_ will be set to the index of the boundary face that was hit, or -1 if the track completed within a cell. The proportion of the displacement still to be completed is returned.
Definition at line 603 of file particle.C.
References f(), particle< Type >::onInternalFace(), and particle< Type >::trackToFace().
Referenced by particle< Type >::constrainToMeshCentre(), particle< Type >::particle(), and particle< Type >::~particle().
Foam::scalar trackToFace | ( | const vector & | displacement, |
const scalar | fraction | ||
) |
As particle::track, but also stops on internal faces.
Definition at line 622 of file particle.C.
References f(), particle< Type >::onFace(), particle< Type >::trackToStationaryTri(), and particle< Type >::trackToTri().
Referenced by streamLineParticle::move(), molecule::move(), particle< Type >::track(), particle< Type >::trackToFace(), particle< Type >::writeFields(), and particle< Type >::~particle().
As particle::trackToFace, but also stops on tet triangles. On.
exit, tetTriI is set to the index of the tet triangle that was hit, or -1 if the end position was reached.
Definition at line 897 of file particle.C.
References polyMesh::moving(), particle< Type >::trackToMovingTri(), and particle< Type >::trackToStationaryTri().
Referenced by particle< Type >::trackToFace(), particle< Type >::trackToMovingTri(), and particle< Type >::~particle().
Foam::scalar trackToStationaryTri | ( | const vector & | displacement, |
const scalar | fraction, | ||
label & | tetTriI | ||
) |
As particle::trackToTri, but for stationary meshes.
Definition at line 658 of file particle.C.
References Foam::constant::physicoChemical::b, Foam::cmptSum(), Foam::endl(), f(), Foam::Info, Foam::max(), Foam::constant::physicoChemical::mu, particle< Type >::origId(), particle< Type >::position(), VectorSpace< Form, Cmpt, Ncmpts >::replace(), Foam::T(), particle< Type >::trackToMovingTri(), and Foam::y0().
Referenced by particle< Type >::trackToFace(), particle< Type >::trackToTri(), and particle< Type >::~particle().
Foam::scalar trackToMovingTri | ( | const vector & | displacement, |
const scalar | fraction, | ||
label & | tetTriI | ||
) |
As particle::trackToTri, but for moving meshes.
Definition at line 769 of file particle.C.
References Foam::cmptSum(), Foam::endl(), Foam::exit(), f(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::Info, Foam::max(), Foam::constant::physicoChemical::mu, particle< Type >::origId(), particle< Type >::position(), Foam::roots::real, VectorSpace< Form, Cmpt, Ncmpts >::replace(), Foam::sqr(), Foam::T(), particle< Type >::trackToTri(), Roots< N >::type(), cubicEqn::value(), and Foam::y0().
Referenced by particle< Type >::trackToStationaryTri(), particle< Type >::trackToTri(), and particle< Type >::~particle().
void trackToFace | ( | const vector & | displacement, |
const scalar | fraction, | ||
TrackData & | td | ||
) |
As non-templated particle::trackToFace, but with additional.
boundary handling.
Definition at line 167 of file particleTemplates.C.
References polyMesh::boundaryMesh(), particle< Type >::onFace(), particle< Type >::onInternalFace(), p, particle< Type >::patch(), patchi, particle< Type >::stepFraction(), particle< Type >::trackToFace(), and polyBoundaryMesh::whichPatch().
void constrainToMeshCentre | ( | ) |
Set the constrained components of the particle position to the.
mesh centre.
Definition at line 914 of file particle.C.
References Foam::meshTools::constrainToMeshCentre(), forAll, polyMesh::geometricD(), Foam::pos(), particle< Type >::position(), and particle< Type >::track().
Referenced by particle< Type >::~particle().
Get the normal and velocity of the current patch location.
Definition at line 937 of file particle.C.
References Barycentric< Cmpt >::b(), Barycentric< Cmpt >::c(), Barycentric< Cmpt >::d(), TimeState::deltaTValue(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::mag(), polyMesh::moving(), particle< Type >::onBoundaryFace(), objectRegistry::time(), and Foam::Zero.
Referenced by particle< Type >::~particle().
|
virtual |
Transform the physical properties of the particle.
according to the given transformation tensor
Reimplemented in molecule, and solidParticle.
Definition at line 978 of file particle.C.
Referenced by particle< Type >::hitCyclicAMIPatch(), particle< Type >::hitCyclicPatch(), particle< Type >::hitSymmetryPatch(), particle< Type >::hitSymmetryPlanePatch(), particle< Type >::hitWedgePatch(), particle< Type >::prepareForInteractionListReferral(), solidParticle::transformProperties(), molecule::transformProperties(), and particle< Type >::~particle().
|
virtual |
Transform the physical properties of the particle.
according to the given separation vector
Reimplemented in molecule, and solidParticle.
Definition at line 982 of file particle.C.
|
virtual |
The nearest distance to a wall that.
the particle can be in the n direction
Reimplemented in solidParticle.
Definition at line 986 of file particle.C.
References particle< Type >::prepareForInteractionListReferral().
Referenced by particle< Type >::~particle().
void prepareForParallelTransfer | ( | const label | patchi, |
TrackData & | td | ||
) |
Convert global addressing to the processor patch.
local equivalents
Definition at line 41 of file particleTemplates.C.
References particle< Type >::correctAfterParallelTransfer(), and patchi.
Referenced by particle< Type >::~particle().
void correctAfterParallelTransfer | ( | const label | patchi, |
TrackData & | td | ||
) |
Convert processor patch addressing to the global equivalents.
and set the celli to the face-neighbour
Definition at line 53 of file particleTemplates.C.
References polyPatch::faceCells(), coupledPolyPatch::forwardT(), coupledPolyPatch::parallel(), patchi, s(), coupledPolyPatch::separated(), coupledPolyPatch::separation(), List< T >::size(), polyPatch::start(), and T.
Referenced by particle< Type >::prepareForParallelTransfer(), and particle< Type >::~particle().
void prepareForInteractionListReferral | ( | const vectorTensorTransform & | transform | ) |
Break the topology and store the particle position so that the.
particle can be referred.
Definition at line 993 of file particle.C.
References Foam::cmptSum(), vectorTensorTransform::hasR(), vectorTensorTransform::invTransformPosition(), Foam::pos(), particle< Type >::position(), vectorTensorTransform::R(), vectorTensorTransform::t(), Tensor< Cmpt >::T(), particle< Type >::transformProperties(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
Referenced by particle< Type >::wallImpactDistance(), and particle< Type >::~particle().
void correctAfterInteractionListReferral | ( | const label | celli | ) |
Correct the topology after referral. The particle may still be.
outside the stored tet and therefore not track-able.
Definition at line 1018 of file particle.C.
References Barycentric< Cmpt >::b(), Barycentric< Cmpt >::c(), primitiveMesh::cells(), Barycentric< Cmpt >::d(), polyMesh::moving(), Foam::pos(), particle< Type >::procTetPt(), and Foam::T().
Referenced by particle< Type >::~particle().
Foam::label procTetPt | ( | const polyMesh & | procMesh, |
const label | procCell, | ||
const label | procTetFace | ||
) | const |
Return the tet point approproate for decomposition or reconstruction.
to or from the given mesh.
Definition at line 1056 of file particle.C.
References particle< Type >::autoMap(), polyMesh::faceOwner(), polyMesh::faces(), and List< T >::size().
Referenced by particle< Type >::correctAfterInteractionListReferral(), Foam::reconstructLagrangianPositions(), and particle< Type >::~particle().
void autoMap | ( | const vector & | position, |
const mapPolyMesh & | mapper | ||
) |
Map after a topology change.
Definition at line 1082 of file particle.C.
References mapPolyMesh::reverseCellMap().
Referenced by particle< Type >::procTetPt(), and particle< Type >::~particle().
|
static |
Read the fields associated with the owner cloud.
Definition at line 104 of file particleTemplates.C.
References Cloud< ParticleType >::checkFieldIOobject(), Cloud< ParticleType >::fieldIOobject(), forAllIter, IOobject::MUST_READ, particle< Type >::origId(), p, Cloud< ParticleType >::size(), and IOobject::typeHeaderOk().
Referenced by findCellParticle::trackingData::cellToEnd(), indexedParticleCloud::indexedParticleCloud(), passiveParticleCloud::passiveParticleCloud(), solidParticle::readFields(), streamLineParticle::readFields(), molecule::readFields(), trackedParticle::trackingData::trackingData(), and particle< Type >::~particle().
|
static |
Write the fields associated with the owner cloud.
Definition at line 134 of file particleTemplates.C.
References Cloud< ParticleType >::fieldIOobject(), forAllConstIter(), IOobject::NO_READ, particle< Type >::origId(), particle< Type >::origProc(), Cloud< ParticleType >::size(), particle< Type >::trackToFace(), and IOPosition< CloudType >::write().
Referenced by solidParticle::writeFields(), streamLineParticle::writeFields(), molecule::writeFields(), and particle< Type >::~particle().
void writePosition | ( | Ostream & | os | ) | const |
Write the particle position and cell.
Definition at line 84 of file particleIO.C.
References IOstream::ASCII, IOstream::check(), IOstream::format(), token::SPACE, and Ostream::write().
Referenced by particle< Type >::~particle().
Referenced by particle< Type >::~particle().
Referenced by particle< Type >::~particle().
Referenced by particle< Type >::~particle().
|
static |
String representation of properties.
Definition at line 377 of file particle.H.
|
static |
Cumulative particle counter - used to provode unique ID.
Definition at line 377 of file particle.H.
Referenced by particle< Type >::getNewParticleID().