Base particle class. More...
#include <particle.H>


Classes | |
| class | trackingData |
| struct | positionsCompat1706 |
| Old particle positions content for OpenFOAM-1706 and earlier. More... | |
| class | iNew |
| Factory class to read-construct particles (for parallel transfer). More... | |
Public Member Functions | |
| TypeName ("particle") | |
| Runtime type information. | |
| particle (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti) | |
| Construct from components. | |
| particle (const polyMesh &mesh, const vector &position, const label celli=-1) | |
| Construct from a position and a cell. | |
| particle (const polyMesh &mesh, const vector &position, const label celli, const label tetFacei, const label tetPti, const bool doLocate=true) | |
| Construct from position components. | |
| particle (const polyMesh &mesh, Istream &, const bool readFields=true, const bool newFormat=true, const bool doLocate=true) | |
| Construct from Istream. | |
| particle (const particle &p, const polyMesh &mesh) | |
| Construct as a copy with reference to a mesh. | |
| particle (const particle &p) | |
| Copy construct. | |
| virtual autoPtr< particle > | clone () const |
| Construct a clone. | |
| virtual | ~particle ()=default |
| Destructor. | |
| label | getNewParticleID () const |
| Get unique particle creation id. | |
| const polyMesh & | mesh () const noexcept |
| Return the mesh database. | |
| const barycentric & | coordinates () const noexcept |
| Return current particle coordinates. | |
| label | cell () const noexcept |
| Return current cell particle is in. | |
| label & | cell () noexcept |
| Return current cell particle is in for manipulation. | |
| label | tetFace () const noexcept |
| Return current tet face particle is in. | |
| label & | tetFace () noexcept |
| Return current tet face particle is in for manipulation. | |
| label | tetPt () const noexcept |
| Return current tet face particle is in. | |
| label & | tetPt () noexcept |
| Return current tet face particle is in for manipulation. | |
| label | face () const noexcept |
| Return current face particle is on otherwise -1. | |
| label & | face () noexcept |
| Return current face particle is on for manipulation. | |
| scalar | stepFraction () const noexcept |
| Return the fraction of time-step completed. | |
| scalar & | stepFraction () noexcept |
| Return the fraction of time-step completed. | |
| label | origProc () const noexcept |
| Return the originating processor ID. | |
| label & | origProc () noexcept |
| Return the originating processor ID. | |
| label | origId () const noexcept |
| Return the particle ID on the originating processor. | |
| label & | origId () noexcept |
| Return the particle ID on the originating processor. | |
| Pair< scalar > | stepFractionSpan () const |
| Return the step fraction change within the overall time-step. | |
| scalar | currentTimeFraction () const |
| Return the current fraction within the timestep. This differs. | |
| tetIndices | currentTetIndices () const noexcept |
| Return indices of the current tet that the particle occupies. | |
| barycentricTensor | currentTetTransform () const |
| Return the current tet transformation tensor. | |
| vector | normal () const |
| The (unit) normal of the tri on tetFacei_ for the current tet. | |
| bool | onFace () const noexcept |
| Is the particle on a face? | |
| bool | onInternalFace () const noexcept |
| Is the particle on an internal face? | |
| bool | onBoundaryFace () const noexcept |
| Is the particle on a boundary face? | |
| label | patch () const |
| Return the index of patch that the particle is on. | |
| vector | position () const |
| Return current particle position. | |
| void | reset () |
| Reset particle data. | |
| scalar | track (const vector &displacement, const scalar fraction) |
| Track along the displacement for a given fraction of the overall. | |
| scalar | trackToFace (const vector &displacement, const scalar fraction) |
| As particle::track, but also stops on internal faces. | |
| scalar | trackToTri (const vector &displacement, const scalar fraction, label &tetTriI) |
| As particle::trackToFace, but also stops on tet triangles. On. | |
| scalar | trackToStationaryTri (const vector &displacement, const scalar fraction, label &tetTriI) |
| As particle::trackToTri, but for stationary meshes. | |
| scalar | trackToMovingTri (const vector &displacement, const scalar fraction, label &tetTriI) |
| As particle::trackToTri, but for moving meshes. | |
| template<class TrackCloudType> | |
| void | hitFace (const vector &direction, TrackCloudType &cloud, trackingData &td) |
| Hit the current face. If the current face is internal than this. | |
| template<class TrackCloudType> | |
| void | trackToAndHitFace (const vector &direction, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
| Convenience function. Combines trackToFace and hitFace. | |
| vector | deviationFromMeshCentre () const |
| Get the displacement from the mesh centre. Used to correct the. | |
| void | patchData (vector &n, vector &U) const |
| Get the normal and velocity of the current patch location. | |
| virtual void | transformProperties (const tensor &T) |
| Transform the physical properties of the particle. | |
| virtual void | transformProperties (const vector &separation) |
| Transform the physical properties of the particle. | |
| void | prepareForParallelTransfer () |
| Convert global addressing to the processor patch local equivalents. | |
| void | correctAfterParallelTransfer (const label patchi, trackingData &td) |
| Convert processor patch addressing to the global equivalents. | |
| void | prepareForInteractionListReferral (const vectorTensorTransform &transform) |
| Break the topology and store the particle position so that the. | |
| void | correctAfterInteractionListReferral (const label celli) |
| Correct the topology after referral. The particle may still be. | |
| label | procTetPt (const polyMesh &procMesh, const label procCell, const label procTetFace) const |
| Return the tet point appropriate for decomposition or reconstruction. | |
| void | autoMap (const vector &position, const mapPolyMesh &mapper) |
| Map after a topology change. | |
| void | relocate (const point &position, const label celli=-1) |
| Set the addressing based on the provided position. | |
| void | writeProperties (Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly) const |
| Write individual particle properties to stream. | |
| void | writeCoordinates (Ostream &os) const |
| Write the particle barycentric coordinates and cell info. | |
| virtual void | writePosition (Ostream &os) const |
| Write the particle position and cell id. | |
| Public Member Functions inherited from DLListBase::link | |
| link () noexcept=default | |
| Default construct. | |
| bool | registered () const noexcept |
| Node registered (linked) in a list? | |
| void | deregister () noexcept |
| Deregister the node (after removal). | |
Static Public Member Functions | |
| static string | propertyList () |
| template<class Derived> | |
| static autoPtr< particle > | Clone (const Derived &p) |
| Clone a particle. | |
| template<class Derived> | |
| static autoPtr< particle > | Clone (const Derived &p, const polyMesh &mesh) |
| Clone a particle with a mesh reference. | |
| template<class Type> | |
| static void | writePropertyName (Ostream &os, const word &name, const word &delim) |
| Write the name representation to stream. | |
| 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()) |
| Write a named particle property to stream, optionally filtered based on its name. | |
| 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()) |
| Write a named particle property list to stream, optionally filtered based on its name. | |
| template<class TrackCloudType> | |
| static void | readFields (TrackCloudType &c) |
| Read the fields associated with the owner cloud. | |
| template<class TrackCloudType> | |
| static void | writeFields (const TrackCloudType &c) |
| Write the fields associated with the owner cloud. | |
| template<class CloudType> | |
| static void | readObjects (CloudType &c, const objectRegistry &obr) |
| Read particle fields as objects from the obr registry. | |
| template<class CloudType> | |
| static void | writeObjects (const CloudType &c, objectRegistry &obr) |
| Write particle fields as objects into the obr registry. | |
Static Public Attributes | |
| static string | propertyList_ = Foam::particle::propertyList() |
| String representation of properties. | |
| static label | particleCount_ = 0 |
| Cumulative particle counter - used to provide unique ID. | |
| static bool | writeLagrangianCoordinates = true |
| Write particle coordinates file (v1712 and later) Default is true. | |
| static bool | writeLagrangianPositions |
| Write particle positions file (v1706 format and earlier) Default is true (disable in etc/controlDict). | |
Protected Member Functions | |
| void | readData (Istream &is, point &position, const bool readFields, const bool newFormat, const bool doLocate) |
| Read particle from stream. Optionally (for old format) return. | |
| template<class TrackCloudType> | |
| bool | hitPatch (TrackCloudType &, trackingData &) |
| Overridable function to handle the particle hitting a patch. | |
| template<class TrackCloudType> | |
| void | hitWedgePatch (TrackCloudType &, trackingData &) |
| Overridable function to handle the particle hitting a wedgePatch. | |
| template<class TrackCloudType> | |
| void | hitSymmetryPlanePatch (TrackCloudType &, trackingData &) |
| Overridable function to handle the particle hitting a. | |
| template<class TrackCloudType> | |
| void | hitSymmetryPatch (TrackCloudType &, trackingData &) |
| Overridable function to handle the particle hitting a symmetryPatch. | |
| template<class TrackCloudType> | |
| void | hitCyclicPatch (TrackCloudType &, trackingData &) |
| Overridable function to handle the particle hitting a cyclicPatch. | |
| template<class TrackCloudType> | |
| void | hitCyclicAMIPatch (TrackCloudType &, trackingData &, const vector &) |
| Overridable function to handle the particle hitting a cyclicAMIPatch. | |
| template<class TrackCloudType> | |
| void | hitCyclicACMIPatch (TrackCloudType &, trackingData &, const vector &) |
| Overridable function to handle the particle hitting a. | |
| template<class TrackCloudType> | |
| void | hitProcessorPatch (TrackCloudType &, trackingData &) |
| Overridable function to handle the particle hitting a processorPatch. | |
| template<class TrackCloudType> | |
| void | hitWallPatch (TrackCloudType &, trackingData &) |
| Overridable function to handle the particle hitting a wallPatch. | |
| template<class TrackCloudType> | |
| void | hitBoundaryFace (const vector &direction, TrackCloudType &cloud, trackingData &td) |
| Dispatch function for boundary face interaction. Calls one of. | |
Friends | |
| Ostream & | operator<< (Ostream &, const particle &) |
| bool | operator== (const particle &pA, const particle &pB) |
| bool | operator!= (const particle &pA, const particle &pB) |
Additional Inherited Members | |
| Public Attributes inherited from DLListBase::link | |
| link * | prev_ = nullptr |
| Pointer to prev entry in list. | |
| link * | next_ = nullptr |
| Pointer to next entry in list. | |
Base particle class.
Definition at line 69 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 506 of file particle.C.
References coordinates(), getNewParticleID(), and mesh().
Referenced by DTRMParticle::AddToPropertyList(), injectedParticle::AddToPropertyList(), findCellParticle::findCellParticle(), findCellParticle::findCellParticle(), findCellParticle::findCellParticle(), indexedParticle::indexedParticle(), indexedParticle::indexedParticle(), indexedParticle::indexedParticle(), indexedParticle::indexedParticle(), injectedParticle::injectedParticle(), injectedParticle::injectedParticle(), injectedParticle::injectedParticle(), injectedParticle::injectedParticle(), injectedParticle::injectedParticle(), molecule::molecule(), molecule::molecule(), molecule::molecule(), streamLineParticle::move(), operator!=, operator<<, operator==, particle(), particle(), passiveParticle::passiveParticle(), passiveParticle::passiveParticle(), passiveParticle::passiveParticle(), passiveParticle::passiveParticle(), passivePositionParticle::passivePositionParticle(), passivePositionParticle::passivePositionParticle(), passivePositionParticle::passivePositionParticle(), passivePositionParticle::passivePositionParticle(), readFields(), readObjects(), solidParticle::solidParticle(), solidParticle::solidParticle(), solidParticle::solidParticle(), streamLineParticle::streamLineParticle(), streamLineParticle::streamLineParticle(), streamLineParticle::streamLineParticle(), trackedParticle::trackedParticle(), trackedParticle::trackedParticle(), trackedParticle::trackedParticle(), DTRMParticle::trackingData::trackingData(), findCellParticle::trackingData::trackingData(), molecule::trackingData::trackingData(), solidParticle::trackingData::trackingData(), streamLineParticle::trackingData::trackingData(), trackedParticle::trackingData::trackingData(), wallBoundedParticle::trackingData::trackingData(), wallBoundedParticle::wallBoundedParticle(), wallBoundedParticle::wallBoundedParticle(), wallBoundedParticle::wallBoundedParticle(), writeFields(), and writeObjects().

