36 #ifndef moleculeCloud_H
37 #define moleculeCloud_H
60 public Cloud<molecule>
81 void buildConstProps();
83 void setSiteSizesAndPositions();
86 void buildCellOccupancy();
88 void calculatePairForce();
90 inline void evaluatePair
96 inline bool evaluatePotentialLimit
102 void calculateTetherForce();
104 void calculateExternalForce();
106 void removeHighEnergyOverlaps();
108 void initialiseMolecules
115 const point& position,
117 label& nLocateBoundaryHits,
121 const vector& bulkVelocity
124 label nSites()
const;
126 inline vector equipartitionLinearVelocity
132 inline vector equipartitionAngularMomentum
177 const scalar targetTemperature,
178 const scalar measuredTemperature
Base cloud calls templated on particle type.
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.
Standard normal distribution. Not selectable.
A class for handling file names.
const potential & pot() const
const List< molecule::constantProperties > constProps() const
TypeName("moleculeCloud")
Runtime type information.
const List< DynamicList< molecule * > > & cellOccupancy() const
const polyMesh & mesh() const
void writeXYZ(const fileName &fName) const
Write molecule sites in XYZ format.
distributions::standardNormal & stdNormal()
const InteractionLists< molecule > & il() const
void operator=(const moleculeCloud &)=delete
Disallow default bitwise assignment.
randomGenerator & rndGen()
void evolve()
Evolve the molecules (move, calculate forces, control state etc)
void applyConstraintsAndThermostats(const scalar targetTemperature, const scalar measuredTemperature)
moleculeCloud(const polyMesh &mesh, const potential &pot, bool readFields=true)
Construct given mesh and potential references.
Class to hold molecule constant properties.
Mesh consisting of general polyhedral cells.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const HashSet< word > &selectedFields, LIFOStack< regIOobject * > &storedObjects)
Read the selected GeometricFields of the specified type.