STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::mm::PsSynthesisWriter Struct Reference

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.
 

Detailed Description

The writer for a PhaseSpaceSynthesis object, containing all of the data relevant for propagating dynamics in a collection of systems.

Member Data Documentation

◆ common_ag_list

const int* stormm::synthesis::PsSynthesisWriter::common_ag_list

Concatenated lists of systems in the synthesis sharing the same topology

◆ replica_idx

const int* stormm::synthesis::PsSynthesisWriter::replica_idx

The instance number of each system in the list of all systems sharing its topology.

◆ unique_ag_idx

const int* stormm::synthesis::PsSynthesisWriter::unique_ag_idx

Indices of the unique topologies referenced by each set of coordinates


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