NAMD
ComputeSMDCUDAKernel.h
Go to the documentation of this file.
1 #ifndef SMDKERNEL_H
2 #define SMDKERNEL_H
3 
4 #include "Lattice.h"
5 #include "CudaUtils.h"
6 #include "CudaRecord.h"
7 
8 #ifdef NODEGROUP_FORCE_REGISTER
9 
12 void computeSMDForce(
13  const Lattice &lat,
14  const double inv_group_mass,
15  const double spring_constant,
16  const double transverse_spring_constant,
17  const double velocity,
18  const double3 direction,
19  const int doEnergy,
20  const int currentTime,
21  const double3 origCM,
22  const float* d_mass,
23  const double* d_pos_x,
24  const double* d_pos_y,
25  const double* d_pos_z,
26  const char3* d_transform,
27  double * d_f_normal_x,
28  double * d_f_normal_y,
29  double * d_f_normal_z,
30  const int numSMDAtoms,
31  const int* d_smdAtomsSOAIndex,
32  double3* d_curCM,
33  double3* h_curCM,
34  cudaTensor* d_extVirial,
35  double* h_extEnergy,
36  double3* h_extForce,
37  cudaTensor* h_extVirial,
38  unsigned int* d_tbcatomic,
39  cudaStream_t stream);
40 
41 #endif // NODEGROUP_FORCE_REGISTER
42 #endif // SMDKERNEL_H