STORMM Source Documentation
Loading...
Searching...
No Matches
synthesis_abstracts.h
1// -*-c++-*-
2#ifndef STORMM_SYNTHESIS_ABSTRACTS_H
3#define STORMM_SYNTHESIS_ABSTRACTS_H
4
5#include "copyright.h"
6#include "DataTypes/common_types.h"
7#include "DataTypes/stormm_vector_types.h"
8#include "Topology/atomgraph_enumerators.h"
9#include "synthesis_enumerators.h"
10
11namespace stormm {
12namespace synthesis {
13
14using topology::UnitCellType;
15using topology::ImplicitSolventModel;
16
19template <typename T> struct SyValenceKit {
20
22 explicit SyValenceKit(int nvwu_in, const T coulomb_in, const T* bond_keq_in,
23 const T* bond_leq_in, const T* angl_keq_in, const T* angl_theta_in,
24 const T* dihe_amp_in, const T* dihe_freq_in, const T* dihe_phi_in,
25 const T* attn14_elec_in, const T* attn14_vdw_in, const T* charges_in,
26 const T* lja_14_coeff_in, const T* ljb_14_coeff_in,
27 const T* ljc_14_coeff_in, const T* lj_14_sigma_in, const int* lj_idx_in,
28 const int* n_lj_types_in, const int* ljabc_offsets_in,
29 const T* ubrd_keq_in, const T* ubrd_leq_in, const T* cimp_keq_in,
30 const T* cimp_phi_in, const int* cmap_dim_in, const T* cmap_patches_in,
31 const int* cmap_patch_bounds_in, const int2* vwu_abstracts_in,
32 const int* vwu_imports_in, const uint2* cbnd_insr_in,
33 const uint2* angl_insr_in, const uint2* cdhe_insr_in,
34 const uint* cdhe_ovrt_insr_in, const uint2* cmap_insr_in,
35 const uint* infr14_insr_in, const uint* cbnd_acc_in,
36 const uint* angl_acc_in, const uint* cdhe_acc_in, const uint* cmap_acc_in,
37 const uint* infr14_acc_in);
38
42 SyValenceKit(const SyValenceKit &original) = default;
43 SyValenceKit(SyValenceKit &&original) = default;
45
46 // Member variables (all public)
47 const int nvwu;
48 const T coulomb;
49
50 // Condensed valence parameter tables
51 const T* bond_keq;
52 const T* bond_leq;
53 const T* angl_keq;
54 const T* angl_theta;
55 const T* dihe_amp;
56 const T* dihe_freq;
57 const T* dihe_phi;
58 const T* attn14_elec;
59 const T* attn14_vdw;
60 const T* charges;
61 const T* lja_14_coeff;
62 const T* ljb_14_coeff;
63 const T* ljc_14_coeff;
64 const T* lj_14_sigma;
65 const int* lj_idx;
66 const int* n_lj_types;
67 const int* ljabc_offsets;
69 const T* ubrd_keq;
70 const T* ubrd_leq;
71 const T* cimp_keq;
73 const T* cimp_phi;
74 const int* cmap_dim;
75 const T* cmap_patches;
76 const int* cmap_patch_bounds;
77
78 // Details of each work unit and instruction sets
80 const int* vwu_imports;
86 const uint* cdhe_ovrt_insr;
88 const uint* infr14_insr;
90 const uint* cbnd_acc;
91 const uint* angl_acc;
92 const uint* cdhe_acc;
93 const uint* cmap_acc;
94 const uint* infr14_acc;
95
96};
97
100template <typename T, typename T2, typename T4> struct SyRestraintKit {
101
110 explicit SyRestraintKit();
111
112 explicit SyRestraintKit(const int2* rposn_step_bounds_in, const int2* rbond_step_bounds_in,
113 const int2* rangl_step_bounds_in, const int2* rdihe_step_bounds_in,
114 const T2* rposn_init_k_in, const T2* rposn_finl_k_in,
115 const T4* rposn_init_r_in, const T4* rposn_finl_r_in,
116 const T2* rposn_init_xy_in, const T* rposn_init_z_in,
117 const T2* rposn_finl_xy_in, const T* rposn_finl_z_in,
118 const T2* rbond_init_k_in, const T2* rbond_finl_k_in,
119 const T4* rbond_init_r_in, const T4* rbond_finl_r_in,
120 const T2* rangl_init_k_in, const T2* rangl_finl_k_in,
121 const T4* rangl_init_r_in, const T4* rangl_finl_r_in,
122 const T2* rdihe_init_k_in, const T2* rdihe_finl_k_in,
123 const T4* rdihe_init_r_in, const T4* rdihe_finl_r_in,
124 const uint2* rposn_insr_in, const uint2* rbond_insr_in,
125 const uint2* rangl_insr_in, const uint2* rdihe_insr_in,
126 const uint* rposn_acc_in, const uint* rbond_acc_in,
127 const uint* rangl_acc_in, const uint* rdihe_acc_in);
129
133 SyRestraintKit(const SyRestraintKit &original) = default;
134 SyRestraintKit(SyRestraintKit &&original) = default;
136
137 // Member variables (all public)
146 const T2* rposn_init_k;
147 const T2* rposn_finl_k;
148 const T4* rposn_init_r;
149 const T4* rposn_finl_r;
150 const T2* rposn_init_xy;
151 const T* rposn_init_z;
152 const T2* rposn_finl_xy;
153 const T* rposn_finl_z;
154 const T2* rbond_init_k;
155 const T2* rbond_finl_k;
156 const T4* rbond_init_r;
157 const T4* rbond_finl_r;
158 const T2* rangl_init_k;
159 const T2* rangl_finl_k;
160 const T4* rangl_init_r;
161 const T4* rangl_finl_r;
162 const T2* rdihe_init_k;
163 const T2* rdihe_finl_k;
164 const T4* rdihe_init_r;
165 const T4* rdihe_finl_r;
170 const uint* rposn_acc;
171 const uint* rbond_acc;
172 const uint* rangl_acc;
173 const uint* rdihe_acc;
174};
175
181template <typename T, typename T2> struct SyNonbondedKit {
182
184 explicit SyNonbondedKit(int nsys_in, UnitCellType unit_cell_in, int nnbwu_in,
185 const int* nbwu_abstracts_in, const uint2* nbwu_insr_in,
186 const int* atom_offsets, const int* atom_counts, T coulomb_in,
187 ImplicitSolventModel igb_in, int neck_table_size_in, T dielectric_in,
188 T kappa_in, T saltcon_in, T gb_offset_in, T gb_neckscale_in,
189 T gb_neckcut_in, const T* charge_in, const int* q_idx_in,
190 const T* q_params_in, const int* lj_idx_in, const int* n_lj_types_in,
191 const int* ljabc_offsets_in, const T2* ljab_coeff_in,
192 const T* ljc_coeff_in, const T* lj_sigma_in, const int* neck_gb_idx_in,
193 const T* pb_radii_in, const T* gb_screen_in, const T* gb_alpha_in,
194 const T* gb_beta_in, const T* gb_gamma_in, const T2* neck_limits_in);
195
199 SyNonbondedKit(const SyNonbondedKit &original) = default;
200 SyNonbondedKit(SyNonbondedKit &&original) = default;
202
203 // Member variables (all public)
204 const int nsys;
205 const UnitCellType unit_cell;
206 const int nnbwu;
207 const int* nbwu_abstracts;
209 const int* atom_offsets;
211 const int* atom_counts;
213 const T coulomb;
215 const ImplicitSolventModel igb;
217 const int neck_table_size;
218 const T dielectric;
219 const T kappa;
220 const T saltcon;
221 const T gb_offset;
223 const T gb_neckscale;
224 const T gb_neckcut;
225 const T* charge;
228 const int* q_idx;
232 const T* q_params;
234 const int* lj_idx;
237 const int* n_lj_types;
238 const int* ljabc_offsets;
240 const T2* ljab_coeff;
241 const T* ljc_coeff;
242 const T* lj_sigma;
243 const int* neck_gb_idx;
245 const T* pb_radii;
246 const T* gb_screen;
247 const T* gb_alpha;
248 const T* gb_beta;
249 const T* gb_gamma;
250 const T2* neck_limits;
251};
252
257template <typename T, typename T2, typename T4> struct SyAtomUpdateKit {
258
264 SyAtomUpdateKit(const T* masses_in, const T* inv_masses_in, int largest_group_in,
265 const T4* vs_params_in, const T4* settle_geom_in, const T4* settle_mass_in,
266 const T2* cnst_grp_params_in, const uint2* vste_insr_in,
267 const uint2* sett_insr_in, const uint2* cnst_insr_in, const uint2* vwu_manip_in,
268 const int* free_dof_in, const int* cnst_dof_in);
269
273 SyAtomUpdateKit(const SyAtomUpdateKit &original) = default;
274 SyAtomUpdateKit(SyAtomUpdateKit &&original) = default;
276
277 // General information relevant to moving particles
278 const T* masses;
279 const T* inv_masses;
280
281 // Parameters and instruction sets for virtual sites and constraints
282 const int largest_group;
284 const T4* vs_params;
288 const T4* settle_geom;
296 const T4* settle_mass;
299 const T2* cnst_grp_params;
307 const int* free_dof;
309 const int* cnst_dof;
311};
312
313} // namespace synthesis
314} // namespace stormm
315
316#include "synthesis_abstracts.tpp"
317
318#endif
319
Definition stormm_vector_types.h:22
Definition stormm_vector_types.h:40
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,...
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.
SyRestraintKit()
The constructor takes a straight list of arguments for each member variable. There are no array sizin...
SyValenceKit(int nvwu_in, const T coulomb_in, const T *bond_keq_in, const T *bond_leq_in, const T *angl_keq_in, const T *angl_theta_in, const T *dihe_amp_in, const T *dihe_freq_in, const T *dihe_phi_in, const T *attn14_elec_in, const T *attn14_vdw_in, const T *charges_in, const T *lja_14_coeff_in, const T *ljb_14_coeff_in, const T *ljc_14_coeff_in, const T *lj_14_sigma_in, const int *lj_idx_in, const int *n_lj_types_in, const int *ljabc_offsets_in, const T *ubrd_keq_in, const T *ubrd_leq_in, const T *cimp_keq_in, const T *cimp_phi_in, const int *cmap_dim_in, const T *cmap_patches_in, const int *cmap_patch_bounds_in, const int2 *vwu_abstracts_in, const int *vwu_imports_in, const uint2 *cbnd_insr_in, const uint2 *angl_insr_in, const uint2 *cdhe_insr_in, const uint *cdhe_ovrt_insr_in, const uint2 *cmap_insr_in, const uint *infr14_insr_in, const uint *cbnd_acc_in, const uint *angl_acc_in, const uint *cdhe_acc_in, const uint *cmap_acc_in, const uint *infr14_acc_in)
The constructor takes a straight list of arguments for each member variable.
const uint2 * vste_insr
Virtual site placement instructions.
Definition synthesis_abstracts.h:302
const T4 * vs_params
Definition synthesis_abstracts.h:284
SyAtomUpdateKit(const SyAtomUpdateKit &original)=default
The copy and move constructors are taken at their default values for this abstract containing const e...
const uint2 * sett_insr
SETTLE group constraints instructions.
Definition synthesis_abstracts.h:303
const T * inv_masses
Inverse masses of all particles.
Definition synthesis_abstracts.h:279
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,...
const T4 * settle_geom
Definition synthesis_abstracts.h:288
const uint2 * vwu_manip
Definition synthesis_abstracts.h:305
const T2 * cnst_grp_params
Definition synthesis_abstracts.h:299
const uint2 * cnst_insr
Hub-and-spoke constraint instructions.
Definition synthesis_abstracts.h:304
const T4 * settle_mass
Definition synthesis_abstracts.h:296
const T * masses
Masses of all particles.
Definition synthesis_abstracts.h:278
const int * cnst_dof
Definition synthesis_abstracts.h:309
const int largest_group
Definition synthesis_abstracts.h:282
const int * free_dof
Definition synthesis_abstracts.h:307
const int nnbwu
The number of non-bonded work units in the synthesis.
Definition synthesis_abstracts.h:206
const T2 * neck_limits
Interlaced neck GB maximum separations and values tables.
Definition synthesis_abstracts.h:250
const int * q_idx
Definition synthesis_abstracts.h:228
SyNonbondedKit(const SyNonbondedKit &original)=default
The copy and move constructors are taken at their default values for this abstract containing const e...
const int * neck_gb_idx
Definition synthesis_abstracts.h:243
const T * gb_beta
Generalized born beta parameters (one parameter per atom)
Definition synthesis_abstracts.h:248
const int nsys
The total number of systems in the synthesis.
Definition synthesis_abstracts.h:204
const int * nbwu_abstracts
Abstracts for all non-bonded work units.
Definition synthesis_abstracts.h:207
const T saltcon
The salt concentration to use in GB calculations.
Definition synthesis_abstracts.h:220
const int * ljabc_offsets
Definition synthesis_abstracts.h:238
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.
const T dielectric
Solvent dielectric constant.
Definition synthesis_abstracts.h:218
const T * q_params
Definition synthesis_abstracts.h:232
const T * ljc_coeff
Lennard-Jones interaction C coefficients.
Definition synthesis_abstracts.h:241
const T gb_offset
Definition synthesis_abstracts.h:221
const int * n_lj_types
Lennard-Jones type counts for all systems.
Definition synthesis_abstracts.h:237
const T * charge
Definition synthesis_abstracts.h:225
const ImplicitSolventModel igb
Definition synthesis_abstracts.h:215
const T gb_neckscale
Neck function scaling parameter for neck GB.
Definition synthesis_abstracts.h:223
const T2 * ljab_coeff
Lennard-Jones interaction A and B coefficients.
Definition synthesis_abstracts.h:240
const int * atom_counts
Definition synthesis_abstracts.h:211
const int * lj_idx
Definition synthesis_abstracts.h:234
const T coulomb
Definition synthesis_abstracts.h:213
const T * pb_radii
Atomic PB radii for all atoms in all systems.
Definition synthesis_abstracts.h:245
const T * gb_screen
Generalized Born screening factors for all atoms and systems.
Definition synthesis_abstracts.h:246
const int * atom_offsets
Definition synthesis_abstracts.h:209
const UnitCellType unit_cell
The type of unit cell for all systems.
Definition synthesis_abstracts.h:205
const int neck_table_size
Length of each side of the square "neck" GB limit tables.
Definition synthesis_abstracts.h:217
const T * gb_gamma
Generalized born gamma parameters (one parameter per atom)
Definition synthesis_abstracts.h:249
const T * gb_alpha
Generalized born alpha parameters (one parameter per atom)
Definition synthesis_abstracts.h:247
const uint2 * nbwu_insr
Instructions for all non-bonded work units.
Definition synthesis_abstracts.h:208
const T * lj_sigma
Lennard-Jones sigma parameters for all atom type pairs.
Definition synthesis_abstracts.h:242
const T gb_neckcut
Cutoff for the "neck" GB function.
Definition synthesis_abstracts.h:224
const T kappa
Inverse of the Debye-Huckel length (based on the dielectic)
Definition synthesis_abstracts.h:219
const T4 * rposn_init_r
Initial positional restraint displacement parameters.
Definition synthesis_abstracts.h:148
const T2 * rbond_init_k
Initial distance restraint stiffness parameters.
Definition synthesis_abstracts.h:154
const T2 * rbond_finl_k
Final distance restraint stiffness parameters.
Definition synthesis_abstracts.h:155
const T2 * rdihe_init_k
Initial dihedral angel restraint stiffness parameters.
Definition synthesis_abstracts.h:162
const uint * rbond_acc
Masks of whether to accumulate distance restraint effects.
Definition synthesis_abstracts.h:171
const T4 * rbond_init_r
Initial distance restraint displacement parameters.
Definition synthesis_abstracts.h:156
const T2 * rangl_init_k
Initial angle restraint stiffness parameters.
Definition synthesis_abstracts.h:158
const int2 * rangl_step_bounds
Definition synthesis_abstracts.h:142
const T * rposn_init_z
Initial positional restraint Z reference coordinates.
Definition synthesis_abstracts.h:151
const T4 * rangl_finl_r
Final angle restraint displacement parameters.
Definition synthesis_abstracts.h:161
const T2 * rangl_finl_k
Final angle restraint stiffness parameters.
Definition synthesis_abstracts.h:159
const T4 * rangl_init_r
Initial angle restraint displacement parameters.
Definition synthesis_abstracts.h:160
const T4 * rdihe_finl_r
Final dihedral angle restraint displacement parameters.
Definition synthesis_abstracts.h:165
const T4 * rposn_finl_r
Final positional restraint displacement parameters.
Definition synthesis_abstracts.h:149
const uint2 * rbond_insr
Instructions for distance restraints.
Definition synthesis_abstracts.h:167
const uint * rangl_acc
Masks of whether to accumulate angle restraint effects.
Definition synthesis_abstracts.h:172
const uint2 * rangl_insr
Instructions for three-point angle restraints.
Definition synthesis_abstracts.h:168
const T4 * rdihe_init_r
Initial dihedral angle restraint displacement parameters.
Definition synthesis_abstracts.h:164
const T2 * rdihe_finl_k
Final dihedral angle restraint stiffness parameters.
Definition synthesis_abstracts.h:163
const T4 * rbond_finl_r
Final distance restraint displacement parameters.
Definition synthesis_abstracts.h:157
const int2 * rbond_step_bounds
Definition synthesis_abstracts.h:140
const uint * rdihe_acc
Masks of whether to accumulate dihedral restraint effects.
Definition synthesis_abstracts.h:173
const int2 * rdihe_step_bounds
Definition synthesis_abstracts.h:144
const uint2 * rdihe_insr
Instructions for four-point dihedral restraints.
Definition synthesis_abstracts.h:169
SyRestraintKit()
The constructor takes a straight list of arguments for each member variable. There are no array sizin...
const int2 * rposn_step_bounds
Definition synthesis_abstracts.h:138
const uint * rposn_acc
Masks of whether to accumulate positional restraint effects.
Definition synthesis_abstracts.h:170
const T2 * rposn_finl_xy
Final positional restraint X and Y reference coordinates.
Definition synthesis_abstracts.h:152
const T2 * rposn_init_k
Initial positional restraint stiffness parameters.
Definition synthesis_abstracts.h:146
const T2 * rposn_init_xy
Initial positional restraint X and Y reference coordinates.
Definition synthesis_abstracts.h:150
const T2 * rposn_finl_k
Final positional restraint stiffness parameters.
Definition synthesis_abstracts.h:147
const T * rposn_finl_z
Final positional restraint Z reference coordinates.
Definition synthesis_abstracts.h:153
SyRestraintKit(const SyRestraintKit &original)=default
The copy and move constructors are taken at their default values for this abstract containing const e...
const uint2 * rposn_insr
Instructions for positional restraints.
Definition synthesis_abstracts.h:166
const T * dihe_phi
Consensus table of cosine-based dihedral phase angles.
Definition synthesis_abstracts.h:57
const T * angl_keq
Consensus table of harmonic angle stiffness constants.
Definition synthesis_abstracts.h:53
const T * ljc_14_coeff
Lennard-Jones 1:4 interaction C coefficients.
Definition synthesis_abstracts.h:63
const int2 * vwu_abstracts
Abstracts for all valence work units.
Definition synthesis_abstracts.h:79
const uint * cdhe_acc
Composite dihedral energy accumulation masks.
Definition synthesis_abstracts.h:92
const int * vwu_imports
Imported atom tables for all valence work units.
Definition synthesis_abstracts.h:80
const uint * cbnd_acc
Composite bond energy accumulation masks.
Definition synthesis_abstracts.h:90
const uint * angl_acc
Harmonic angle energy accumulation masks.
Definition synthesis_abstracts.h:91
const uint2 * angl_insr
Harmonic angle instructions implemented by valence work units.
Definition synthesis_abstracts.h:83
const T * bond_keq
Consensus table of harmonic bond stiffness constants.
Definition synthesis_abstracts.h:51
const T * cmap_patches
Consensus table of CMAP pre-computed surface patch data.
Definition synthesis_abstracts.h:75
const T * charges
Charges on all atoms.
Definition synthesis_abstracts.h:60
const int * cmap_dim
Dimensions for each member of the consensus table of CMAPs.
Definition synthesis_abstracts.h:74
const int * cmap_patch_bounds
Bounds array for cmap_patches.
Definition synthesis_abstracts.h:76
const T * attn14_vdw
Consensus table of 1:4 van-der Waals scaling factors.
Definition synthesis_abstracts.h:59
SyValenceKit(int nvwu_in, const T coulomb_in, const T *bond_keq_in, const T *bond_leq_in, const T *angl_keq_in, const T *angl_theta_in, const T *dihe_amp_in, const T *dihe_freq_in, const T *dihe_phi_in, const T *attn14_elec_in, const T *attn14_vdw_in, const T *charges_in, const T *lja_14_coeff_in, const T *ljb_14_coeff_in, const T *ljc_14_coeff_in, const T *lj_14_sigma_in, const int *lj_idx_in, const int *n_lj_types_in, const int *ljabc_offsets_in, const T *ubrd_keq_in, const T *ubrd_leq_in, const T *cimp_keq_in, const T *cimp_phi_in, const int *cmap_dim_in, const T *cmap_patches_in, const int *cmap_patch_bounds_in, const int2 *vwu_abstracts_in, const int *vwu_imports_in, const uint2 *cbnd_insr_in, const uint2 *angl_insr_in, const uint2 *cdhe_insr_in, const uint *cdhe_ovrt_insr_in, const uint2 *cmap_insr_in, const uint *infr14_insr_in, const uint *cbnd_acc_in, const uint *angl_acc_in, const uint *cdhe_acc_in, const uint *cmap_acc_in, const uint *infr14_acc_in)
The constructor takes a straight list of arguments for each member variable.
const uint * cmap_acc
CMAP energy accumulation masks.
Definition synthesis_abstracts.h:93
const T * ljb_14_coeff
Lennard-Jones 1:4 interaction B coefficients.
Definition synthesis_abstracts.h:62
const uint2 * cbnd_insr
Definition synthesis_abstracts.h:81
const uint2 * cdhe_insr
Definition synthesis_abstracts.h:84
const T * cimp_phi
Consensus table of CHARMM improper dihedral phase angles.
Definition synthesis_abstracts.h:73
const int * ljabc_offsets
Definition synthesis_abstracts.h:67
const uint * cdhe_ovrt_insr
Instructions for composite cosine-based dihedral overtones.
Definition synthesis_abstracts.h:86
const uint * infr14_acc
Inferred 1:4 interaction energy accumulation masks.
Definition synthesis_abstracts.h:94
const T * dihe_freq
Consensus table of cosine-based dihedral frequencies.
Definition synthesis_abstracts.h:56
const T * ubrd_leq
Consensus table of Urey-Bradley I:K separation distances.
Definition synthesis_abstracts.h:70
const int nvwu
The number of valence work units.
Definition synthesis_abstracts.h:47
const T * attn14_elec
Consensus table of 1:4 electrostatic scaling factors.
Definition synthesis_abstracts.h:58
const T * lj_14_sigma
Lennard-Jones 1:4 sigma parameters for all atom type pairs.
Definition synthesis_abstracts.h:64
const uint2 * cmap_insr
CMAP instructions implemented by valence work units.
Definition synthesis_abstracts.h:87
const T * lja_14_coeff
Lennard-Jones 1:4 interaction A coefficients.
Definition synthesis_abstracts.h:61
const T * cimp_keq
Definition synthesis_abstracts.h:71
const uint * infr14_insr
Definition synthesis_abstracts.h:88
const T * dihe_amp
Consensus table of cosine-based dihedral amplitudes.
Definition synthesis_abstracts.h:55
const T coulomb
Coulomb's constant in kcal-A2/mol-e2.
Definition synthesis_abstracts.h:48
const T * bond_leq
Consensus table of harmonic bond equilibrium lengths.
Definition synthesis_abstracts.h:52
const T * ubrd_keq
Consensus table of Urey-Bradley stiffnesses.
Definition synthesis_abstracts.h:69
const T * angl_theta
Consensus table of harmonic angle equilibrium settings.
Definition synthesis_abstracts.h:54
const int * lj_idx
Lennard-Jones type indices for all atoms.
Definition synthesis_abstracts.h:65
const int * n_lj_types
Lennard-Jones type counts for all systems.
Definition synthesis_abstracts.h:66
SyValenceKit(const SyValenceKit &original)=default
The copy and move constructors are taken at their default values for this abstract containing const e...