#include <molecule/molecule.H>
Definition at line 57 of file molecule.H.
Inheritance diagram for molecule:
Collaboration diagram for molecule:Classes | |
| class | constantProperties |
| Class to hold molecule constant properties. More... | |
| class | trackData |
| 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 Cloud< molecule > &c, 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 components. | |
| molecule (const Cloud< molecule > &c, Istream &is, bool readFields=true) | |
| Construct from Istream. | |
| autoPtr< molecule > | clone () const |
| Construct and return a clone. | |
| bool | move (trackData &) |
| void | transformProperties (const tensor &T) |
| Transform the physical properties of the particle. | |
| void | transformProperties (const vector &separation) |
| Transform the physical properties of the particle. | |
| 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 &, molecule::trackData &td, const label patchI) |
| Overridable function to handle the particle hitting a patch. | |
| bool | hitPatch (const polyPatch &p, int &td, const label patchI) |
| Overridable function to handle the particle hitting a patch. | |
| void | hitProcessorPatch (const processorPolyPatch &, molecule::trackData &td) |
| Overridable function to handle the particle hitting a processorPatch. | |
| void | hitProcessorPatch (const processorPolyPatch &, int &) |
| Overridable function to handle the particle hitting a processorPatch. | |
| void | hitWallPatch (const wallPolyPatch &, molecule::trackData &td) |
| Overridable function to handle the particle hitting a wallPatch. | |
| void | hitWallPatch (const wallPolyPatch &, int &) |
| Overridable function to handle the particle hitting a wallPatch. | |
| void | hitPatch (const polyPatch &, molecule::trackData &td) |
| Overridable function to handle the particle hitting a polyPatch. | |
| void | hitPatch (const polyPatch &, int &) |
| Overridable function to handle the particle hitting a polyPatch. | |
Public Member Functions inherited from Particle< molecule > | |
| TypeName ("Particle") | |
| Runtime type information. | |
| Particle (const Cloud< molecule > &, const vector &position, const label celli) | |
| Construct from components. | |
| Particle (const Cloud< molecule > &, Istream &, bool readFields=true) | |
| Construct from Istream. | |
| Particle (const Particle &p) | |
| Construct as a copy. | |
| virtual | ~Particle () |
| Destructor. | |
| bool | inCell () const |
| Return true if particle is in cell. | |
| bool | inCell (const vector &position, const label celli, const scalar stepFraction) const |
| Return true if position is in cell i. | |
| const vector & | position () const |
| Return current particle position. | |
| vector & | position () |
| Return current particle position. | |
| label & | cell () |
| Return current cell particle is in. | |
| label | cell () const |
| Return current cell particle is in. | |
| label | face () const |
| Return current face particle is on otherwise -1. | |
| const Cloud< molecule > & | cloud () const |
| Return reference to the particle cloud. | |
| bool | softImpact () const |
| Return the impact model to be used, soft or hard (default). | |
| scalar | currentTime () const |
| Return the particle current time. | |
| bool | onBoundary () const |
| Is the particle on the boundary/(or outside the domain)? | |
| label | patch (const label facei) const |
| Which patch is particle on. | |
| label | patchFace (const label patchi, const label facei) const |
| Which face of this patch is this particle on. | |
| scalar | wallImpactDistance (const vector &n) const |
| The nearest distance to a wall that. | |
| scalar & | stepFraction () |
| Return the fraction of time-step completed. | |
| scalar | stepFraction () const |
| Return the fraction of time-step completed. | |
| label | origProc () const |
| Return the originating processor id. | |
| label | origId () const |
| Return the particle id on originating processor. | |
| label | track (const vector &endPosition, TrackData &td) |
| Track particle to end of trajectory. | |
| label | track (const vector &endPosition) |
| Calls the templated track with dummy TrackData. | |
| scalar | trackToFace (const vector &endPosition, TrackData &td) |
| Track particle to a given position and returns 1.0 if the. | |
| scalar | trackToFace (const vector &endPosition) |
| Calls the templated trackToFace with dummy TrackData. | |
| label | faceInterpolation () const |
| Return the index of the face to be used in the interpolation. | |
| void | write (Ostream &os, bool writeFields) const |
| Write the particle data. | |
Static Public Member Functions | |
| static void | readFields (Cloud< molecule > &mC) |
| Read the fields associated with the owner cloud. | |
| static void | writeFields (const Cloud< molecule > &mC) |
| Write the fields associated with the owner cloud. | |
Friends | |
| class | Cloud< molecule > |
| Ostream & | operator<< (Ostream &, const molecule &) |
Additional Inherited Members | |
Static Public Attributes inherited from Particle< molecule > | |
| static string | propHeader |
| String representation of properties. | |
Protected Member Functions inherited from Particle< molecule > | |
| scalar | lambda (const vector &from, const vector &to, const label facei, const scalar stepFraction) const |
| Return the 'lambda' value for the position, p, on the face,. | |
| scalar | lambda (const vector &from, const vector &to, const label facei) const |
| Return the 'lambda' value for the position, p, on the face,. | |
| void | findFaces (const vector &position, DynamicList< label > &faceList) const |
| Find the faces between position and cell centre. | |
| void | findFaces (const vector &position, const label celli, const scalar stepFraction, DynamicList< label > &faceList) const |
| Find the faces between position and cell centre. | |
| bool | hitPatch (const polyPatch &, TrackData &td, const label patchI) |
| Overridable function to handle the particle hitting a patch. | |
| void | hitPatch (const polyPatch &, TrackData &td) |
| Overridable function to handle the particle hitting a. | |
| void | hitWedgePatch (const wedgePolyPatch &, TrackData &td) |
| Overridable function to handle the particle hitting a wedgePatch. | |
| void | hitSymmetryPatch (const symmetryPolyPatch &, TrackData &td) |
| Overridable function to handle the particle hitting a. | |
| void | hitCyclicPatch (const cyclicPolyPatch &, TrackData &td) |
| Overridable function to handle the particle hitting a cyclicPatch. | |
| void | hitProcessorPatch (const processorPolyPatch &, TrackData &td) |
| Overridable function to handle the particle hitting a. | |
| void | hitWallPatch (const wallPolyPatch &, TrackData &td) |
| Overridable function to handle the particle hitting a wallPatch. | |
| virtual void | transformPosition (const tensor &T) |
| Transform the position the particle. | |
| void | prepareForParallelTransfer (const label patchi, TrackData &td) |
| Convert global addressing to the processor patch. | |
| void | correctAfterParallelTransfer (const label patchi, TrackData &td) |
| Convert processor patch addressing to the global equivalents. | |
Protected Attributes inherited from Particle< molecule > | |
| const Cloud< molecule > & | cloud_ |
| Reference to the particle cloud. | |
| vector | position_ |
| Position of particle. | |
| label | celli_ |
| Index of the cell it is in. | |
| label | facei_ |
| Face index if the particle is on a face otherwise -1. | |
| scalar | stepFraction_ |
| Fraction of time-step completed. | |
| label | origProc_ |
| Originating processor id. | |
| label | origId_ |
| Local particle id on originating processor. | |
| enum specialTypes |
Definition at line 68 of file molecule.H.
|
inline |
Construct from components.
Definition at line 221 of file moleculeI.H.
References molecule::setSitePositions().
Referenced by molecule::clone().
Construct and return a clone.
Reimplemented from Particle< molecule >.
Definition at line 259 of file molecule.H.
References molecule::molecule().
| bool move | ( | molecule::trackData & | td | ) |
Definition at line 83 of file molecule.C.
References Foam::abort(), moleculeCloud::constProps(), TimeState::deltaT(), f(), Foam::FatalError, FatalErrorIn, forAll, Particle< ParticleType >::trackData::keepParticle, Foam::min(), molecule::trackData::molCloud(), Foam::nl, molecule::trackData::part(), R, Particle< ParticleType >::trackData::switchProcessor, objectRegistry::time(), dimensioned< Type >::value(), Vector< Cmpt >::x(), and Vector< scalar >::zero.
|
virtual |
Transform the physical properties of the particle.
according to the given transformation tensor
Reimplemented from Particle< molecule >.
Definition at line 210 of file molecule.C.
|
virtual |
Transform the physical properties of the particle.
according to the given separation vector
Reimplemented from Particle< molecule >.
Definition at line 220 of file molecule.C.
| void setSitePositions | ( | const constantProperties & | constProps | ) |
Definition at line 229 of file molecule.C.
References molecule::constantProperties::siteReferencePositions().
Referenced by molecule::molecule().
| void setSiteSizes | ( | label | size | ) |
Definition at line 235 of file molecule.C.
|
inline |
Definition at line 479 of file moleculeI.H.
Referenced by molecule::constantProperties::constantProperties(), and molecule::readFields().
|
inline |
Definition at line 485 of file moleculeI.H.
|
inline |
Definition at line 491 of file moleculeI.H.
Referenced by molecule::readFields().
|
inline |
Definition at line 497 of file moleculeI.H.
|
inline |
Definition at line 503 of file moleculeI.H.
Referenced by molecule::readFields().
|
inline |
Definition at line 509 of file moleculeI.H.
|
inline |
Definition at line 515 of file moleculeI.H.
Referenced by molecule::readFields().
|
inline |
Definition at line 521 of file moleculeI.H.
|
inline |
Definition at line 527 of file moleculeI.H.
Referenced by molecule::readFields().
|
inline |
Definition at line 533 of file moleculeI.H.
|
inline |
Definition at line 539 of file moleculeI.H.
|
inline |
Definition at line 545 of file moleculeI.H.
|
inline |
Definition at line 551 of file moleculeI.H.
Referenced by referredCellList::referMolecules().
|
inline |
Definition at line 557 of file moleculeI.H.
|
inline |
Definition at line 563 of file moleculeI.H.
Referenced by molecule::readFields().
|
inline |
Definition at line 569 of file moleculeI.H.
|
inline |
Definition at line 575 of file moleculeI.H.
|
inline |
Definition at line 581 of file moleculeI.H.
|
inline |
Definition at line 587 of file moleculeI.H.
|
inline |
Definition at line 593 of file moleculeI.H.
|
inline |
Definition at line 599 of file moleculeI.H.
Referenced by molecule::readFields().
|
inline |
Definition at line 605 of file moleculeI.H.
References molecule::SPECIAL_TETHERED.
|
inline |
Definition at line 611 of file moleculeI.H.
Referenced by molecule::readFields(), and referredCellList::referMolecules().
| bool hitPatch | ( | const polyPatch & | , |
| molecule::trackData & | td, | ||
| const label | patchI | ||
| ) |
Overridable function to handle the particle hitting a patch.
Executed before other patch-hitting functions
Definition at line 244 of file molecule.C.
| bool hitPatch | ( | const polyPatch & | p, |
| int & | td, | ||
| const label | patchI | ||
| ) |
Overridable function to handle the particle hitting a patch.
Executed before other patch-hitting functions without trackData
Definition at line 255 of file molecule.C.
| void hitProcessorPatch | ( | const processorPolyPatch & | , |
| molecule::trackData & | td | ||
| ) |
Overridable function to handle the particle hitting a processorPatch.
Definition at line 266 of file molecule.C.
References Particle< ParticleType >::trackData::switchProcessor.
| void hitProcessorPatch | ( | const processorPolyPatch & | , |
| int & | |||
| ) |
Overridable function to handle the particle hitting a processorPatch.
without trackData
Definition at line 276 of file molecule.C.
| void hitWallPatch | ( | const wallPolyPatch & | wpp, |
| molecule::trackData & | td | ||
| ) |
Overridable function to handle the particle hitting a wallPatch.
Definition at line 284 of file molecule.C.
References polyPatch::faceAreas(), Foam::mag(), and polyPatch::whichFace().
| void hitWallPatch | ( | const wallPolyPatch & | , |
| int & | |||
| ) |
Overridable function to handle the particle hitting a wallPatch.
without trackData
Definition at line 303 of file molecule.C.
| void hitPatch | ( | const polyPatch & | , |
| molecule::trackData & | td | ||
| ) |
Overridable function to handle the particle hitting a polyPatch.
Definition at line 311 of file molecule.C.
References Particle< ParticleType >::trackData::keepParticle.
| void hitPatch | ( | const polyPatch & | , |
| int & | |||
| ) |
Overridable function to handle the particle hitting a polyPatch.
without trackData
Definition at line 321 of file molecule.C.
|
static |
Read the fields associated with the owner cloud.
Reimplemented from Particle< molecule >.
Definition at line 100 of file moleculeIO.C.
References molecule::a(), Cloud< ParticleType >::checkFieldIOobject(), Cloud< ParticleType >::fieldIOobject(), forAllIter, molecule::id(), IOobject::MUST_READ, molecule::pi(), molecule::Q(), Cloud< ParticleType >::size(), molecule::special(), molecule::specialPosition(), molecule::tau(), and molecule::v().
Referenced by moleculeCloud::moleculeCloud().
Write the fields associated with the owner cloud.
Reimplemented from Particle< molecule >.
Definition at line 154 of file moleculeIO.C.
References Cloud< ParticleType >::fieldIOobject(), forAllConstIter, moleculeCloud::mesh(), IOobject::NO_READ, Foam::mathematicalConstant::pi(), Cloud< ParticleType >::size(), objectRegistry::time(), Time::timePath(), regIOobject::write(), Particle< ParticleType >::writeFields(), and moleculeCloud::writeXYZ().
Definition at line 229 of file molecule.H.