38#ifndef Foam_moleculeCloud_H
39#define Foam_moleculeCloud_H
61 public Cloud<molecule>
80 void buildConstProps();
82 void setSiteSizesAndPositions();
85 void buildCellOccupancy();
87 void calculatePairForce();
89 inline void evaluatePair
95 inline bool evaluatePotentialLimit
101 void calculateTetherForce();
103 void calculateExternalForce();
105 void removeHighEnergyOverlaps();
107 void initialiseMolecules
114 const point& position,
119 const vector& bulkVelocity
122 label nSites()
const;
124 inline vector equipartitionLinearVelocity
130 inline vector equipartitionAngularMomentum
178 const scalar targetTemperature,
179 const scalar measuredTemperature
192 return cellOccupancy_;
202 return constPropList_;
207 return constPropList_[id];
Cloud(const polyMesh &mesh, const Foam::zero, const word &cloudName)
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Builds direct interaction list, specifying which local (real) cells are potentially in range of each ...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A cell is defined as a list of faces with extra functionality.
A class for handling file names.
const potential & pot() const
void writeXYZ(const fileName &fName) const
Write molecule sites in XYZ format.
const List< molecule::constantProperties > & constProps() const
const InteractionLists< molecule > & il() const
const molecule::constantProperties & constProps(label id) const
void operator=(const moleculeCloud &)=delete
No copy assignment.
void evolve()
Evolve the molecules (move, calculate forces, control state etc).
void applyConstraintsAndThermostats(const scalar targetTemperature, const scalar measuredTemperature)
const polyMesh & mesh() const noexcept
molecule parcelType
Type of parcel within the cloud.
moleculeCloud(const moleculeCloud &)=delete
No copy construct.
const List< DynamicList< molecule * > > & cellOccupancy() const
Class to hold molecule constant properties.
Mesh consisting of general polyhedral cells.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const NameMatchPredicate &selectedFields, DynamicList< regIOobject * > &storedObjects)
Read the selected GeometricFields of the templated type and store on the objectRegistry.
vector point
Point is a vector.