NAMD
ComputeRestraintsCUDAKernel.h
Go to the documentation of this file.
1 #ifndef RESTRAINTSKERNEL_H
2 #define RESTRAINTSKERNEL_H
3 
4 #include "Lattice.h"
5 #include "CudaUtils.h"
6 #include "CudaRecord.h"
7 
8 #ifdef NODEGROUP_FORCE_REGISTER
9 
10 void computeRestrainingForce(
11  const int doEnergy,
12  const int doVirial,
13  const int currentTime,
14  const int nConstrainedAtoms,
15  const int consExp,
16  const double consScaling,
17  const bool movConsOn,
18  const bool rotConsOn,
19  const bool selConsOn,
20  const bool spheConsOn,
21  const bool consSelectX,
22  const bool consSelectY,
23  const bool consSelectZ,
24  const double rotVel,
25  const double3 rotAxis,
26  const double3 rotPivot,
27  const double3 moveVel,
28  const double3 spheConsCenter,
29  const int* d_constrainedSOA,
30  const int* d_constrainedID,
31  const double* d_pos_x,
32  const double* d_pos_y,
33  const double* d_pos_z,
34  const double* d_k,
35  const double* d_cons_x,
36  const double* d_cons_y,
37  const double* d_cons_z,
38  double* f_normal_x,
39  double* f_normal_y,
40  double* f_normal_z,
41  double* d_bcEnergy,
42  double* h_bcEnergy,
43  double3* d_netForce,
44  double3* h_netForce,
45  const Lattice* lat,
46  cudaTensor* d_virial,
47  cudaTensor* h_virial,
48  cudaTensor rotationMatrix,
49  unsigned int* d_tbcatomic,
50  cudaStream_t stream
51 );
52 
53 #endif // NODEGROUP_FORCE_REGISTER
54 #endif // RESTRAINTSKERNEL_H