| particle | ( | const polyMesh & | mesh, |
| const vector & | position, | ||
| const label | celli = -1 ) |
Construct from a position and a cell.
Searches for the rest of the required topology.
Definition at line 529 of file particle.C.
References getNewParticleID(), mesh(), and position().

| particle | ( | const polyMesh & | mesh, |
| const vector & | position, | ||
| const label | celli, | ||
| const label | tetFacei, | ||
| const label | tetPti, | ||
| const bool | doLocate = true ) |
Construct from position components.
Definition at line 559 of file particle.C.
References getNewParticleID(), mesh(), and position().

| particle | ( | const polyMesh & | mesh, |
| Istream & | is, | ||
| const bool | readFields = true, | ||
| const bool | newFormat = true, | ||
| const bool | doLocate = true ) |
Construct from Istream.
Definition at line 42 of file particleIO.C.
References mesh(), position(), readData(), and readFields().

| particle | ( | const particle< Type > & | p, |
| const polyMesh & | mesh ) |
Construct as a copy with reference to a mesh.
Definition at line 595 of file particle.C.
References mesh(), p, and particle().

| particle | ( | const particle< Type > & | p | ) |
Copy construct.
Definition at line 611 of file particle.C.
References mesh(), p, and particle().

|
virtualdefault |
Destructor.
References autoMap(), cell(), coordinates(), correctAfterInteractionListReferral(), correctAfterParallelTransfer(), currentTetIndices(), currentTetTransform(), currentTimeFraction(), deviationFromMeshCentre(), face(), hitFace(), n, Foam::name(), Foam::noexcept, normal(), onBoundaryFace(), onFace(), onInternalFace(), origId(), origProc(), os(), patch(), patchData(), position(), prepareForInteractionListReferral(), prepareForParallelTransfer(), procTetPt(), readFields(), readObjects(), relocate(), reset(), stepFraction(), stepFractionSpan(), Foam::T(), td(), tetFace(), tetPt(), track(), trackToAndHitFace(), trackToFace(), trackToMovingTri(), trackToStationaryTri(), trackToTri(), Foam::transform(), transformProperties(), U, writeCoordinates(), writeFields(), writeObjects(), writePosition(), writeProperties(), writeProperty(), and writePropertyName().
|
protected |
Read particle from stream. Optionally (for old format) return.
read position. Used by construct-from-Istream
Definition at line 68 of file particleIO.C.
References IOstreamOption::ASCII, IOstream::check(), IOstream::fatalCheckNativeSizes(), IOstreamOption::format(), FUNCTION_NAME, p, position(), Istream::read(), readFields(), and s().
Referenced by particle(), and passivePositionParticle::passivePositionParticle().


