NAMD
LjPmeRealSpace.h
Go to the documentation of this file.
1 
7 #ifndef LJ_PME_REAL_SPACE_H__
8 #define LJ_PME_REAL_SPACE_H__
9 
10 #include "LjPmeBase.h"
11 #include "Lattice.h"
12 
14 
15 public:
16  LjPmeRealSpace(LjPmeGrid grid, int natoms);
18  //<* Spread the C6 term on the grid */
19  void fill_charges(float **q_arr, char *f_arr, char *fz_arr, double *p);
20 
21  //<* Compute and scale the forces on the grid */
22  void compute_scaledForces(const float * const *q_arr, double *pos,
23  double *force, const Lattice &lattice);
24 
25 private:
26  //<* template function to compute and scale the forces on the grid */
27  template <int order>
28  void compute_scaledForces_order(const float * const *q_arr, double *pos,
29  double *force, const Lattice &lattice);
30 
31  //<* template function to spread the C6 term on the grid */
32  template <int order>
33  void fill_charges_order(float **q_arr, char *f_arr, char *fz_arr, double *p);
34 
35  //<* template function to setup the bspline */
36  template <int order>
37  void fill_b_spline(double *p);
38 
39  const LjPmeGrid myGrid;
40  const int N;
41  double *M, *dM;
42 };
43 
44 
45 #endif
46 
void compute_scaledForces(const float *const *q_arr, double *pos, double *force, const Lattice &lattice)
LjPmeRealSpace(LjPmeGrid grid, int natoms)
void fill_charges(float **q_arr, char *f_arr, char *fz_arr, double *p)