STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::trajectory::MotionSweepReader Struct Reference

Read-only abstract of the MotionSweeper class, below, with const pointers to non-modifiable data. More...

#include <motion_sweeper.h>

Collaboration diagram for stormm::trajectory::MotionSweepReader:

Public Member Functions

 MotionSweepReader (int nwu_in, const int4 *work_units_in, const double *total_mass_in, double com_scale_in, double mv_scale_in, double inrt_scale, const llint *xcom_in, const llint *ycom_in, const llint *zcom_in, const llint *xcom_nxt_in, const llint *ycom_nxt_in, const llint *zcom_nxt_in, const int *xcom_ovrf_in, const int *ycom_ovrf_in, const int *zcom_ovrf_in, const int *xcom_nxt_ovrf_in, const int *ycom_nxt_ovrf_in, const int *zcom_nxt_ovrf_in, const llint *xmv_in, const llint *ymv_in, const llint *zmv_in, const llint *xmv_nxt_in, const llint *ymv_nxt_in, const llint *zmv_nxt_in, const int *xmv_ovrf_in, const int *ymv_ovrf_in, const int *zmv_ovrf_in, const int *xmv_nxt_ovrf_in, const int *ymv_nxt_ovrf_in, const int *zmv_nxt_ovrf_in, const llint *rxmv_in, const llint *rymv_in, const llint *rzmv_in, const llint *rxmv_nxt_in, const llint *rymv_nxt_in, const llint *rzmv_nxt_in, const int *rxmv_ovrf_in, const int *rymv_ovrf_in, const int *rzmv_ovrf_in, const int *rxmv_nxt_ovrf_in, const int *rymv_nxt_ovrf_in, const int *rzmv_nxt_ovrf_in, const llint *inrt_in, const llint *inrt_nxt_in, const int *inrt_ovrf_in, const int *inrt_nxt_ovrf_in)
 As with other abstracts, the constructor takes critical constants and pointers to initialize each of its member variables. Constructors to covert the writeable abstract to the read-only abstract are also provided.
 
 MotionSweepReader (const MotionSweepWriter *w)
 
 MotionSweepReader (const MotionSweepWriter &w)
 
 MotionSweepReader (const MotionSweepReader &original)=default
 As with other abstracts, the presence of any const members invalidates the copy and move assignment operators (unless using special features of more recent C++ standards). The default copy and move constructors may be taken.
 
 MotionSweepReader (MotionSweepReader &&original)=default
 

Public Attributes

const int nwu
 The number of work units.
 
const int4work_units
 
const double * total_mass
 Total masses of each system in the synthesis.
 
const double com_scale
 
const double mv_scale
 
const double inrt_scale
 
const llint * xcom
 Accumulators for center of mass along the X dimension.
 
const llint * ycom
 Accumulators for center of mass along the Y dimension.
 
const llint * zcom
 Accumulators for center of mass along the Z dimension.
 
const llint * xcom_nxt
 Accumulators for COM along X in the next iteration.
 
const llint * ycom_nxt
 Accumulators for COM along Y in the next iteration.
 
const llint * zcom_nxt
 Accumulators for COM along Z in the next iteration.
 
const int * xcom_ovrf
 Overflow bits for center of mass in the X dimension.
 
const int * ycom_ovrf
 Overflow bits for center of mass in the Y dimension.
 
const int * zcom_ovrf
 Overflow bits for center of mass in the Z dimension.
 
const int * xcom_nxt_ovrf
 Overflow bits for COM along X in the next iteration.
 
const int * ycom_nxt_ovrf
 Overflow bits for COM along Y in the next iteration.
 
const int * zcom_nxt_ovrf
 Overflow bits for COM along Z in the next iteration.
 
const llint * xmv
 Accumulators for net momentum along the X dimension.
 
const llint * ymv
 Accumulators for net momentum along the Y dimension.
 
const llint * zmv
 Accumulators for net momentum along the Z dimension.
 
const llint * xmv_nxt
 Accumulators for net momentum in X in the next iteration.
 