|
protected |
Overridable function to handle the particle hitting a patch.
Executed before other patch-hitting functions.
Definition at line 386 of file particleTemplates.C.
|
protected |
Overridable function to handle the particle hitting a wedgePatch.
Definition at line 393 of file particleTemplates.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, hitSymmetryPatch(), and td().

|
protected |
Overridable function to handle the particle hitting a.
symmetryPlanePatch
Definition at line 404 of file particleTemplates.C.
References hitSymmetryPatch(), and td().

|
protected |
Overridable function to handle the particle hitting a symmetryPatch.
Definition at line 415 of file particleTemplates.C.
References Foam::I, normal(), and transformProperties().
Referenced by hitSymmetryPlanePatch(), and hitWedgePatch().


|
protected |
Overridable function to handle the particle hitting a cyclicPatch.
Definition at line 424 of file particleTemplates.C.
References coupledPolyPatch::forwardT(), cyclicPolyPatch::neighbPatch(), coupledPolyPatch::parallel(), patch(), s(), coupledPolyPatch::separated(), coupledPolyPatch::separation(), Foam::T(), cyclicPolyPatch::transformGlobalFace(), transformProperties(), and polyPatch::whichFace().

|
protected |
Overridable function to handle the particle hitting a cyclicAMIPatch.
Definition at line 465 of file particleTemplates.C.
References Foam::endl(), coupledPolyPatch::forwardT(), cyclicAMIPolyPatch::fraction(), patchIdentifier::name(), cyclicAMIPolyPatch::neighbPatch(), coupledPolyPatch::parallel(), patch(), cyclicAMIPolyPatch::pointFace(), Foam::pos(), position(), cyclicAMIPolyPatch::reverseTransformDirection(), s(), coupledPolyPatch::separated(), coupledPolyPatch::separation(), polyPatch::start(), Foam::T(), td(), transformProperties(), WarningInFunction, and polyPatch::whichFace().
Referenced by hitCyclicACMIPatch().


|
protected |
Overridable function to handle the particle hitting a.
cyclicACMIPatch
Definition at line 564 of file particleTemplates.C.
References hitBoundaryFace(), hitCyclicAMIPatch(), cyclicACMIPolyPatch::mask(), cyclicACMIPolyPatch::nonOverlapPatch(), patch(), cyclicAMIPolyPatch::pointFace(), Foam::pos(), position(), polyPatch::start(), td(), cyclicACMIPolyPatch::tolerance(), and polyPatch::whichFace().

