STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::review::MeshFoundation Class Reference

A small object to hold the essential descriptors of the molecule. More...

#include <mesh_foundation.h>

Public Member Functions

int getReadyFrameCount () const
 Get an indication of whether the object has enough information to direct the construction of a mesh.
 
const AtomGraphgetTopologyPointer () const
 Get a const pointer to the topology responsible for creating the associated mesh.
 
const CoordinateFramegetCoordinatePointer () const
 Get a const pointer to the coordinates responsible for creating the associated mesh.
 
template<typename Tcoord>
const CoordinateSeries< Tcoord > * getEnsemblePointer () const
 Get a const reference to the array of structures (each stored as a CoordinateFrame) reponsible for creating the associated mesh.
 
size_t getEnsembleTypeCode () const
 Get the codified data type of the ensemble.
 
std::vector< uint > getFrozenAtomMask () const
 Get the frozen atom mask.
 
int getCommentCount () const
 Get the number of comments appended to the mesh.
 
const std::string & getComment (int comm_index) const
 Get a comment from the list in the mesh.
 
MeshBasicsKit data (HybridTargetLevel tier=HybridTargetLevel::HOST) const
 Get the object's abstract.
 
void setTopology (const AtomGraph *ag_in)
 Set the topology that the mesh shall use. This will allocate and populate the Hybrid array pertaining to the frozen atoms mask. All other mesh data is resized as needed by the allocate() member function.
 
void computeNeighborLists (const MeshParameters &mps, const MeshRulers &rlrs, const MeshKlManager &launcher=MeshKlManager(), PrecisionModel prec=PrecisionModel::SINGLE, HybridTargetLevel availability=HybridTargetLevel::HOST)
 Compute neighbor lists for each mesh element, if appropriate for the mesh type.
 
void addComment (const std::string &verbiage)
 Add a comment to the mesh.
 
void clearComments ()
 Clear the list of comments in the mesh.
 
 MeshFoundation (const CoordinateFrame *cf_in=nullptr, const AtomGraph *ag_in=nullptr, const std::vector< std::string > &comments={1, "Generated by STORMM"})
 The constructor accepts a topology some form of coordinates. It is overloaded to accept various valid coordinate objects.
 
 MeshFoundation (const CoordinateFrame &cf, const AtomGraph &ag_in, const std::vector< std::string > &comments={1, "Generated by STORMM"})
 
template<typename T>
 MeshFoundation (const CoordinateSeries< T > *cs, const AtomGraph *ag_in=nullptr, const std::vector< std::string > &comments={1, "Generated by STORMM"})
 
template<typename T>
 MeshFoundation (const CoordinateSeries< T > &cs, const AtomGraph &ag_in, const std::vector< std::string > &comments={1, "Generated by STORMM"})
 
void setCoordinates (const CoordinateFrame *cf_in)
 Set the coordinates that the mesh shall use.
 
void setCoordinates (const CoordinateFrame &cf_in)
 
template<typename Tcoord>
void setEnsemble (const CoordinateSeries< Tcoord > *cs_in)
 Set the series of coordinates that the mesh shall use.
 
template<typename Tcoord>
void setEnsemble (const CoordinateSeries< Tcoord > &cs_in)
 

Detailed Description

A small object to hold the essential descriptors of the molecule.

Member Function Documentation

◆ addComment()

void stormm::structure::MeshFoundation::addComment ( const std::string & verbiage)

Add a comment to the mesh.

Parameters
verbiageThe comment to include

◆ computeNeighborLists()

void stormm::structure::MeshFoundation::computeNeighborLists ( const MeshParameters & mps,
const MeshRulers & rlrs,
const MeshKlManager & launcher = MeshKlManager(),
PrecisionModel prec = PrecisionModel::SINGLE,
HybridTargetLevel availability = HybridTargetLevel::HOST )

Compute neighbor lists for each mesh element, if appropriate for the mesh type.

Parameters
mpsParameters for the mesh of interest, to provide context for the coordinates contained in this object
rlrsPre-computed rulers to aid in ascertaining the location of each atom with standardized precision
launcherManager for mesh kernels, dispenses launch parameters
precPrecision model to use in GPU-based mesh construction computations
availabilityLevel at which the data is expected to be available

◆ data()

MeshBasicsKit stormm::structure::MeshFoundation::data ( HybridTargetLevel tier = HybridTargetLevel::HOST) const

Get the object's abstract.

Parameters
tierIndicate whether to target pointers to memory on the CPU host or GPU device

◆ getComment()

const std::string & stormm::structure::MeshFoundation::getComment ( int comm_index) const

Get a comment from the list in the mesh.

Parameters
comm_indexThe index of the comment to retrieve (this will be checked for validity)

◆ setCoordinates()

void stormm::structure::MeshFoundation::setCoordinates ( const CoordinateFrame * cf_in)

Set the coordinates that the mesh shall use.

Overloaded:

  • Supply the coordinates by const pointer
  • Supply the coordinates by const reference
Parameters
cf_inPointer or reference to the coordinates of interest

◆ setEnsemble()

template<typename Tcoord>
void stormm::structure::MeshFoundation::setEnsemble ( const CoordinateSeries< Tcoord > * cs_in)

Set the series of coordinates that the mesh shall use.

Overloaded:

  • Supply the coordinates by const pointer
  • Supply the coordinates by const reference
Parameters
cs_inPointer or reference to the coordinates of interest

◆ setTopology()

void stormm::structure::MeshFoundation::setTopology ( const AtomGraph * ag_in)

Set the topology that the mesh shall use. This will allocate and populate the Hybrid array pertaining to the frozen atoms mask. All other mesh data is resized as needed by the allocate() member function.

Parameters
ag_inPointer to the topology of interest

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