36 #ifndef moleculeCloud_H
37 #define moleculeCloud_H
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
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
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.
point position(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label facei, const label faceTrii, const scalar stepFraction)
Return the position given the coordinates and tet topology.
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.