Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
molecule Class Reference

Foam::molecule. More...

Inheritance diagram for molecule:
Inheritance graph
[legend]
Collaboration diagram for molecule:
Collaboration graph
[legend]

Classes

class  constantProperties
 
class  iNew
 
class  trackingData
 

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)
 
 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)
 
 molecule (const polyMesh &mesh, Istream &is, bool readFields=true, bool newFormat=true)
 
autoPtr< particleclone () const
 
bool move (moleculeCloud &, trackingData &, const scalar trackTime)
 
virtual void transformProperties (const tensor &T)
 
virtual void transformProperties (const vector &separation)
 
void setSitePositions (const constantProperties &constProps)
 
void setSiteSizes (label size)
 
const tensorQ () const
 
tensorQ ()
 
const vectorv () const
 
vectorv ()
 
const vectora () const
 
vectora ()
 
const vectorpi () const
 
vectorpi ()
 
const vectortau () const
 
vectortau ()
 
const List< vector > & siteForces () const
 
List< vector > & siteForces ()
 
const List< vector > & sitePositions () const
 
List< vector > & sitePositions ()
 
const vectorspecialPosition () const
 
vectorspecialPosition ()
 
scalar potentialEnergy () const
 
scalar & potentialEnergy ()
 
const tensorrf () const
 
tensorrf ()
 
label special () const
 
bool tethered () const
 
label id () const
 
bool hitPatch (moleculeCloud &cloud, trackingData &td)
 
void hitProcessorPatch (moleculeCloud &cloud, trackingData &td)
 
void hitWallPatch (moleculeCloud &cloud, trackingData &td)
 
- Public Member Functions inherited from particle< Type >
 TypeName ("particle")
 
 particle (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
 
 particle (const polyMesh &mesh, const vector &position, const label celli=-1)
 
 particle (const polyMesh &mesh, const vector &position, const label celli, const label tetFacei, const label tetPti, const bool doLocate=true)
 
 particle (const polyMesh &mesh, Istream &, bool readFields=true, bool newFormat=true)
 
 particle (const particle &p)
 
 particle (const particle &p, const polyMesh &mesh)
 
virtual ~particle ()=default
 
label getNewParticleID () const
 
const polyMeshmesh () const
 
const barycentriccoordinates () const
 
label cell () const
 
label & cell ()
 
label tetFace () const
 
label & tetFace ()
 
label tetPt () const
 
label & tetPt ()
 
label face () const
 
label & face ()
 
scalar stepFraction () const
 
scalar & stepFraction ()
 
label origProc () const
 
label & origProc ()
 
label origId () const
 
label & origId ()
 
Pair< scalar > stepFractionSpan () const
 
scalar currentTimeFraction () const
 
tetIndices currentTetIndices () const
 
barycentricTensor currentTetTransform () const
 
vector normal () const
 
bool onFace () const
 
bool onInternalFace () const
 
bool onBoundaryFace () const
 
label patch () const
 
vector position () const
 
void reset ()
 
scalar track (const vector &displacement, const scalar fraction)
 
scalar trackToFace (const vector &displacement, const scalar fraction)
 
scalar trackToTri (const vector &displacement, const scalar fraction, label &tetTriI)
 
scalar trackToStationaryTri (const vector &displacement, const scalar fraction, label &tetTriI)
 
scalar trackToMovingTri (const vector &displacement, const scalar fraction, label &tetTriI)
 
template<class TrackCloudType >
void hitFace (const vector &direction, TrackCloudType &cloud, trackingData &td)
 
template<class TrackCloudType >
void trackToAndHitFace (const vector &direction, const scalar fraction, TrackCloudType &cloud, trackingData &td)
 
vector deviationFromMeshCentre () const
 
void patchData (vector &n, vector &U) const
 
void prepareForParallelTransfer ()
 
void correctAfterParallelTransfer (const label patchi, trackingData &td)
 
void prepareForInteractionListReferral (const vectorTensorTransform &transform)
 
void correctAfterInteractionListReferral (const label celli)
 
label procTetPt (const polyMesh &procMesh, const label procCell, const label procTetFace) const
 
void autoMap (const vector &position, const mapPolyMesh &mapper)
 
void relocate (const point &position, const label celli=-1)
 
void writeProperties (Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly) const
 
void writeCoordinates (Ostream &os) const
 
virtual void writePosition (Ostream &os) const
 

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 Type >
static void writePropertyName (Ostream &os, const word &name, const word &delim)
 
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())
 
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())
 
