From b838957d848b483f7f07e6a45f9d75609c6a3998 Mon Sep 17 00:00:00 2001 From: Berk Hess Date: Fri, 7 May 2010 11:38:38 +0200 Subject: [PATCH] removed solve_xyz --- src/mdlib/pme.c | 187 -------------------------------------------------------- 1 file changed, 187 deletions(-) diff --git a/src/mdlib/pme.c b/src/mdlib/pme.c index 43bfc938d5..0f9ec84907 100644 --- a/src/mdlib/pme.c +++ b/src/mdlib/pme.c @@ -1146,193 +1146,6 @@ static void spread_q_bsplines(gmx_pme_t pme, pme_atomcomm_t *atc, } -static real solve_pme_xyz(gmx_pme_t pme,t_complex *grid, - real ewaldcoeff,real vol,matrix vir,t_commrec *cr) -{ - /* do recip sum over local cells in grid */ - t_complex *p0; - int kx,ky,kz,maxkx,maxky,maxkz; - int nx,ny,nz,ix,iy,iz,izstart; - real mx,my,mz; - real factor=M_PI*M_PI/(ewaldcoeff*ewaldcoeff); - real ets2,struct2,vfactor,ets2vf; - real eterm,d1,d2,energy=0; - real bx,by; - real mhx,mhy; - real virxx=0,virxy=0,virxz=0,viryy=0,viryz=0,virzz=0; - real rxx,ryx,ryy,rzx,rzy,rzz; - real *mhz,*m2,*denom,*tmp1,*m2inv; - ivec complex_order; - ivec local_ndata,local_offset,local_size; - - nx = pme->nkx; - ny = pme->nky; - nz = pme->nkz; - - /* Dimensions should be identical for A/B grid, so we just use A here */ - gmx_parallel_3dfft_complex_limits(pme->pfft_setupA, - complex_order, - local_ndata, - local_offset, - local_size); - - rxx = pme->recipbox[XX][XX]; - ryx = pme->recipbox[YY][XX]; - ryy = pme->recipbox[YY][YY]; - rzx = pme->recipbox[ZZ][XX]; - rzy = pme->recipbox[ZZ][YY]; - rzz = pme->recipbox[ZZ][ZZ]; - - maxkx = (nx+1)/2; - maxky = (ny+1)/2; - maxkz = nz/2+1; - - if (maxkz > pme->work_nalloc) - { - /* At the moment the dimensions are actually fixed, but this is for the future... */ - srenew(pme->work_mhz,maxkz); - srenew(pme->work_m2,maxkz); - srenew(pme->work_denom,maxkz); - srenew(pme->work_tmp1,maxkz); - srenew(pme->work_m2inv,maxkz); - pme->work_nalloc = maxkz; - } - - mhz = pme->work_mhz; - m2 = pme->work_m2; - denom = pme->work_denom; - tmp1 = pme->work_tmp1; - m2inv = pme->work_m2inv; - - for(ix=0;ixbsp_mod[XX][kx]; - - for(iy=0;iybsp_mod[YY][ky]; - - p0 = grid + ix*local_size[YY]*local_size[ZZ] + iy*local_size[ZZ]; - - if (kx > 0 || ky > 0 || local_offset[ZZ] > 0) { - izstart = 0; - } else { - izstart = 1; - p0++; - } - - for(iz=izstart;izbsp_mod[ZZ][kz]; - tmp1[kz] = -factor*m2[kz]; - } - - for(iz=izstart;izre; - d2 = p0->im; - - eterm = ONE_4PI_EPS0/pme->epsilon_r*tmp1[kz]*denom[kz]; - - p0->re = d1*eterm; - p0->im = d2*eterm; - - struct2 = 2.0*(d1*d1+d2*d2); - - tmp1[kz] = eterm*struct2; - } - - /* 0.5 correction for corner points */ - - if (izstart == 0) - { - tmp1[0] *= 0.5; - } - - if (((nz+1)/2) < maxkz) - { - tmp1[((nz+1)/2)] *= 0.5; - } - - for(iz=izstart;iz