From de0d8befe352a2fde9bae824d4a6247d3c183864 Mon Sep 17 00:00:00 2001 From: Yujin Wu Date: Thu, 16 Sep 2021 19:23:53 -0400 Subject: [PATCH] bug fix for gpu grid generation --- source/fftdock/GPUGridPot.cu | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/source/fftdock/GPUGridPot.cu b/source/fftdock/GPUGridPot.cu index e2aeb395f..c5eef73fe 100644 --- a/source/fftdock/GPUGridPot.cu +++ b/source/fftdock/GPUGridPot.cu @@ -12,7 +12,7 @@ __global__ void generateProtGrid(float *d_probes, float *d_parameter, float *d_GridPot, const int NGrids, const int NAtoms, int *GridNum, float *GridMinCoor, const float DGrid, const float VdwEmax, const float ElecReplEmax,const float ElecAttrEmax, - const int CCELEC_CHARMM, const int ElecMode, const float Dielec){ + const float CCELEC_CHARMM, const int ElecMode, const float Dielec){ /* Kernel of generating protein grid Each thread handle a grid point @@ -134,14 +134,13 @@ __global__ void generateProtGrid(float *d_probes, float *d_parameter, r_min = vdwr + radii; vdwconst = 1.0 + sqrtf(1.0 + 0.5*fabs(VdwEmax)/eps_sqrt); rc = r_min * powf(vdwconst,-1.0/6.0); - beta = 24.0 * eps_sqrt/VdwEmax * (vdwconst*vdwconst-2*vdwconst); - alpha = 0.5*VdwEmax*powf(rc,-1.0*beta); + beta = 24.0 * eps_sqrt/VdwEmax * (vdwconst*vdwconst-vdwconst); if (r > rc) { d_GridPot[NumGridPoints*gridIdx+GridGlobalId] += eps_sqrt*(powf(r_min/r,12.0) - 2.0*powf( r_min/r, 6.0)); } else{ d_GridPot[NumGridPoints*gridIdx+GridGlobalId] += - VdwEmax - alpha*powf(r, beta); + VdwEmax *(1 - 0.5 * powf(r/rc, beta)); } } -- 2.33.0