git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@8953 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2012-10-12 19:52:48 +00:00
parent fe2278f1b7
commit 5b6ec31a14
2 changed files with 355 additions and 1232 deletions

File diff suppressed because it is too large Load Diff

View File

@ -41,6 +41,7 @@ class PPPM : public KSpace {
virtual ~PPPM();
virtual void init();
virtual void setup();
void setup_grid();
virtual void compute(int, int);
virtual int timing_1d(int, double &);
virtual int timing_3d(int, double &);
@ -65,7 +66,6 @@ class PPPM : public KSpace {
int nxlo_fft,nylo_fft,nzlo_fft,nxhi_fft,nyhi_fft,nzhi_fft;
int nlower,nupper;
int ngrid,nfft,nfft_both;
int nbuf,nbuf_peratom;
FFT_SCALAR ***density_brick;
FFT_SCALAR ***vdx_brick,***vdy_brick,***vdz_brick;
@ -77,7 +77,6 @@ class PPPM : public KSpace {
double *fkx,*fky,*fkz;
FFT_SCALAR *density_fft;
FFT_SCALAR *work1,*work2;
FFT_SCALAR *buf1,*buf2,*buf3,*buf4;
double *gf_b;
FFT_SCALAR **rho1d,**rho_coeff,**drho1d,**drho_coeff;
@ -92,9 +91,10 @@ class PPPM : public KSpace {
FFT_SCALAR ***density_A_brick,***density_B_brick;
FFT_SCALAR *density_A_fft,*density_B_fft;
class FFT3d *fft1,*fft2;
class Remap *remap;
class CommGrid *cg;
class CommGrid *cg_peratom;
int **part2grid; // storage for particle -> grid mapping
int nmax;
@ -106,7 +106,8 @@ class PPPM : public KSpace {
double qdist; // distance from O site to negative charge
double alpha; // geometric factor
void set_fft_parameters();
void set_grid_global();
void set_grid_local();
void adjust_gewald();
double newton_raphson_f();
double derivf();
@ -129,16 +130,6 @@ class PPPM : public KSpace {
virtual void make_rho();
virtual void brick2fft();
void set_grid();
virtual void fillbrick();
void fillbrick_ik();
void fillbrick_ad();
virtual void fillbrick_peratom();
void fillbrick_peratom_ik();
void fillbrick_peratom_ad();
virtual void poisson();
void poisson_ik();
void poisson_ad();
@ -157,6 +148,13 @@ class PPPM : public KSpace {
void compute_rho_coeff();
void slabcorr();
// grid communication
void pack_forward(int, FFT_SCALAR *, int, int *);
void unpack_forward(int, FFT_SCALAR *, int, int *);
void pack_reverse(int, FFT_SCALAR *, int, int *);
void unpack_reverse(int, FFT_SCALAR *, int, int *);
// group-group interactions
virtual void allocate_groups();