Classes | |
class | constantProperties |
Class to hold molecule constant properties. More... | |
class | iNew |
Factory class to read-construct particles used for. More... | |
class | trackingData |
Class used to pass tracking data to the trackToFace function. More... | |
Public Types | |
enum | specialTypes { SPECIAL_TETHERED = -1, SPECIAL_FROZEN = -2, NOT_SPECIAL = 0, SPECIAL_USER = 1 } |
Public Member Functions | |
molecule (const polyMesh &mesh, const vector &position, const label celli, const label tetFacei, const label tetPtI, const tensor &Q, const vector &v, const vector &a, const vector &pi, const vector &tau, const vector &specialPosition, const constantProperties &constProps, const label special, const label id) | |
Construct from components. More... | |
molecule (const polyMesh &mesh, Istream &is, bool readFields=true) | |
Construct from Istream. More... | |
autoPtr< particle > | clone () const |
Construct and return a clone. More... | |
bool | move (trackingData &, const scalar trackTime) |
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... | |
void | setSitePositions (const constantProperties &constProps) |
void | setSiteSizes (label size) |
const tensor & | Q () const |
tensor & | Q () |
const vector & | v () const |
vector & | v () |
const vector & | a () const |
vector & | a () |
const vector & | pi () const |
vector & | pi () |
const vector & | tau () const |
vector & | tau () |
const List< vector > & | siteForces () const |
List< vector > & | siteForces () |
const List< vector > & | sitePositions () const |
List< vector > & | sitePositions () |
const vector & | specialPosition () const |
vector & | specialPosition () |
scalar | potentialEnergy () const |
scalar & | potentialEnergy () |
const tensor & | rf () const |
tensor & | rf () |
label | special () const |
bool | tethered () const |
label | id () const |
bool | hitPatch (const polyPatch &, trackingData &td, const label patchi, const scalar trackFraction, const tetIndices &tetIs) |
Overridable function to handle the particle hitting a patch. More... | |
void | hitProcessorPatch (const processorPolyPatch &, trackingData &td) |
Overridable function to handle the particle hitting a processorPatch. More... | |
void | hitWallPatch (const wallPolyPatch &, trackingData &td, const tetIndices &) |
Overridable function to handle the particle hitting a wallPatch. More... | |
void | hitPatch (const polyPatch &, trackingData &td) |
Overridable function to handle the particle hitting a polyPatch. More... | |
Public Member Functions inherited from particle< Type > | |
TypeName ("particle") | |
Runtime type information. More... | |
particle (const polyMesh &mesh, const vector &position, const label celli, const label tetFacei, const label tetPtI) | |
Construct from components. More... | |
particle (const polyMesh &mesh, const vector &position, const label celli, bool doCellFacePt=true) | |
Construct from components, tetFacei_ and tetPtI_ are not. More... | |
particle (const polyMesh &mesh, Istream &, bool readFields=true) | |
Construct from Istream. More... | |
particle (const particle &p) | |
Construct as a copy. More... | |
particle (const particle &p, const polyMesh &mesh) | |
Construct as a copy with refernce to a new mesh. More... | |
virtual | ~particle () |
Destructor. More... | |
label | getNewParticleID () const |
Get unique particle creation id. More... | |
const polyMesh & | mesh () const |
Return the mesh database. More... | |
const vector & | position () const |
Return current particle position. More... | |
vector & | position () |
Return current particle position. More... | |
label & | cell () |
Return current cell particle is in. More... | |
label | cell () const |
Return current cell particle is in. More... | |
label & | tetFace () |
Return current tet face particle is in. More... | |
label | tetFace () const |
Return current tet face particle is in. More... | |
label & | tetPt () |
Return current tet face particle is in. More... | |
label | tetPt () const |
Return current tet face particle is in. More... | |
tetIndices | currentTetIndices () const |
Return the indices of the current tet that the. More... | |
tetPointRef | currentTet () const |
Return the geometry of the current tet that the. 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... | |
label & | face () |
Return current face particle is on otherwise -1. More... | |
label | face () const |
Return current face particle is on otherwise -1. More... | |
bool | softImpact () const |
Return the impact model to be used, soft or hard (default). More... | |
scalar | currentTime () const |
Return the particle current time. More... | |
void | initCellFacePt () |
Check the stored cell value (setting if necessary) and. More... | |
bool | onBoundary () const |
Is the particle on the boundary/(or outside the domain)? More... | |
bool | internalFace (const label facei) const |
Is this global face an internal face? More... | |
bool | boundaryFace (const label facei) const |
Is this global face a boundary face? More... | |
label | patch (const label facei) const |
Which patch is particle on. More... | |
label | patchFace (const label patchi, const label facei) const |
Which face of this patch is this particle on. More... | |
scalar & | stepFraction () |
Return the fraction of time-step completed. More... | |
scalar | stepFraction () const |
Return the fraction of time-step completed. More... | |
label | origProc () const |
Return const access to the originating processor id. More... | |
label & | origProc () |
Return the originating processor id for manipulation. More... | |
label | origId () const |
Return const access to the particle id on originating processor. More... | |
label & | origId () |
Return the particle id on originating processor for manipulation. More... | |
template<class TrackData > | |
label | track (const vector &endPosition, TrackData &td) |
Track particle to end of trajectory. More... | |
template<class TrackData > | |
scalar | trackToFace (const vector &endPosition, TrackData &td) |
Track particle to a given position and returns 1.0 if the. More... | |
label | faceInterpolation () const |
Return the index of the face to be used in the interpolation. 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 | writePosition (Ostream &) const |
Write the particle position and cell. More... | |
template<class TrackData > | |
Foam::label | track (const vector &endPosition, TrackData &td) |
template<class TrackData > | |
Foam::scalar | trackToFace (const vector &endPosition, TrackData &td) |
Public Member Functions inherited from DLListBase::link | |
link () | |
Null construct. More... | |
bool | registered () const |
Check if the link is registered with the DLListBase. More... | |
void | deregister () |
Deregister the link after removal. More... | |
Static Public Member Functions | |
static void | readFields (Cloud< molecule > &mC) |
static void | writeFields (const Cloud< molecule > &mC) |
Static Public Member Functions inherited from particle< Type > | |
static string | propertyList () |
template<class CloudType > | |
static void | readFields (CloudType &c) |
Read the fields associated with the owner cloud. More... | |
template<class CloudType > | |
static void | writeFields (const CloudType &c) |
Write the fields associated with the owner cloud. More... | |
Friends | |
class | Cloud< molecule > |
Ostream & | operator<< (Ostream &, const molecule &) |
Additional Inherited Members | |
Public Attributes inherited from DLListBase::link | |
link * | prev_ |
Pointer to next entry in list. More... | |
link * | next_ |
Static Public Attributes inherited from particle< Type > | |
static string | propertyList_ = Foam::particle::propertyList() |
String representation of properties. More... | |
static label | particleCount_ = 0 |
Cumulative particle counter - used to provode unique ID. More... | |
static const scalar | trackingCorrectionTol = 1e-5 |
Fraction of distance to tet centre to move a particle to. More... | |
static const scalar | lambdaDistanceToleranceCoeff = 1e3*SMALL |
Fraction of the cell volume to use in determining tolerance values. More... | |
static const scalar | minStepFractionTol = 1e5*SMALL |
Minimum stepFraction tolerance. More... | |
Protected Member Functions inherited from particle< Type > | |
void | findTris (const vector &position, DynamicList< label > &faceList, const tetPointRef &tet, const FixedList< vector, 4 > &tetAreas, const FixedList< label, 4 > &tetPlaneBasePtIs, const scalar tol) const |
Find the tet tri faces between position and tet centre. More... | |
scalar | tetLambda (const vector &from, const vector &to, const label triI, const vector &tetArea, const label tetPlaneBasePtI, const label celli, const label tetFacei, const label tetPtI, const scalar tol) const |
Find the lambda value for the line to-from across the. More... | |
scalar | movingTetLambda (const vector &from, const vector &to, const label triI, const vector &tetArea, const label tetPlaneBasePtI, const label celli, const label tetFacei, const label tetPtI, const scalar tol) const |
Find the lambda value for a moving tri face. More... | |
void | tetNeighbour (label triI) |
Modify the tet owner data by crossing triI. More... | |
void | crossEdgeConnectedFace (const label &celli, label &tetFacei, label &tetPtI, const edge &e) |
Cross the from the given face across the given edge of the. More... | |
template<class CloudType > | |
void | hitWallFaces (const CloudType &td, const vector &from, const vector &to, scalar &lambdaMin, tetIndices &closestTetIs) |
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... | |
Protected Attributes inherited from particle< Type > | |
const polyMesh & | mesh_ |
Reference to the polyMesh database. More... | |
vector | position_ |
Position of particle. More... | |
label | celli_ |
Index of the cell it is in. More... | |
label | facei_ |
Face index if the particle is on a face otherwise -1. More... | |
scalar | stepFraction_ |
Fraction of time-step completed. More... | |
label | tetFacei_ |
Index of the face that owns the decomposed tet that the. More... | |
label | tetPtI_ |
Index of the point on the face that defines the decomposed. More... | |
label | origProc_ |
Originating processor id. More... | |
label | origId_ |
Local particle id on originating processor. More... | |
Definition at line 64 of file molecule.H.
enum specialTypes |
Enumerator | |
---|---|
SPECIAL_TETHERED | |
SPECIAL_FROZEN | |
NOT_SPECIAL | |
SPECIAL_USER |
Definition at line 80 of file molecule.H.
|
inline |
Construct from components.
Definition at line 221 of file moleculeI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, Foam::findIndex(), forAll, molecule::id(), Foam::mag(), Foam::nl, molecule::setSitePositions(), List< T >::setSize(), molecule::constantProperties::siteIds(), and List< T >::size().
Referenced by molecule::clone(), molecule::constantProperties::constantProperties(), and molecule::iNew::operator()().
Construct from Istream.
Definition at line 41 of file moleculeIO.C.
References IOstream::check(), IOstream::format(), Istream::read(), Foam::readLabel(), and readScalar.
Construct and return a clone.
Reimplemented from particle< Type >.
Definition at line 265 of file molecule.H.
References particle< Type >::mesh_, and molecule::molecule().
bool move | ( | molecule::trackingData & | td, |
const scalar | trackTime | ||
) |
Definition at line 68 of file molecule.C.
References Foam::abort(), particle< Type >::TrackingData< CloudType >::cloud(), moleculeCloud::constProps(), f(), Foam::FatalError, FatalErrorInFunction, forAll, particle< Type >::TrackingData< CloudType >::keepParticle, Foam::min(), molecule::trackingData::part(), particle< Type >::position(), R, s(), molecule::setSitePositions(), particle< Type >::stepFraction(), particle< Type >::TrackingData< CloudType >::switchProcessor, Tensor< Cmpt >::T(), particle< Type >::trackToFace(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Foam::Zero.
Referenced by molecule::iNew::operator()().
|
virtual |
Transform the physical properties of the particle.
according to the given transformation tensor
Reimplemented from particle< Type >.
Definition at line 192 of file molecule.C.
References particle< Type >::position_, Foam::transform(), and particle< Type >::transformProperties().
Referenced by molecule::iNew::operator()().
|
virtual |
Transform the physical properties of the particle.
according to the given separation vector
Reimplemented from particle< Type >.
Definition at line 214 of file molecule.C.
References molecule::SPECIAL_TETHERED, and particle< Type >::transformProperties().
void setSitePositions | ( | const constantProperties & | constProps | ) |
Definition at line 227 of file molecule.C.
References particle< Type >::position_, and molecule::constantProperties::siteReferencePositions().
Referenced by molecule::molecule(), molecule::move(), and molecule::iNew::operator()().
void setSiteSizes | ( | label | size | ) |
Definition at line 233 of file molecule.C.
References molecule::hitPatch(), and List< T >::setSize().
Referenced by molecule::iNew::operator()().
|
inline |
Definition at line 466 of file moleculeI.H.
Referenced by molecule::constantProperties::constantProperties(), molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
|
inline |
Definition at line 472 of file moleculeI.H.
|
inline |
Definition at line 478 of file moleculeI.H.
Referenced by molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
|
inline |
Definition at line 484 of file moleculeI.H.
|
inline |
Definition at line 490 of file moleculeI.H.
Referenced by molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
|
inline |
Definition at line 496 of file moleculeI.H.
|
inline |
Definition at line 502 of file moleculeI.H.
Referenced by molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
|
inline |
Definition at line 508 of file moleculeI.H.
|
inline |
Definition at line 514 of file moleculeI.H.
Referenced by molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
|
inline |
Definition at line 520 of file moleculeI.H.
|
inline |
Definition at line 526 of file moleculeI.H.
Referenced by molecule::iNew::operator()().
|
inline |
Definition at line 532 of file moleculeI.H.
|
inline |
Definition at line 538 of file moleculeI.H.
Referenced by molecule::iNew::operator()().
|
inline |
Definition at line 544 of file moleculeI.H.
|
inline |
Definition at line 550 of file moleculeI.H.
Referenced by molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
|
inline |
Definition at line 556 of file moleculeI.H.
|
inline |
Definition at line 562 of file moleculeI.H.
Referenced by molecule::iNew::operator()().
|
inline |
Definition at line 568 of file moleculeI.H.
|
inline |
Definition at line 574 of file moleculeI.H.
Referenced by molecule::iNew::operator()().
|
inline |
Definition at line 580 of file moleculeI.H.
|
inline |
Definition at line 586 of file moleculeI.H.
Referenced by molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
|
inline |
Definition at line 592 of file moleculeI.H.
References molecule::SPECIAL_TETHERED.
Referenced by molecule::iNew::operator()().
|
inline |
Definition at line 598 of file moleculeI.H.
Referenced by molecule::molecule(), molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
bool hitPatch | ( | const polyPatch & | , |
trackingData & | td, | ||
const label | patchi, | ||
const scalar | trackFraction, | ||
const tetIndices & | tetIs | ||
) |
Overridable function to handle the particle hitting a patch.
Executed before other patch-hitting functions
Definition at line 242 of file molecule.C.
References molecule::hitProcessorPatch().
Referenced by molecule::hitWallPatch(), molecule::iNew::operator()(), and molecule::setSiteSizes().
void hitProcessorPatch | ( | const processorPolyPatch & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a processorPatch.
Definition at line 255 of file molecule.C.
References molecule::hitWallPatch(), and particle< Type >::TrackingData< CloudType >::switchProcessor.
Referenced by molecule::hitPatch(), and molecule::iNew::operator()().
void hitWallPatch | ( | const wallPolyPatch & | wpp, |
trackingData & | td, | ||
const tetIndices & | tetIs | ||
) |
Overridable function to handle the particle hitting a wallPatch.
Definition at line 265 of file molecule.C.
References molecule::hitPatch(), Foam::mag(), particle< Type >::normal(), and nw.
Referenced by molecule::hitProcessorPatch(), and molecule::iNew::operator()().
void hitPatch | ( | const polyPatch & | , |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a polyPatch.
Definition at line 287 of file molecule.C.
References particle< Type >::TrackingData< CloudType >::keepParticle.
Definition at line 94 of file moleculeIO.C.
References molecule::a(), Cloud< ParticleType >::checkFieldIOobject(), Cloud< ParticleType >::fieldIOobject(), forAllIter, molecule::id(), IOobject::MUST_READ, molecule::pi(), molecule::Q(), particle< Type >::readFields(), Cloud< ParticleType >::size(), molecule::special(), molecule::specialPosition(), molecule::tau(), and molecule::v().
Referenced by moleculeCloud::moleculeCloud(), and molecule::iNew::operator()().
Definition at line 148 of file moleculeIO.C.
References molecule::a(), Foam::endl(), Cloud< ParticleType >::fieldIOobject(), forAllConstIter(), molecule::id(), Foam::Info, moleculeCloud::mesh(), IOobject::name(), IOobject::NO_READ, molecule::pi(), cloud::prefix, molecule::Q(), Cloud< ParticleType >::size(), molecule::special(), molecule::specialPosition(), molecule::tau(), objectRegistry::time(), Time::timePath(), molecule::v(), particle< Type >::writeFields(), and moleculeCloud::writeXYZ().
Referenced by molecule::iNew::operator()().
Definition at line 233 of file molecule.H.
Referenced by molecule::iNew::operator()().