STORMM Source Documentation
|
Collect the critical non-bonded parameters and masking information for work unit-based evaluation of the systems in an AtomGraphSynthesis. Compared to the abstracts for a single system's AtomGraph, this merges the ImplicitSolventKit and NonbondedKit. For comparison, the SyValenceKit object merges the information for valence interactions, constraints, and virtual sites abstracts from the single topology's set of abstracts. More...
#include <synthesis_abstracts.h>
Public Member Functions | |
SyNonbondedKit (int nsys_in, UnitCellType unit_cell_in, int nnbwu_in, const int *nbwu_abstracts_in, const uint2 *nbwu_insr_in, const int *atom_offsets, const int *atom_counts, T coulomb_in, ImplicitSolventModel igb_in, int neck_table_size_in, T dielectric_in, T kappa_in, T saltcon_in, T gb_offset_in, T gb_neckscale_in, T gb_neckcut_in, const T *charge_in, const int *q_idx_in, const T *q_params_in, const int *lj_idx_in, const int *n_lj_types_in, const int *ljabc_offsets_in, const T2 *ljab_coeff_in, const T *ljc_coeff_in, const T *lj_sigma_in, const int *neck_gb_idx_in, const T *pb_radii_in, const T *gb_screen_in, const T *gb_alpha_in, const T *gb_beta_in, const T *gb_gamma_in, const T2 *neck_limits_in) | |
The constructor takes a straight list of arguments for each member variable. | |
SyNonbondedKit (const SyNonbondedKit &original)=default | |
The copy and move constructors are taken at their default values for this abstract containing const elements. | |
SyNonbondedKit (SyNonbondedKit &&original)=default | |
Public Attributes | |
const int | nsys |
The total number of systems in the synthesis. | |
const UnitCellType | unit_cell |
The type of unit cell for all systems. | |
const int | nnbwu |
The number of non-bonded work units in the synthesis. | |
const int * | nbwu_abstracts |
Abstracts for all non-bonded work units. | |
const uint2 * | nbwu_insr |
Instructions for all non-bonded work units. | |
const int * | atom_offsets |
const int * | atom_counts |
const T | coulomb |
const ImplicitSolventModel | igb |
const int | neck_table_size |
Length of each side of the square "neck" GB limit tables. | |
const T | dielectric |
Solvent dielectric constant. | |
const T | kappa |
Inverse of the Debye-Huckel length (based on the dielectic) | |
const T | saltcon |
The salt concentration to use in GB calculations. | |
const T | gb_offset |
const T | gb_neckscale |
Neck function scaling parameter for neck GB. | |
const T | gb_neckcut |
Cutoff for the "neck" GB function. | |
const T * | charge |
const int * | q_idx |
const T * | q_params |
const int * | lj_idx |
const int * | n_lj_types |
Lennard-Jones type counts for all systems. | |
const int * | ljabc_offsets |
const T2 * | ljab_coeff |
Lennard-Jones interaction A and B coefficients. | |
const T * | ljc_coeff |
Lennard-Jones interaction C coefficients. | |
const T * | lj_sigma |
Lennard-Jones sigma parameters for all atom type pairs. | |
const int * | neck_gb_idx |
const T * | pb_radii |
Atomic PB radii for all atoms in all systems. | |
const T * | gb_screen |
Generalized Born screening factors for all atoms and systems. | |
const T * | gb_alpha |
Generalized born alpha parameters (one parameter per atom) | |
const T * | gb_beta |
Generalized born beta parameters (one parameter per atom) | |
const T * | gb_gamma |
Generalized born gamma parameters (one parameter per atom) | |
const T2 * | neck_limits |
Interlaced neck GB maximum separations and values tables. | |
Collect the critical non-bonded parameters and masking information for work unit-based evaluation of the systems in an AtomGraphSynthesis. Compared to the abstracts for a single system's AtomGraph, this merges the ImplicitSolventKit and NonbondedKit. For comparison, the SyValenceKit object merges the information for valence interactions, constraints, and virtual sites abstracts from the single topology's set of abstracts.
const int* stormm::synthesis::SyNonbondedKit< T, T2 >::atom_counts |
Atom counts for each system (needed to determine whether tiles overrun the end of any one system)
const int* stormm::synthesis::SyNonbondedKit< T, T2 >::atom_offsets |
Offsets for the atom indices of each system (needed to determine whether tiles overrun the end of any one system)
const T* stormm::synthesis::SyNonbondedKit< T, T2 >::charge |
Partial charges for all atoms in the synthesis (one concatenated array, with each system's atoms padded by the warp size)
const T stormm::synthesis::SyNonbondedKit< T, T2 >::coulomb |
Coulomb's constant (charges are stored in atomic units and converted to factor this in at the time they are cached)
const T stormm::synthesis::SyNonbondedKit< T, T2 >::gb_offset |
Offset for baseline Generalized Born radii (default 0.9, larger for neck GB model II)
const ImplicitSolventModel stormm::synthesis::SyNonbondedKit< T, T2 >::igb |
The flavor of Generalized Born to use, i.e. Hawkins / Cramer / Truhlar
const int* stormm::synthesis::SyNonbondedKit< T, T2 >::lj_idx |
Lennard-Jones indices for all atoms. Each system may have its own specific parameter matricies, with offsets given in the ljabc_offsets array (see below).
const int* stormm::synthesis::SyNonbondedKit< T, T2 >::ljabc_offsets |
Offsets for Lennard-Jones A, B, and C coefficient tables for all systems
const int* stormm::synthesis::SyNonbondedKit< T, T2 >::neck_gb_idx |
Neck GB indicies for all atoms in each system, applicable for Mongan's "neck" GB models
const int* stormm::synthesis::SyNonbondedKit< T, T2 >::q_idx |
Indices of atomic charge parameters. The charge for atom i can be obtained by accessing the ith element of the array charge, or by accessing the ith element of this array and then following that index into the q_params array.
const T* stormm::synthesis::SyNonbondedKit< T, T2 >::q_params |
List of unique atomic partial charge parameters, indexed by q_idx above.