#include <molecule/molecule.H>
Definition at line 57 of file molecule.H.
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. | |
![]() | |
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 string | propHeader |
String representation of properties. | |
![]() | |
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. | |
![]() | |
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.