template<class TrackCloudType >
static void readFields (TrackCloudType &c)
 
template<class TrackCloudType >
static void writeFields (const TrackCloudType &c)
 
template<class CloudType >
static void readObjects (CloudType &c, const objectRegistry &obr)
 
template<class CloudType >
static void writeObjects (const CloudType &c, objectRegistry &obr)
 

Static Public Attributes

static const std::size_t sizeofFields
 
- Static Public Attributes inherited from particle< Type >
static string propertyList_ = Foam::particle::propertyList()
 
static label particleCount_ = 0
 
static bool writeLagrangianCoordinates = true
 
static bool writeLagrangianPositions
 

Friends

class Cloud< molecule >
 
Ostreamoperator<< (Ostream &, const molecule &)
 

Additional Inherited Members

- Protected Member Functions inherited from particle< Type >
template<class TrackCloudType >
bool hitPatch (TrackCloudType &, trackingData &)
 
template<class TrackCloudType >
void hitWedgePatch (TrackCloudType &, trackingData &)
 
template<class TrackCloudType >
void hitSymmetryPlanePatch (TrackCloudType &, trackingData &)
 
template<class TrackCloudType >
void hitSymmetryPatch (TrackCloudType &, trackingData &)
 
template<class TrackCloudType >
void hitCyclicPatch (TrackCloudType &, trackingData &)
 
template<class TrackCloudType >
void hitCyclicAMIPatch (TrackCloudType &, trackingData &, const vector &)
 
template<class TrackCloudType >
void hitCyclicACMIPatch (TrackCloudType &, trackingData &, const vector &)
 
template<class TrackCloudType >
void hitProcessorPatch (TrackCloudType &, trackingData &)
 
template<class TrackCloudType >
void hitWallPatch (TrackCloudType &, trackingData &)
 

Detailed Description

Foam::molecule.

Source files

Definition at line 63 of file molecule.H.

Member Enumeration Documentation

◆ specialTypes

Enumerator
SPECIAL_TETHERED 
SPECIAL_FROZEN 
NOT_SPECIAL 
SPECIAL_USER 

Definition at line 77 of file molecule.H.

Constructor & Destructor Documentation

◆ molecule() [1/3]

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 
)
inline

Definition at line 219 of file moleculeI.H.

References molecule::setSitePositions().

Referenced by molecule::clone().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ molecule() [2/3]

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 
)
inline

Definition at line 256 of file moleculeI.H.

References molecule::setSitePositions().

Here is the call graph for this function:

◆ molecule() [3/3]

molecule ( const polyMesh mesh,
Istream is,
bool  readFields = true,
bool  newFormat = true 
)

Member Function Documentation

◆ clone()

autoPtr<particle> clone ( ) const
inlinevirtual

Reimplemented from particle< Type >.

Definition at line 282 of file molecule.H.

References molecule::molecule().

Here is the call graph for this function:

◆ move()

bool move ( moleculeCloud cloud,
trackingData td,
const scalar  trackTime 
)

◆ transformProperties() [1/2]

void transformProperties ( const tensor T)
virtual

Reimplemented from particle< Type >.

Definition at line 184 of file molecule.C.

References Foam::T(), Foam::transform(), and particle< Type >::transformProperties().

Here is the call graph for this function:

◆ transformProperties() [2/2]

void transformProperties ( const vector separation)
virtual

Reimplemented from particle< Type >.

Definition at line 206 of file molecule.C.

References particle< Type >::transformProperties().

Here is the call graph for this function:

◆ setSitePositions()

void setSitePositions ( const constantProperties constProps)

Definition at line 219 of file molecule.C.

References molecule::constantProperties::siteReferencePositions().

Referenced by molecule::molecule().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setSiteSizes()

void setSiteSizes ( label  size)

Definition at line 225 of file molecule.C.

◆ Q() [1/2]

Foam::tensor & Q ( ) const
inline

Definition at line 502 of file moleculeI.H.

Referenced by molecule::constantProperties::constantProperties(), and molecule::readFields().

Here is the caller graph for this function:

◆ Q() [2/2]

tensor& Q ( )
inline

◆ v() [1/2]

Foam::vector & v ( ) const
inline

Definition at line 514 of file moleculeI.H.

Referenced by moleculeCloud::applyConstraintsAndThermostats(), and molecule::readFields().

Here is the caller graph for this function:

◆ v() [2/2]

vector& v ( )
inline

◆ a() [1/2]

Foam::vector & a ( ) const
inline

Definition at line 526 of file moleculeI.H.

Referenced by molecule::readFields().

Here is the caller graph for this function:

◆ a() [2/2]

vector& a ( )
inline

◆ pi() [1/2]

Foam::vector & pi ( ) const
inline

Definition at line 538 of file moleculeI.H.

Referenced by moleculeCloud::applyConstraintsAndThermostats(), and molecule::readFields().

Here is the caller graph for this function:

◆ pi() [2/2]

vector& pi ( )
inline

◆ tau() [1/2]

Foam::vector & tau ( ) const
inline

Definition at line 550 of file moleculeI.H.

Referenced by molecule::readFields().

Here is the caller graph for this function:

◆ tau() [2/2]

vector& tau ( )
inline

◆ siteForces() [1/2]

Foam::List< Foam::vector > & siteForces ( ) const
inline

Definition at line 562 of file moleculeI.H.

Referenced by moleculeCloud::calculateForce().

Here is the caller graph for this function:

◆ siteForces() [2/2]

List<vector>& siteForces ( )
inline

◆ sitePositions() [1/2]

Foam::List< Foam::vector > & sitePositions ( ) const
inline

Definition at line 574 of file moleculeI.H.

Referenced by moleculeCloud::writeXYZ().

Here is the caller graph for this function:

◆ sitePositions() [2/2]

List<vector>& sitePositions ( )
inline

◆ specialPosition() [1/2]

Foam::vector & specialPosition ( ) const
inline

Definition at line 586 of file moleculeI.H.

Referenced by molecule::readFields().

Here is the caller graph for this function:

◆ specialPosition() [2/2]

vector& specialPosition ( )
inline

◆ potentialEnergy() [1/2]

Foam::scalar & potentialEnergy ( ) const
inline

Definition at line 598 of file moleculeI.H.

Referenced by moleculeCloud::calculateForce().

Here is the caller graph for this function:

◆ potentialEnergy() [2/2]

scalar& potentialEnergy ( )
inline

◆ rf() [1/2]

Foam::tensor & rf ( ) const
inline

Definition at line 610 of file moleculeI.H.

Referenced by moleculeCloud::calculateForce().

Here is the caller graph for this function:

◆ rf() [2/2]

tensor& rf ( )
inline

◆ special()

Foam::label special ( ) const
inline

Definition at line 622 of file moleculeI.H.

Referenced by molecule::readFields().

Here is the caller graph for this function:

◆ tethered()

bool tethered ( ) const
inline

Definition at line 628 of file moleculeI.H.

References molecule::SPECIAL_TETHERED.

◆ id()

Foam::label id ( ) const
inline

Definition at line 634 of file moleculeI.H.

Referenced by molecule::readFields(), and moleculeCloud::writeXYZ().

Here is the caller graph for this function:

◆ hitPatch()

bool hitPatch ( moleculeCloud cloud,
trackingData td 
)

Definition at line 233 of file molecule.C.

◆ hitProcessorPatch()

void hitProcessorPatch ( moleculeCloud cloud,
trackingData td 
)

Definition at line 239 of file molecule.C.

References particle< Type >::trackingData::switchProcessor.

◆ hitWallPatch()

void hitWallPatch ( moleculeCloud cloud,
trackingData td 
)

Definition at line 245 of file molecule.C.

◆ readFields()

void readFields ( Cloud< molecule > &  mC)
static

◆ writeFields()

void writeFields ( const Cloud< molecule > &  mC)
static

Friends And Related Function Documentation

◆ Cloud< molecule >

friend class Cloud< molecule >
friend

Definition at line 231 of file molecule.H.

◆ operator<<

Ostream& operator<< ( Ostream ,
const molecule  
)
friend

Member Data Documentation

◆ sizeofFields

const std::size_t sizeofFields
static

Definition at line 70 of file molecule.H.

Referenced by Foam::operator<<().


The documentation for this class was generated from the following files: