STORMM Source Documentation
|
The writer for a PhaseSpaceSynthesis object, containing all of the data relevant for propagating dynamics in a collection of systems. More...
#include <phasespace_synthesis.h>
Public Member Functions | |
PsSynthesisWriter (int system_count_in, int unique_topology_count_in, UnitCellType unit_cell_in, const int *atom_starts_in, const int *atom_counts_in, const int *common_ag_list_in, const int *common_ag_bounds_in, const int *unique_ag_idx_in, const int *replica_idx_in, float gpos_scale_in, float vel_scale_in, float frc_scale_in, int gpos_bits_in, int vel_bits_in, int frc_bits_in, llint *boxvecs_in, int *boxvec_ovrf_in, double *umat_in, double *invu_in, double *boxdims_in, llint *alt_boxvecs_in, int *alt_boxvec_ovrf_in, double *umat_alt_in, double *invu_alt_in, double *alt_boxdims_in, llint *xcrd_in, llint *ycrd_in, llint *zcrd_in, int *xcrd_ovrf_in, int *ycrd_ovrf_in, int *zcrd_ovrf_in, llint *xvel_in, llint *yvel_in, llint *zvel_in, int *xvel_ovrf_in, int *yvel_ovrf_in, int *zvel_ovrf_in, llint *xfrc_in, llint *yfrc_in, llint *zfrc_in, int *xfrc_ovrf_in, int *yfrc_ovrf_in, int *zfrc_ovrf_in, llint *xalt_in, llint *yalt_in, llint *zalt_in, int *xalt_ovrf_in, int *yalt_ovrf_in, int *zalt_ovrf_in, llint *vxalt_in, llint *vyalt_in, llint *vzalt_in, int *vxalt_ovrf_in, int *vyalt_ovrf_in, int *vzalt_ovrf_in, llint *fxalt_in, llint *fyalt_in, llint *fzalt_in, int *fxalt_ovrf_in, int *fyalt_ovrf_in, int *fzalt_ovrf_in) | |
Constructor takes a straight list of pointers and constants from the parent object (in this case, a PhaseSpaceSynthesis), like other abstracts. | |
PsSynthesisWriter (const PsSynthesisWriter &original)=default | |
Copy and move constructors–as with any object containing const members, the move assignment operator is implicitly deleted. | |
PsSynthesisWriter (PsSynthesisWriter &&other)=default | |
Public Attributes | |
const int | system_count |
The number of independent systems. | |
const int | unique_topology_count |
The number of unique topologies. | |
const UnitCellType | unit_cell |
Type of unit cells (or none) each system resides in. | |
const int * | atom_starts |
Points at which each system starts in the atom list. | |
const int * | atom_counts |
Atom counts for all systems. | |
const int * | common_ag_list |
const int * | common_ag_bounds |
Bounds array for common_ag_list. | |
const int * | unique_ag_idx |
const int * | replica_idx |
const float | gpos_scale |
Global position coordinate scaling factor. | |
const float | vel_scale |
Velocity coordinate scaling factor. | |
const float | frc_scale |
Scaling factor for fixed-precision force accumulation. | |
const float | inv_gpos_scale |
Inverse global coordinate scaling factor. | |
const float | inv_vel_scale |
Inverse velocity scaling factor. | |
const float | inv_frc_scale |
Inverse force scaling factor. | |
const int | gpos_bits |
Global position coordinate bits after the decimal. | |
const int | vel_bits |
Velocity coordinate bits after the decimal. | |
const int | frc_bits |
Force component bits after the decimal. | |
llint * | boxvecs |
Discretized box vectors. | |
int * | boxvec_ovrf |
Overflow arrays for the discretized box vectors. | |
double * | umat |
Box (fractional) space transformation matrices, one per warp. | |
double * | invu |
Inverse transformation matrices, one per warp. | |
double * | boxdims |
Box dimensions (a, b, c, alpha, beta, gamma) | |
llint * | alt_boxvecs |
Discretized box vectors. | |
int * | alt_boxvec_ovrf |
Overflow arrays for the discretized box vectors. | |
double * | umat_alt |
Box (fractional) space transformation matrices, one per warp. | |
double * | invu_alt |
Inverse transformation matrices, one per warp. | |
double * | alt_boxdims |
Box dimensions (a, b, c, alpha, beta, gamma) | |
llint * | xcrd |
Non-wrapped Cartesian X coordinates of all particles. | |
llint * | ycrd |
Non-wrapped Cartesian Y coordinates of all particles. | |
llint * | zcrd |
Non-wrapped Cartesian Z coordinates of all particles. | |
int * | xcrd_ovrf |
Non-wrapped Cartesian X coordinate overflow buffers. | |
int * | ycrd_ovrf |
Non-wrapped Cartesian Y coordinate overflow buffers. | |
int * | zcrd_ovrf |
Non-wrapped Cartesian Z coordinate overflow buffers. | |
llint * | xvel |
Cartesian X velocities. | |
llint * | yvel |
Cartesian Y velocities. | |
llint * | zvel |
Cartesian Z velocities. | |
int * | xvel_ovrf |
Cartesian X velocity overflow buffers. | |
int * | yvel_ovrf |
Cartesian Y velocity overflow buffers. | |
int * | zvel_ovrf |
Cartesian Z velocity overflow buffers. | |
llint * | xfrc |
Discretized Cartesian X forces. | |
llint * | yfrc |
Discretized Cartesian Y forces. | |
llint * | zfrc |
Discretized Cartesian Z forces. | |
int * | xfrc_ovrf |
Discretized Cartesian X force overflow buffers. | |
int * | yfrc_ovrf |
Discretized Cartesian Y force overflow buffers. | |
int * | zfrc_ovrf |
Discretized Cartesian Z force overflow buffers. | |
llint * | xalt |
Alternate Cartesian X positions of particles. | |
llint * | yalt |
Alternate Cartesian Y positions of particles. | |
llint * | zalt |
Alternate Cartesian Z positions of particles. | |
int * | xalt_ovrf |
Overflow buffers for particles' alternate Cartesian X locations. | |
int * | yalt_ovrf |
Overflow buffers for particles' alternate Cartesian Y locations. | |
int * | zalt_ovrf |
Overflow buffers for particles' alternate Cartesian Z locations. | |
llint * | vxalt |
Alternate Cartesian X velocities of particles. | |
llint * | vyalt |
Alternate Cartesian Y velocities of particles. | |
llint * | vzalt |
Alternate Cartesian Z velocities of particles. | |
int * | vxalt_ovrf |
Overflow buffers for particles' alternate Cartesian X velocities. | |
int * | vyalt_ovrf |
Overflow buffers for particles' alternate Cartesian Y velocities. | |
int * | vzalt_ovrf |
Overflow buffers for particles' alternate Cartesian Z velocities. | |
llint * | fxalt |
Alternate Cartesian X forces acting on particles. | |
llint * | fyalt |
Alternate Cartesian Y forces acting on particles. | |
llint * | fzalt |
Alternate Cartesian Z forces acting on particles. | |
int * | fxalt_ovrf |
Overflow buffers for particles' alternate Cartesian X forces. | |
int * | fyalt_ovrf |
Overflow buffers for particles' alternate Cartesian Y forces. | |
int * | fzalt_ovrf |
Overflow buffers for particles' alternate Cartesian Z force. | |
The writer for a PhaseSpaceSynthesis object, containing all of the data relevant for propagating dynamics in a collection of systems.
const int* stormm::synthesis::PsSynthesisWriter::common_ag_list |
Concatenated lists of systems in the synthesis sharing the same topology
const int* stormm::synthesis::PsSynthesisWriter::replica_idx |
The instance number of each system in the list of all systems sharing its topology.
const int* stormm::synthesis::PsSynthesisWriter::unique_ag_idx |
Indices of the unique topologies referenced by each set of coordinates