Commit 25f18524 authored by peastman's avatar peastman
Browse files

Merge pull request #111 from peastman/master

Fixed bug in RPMD contractions
parents cf990200 8f79f59e
...@@ -114,8 +114,8 @@ extern "C" __global__ void contractForces(long long* force, long long* contracte ...@@ -114,8 +114,8 @@ extern "C" __global__ void contractForces(long long* force, long long* contracte
// Store results. // Store results.
force[forceIndex] = (long long) (FORCE_SCALE*freal[indexInBlock].x); force[forceIndex] += (long long) (FORCE_SCALE*freal[indexInBlock].x);
force[forceIndex+PADDED_NUM_ATOMS] = (long long) (FORCE_SCALE*freal[indexInBlock].y); force[forceIndex+PADDED_NUM_ATOMS] += (long long) (FORCE_SCALE*freal[indexInBlock].y);
force[forceIndex+PADDED_NUM_ATOMS*2] = (long long) (FORCE_SCALE*freal[indexInBlock].z); force[forceIndex+PADDED_NUM_ATOMS*2] += (long long) (FORCE_SCALE*freal[indexInBlock].z);
} }
} }
...@@ -113,6 +113,6 @@ __kernel void contractForces(__global real4* force, __global real4* contracted) ...@@ -113,6 +113,6 @@ __kernel void contractForces(__global real4* force, __global real4* contracted)
// Store results. // Store results.
force[index] = convert_real4(FORCE_SCALE*freal[indexInBlock]); force[index] += convert_real4(FORCE_SCALE*freal[indexInBlock]);
} }
} }
...@@ -336,7 +336,7 @@ void ReferenceIntegrateRPMDStepKernel::computeForces(ContextImpl& context, const ...@@ -336,7 +336,7 @@ void ReferenceIntegrateRPMDStepKernel::computeForces(ContextImpl& context, const
q[k] = t_complex(0, 0); q[k] = t_complex(0, 0);
fftpack_exec_1d(fft, FFTPACK_BACKWARD, &q[0], &q[0]); fftpack_exec_1d(fft, FFTPACK_BACKWARD, &q[0], &q[0]);
for (int k = 0; k < totalCopies; k++) for (int k = 0; k < totalCopies; k++)
forces[k][particle][component] = scale2*q[k].re; forces[k][particle][component] += scale2*q[k].re;
} }
} }
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment