NAMD
ComputeGroupRes2GroupCUDAKernel.h
Go to the documentation of this file.
1 #ifndef GROUP_RESTRAINTS_2GROUP_CUDA_KERNEL_H
2 #define GROUP_RESTRAINTS_2GROUP_CUDA_KERNEL_H
3 
4 #include "Lattice.h"
5 #include "CudaUtils.h"
6 #include "CudaRecord.h"
7 
8 #ifdef NODEGROUP_FORCE_REGISTER
9 
13 void computeGroupRestraint_2Group(
14  const int useMagnitude,
15  const int doEnergy,
16  const int doVirial,
17  const int numRestrainedGroup1,
18  const int totalNumRestrained,
19  const int restraintExp,
20  const double restraintK,
21  const double3 resCenterVec,
22  const double3 resDirection,
23  const double inv_group1_mass,
24  const double inv_group2_mass,
25  const int* d_groupAtomsSOAIndex,
26  const Lattice &lat,
27  const char3* d_transform,
28  const float* d_mass,
29  const double* d_pos_x,
30  const double* d_pos_y,
31  const double* d_pos_z,
32  double* d_f_normal_x,
33  double* d_f_normal_y,
34  double* d_f_normal_z,
35  cudaTensor* d_virial,
36  cudaTensor* h_extVirial,
37  double* h_resEnergy,
38  double3* h_resForce,
39  double3* h_group1COM,
40  double3* h_group2COM,
41  double3* h_diffCOM,
42  double3* d_group1COM,
43  double3* d_group2COM,
44  unsigned int* d_tbcatomic,
45  cudaStream_t stream);
46 
47 #endif // NODEGROUP_FORCE_REGISTER
48 #endif // GROUP_RESTRAINTS_2GROUP_CUDA_KERNEL_H