FreeFOAM The Cross-Platform CFD Toolkit
molecule Class Reference

Foam::molecule. More...

#include <molecule/molecule.H>


Detailed Description

+ Inheritance diagram for molecule:
+ Collaboration diagram for molecule:

List of all members.

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< moleculeclone () 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 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 (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 vectorposition () const
 Return current particle position.
vectorposition ()
 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 >
Ostreamoperator<< (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.

Member Enumeration Documentation

Enumerator:
SPECIAL_TETHERED 
SPECIAL_FROZEN 
NOT_SPECIAL 
SPECIAL_USER 

Definition at line 68 of file molecule.H.


Constructor & Destructor Documentation

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

Construct from components.

Definition at line 221 of file moleculeI.H.

References molecule::setSitePositions().

Referenced by molecule::clone().

molecule ( const Cloud< molecule > &  c,
Istream is,
bool  readFields = true 
)

Construct from Istream.

Definition at line 33 of file moleculeIO.C.

References readScalar.


Member Function Documentation

autoPtr<molecule> clone ( ) const
inline

Construct and return a clone.

Reimplemented from Particle< molecule >.

Definition at line 259 of file molecule.H.

References molecule::molecule().

void transformProperties ( const tensor T)
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.

void transformProperties ( const vector separation)
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.

const Foam::tensor & Q ( ) const
inline
Foam::tensor & Q ( )
inline

Definition at line 485 of file moleculeI.H.

const Foam::vector & v ( ) const
inline

Definition at line 491 of file moleculeI.H.

Referenced by molecule::readFields().

Foam::vector & v ( )
inline

Definition at line 497 of file moleculeI.H.

const Foam::vector & a ( ) const
inline

Definition at line 503 of file moleculeI.H.

Referenced by molecule::readFields().

Foam::vector & a ( )
inline

Definition at line 509 of file moleculeI.H.

const Foam::vector & pi ( ) const
inline

Definition at line 515 of file moleculeI.H.

Referenced by molecule::readFields().

Foam::vector & pi ( )
inline

Definition at line 521 of file moleculeI.H.

const Foam::vector & tau ( ) const
inline

Definition at line 527 of file moleculeI.H.

Referenced by molecule::readFields().

Foam::vector & tau ( )
inline

Definition at line 533 of file moleculeI.H.

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

Definition at line 539 of file moleculeI.H.

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

Definition at line 545 of file moleculeI.H.

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

Definition at line 551 of file moleculeI.H.

Referenced by referredCellList::referMolecules().

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

Definition at line 557 of file moleculeI.H.

const Foam::vector & specialPosition ( ) const
inline

Definition at line 563 of file moleculeI.H.

Referenced by molecule::readFields().

Foam::vector & specialPosition ( )
inline

Definition at line 569 of file moleculeI.H.

Foam::scalar potentialEnergy ( ) const
inline

Definition at line 575 of file moleculeI.H.

Foam::scalar & potentialEnergy ( )
inline

Definition at line 581 of file moleculeI.H.

const Foam::tensor & rf ( ) const
inline

Definition at line 587 of file moleculeI.H.

Foam::tensor & rf ( )
inline

Definition at line 593 of file moleculeI.H.

Foam::label special ( ) const
inline

Definition at line 599 of file moleculeI.H.

Referenced by molecule::readFields().

bool tethered ( ) const
inline

Definition at line 605 of file moleculeI.H.

References molecule::SPECIAL_TETHERED.

Foam::label id ( ) const
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.


Friends And Related Function Documentation

friend class Cloud< molecule >
friend

Definition at line 229 of file molecule.H.

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

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