114 void checkSiteListSizes()
const;
116 void setInteracionSiteBools
122 bool linearMoleculeTest()
const;
160 inline scalar
mass()
const;
162 inline label
nSites()
const;
187 inline label
part()
const
210 scalar potentialEnergy_;
226 tensor rotationTensorX(scalar deltaT)
const;
228 tensor rotationTensorY(scalar deltaT)
const;
230 tensor rotationTensorZ(scalar deltaT)
const;
245 const label tetFacei,
282 bool newFormat =
true
327 inline const tensor&
Q()
const;
330 inline const vector&
v()
const;
333 inline const vector&
a()
const;
361 inline label
id()
const;
Base cloud calls templated on particle type.
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
static autoPtr< T > New(Args &&... args)
Construct autoPtr with forwarding arguments.
A cloud is a registry collection of lagrangian particles.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Class to hold molecule constant properties.
const diagTensor & momentOfInertia() const
bool pointMolecule() const
const Field< vector > & siteReferencePositions() const
const List< label > & siteIds() const
const List< bool > & pairPotentialSites() const
const List< scalar > & siteCharges() const
bool pairPotentialSite(label sId) const
bool electrostaticSite(label sId) const
label degreesOfFreedom() const
const List< scalar > & siteMasses() const
const List< bool > & electrostaticSites() const
bool linearMolecule() const
iNew(const polyMesh &mesh)
autoPtr< molecule > operator()(Istream &is) const
Class used to pass tracking data to the trackToFace function.
trackingData(moleculeCloud &cloud, label part)
virtual void transformProperties(const tensor &T)
Transform the physical properties of the particle.
bool move(moleculeCloud &, trackingData &, const scalar trackTime)
void setSiteSizes(label size)
const List< vector > & sitePositions() const
const List< vector > & siteForces() const
const vector & specialPosition() const
void setSitePositions(const constantProperties &constProps)
const tensor & rf() const
virtual autoPtr< particle > clone() const
Return a clone.
static const std::size_t sizeofFields
Size in bytes of the fields.
const vector & tau() const
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)
Construct from components.
scalar potentialEnergy() const
friend Ostream & operator<<(Ostream &, const molecule &)
static void writeFields(const Cloud< molecule > &mC)
const vector & pi() const
static void readFields(Cloud< molecule > &mC)
bool hitPatch(moleculeCloud &cloud, trackingData &td)
Overridable function to handle the particle hitting a patch.
void hitWallPatch(moleculeCloud &cloud, trackingData &td)
Overridable function to handle the particle hitting a wallPatch.
void hitProcessorPatch(moleculeCloud &cloud, trackingData &td)
Overridable function to handle the particle hitting a processorPatch.
vector position() const
Return current particle position.
static autoPtr< particle > Clone(const Derived &p)
Clone a particle.
const polyMesh & mesh() const noexcept
Return the mesh database.
const barycentric & coordinates() const noexcept
Return current particle coordinates.
particle(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
Construct from components.
Mesh consisting of general polyhedral cells.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
DiagTensor< scalar > diagTensor
DiagTensor of scalars, i.e. DiagTensor<scalar>.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces).
Barycentric< scalar > barycentric
A scalar version of the templated Barycentric.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)