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 barycentric &coordinates, 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, const vector &position, const label celli, 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 a position and a cell, searching for the rest of the. 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 (moleculeCloud &, trackingData &, const scalar trackTime) |
virtual void | transformProperties (const transformer &) |
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 (moleculeCloud &cloud, trackingData &td) |
Overridable function to handle the particle hitting a patch. More... | |
void | hitProcessorPatch (moleculeCloud &cloud, trackingData &td) |
Overridable function to handle the particle hitting a processorPatch. More... | |
void | hitWallPatch (moleculeCloud &cloud, trackingData &td) |
Overridable function to handle the particle hitting a wallPatch. More... | |
Public Member Functions inherited from particle< Type > | |
TypeName ("particle") | |
Runtime type information. More... | |
particle (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti) | |
Construct from components. More... | |
particle (const polyMesh &mesh, const vector &position, const label celli) | |
Construct from a position and a cell, searching for the rest of the. More... | |
particle (const polyMesh &mesh, Istream &, bool readFields=true) | |
Construct from Istream. More... | |
particle (const particle &p) | |
Construct as a copy. More... | |
particle (const particle &p, const polyMesh &mesh) | |
Construct as a copy with references to a new mesh. More... | |
virtual | ~particle () |
Destructor. More... | |
label | getNewParticleID () const |
Get unique particle creation id. More... | |
const polyMesh & | mesh () const |
Return the mesh database. More... | |
const barycentric & | coordinates () const |
Return current particle coordinates. More... | |
label | cell () const |
Return current cell particle is in. More... | |
label | tetFace () const |
Return current tet face particle is in. More... | |
label | tetPt () const |
Return current tet face particle is in. More... | |
label | face () const |
Return current face particle is on otherwise -1. More... | |
scalar | stepFraction () const |
Return the fraction of time-step completed. More... | |
scalar & | stepFraction () |
Return the fraction of time-step completed. More... | |
label | origProc () const |
Return the originating processor ID. More... | |
label & | origProc () |
Return the originating processor ID. More... | |
label | origId () const |
Return the particle ID on the originating processor. More... | |
label & | origId () |
Return the particle ID on the originating processor. More... | |
Pair< scalar > | stepFractionSpan () const |
Return the step fraction change within the overall time-step. More... | |
scalar | currentTimeFraction () const |
Return the current fraction within the timestep. This differs. More... | |
tetIndices | currentTetIndices () const |
Return the indices of the current tet that the. More... | |
barycentricTensor | currentTetTransform () const |
Return the current tet transformation tensor. More... | |
vector | normal () const |
Return the normal of the tri on tetFacei_ for the. More... | |
bool | onFace () const |
Is the particle on a face? More... | |
bool | onInternalFace () const |
Is the particle on an internal face? More... | |
bool | onBoundaryFace () const |
Is the particle on a boundary face? More... | |
label | patch () const |
Return the index of patch that the particle is on. More... | |
vector | position () const |
Return current particle position. More... | |
void | reset () |
Set step fraction and behind data to zero in preparation for a new. More... | |
scalar | track (const vector &displacement, const scalar fraction) |
Track along the displacement for a given fraction of the overall. More... | |
scalar | trackToCell (const vector &displacement, const scalar fraction) |
As particle::track, but stops when a new cell is reached. More... | |
scalar | trackToFace (const vector &displacement, const scalar fraction) |
As particle::track, but stops when a face is hit. More... | |
scalar | trackToTri (const vector &displacement, const scalar fraction, label &tetTriI) |
As particle::trackToFace, but stops when a tet triangle is hit. On. More... | |
scalar | trackToStationaryTri (const vector &displacement, const scalar fraction, label &tetTriI) |
As particle::trackToTri, but for stationary meshes. More... | |
scalar | trackToMovingTri (const vector &displacement, const scalar fraction, label &tetTriI) |
As particle::trackToTri, but for moving meshes. More... | |
template<class TrackCloudType > | |
void | hitFace (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
Hit the current face. If the current face is internal than this. More... | |
template<class TrackCloudType > | |
void | hitFaceNoChangeToMasterPatch (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
As above, but does not change the master patch. Needed in order for. More... | |
template<class TrackCloudType > | |
scalar | trackToAndHitFace (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
Convenience function. Combines trackToFace and hitFace. More... | |
vector | deviationFromMeshCentre () const |
Get the displacement from the mesh centre. Used to correct the. More... | |
void | patchData (vector &normal, vector &displacement) const |
Get the normal and displacement of the current patch location. More... | |
void | prepareForParallelTransfer () |
Convert global addressing to the processor patch local equivalents. More... | |
void | correctAfterParallelTransfer (const label patchi, trackingData &td) |
Convert processor patch addressing to the global equivalents. More... | |
void | prepareForInteractionListReferral (const transformer &transform) |
Break the topology and store the particle position so that the. More... | |
void | correctAfterInteractionListReferral (const label celli) |
Correct the topology after referral. The particle may still be. More... | |
label | procTetPt (const polyMesh &procMesh, const label procCell, const label procTetFace) const |
Return the tet point appropriate for decomposition or reconstruction. More... | |
void | autoMap (const vector &position, const mapPolyMesh &mapper) |
Map after a topology change. More... | |
void | writePosition (Ostream &) const |
Write the particle position and cell. More... | |
template<class TrackCloudType > | |
Foam::scalar | trackToAndHitFace (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
Static Public Member Functions | |
static void | readFields (Cloud< molecule > &mC) |
static void | writeFields (const Cloud< molecule > &mC) |
Static Public Member Functions inherited from particle< Type > | |
static string | propertyList () |
template<class TrackCloudType > | |
static void | readFields (TrackCloudType &c) |
Read the fields associated with the owner cloud. More... | |
template<class TrackCloudType > | |
static void | writeFields (const TrackCloudType &c) |
Write the fields associated with the owner cloud. More... | |
Friends | |
class | Cloud< molecule > |
Ostream & | operator<< (Ostream &, const molecule &) |
Additional Inherited Members | |
Static Public Attributes inherited from particle< Type > | |
static string | propertyList_ = Foam::particle::propertyList() |
String representation of properties. More... | |
static label | particleCount_ = 0 |
Cumulative particle counter - used to provide unique ID. More... | |
Protected Member Functions inherited from particle< Type > | |
template<class TrackCloudType > | |
bool | hitPatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a patch. More... | |
template<class TrackCloudType > | |
void | hitWedgePatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a wedgePatch. More... | |
template<class TrackCloudType > | |
void | hitSymmetryPlanePatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a. More... | |
template<class TrackCloudType > | |
void | hitSymmetryPatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a symmetryPatch. More... | |
template<class TrackCloudType > | |
void | hitCyclicPatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a cyclicPatch. More... | |
template<class TrackCloudType > | |
void | hitCyclicAMIPatch (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
Overridable function to handle the particle hitting a cyclicAMIPatch. More... | |
template<class TrackCloudType > | |
void | hitCyclicACMIPatch (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
Overridable function to handle the particle hitting a. More... | |
template<class TrackCloudType > | |
void | hitCyclicRepeatAMIPatch (const vector &displacement, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
Overridable function to handle the particle hitting an. More... | |
template<class TrackCloudType > | |
void | hitProcessorPatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a processorPatch. More... | |
template<class TrackCloudType > | |
void | hitWallPatch (TrackCloudType &, trackingData &) |
Overridable function to handle the particle hitting a wallPatch. More... | |
Definition at line 65 of file molecule.H.
enum specialTypes |
Enumerator | |
---|---|
SPECIAL_TETHERED | |
SPECIAL_FROZEN | |
NOT_SPECIAL | |
SPECIAL_USER |
Definition at line 81 of file molecule.H.
|
inline |
Construct from components.
Definition at line 221 of file moleculeI.H.
References molecule::setSitePositions().
Referenced by molecule::clone(), molecule::constantProperties::constantProperties(), and molecule::iNew::operator()().
|
inline |
Construct from a position and a cell, searching for the rest of the.
required topology
Definition at line 258 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().
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 307 of file molecule.H.
References molecule::molecule().
bool move | ( | moleculeCloud & | cloud, |
trackingData & | td, | ||
const scalar | trackTime | ||
) |
Definition at line 69 of file molecule.C.
References Foam::abort(), moleculeCloud::constProps(), f(), Foam::FatalError, FatalErrorInFunction, forAll, particle< Type >::trackingData::keepParticle, molecule::trackingData::part(), R, s(), molecule::setSitePositions(), particle< Type >::stepFraction(), particle< Type >::trackingData::switchProcessor, Tensor< Cmpt >::T(), molecule::trackingData::tpLinearTrack, molecule::trackingData::tpRotationalTrack, molecule::trackingData::tpVelocityHalfStep0, molecule::trackingData::tpVelocityHalfStep1, particle< Type >::trackToAndHitFace(), 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 189 of file molecule.C.
References molecule::SPECIAL_TETHERED, transformer::T(), Tensor< Cmpt >::T(), transformer::transform(), transformer::transformList(), transformer::transformPosition(), and particle< Type >::transformProperties().
Referenced by molecule::iNew::operator()().
void setSitePositions | ( | const constantProperties & | constProps | ) |
Definition at line 216 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 222 of file molecule.C.
References List< T >::setSize().
Referenced by molecule::iNew::operator()().
|
inline |
Definition at line 501 of file moleculeI.H.
Referenced by molecule::constantProperties::constantProperties(), molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
|
inline |
Definition at line 507 of file moleculeI.H.
|
inline |
Definition at line 513 of file moleculeI.H.
Referenced by molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
|
inline |
Definition at line 519 of file moleculeI.H.
|
inline |
Definition at line 525 of file moleculeI.H.
Referenced by molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
|
inline |
Definition at line 531 of file moleculeI.H.
|
inline |
Definition at line 537 of file moleculeI.H.
Referenced by molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
|
inline |
Definition at line 543 of file moleculeI.H.
|
inline |
Definition at line 549 of file moleculeI.H.
Referenced by molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
|
inline |
Definition at line 555 of file moleculeI.H.
|
inline |
Definition at line 561 of file moleculeI.H.
Referenced by molecule::iNew::operator()().
|
inline |
Definition at line 567 of file moleculeI.H.
|
inline |
Definition at line 573 of file moleculeI.H.
Referenced by molecule::iNew::operator()().
|
inline |
Definition at line 579 of file moleculeI.H.
|
inline |
Definition at line 585 of file moleculeI.H.
Referenced by molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
|
inline |
Definition at line 591 of file moleculeI.H.
|
inline |
Definition at line 597 of file moleculeI.H.
Referenced by molecule::iNew::operator()().
|
inline |
Definition at line 603 of file moleculeI.H.
|
inline |
Definition at line 609 of file moleculeI.H.
Referenced by molecule::iNew::operator()().
|
inline |
Definition at line 615 of file moleculeI.H.
|
inline |
Definition at line 621 of file moleculeI.H.
Referenced by molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
|
inline |
Definition at line 627 of file moleculeI.H.
References molecule::SPECIAL_TETHERED.
Referenced by molecule::iNew::operator()().
|
inline |
Definition at line 633 of file moleculeI.H.
Referenced by molecule::molecule(), molecule::iNew::operator()(), molecule::readFields(), and molecule::writeFields().
bool hitPatch | ( | moleculeCloud & | cloud, |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a patch.
Executed before other patch-hitting functions
Definition at line 230 of file molecule.C.
Referenced by molecule::iNew::operator()().
void hitProcessorPatch | ( | moleculeCloud & | cloud, |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a processorPatch.
Definition at line 236 of file molecule.C.
References particle< Type >::trackingData::switchProcessor.
Referenced by molecule::iNew::operator()().
void hitWallPatch | ( | moleculeCloud & | cloud, |
trackingData & | td | ||
) |
Overridable function to handle the particle hitting a wallPatch.
Definition at line 242 of file molecule.C.
References particle< Type >::normal(), and nw.
Referenced by molecule::iNew::operator()().
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(), molecule::v(), and Foam::vtkWriteOps::write().
Referenced by moleculeCloud::moleculeCloud(), and molecule::iNew::operator()().
Definition at line 150 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(), Foam::vtkWriteOps::write(), particle< Type >::writeFields(), and moleculeCloud::writeXYZ().
Referenced by molecule::iNew::operator()().
Definition at line 257 of file molecule.H.
Referenced by molecule::iNew::operator()().