const llint * ymv_nxt
 Accumulators for net momentum in Y in the next iteration.
 
const llint * zmv_nxt
 Accumulators for net momentum in Z in the next iteration.
 
const int * xmv_ovrf
 Overflow bits for net momentum in the X dimension.
 
const int * ymv_ovrf
 Overflow bits for net momentum in the Y dimension.
 
const int * zmv_ovrf
 Overflow bits for net momentum in the Z dimension.
 
const int * xmv_nxt_ovrf
 Overflow bits for net momentum in X in the next iteration.
 
const int * ymv_nxt_ovrf
 Overflow bits for net momentum in Y in the next iteration.
 
const int * zmv_nxt_ovrf
 Overflow bits for net momentum in Z in the next iteration.
 
const llint * rxmv
 Accumulators for angular momentum about the X axis.
 
const llint * rymv
 Accumulators for angular momentum about the Y axis.
 
const llint * rzmv
 Accumulators for angular momentum about the Z axis.
 
const llint * rxmv_nxt
 Angular momentum about the X axis in the next iteration.
 
const llint * rymv_nxt
 Angular momentum about the Y axis in the next iteration.
 
const llint * rzmv_nxt
 Angular momentum about the Z axis in the next iteration.
 
const int * rxmv_ovrf
 Overflow bits for angular momentum about the X axis.
 
const int * rymv_ovrf
 Overflow bits for angular momentum about the Y axis.
 
const int * rzmv_ovrf
 Overflow bits for angular momentum about the Z axis.
 
const int * rxmv_nxt_ovrf
 Overflow bits for X axis angular momentum in the next iteration.
 
const int * rymv_nxt_ovrf
 Overflow bits for Y axis angular momentum in the next iteration.
 
const int * rzmv_nxt_ovrf
 Overflow bits for Z axis angular momentum in the next iteration.
 
const llint * inrt
 
const llint * inrt_nxt
 Accumulators for the intertial tensor in the next iteration.
 
const int * inrt_ovrf
 Overflow bits for the intertial tensor.
 
const int * inrt_nxt_ovrf
 Overflow bits for the intertial tensor in the next iteration.
 

Detailed Description

Read-only abstract of the MotionSweeper class, below, with const pointers to non-modifiable data.

Constructor & Destructor Documentation

◆ MotionSweepReader()

stormm::trajectory::MotionSweepReader::MotionSweepReader ( const MotionSweepReader & original)
default

As with other abstracts, the presence of any const members invalidates the copy and move assignment operators (unless using special features of more recent C++ standards). The default copy and move constructors may be taken.

Parameters
originalThe original abstract to copy or move

Member Data Documentation

◆ com_scale

const double stormm::trajectory::MotionSweepReader::com_scale

Scaling factor taking quantities in units of g/mol - Angstroms into the fixed-precision format of the momentum accumulators

◆ inrt

const llint* stormm::trajectory::MotionSweepReader::inrt

Accumulators for the intertial tensor. Slots for each system are stored back-to-back, i.e. the slots for system i are (6 * i, (6 * i) + 1, ..., (6 * i) + 5, and slots for system i + 1 are (6 * i) + 6, (6 * i) + 7, ..., (6 * i) + 11.

◆ inrt_scale

const double stormm::trajectory::MotionSweepReader::inrt_scale

Scaling factor taking quantities in units of g/mol - squared Angstroms into the fixed-precision format of the inertial tensor accumulators

◆ mv_scale

const double stormm::trajectory::MotionSweepReader::mv_scale

Scaling factor taking quantities in units of g/mol - Angstroms per fs into the fixed-precision format of the momentum accumulators

◆ work_units

const int4* stormm::trajectory::MotionSweepReader::work_units

Work units spanning all systems. Members of each tuple contain the index of the starting atom for the work unit to accumulate, upper limit of atom indices, and the system index to which the accumulation pertains in the "x", "y", and "z" members. The "w" member of each tuple indicates other tasks assigned to any given work unit.


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