|
protected |
Overridable function to handle the particle hitting a processorPatch.
Definition at line 609 of file particleTemplates.C.
|
protected |
Overridable function to handle the particle hitting a wallPatch.
Definition at line 614 of file particleTemplates.C.
|
protected |
Dispatch function for boundary face interaction. Calls one of.
the above (hitWedgePatch, hitCyclicPatch etc) depending on the patch type
Definition at line 287 of file particleTemplates.C.
References Foam::isA(), p, patch(), and td().
Referenced by hitCyclicACMIPatch(), and hitFace().


| TypeName | ( | "particle< Type >" | ) |
Runtime type information.
|
inlinestatic |
Definition at line 455 of file particle.H.
Construct a clone.
Reimplemented in CollidingParcel< KinematicParcel< particle > >, DSMCParcel< particle >, DTRMParticle, findCellParticle, indexedParticle, injectedParticle, KinematicParcel< particle >, molecule, MPPICParcel< KinematicParcel< particle > >, passiveParticle, passivePositionParticle, passivePositionParticle, ReactingHeterogeneousParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >, ReactingMultiphaseParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >, ReactingParcel< ThermoParcel< KinematicParcel< particle > > >, solidParticle, SprayParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >, streamLineParticle, ThermoParcel< KinematicParcel< particle > >, trackedParticle, wallBoundedParticle, and wallBoundedStreamLineParticle.
Definition at line 540 of file particle.H.
References autoPtr< T >::New().

|
inlinestatic |
Clone a particle.
Definition at line 552 of file particle.H.
References p.
Referenced by CollidingParcel< KinematicParcel< particle > >::clone(), CollidingParcel< KinematicParcel< particle > >::clone(), DSMCParcel< particle >::clone(), DTRMParticle::clone(), findCellParticle::clone(), indexedParticle::clone(), injectedParticle::clone(), injectedParticle::clone(), KinematicParcel< particle >::clone(), KinematicParcel< particle >::clone(), molecule::clone(), MPPICParcel< KinematicParcel< particle > >::clone(), MPPICParcel< KinematicParcel< particle > >::clone(), passiveParticle::clone(), passivePositionParticle::clone(), ReactingHeterogeneousParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::clone(), ReactingHeterogeneousParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::clone(), ReactingMultiphaseParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::clone(), ReactingMultiphaseParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::clone(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::clone(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::clone(), solidParticle::clone(), SprayParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::clone(), SprayParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::clone(), streamLineParticle::clone(), ThermoParcel< KinematicParcel< particle > >::clone(), ThermoParcel< KinematicParcel< particle > >::clone(), trackedParticle::clone(), wallBoundedParticle::clone(), and wallBoundedStreamLineParticle::clone().

|
inlinestatic |
Clone a particle with a mesh reference.
Definition at line 561 of file particle.H.

|
inline |
Get unique particle creation id.
Definition at line 96 of file particleI.H.
References Foam::endl(), Foam::labelMax, particleCount_, and WarningInFunction.
Referenced by particle(), particle(), particle(), and KinematicSurfaceFilm< CloudType >::splashInteraction().


|
inlinenoexcept |
Return the mesh database.
Definition at line 110 of file particleI.H.
References Foam::noexcept.
Referenced by injectedParticle::AddToPropertyList(), KinematicParcel< particle >::calcVelocity(), Clone(), CollidingParcel< KinematicParcel< particle > >::clone(), injectedParticle::clone(), KinematicParcel< particle >::clone(), MPPICParcel< KinematicParcel< particle > >::clone(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::clone(), ThermoParcel< KinematicParcel< particle > >::clone(), molecule::Cloud< molecule >, CollidingParcel< KinematicParcel< particle > >::CollidingParcel(), CollidingParcel< KinematicParcel< particle > >::CollidingParcel(), CollidingParcel< KinematicParcel< particle > >::CollidingParcel(), CollidingParcel< KinematicParcel< particle > >::CollidingParcel(), CollidingParcel< KinematicParcel< particle > >::CollidingParcel(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::constantProperties::constantProperties(), wallBoundedParticle::currentEdge(), DSMCParcel< particle >::DSMCParcel(), DSMCParcel< particle >::DSMCParcel(), DSMCParcel< particle >::DSMCParcel(), DTRMParticle::DTRMParticle(), DTRMParticle::DTRMParticle(), DTRMParticle::DTRMParticle(), findCellParticle::findCellParticle(), findCellParticle::findCellParticle(), findCellParticle::findCellParticle(), indexedParticle::indexedParticle(), indexedParticle::indexedParticle(), indexedParticle::indexedParticle(), DTRMParticle::iNew::iNew(), findCellParticle::iNew::iNew(), injectedParticle::iNew::iNew(), molecule::iNew::iNew(), particle< Type >::iNew::iNew(), passiveParticle::iNew::iNew(), passivePositionParticle::iNew::iNew(), solidParticle::iNew::iNew(), streamLineParticle::iNew::iNew(), trackedParticle::iNew::iNew(), wallBoundedParticle::iNew::iNew(), wallBoundedStreamLineParticle::iNew::iNew(), injectedParticle::injectedParticle(), injectedParticle::injectedParticle(), injectedParticle::injectedParticle(), injectedParticle::injectedParticle(), KinematicParcel< particle >::KinematicParcel(), KinematicParcel< particle >::KinematicParcel(), KinematicParcel< particle >::KinematicParcel(), KinematicParcel< particle >::KinematicParcel(), KinematicParcel< particle >::KinematicParcel(), molecule::molecule(), molecule::molecule(), molecule::molecule(), solidParticle::move(), wallBoundedStreamLineParticle::move(), MPPICParcel< KinematicParcel< particle > >::MPPICParcel(), MPPICParcel< KinematicParcel< particle > >::MPPICParcel(), MPPICParcel< KinematicParcel< particle > >::MPPICParcel(), MPPICParcel< KinematicParcel< particle > >::MPPICParcel(), MPPICParcel< KinematicParcel< particle > >::MPPICParcel(), particle(), particle(), particle(), particle(), particle(), particle(), passiveParticle::passiveParticle(), passiveParticle::passiveParticle(), passiveParticle::passiveParticle(), passivePositionParticle::passivePositionParticle(), passivePositionParticle::passivePositionParticle(), passivePositionParticle::passivePositionParticle(), passivePositionParticle::passivePositionParticle(), passivePositionParticle::passivePositionParticle(), wallBoundedParticle::patchInteraction(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::constantProperties::pMin(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::ReactingParcel(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::ReactingParcel(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::ReactingParcel(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::ReactingParcel(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::ReactingParcel(), solidParticle::solidParticle(), solidParticle::solidParticle(), solidParticle::solidParticle(), streamLineParticle::streamLineParticle(), streamLineParticle::streamLineParticle(), ThermoParcel< KinematicParcel< particle > >::ThermoParcel(), ThermoParcel< KinematicParcel< particle > >::ThermoParcel(), ThermoParcel< KinematicParcel< particle > >::ThermoParcel(), ThermoParcel< KinematicParcel< particle > >::ThermoParcel(), ThermoParcel< KinematicParcel< particle > >::ThermoParcel(), trackedParticle::trackedParticle(), trackedParticle::trackedParticle(), trackedParticle::trackedParticle(), wallBoundedParticle::trackToEdge(), wallBoundedParticle::wallBoundedParticle(), wallBoundedParticle::wallBoundedParticle(), wallBoundedStreamLineParticle::wallBoundedStreamLineParticle(), and wallBoundedStreamLineParticle::wallBoundedStreamLineParticle().
|
inlinenoexcept |
Return current particle coordinates.
Definition at line 116 of file particleI.H.
References Foam::noexcept.
Referenced by molecule::Cloud< molecule >, CollidingParcel< KinematicParcel< particle > >::CollidingParcel(), CollidingParcel< KinematicParcel< particle > >::CollidingParcel(), CollidingParcel< KinematicParcel< particle > >::constantProperties::constantProperties(), ReactingHeterogeneousParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::constantProperties::constantProperties(), ReactingMultiphaseParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::constantProperties::constantProperties(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::constantProperties::constantProperties(), DSMCParcel< particle >::DSMCParcel(), DTRMParticle::DTRMParticle(), findCellParticle::findCellParticle(), indexedParticle::indexedParticle(), KinematicParcel< particle >::KinematicParcel(), KinematicParcel< particle >::KinematicParcel(), molecule::molecule(), solidParticle::move(), MPPICParcel< KinematicParcel< particle > >::MPPICParcel(), MPPICParcel< KinematicParcel< particle > >::MPPICParcel(), particle(), passiveParticle::passiveParticle(), passivePositionParticle::passivePositionParticle(), passivePositionParticle::passivePositionParticle(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::constantProperties::pMin(), ReactingHeterogeneousParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::ReactingHeterogeneousParcel(), ReactingHeterogeneousParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::ReactingHeterogeneousParcel(), ReactingMultiphaseParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::ReactingMultiphaseParcel(), ReactingMultiphaseParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::ReactingMultiphaseParcel(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::ReactingParcel(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::ReactingParcel(), solidParticle::solidParticle(), SprayParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::SprayParcel(), SprayParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::SprayParcel(), ThermoParcel< KinematicParcel< particle > >::ThermoParcel(), ThermoParcel< KinematicParcel< particle > >::ThermoParcel(), trackedParticle::trackedParticle(), and ~particle().

|
inlinenoexcept |
Return current cell particle is in.
Definition at line 122 of file particleI.H.
References Foam::noexcept.
Referenced by ORourkeCollision< CloudType >::collideParcels(), wallBoundedParticle::crossEdgeConnectedFace(), findCellParticle::move(), trackedParticle::move(), PatchFlowRateInjection< CloudType >::setProperties(), PatchInjection< CloudType >::setProperties(), wallBoundedParticle::trackToEdge(), injectedParticle::writePosition(), passivePositionParticle::writePosition(), and ~particle().

|
inlinenoexcept |
Return current cell particle is in for manipulation.
Definition at line 128 of file particleI.H.
References Foam::noexcept.
|
inlinenoexcept |
Return current tet face particle is in.
Definition at line 134 of file particleI.H.
References Foam::noexcept.
Referenced by wallBoundedParticle::crossDiagonalEdge(), wallBoundedParticle::crossEdgeConnectedFace(), wallBoundedParticle::currentEdge(), wallBoundedParticle::trackToEdge(), and ~particle().

|
inlinenoexcept |
Return current tet face particle is in for manipulation.
Definition at line 140 of file particleI.H.
References Foam::noexcept.
|
inlinenoexcept |
Return current tet face particle is in.
Definition at line 146 of file particleI.H.
References Foam::noexcept.
Referenced by wallBoundedParticle::crossDiagonalEdge(), wallBoundedParticle::crossEdgeConnectedFace(), wallBoundedParticle::trackToEdge(), and ~particle().

|
inlinenoexcept |
Return current tet face particle is in for manipulation.
Definition at line 152 of file particleI.H.
References Foam::noexcept.
|
inlinenoexcept |
Return current face particle is on otherwise -1.
Definition at line 158 of file particleI.H.
References Foam::noexcept.
Referenced by wallBoundedParticle::crossEdgeConnectedFace(), wallBoundedParticle::hitProcessorPatch(), wallBoundedParticle::patchInteraction(), wallBoundedParticle::trackToEdge(), and ~particle().

|
inlinenoexcept |
Return current face particle is on for manipulation.
Definition at line 164 of file particleI.H.
References Foam::noexcept.
|
inlinenoexcept |
Return the fraction of time-step completed.
Definition at line 170 of file particleI.H.
References Foam::noexcept.
Referenced by findCellParticle::move(), molecule::move(), solidParticle::move(), streamLineParticle::move(), trackedParticle::move(), wallBoundedStreamLineParticle::move(), and ~particle().

|
inlinenoexcept |
Return the fraction of time-step completed.
Definition at line 176 of file particleI.H.
References Foam::noexcept.
|
inlinenoexcept |
Return the originating processor ID.
Definition at line 182 of file particleI.H.
References Foam::noexcept.
Referenced by PairSpringSliderDashpot< CloudType >::evaluatePair(), Foam::operator==(), KinematicSurfaceFilm< CloudType >::splashInteraction(), writeFields(), writeObjects(), and ~particle().

|
inlinenoexcept |
Return the originating processor ID.
Definition at line 188 of file particleI.H.
References Foam::noexcept.
|
inlinenoexcept |
Return the particle ID on the originating processor.
Definition at line 194 of file particleI.H.
References Foam::noexcept.
Referenced by PairSpringSliderDashpot< CloudType >::evaluatePair(), Foam::operator==(), readFields(), readObjects(), KinematicSurfaceFilm< CloudType >::splashInteraction(), trackToMovingTri(), trackToStationaryTri(), writeFields(), writeObjects(), and ~particle().

|
inlinenoexcept |
Return the particle ID on the originating processor.
Definition at line 200 of file particleI.H.
References Foam::noexcept.
|
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 206 of file particleI.H.
References TimeState::deltaTValue(), and dimensioned< Type >::value().
Referenced by currentTimeFraction(), and ~particle().


|
inline |
Return the current fraction within the timestep. This differs.
from the stored step fraction due to sub-cycling.
Definition at line 228 of file particleI.H.
References s(), and stepFractionSpan().
Referenced by ~particle().


|
inlinenoexcept |
Return indices of the current tet that the particle occupies.
Definition at line 236 of file particleI.H.
References Foam::noexcept.
Referenced by ThermoParcel< KinematicParcel< particle > >::calcHeatTransfer(), wallBoundedParticle::isTriAlongTrack(), solidParticle::move(), streamLineParticle::move(), normal(), patchData(), wallBoundedParticle::trackFaceTri(), wallBoundedParticle::trackToEdge(), trackToStationaryTri(), and ~particle().

|
inline |
Return the current tet transformation tensor.
Definition at line 242 of file particleI.H.
Referenced by position(), and ~particle().

|
inline |
The (unit) normal of the tri on tetFacei_ for the current tet.
Definition at line 253 of file particleI.H.
References currentTetIndices().
Referenced by hitSymmetryPatch(), molecule::hitWallPatch(), solidParticle::hitWallPatch(), and ~particle().


|
inlinenoexcept |
Is the particle on a face?
Definition at line 259 of file particleI.H.
References Foam::noexcept.
Referenced by hitFace(), streamLineParticle::move(), onBoundaryFace(), onInternalFace(), patch(), trackToFace(), and ~particle().

|
inlinenoexcept |
Is the particle on an internal face?
Definition at line 265 of file particleI.H.
References Foam::noexcept, and onFace().
Referenced by hitFace(), track(), and ~particle().


|
inlinenoexcept |
Is the particle on a boundary face?
Definition at line 271 of file particleI.H.
References Foam::noexcept, and onFace().
Referenced by hitFace(), trackedParticle::move(), patchData(), and ~particle().


|
inline |
Return the index of patch that the particle is on.
Definition at line 277 of file particleI.H.
References onFace().
Referenced by hitBoundaryFace(), hitCyclicACMIPatch(), hitCyclicAMIPatch(), hitCyclicPatch(), wallBoundedParticle::patchInteraction(), prepareForParallelTransfer(), and ~particle().


|
inline |
Return current particle position.
Definition at line 283 of file particleI.H.
References currentTetTransform().
Referenced by injectedParticle::AddToPropertyList(), autoMap(), molecule::Cloud< molecule >, TrajectoryCollision< CloudType >::collideParcels(), CollidingParcel< KinematicParcel< particle > >::CollidingParcel(), deviationFromMeshCentre(), DSMCParcel< particle >::DSMCParcel(), DTRMParticle::DTRMParticle(), DTRMParticle::DTRMParticle(), PairSpringSliderDashpot< CloudType >::evaluatePair(), findCellParticle::findCellParticle(), findCellParticle::findCellParticle(), hitCyclicACMIPatch(), hitCyclicAMIPatch(), indexedParticle::indexedParticle(), injectedParticle::injectedParticle(), injectedParticle::injectedParticle(), injectedParticle::injectedParticle(), wallBoundedStreamLineParticle::interpolateFields(), KinematicParcel< particle >::KinematicParcel(), molecule::molecule(), findCellParticle::move(), streamLineParticle::move(), MPPICParcel< KinematicParcel< particle > >::MPPICParcel(), SprayParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::constantProperties::mu0(), passivePositionParticle::operator<<, InflationInjection< CloudType >::parcelsToInject(), particle(), particle(), particle(), passiveParticle::passiveParticle(), passivePositionParticle::passivePositionParticle(), passivePositionParticle::passivePositionParticle(), passivePositionParticle::passivePositionParticle(), passivePositionParticle::passivePositionParticle(), prepareForInteractionListReferral(), ReactingHeterogeneousParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::ReactingHeterogeneousParcel(), ReactingMultiphaseParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::ReactingMultiphaseParcel(), ReactingParcel< ThermoParcel< KinematicParcel< particle > > >::ReactingParcel(), readData(), readObjects(), relocate(), ConeNozzleInjection< CloudType >::setProperties(), molecule::setSitePositions(), solidParticle::solidParticle(), SprayParcel< ReactingParcel< ThermoParcel< KinematicParcel< particle > > > >::SprayParcel(), streamLineParticle::streamLineParticle(), ThermoParcel< KinematicParcel< particle > >::ThermoParcel(), trackedParticle::trackedParticle(), trackedParticle::trackedParticle(), trackToFace(), trackToMovingTri(), trackToStationaryTri(), molecule::transformProperties(), wallBoundedParticle::wallBoundedParticle(), wallBoundedStreamLineParticle::wallBoundedStreamLineParticle(), writeObjects(), injectedParticle::writePosition(), writePosition(), passivePositionParticle::writePosition(), writeProperties(), and ~particle().

|
inline |
Reset particle data.
Definition at line 289 of file particleI.H.
Referenced by ~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 619 of file particle.C.
References f(), onInternalFace(), and trackToFace().
Referenced by KinematicSurfaceFilm< CloudType >::splashInteraction(), and ~particle().


| Foam::scalar trackToFace | ( | const vector & | displacement, |
| const scalar | fraction ) |
As particle::track, but also stops on internal faces.
Definition at line 638 of file particle.C.
References Foam::endl(), f(), onFace(), position(), trackToTri(), and WarningInFunction.
Referenced by streamLineParticle::move(), track(), trackToAndHitFace(), and ~particle().


| Foam::scalar trackToTri | ( | const vector & | displacement, |
| const scalar | fraction, | ||
| label & | tetTriI ) |
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 1017 of file particle.C.
References trackToMovingTri(), and trackToStationaryTri().
Referenced by trackToFace(), and ~particle().


| Foam::scalar trackToStationaryTri | ( | const vector & | displacement, |
| const scalar | fraction, | ||
| label & | tetTriI ) |
As particle::trackToTri, but for stationary meshes.
Definition at line 694 of file particle.C.
References Foam::cmptSum(), currentTetIndices(), Foam::endl(), Foam::mag(), Foam::max(), mu, origId(), position(), Foam::Pout, VectorSpace< Form, Cmpt, Ncmpts >::replace(), Foam::T(), and Foam::y0().
Referenced by trackToTri(), and ~particle().


| Foam::scalar trackToMovingTri | ( | const vector & | displacement, |
| const scalar | fraction, | ||
| label & | tetTriI ) |
As particle::trackToTri, but for moving meshes.
Definition at line 823 of file particle.C.
References b, Foam::cmptSum(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::mag(), Foam::max(), mu, name, Foam::nl, origId(), position(), Foam::Pout, Foam::roots::real, VectorSpace< Form, Cmpt, Ncmpts >::replace(), Foam::sqr(), Foam::T(), cubicEqn::value(), and Foam::y0().
Referenced by trackToTri(), and ~particle().


| void hitFace | ( | const vector & | direction, |
| TrackCloudType & | cloud, | ||
| trackingData & | td ) |
Hit the current face. If the current face is internal than this.
crosses into the next cell. If it is a boundary face then this will interact the particle with the relevant patch.
Definition at line 344 of file particleTemplates.C.
References hitBoundaryFace(), onBoundaryFace(), onFace(), onInternalFace(), and td().
Referenced by trackToAndHitFace(), and ~particle().


| void trackToAndHitFace | ( | const vector & | direction, |
| const scalar | fraction, | ||
| TrackCloudType & | cloud, | ||
| trackingData & | td ) |
Convenience function. Combines trackToFace and hitFace.
Definition at line 371 of file particleTemplates.C.
References hitFace(), td(), and trackToFace().
Referenced by findCellParticle::move(), molecule::move(), solidParticle::move(), streamLineParticle::move(), trackedParticle::move(), and ~particle().


| Foam::vector deviationFromMeshCentre | ( | ) | const |
Get the displacement from the mesh centre. Used to correct the.
particle position in cases with reduced dimensionality. Returns a zero vector for three-dimensional cases.
Definition at line 1035 of file particle.C.
References Foam::cmptMin(), Foam::meshTools::constrainToMeshCentre(), Foam::pos(), position(), and VectorSpace< Form, Cmpt, Ncmpts >::zero.
Referenced by ~particle().


Get the normal and velocity of the current patch location.
Definition at line 297 of file particleI.H.
References currentTetIndices(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, n, onBoundaryFace(), U, triangle< point, const point & >::unitNormal(), and Foam::Zero.
Referenced by ~particle().


|
virtual |
Transform the physical properties of the particle.
according to the given transformation tensor
Reimplemented in CollidingParcel< KinematicParcel< particle > >, DSMCParcel< particle >, KinematicParcel< particle >, molecule, and solidParticle.
Definition at line 1050 of file particle.C.
Referenced by correctAfterParallelTransfer(), hitCyclicAMIPatch(), hitCyclicPatch(), hitSymmetryPatch(), prepareForInteractionListReferral(), molecule::transformProperties(), molecule::transformProperties(), solidParticle::transformProperties(), solidParticle::transformProperties(), and ~particle().

|
virtual |
Transform the physical properties of the particle.
according to the given separation vector
Reimplemented in CollidingParcel< KinematicParcel< particle > >, DSMCParcel< particle >, KinematicParcel< particle >, molecule, and solidParticle.
Definition at line 1054 of file particle.C.
| void prepareForParallelTransfer | ( | ) |
Convert global addressing to the processor patch local equivalents.
Definition at line 1058 of file particle.C.
References patch().
Referenced by ~particle().


| void correctAfterParallelTransfer | ( | const label | patchi, |
| trackingData & | td ) |
Convert processor patch addressing to the global equivalents.
and set the celli to the face-neighbour
Definition at line 1065 of file particle.C.
References polyPatch::faceCells(), coupledPolyPatch::forwardT(), coupledPolyPatch::parallel(), Foam::refCast(), s(), coupledPolyPatch::separated(), coupledPolyPatch::separation(), polyPatch::start(), Foam::T(), td(), and transformProperties().
Referenced by trackedParticle::correctAfterParallelTransfer(), and ~particle().


| void prepareForInteractionListReferral | ( | const vectorTensorTransform & | transform | ) |
Break the topology and store the particle position so that the.
particle can be referred.
Definition at line 1114 of file particle.C.
References Foam::cmptSum(), Foam::pos(), position(), Foam::transform(), and transformProperties().
Referenced by ~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 1140 of file particle.C.
References Foam::pos(), and Foam::T().
Referenced by ~particle().


| Foam::label procTetPt | ( | const polyMesh & | procMesh, |
| const label | procCell, | ||
| const label | procTetFace ) const |
Return the tet point appropriate for decomposition or reconstruction.
to or from the given mesh.
Definition at line 1177 of file particle.C.
References polyMesh::faceOwner(), polyMesh::faces(), and UList< T >::size().
Referenced by ~particle().


| void autoMap | ( | const vector & | position, |
| const mapPolyMesh & | mapper ) |
Map after a topology change.
Definition at line 1203 of file particle.C.
References position(), and mapPolyMesh::reverseCellMap().
Referenced by ~particle().


| void relocate | ( | const point & | position, |
| const label | celli = -1 ) |
Set the addressing based on the provided position.
Definition at line 1220 of file particle.C.
References position().
Referenced by RecycleInteraction< CloudType >::postEvolve(), and ~particle().


|
static |
Write the name representation to stream.
Definition at line 37 of file particleTemplates.C.
References Foam::name(), and os().
Referenced by writeProperty(), writeProperty(), and ~particle().


|
static |
Write a named particle property to stream, optionally filtered based on its name.
Definition at line 63 of file particleTemplates.C.
References UList< T >::empty(), wordRes::match(), Foam::name(), os(), and writePropertyName().
Referenced by ~particle().


|
static |
Write a named particle property list to stream, optionally filtered based on its name.
Definition at line 91 of file particleTemplates.C.
References UList< T >::empty(), forAll, wordRes::match(), Foam::name(), os(), and writePropertyName().

|
static |
Read the fields associated with the owner cloud.
Definition at line 133 of file particleTemplates.C.
References IOobjectOption::MUST_READ, origId(), p, particle(), and IOobject::typeHeaderOk().
Referenced by DTRMParticle::DTRMParticle(), findCellParticle::findCellParticle(), indexedParticle::indexedParticle(), indexedParticleCloud::indexedParticleCloud(), particle(), passiveParticle::passiveParticle(), passiveParticleCloud::passiveParticleCloud(), passivePositionParticle::passivePositionParticle(), passivePositionParticle::passivePositionParticle(), readData(), injectedParticle::readFields(), molecule::readFields(), solidParticle::readFields(), streamLineParticle::readFields(), wallBoundedParticle::readFields(), trackedParticle::trackedParticle(), and ~particle().


|
static |
Write the fields associated with the owner cloud.
Definition at line 163 of file particleTemplates.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, IOobjectOption::NO_READ, origId(), origProc(), p, particle(), cloud::POSITIONS, IOPosition< CloudType >::write(), writeLagrangianCoordinates, and writeLagrangianPositions.
Referenced by injectedParticle::writeFields(), molecule::writeFields(), solidParticle::writeFields(), streamLineParticle::writeFields(), wallBoundedParticle::writeFields(), and ~particle().


| void writeProperties | ( | Ostream & | os, |
| const wordRes & | filters, | ||
| const word & | delim, | ||
| const bool | namesOnly ) const |
Write individual particle properties to stream.
Definition at line 176 of file particleIO.C.
References os(), position(), and writeProp.
Referenced by injectedParticle::writeProperties(), and ~particle().


|
static |
Read particle fields as objects from the obr registry.
Definition at line 217 of file particleTemplates.C.
References cloud::findIOPosition(), cloud::lookupIOField(), origId(), p, particle(), and position().
Referenced by injectedParticle::readObjects(), and ~particle().


|
static |
Write particle fields as objects into the obr registry.
Always writes "position", not "coordinate"
Definition at line 266 of file particleTemplates.C.
References cloud::createIOField(), origId(), origProc(), p, particle(), and position().
Referenced by injectedParticle::writeObjects(), and ~particle().


| void writeCoordinates | ( | Ostream & | os | ) | const |
Write the particle barycentric coordinates and cell info.
Definition at line 202 of file particleIO.C.
References IOstreamOption::ASCII, FUNCTION_NAME, os(), and token::SPACE.
Referenced by ~particle().


|
virtual |
Write the particle position and cell id.
Reimplemented in injectedParticle, and passivePositionParticle.
Definition at line 221 of file particleIO.C.
References IOstreamOption::ASCII, FUNCTION_NAME, os(), p, position(), s(), and token::SPACE.
Referenced by ~particle().


References particle().
|
friend |
References particle().
|
friend |
References particle().
|
static |
String representation of properties.
Definition at line 455 of file particle.H.
|
static |
Cumulative particle counter - used to provide unique ID.
Definition at line 460 of file particle.H.
Referenced by getNewParticleID().
|
static |
Write particle coordinates file (v1712 and later) Default is true.
Definition at line 466 of file particle.H.
Referenced by injectedParticle::writeFields(), and writeFields().
|
static |
Write particle positions file (v1706 format and earlier) Default is true (disable in etc/controlDict).
Definition at line 472 of file particle.H.
Referenced by registerInfoSwitch(), injectedParticle::writeFields(), and writeFields().