STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::structure::SyAtomUpdateKit< T, T2, T4 > Struct Template Reference

Collect the virtual site details and constraint parameters of the topology synthesis into a single abstract. This is designed to work in the context of the valence work units from the same topology synthesis, whether in a standalone function or as an extra step in a workflow that compute valence interactions and then moves particles. More...

#include <synthesis_abstracts.h>

Collaboration diagram for stormm::structure::SyAtomUpdateKit< T, T2, T4 >:

Public Member Functions

 SyAtomUpdateKit (const T *masses_in, const T *inv_masses_in, int largest_group_in, const T4 *vs_params_in, const T4 *settle_geom_in, const T4 *settle_mass_in, const T2 *cnst_grp_params_in, const uint2 *vste_insr_in, const uint2 *sett_insr_in, const uint2 *cnst_insr_in, const uint2 *vwu_manip_in, const int *free_dof_in, const int *cnst_dof_in)
 The constructor takes a list of parameter arrays. Like other AtomGraphSynthesis abstracts, the actual numbers of parameters in each array, which are irrelevant to the implementation as long as the work unit instructions do not overrun the bounds, are omitted to save space on the constants imported as arguments to each kernel. The numbers of each instruction are found in the valence work units.
 
 SyAtomUpdateKit (const SyAtomUpdateKit &original)=default
 The copy and move constructors are taken at their default values for this abstract containing const elements.
 
 SyAtomUpdateKit (SyAtomUpdateKit &&original)=default
 

Public Attributes

const T * masses
 Masses of all particles.
 
const T * inv_masses
 Inverse masses of all particles.
 
const int largest_group
 
const T4 * vs_params
 
const T4 * settle_geom
 
const T4 * settle_mass
 
const T2 * cnst_grp_params
 
const uint2vste_insr
 Virtual site placement instructions.
 
const uint2sett_insr
 SETTLE group constraints instructions.
 
const uint2cnst_insr
 Hub-and-spoke constraint instructions.
 
const uint2vwu_manip
 
const int * free_dof
 
const int * cnst_dof
 

Detailed Description

template<typename T, typename T2, typename T4>
struct stormm::structure::SyAtomUpdateKit< T, T2, T4 >

Collect the virtual site details and constraint parameters of the topology synthesis into a single abstract. This is designed to work in the context of the valence work units from the same topology synthesis, whether in a standalone function or as an extra step in a workflow that compute valence interactions and then moves particles.

Member Data Documentation

◆ cnst_dof

template<typename T, typename T2, typename T4>
const int* stormm::synthesis::SyAtomUpdateKit< T, T2, T4 >::cnst_dof

The number of degrees of freedom, in each system as a whole, constraints are applied

◆ cnst_grp_params

template<typename T, typename T2, typename T4>
const T2* stormm::synthesis::SyAtomUpdateKit< T, T2, T4 >::cnst_grp_params

Squared bond length (x member) and the sum of inverse masses for both atoms (y member) in one constraint (of perhaps several) of a hub-and-spoke constraint group.

◆ free_dof

template<typename T, typename T2, typename T4>
const int* stormm::synthesis::SyAtomUpdateKit< T, T2, T4 >::free_dof

The number of degrees of freedom, in each system as a whole, when no constraints are applied

◆ largest_group

template<typename T, typename T2, typename T4>
const int stormm::synthesis::SyAtomUpdateKit< T, T2, T4 >::largest_group

Number of constrained bonds in the largest hub-and-spoke group found in any topology

◆ settle_geom

template<typename T, typename T2, typename T4>
const T4* stormm::synthesis::SyAtomUpdateKit< T, T2, T4 >::settle_geom

Geometric considerations for SETTLE-constrained groups. The SETTLE instructions will indicate which parameter set, and thus which index of this array to take. The "x", "y", "z", and "w" members of each tuple contain what are known as ra, rb, rc, and the combined mass of the heavy atom and one of the light atoms (for lack of a better place to put the information which is needed at nearly the same time as the three geometric values).

◆ settle_mass

template<typename T, typename T2, typename T4>
const T4* stormm::synthesis::SyAtomUpdateKit< T, T2, T4 >::settle_mass

Inverse mass considerations for SETTLE-constrained groups. The SETTLE instructions will indicate which parameter set, and thus which index of this array, to take.

◆ vs_params

template<typename T, typename T2, typename T4>
const T4* stormm::synthesis::SyAtomUpdateKit< T, T2, T4 >::vs_params

Unique virtual site frames, with the first, second, and third dimension parameters in the x, y, and z members of the tuple. The frame type is stored in the w member as a static_cast (not a bitwise reinterpretation).

◆ vwu_manip

template<typename T, typename T2, typename T4>
const uint2* stormm::synthesis::SyAtomUpdateKit< T, T2, T4 >::vwu_manip

Manipulation masks (movement in x member, update in y member) for all valence work units


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