NAMD
PmeRealSpace.h
Go to the documentation of this file.
1 
7 #ifndef PME_REAL_SPACE_H__
8 #define PME_REAL_SPACE_H__
9 
10 #include "PmeBase.h"
11 #include "Vector.h"
12 #include "ResizeArray.h"
13 
14 class PmeRealSpace {
15 
16 public:
17  PmeRealSpace(PmeGrid grid);
18  ~PmeRealSpace();
19 
20  void set_num_atoms(int natoms);
21 
22  void fill_charges(float **q_arr, float **q_arr_list, int &q_arr_count,
23  int &stray_count, char *f_arr, char *fz_arr, PmeParticle p[]);
24  void compute_forces(const float * const *q_arr, const PmeParticle p[],
25  Vector f[]);
26 
27  void compute_forces_order4_partial(int first, int last, const float * const *q_arr, const PmeParticle p[],
28  Vector f[]);
29 private:
30  void fill_charges_order4(float **q_arr, float **q_arr_list, int &q_arr_count,
31  int &stray_count, char *f_arr, char *fz_arr, PmeParticle p[]);
32  template <int order>
33  void fill_charges_order(float **q_arr, float **q_arr_list, int &q_arr_count,
34  int &stray_count, char *f_arr, char *fz_arr, PmeParticle p[]);
35  void compute_forces_order4(const float * const *q_arr, const PmeParticle p[],
36  Vector f[]);
37  template <int order>
38  void compute_forces_order(const float * const *q_arr, const PmeParticle p[],
39  Vector f[]);
40  template <int order> void fill_b_spline(PmeParticle p[]);
41 
42  const PmeGrid myGrid;
43  int N;
44  float *M, *dM;
45  ResizeArray<float> M_alloc, dM_alloc;
46 };
47 
48 
49 #endif
50 
void compute_forces(const float *const *q_arr, const PmeParticle p[], Vector f[])
Definition: PmeRealSpace.C:141
Definition: Vector.h:64
void fill_charges(float **q_arr, float **q_arr_list, int &q_arr_count, int &stray_count, char *f_arr, char *fz_arr, PmeParticle p[])
Definition: PmeRealSpace.C:47
PmeRealSpace(PmeGrid grid)
Definition: PmeRealSpace.C:13
void set_num_atoms(int natoms)
Definition: PmeRealSpace.C:20
void compute_forces_order4_partial(int first, int last, const float *const *q_arr, const PmeParticle p[], Vector f[])
Definition: PmeRealSpace.C:426