Fix Ewald dipole correction with GPU update
authorBerk Hess <hess@kth.se>
Tue, 29 Oct 2019 12:33:21 +0000 (13:33 +0100)
committerPaul Bauer <paul.bauer.q@gmail.com>
Tue, 29 Oct 2019 14:14:36 +0000 (15:14 +0100)
Change-Id: I6b643abec3c1bc74b3e1017420cc03daecb0d4ef

src/gromacs/mdlib/sim_util.cpp

index 5962a06bb771b313781c6789fa8f21e4ea5c0a1e..ab51c02ed103d450b2d330668ea8ab0bd14d9f9c 100644 (file)
@@ -799,7 +799,9 @@ setupDomainLifetimeWorkload(const t_inputrec         &inputrec,
     // We assume we have local force work if there are CPU
     // force tasks including PME or nonbondeds.
     domainWork.haveCpuLocalForceWork  = domainWork.haveSpecialForces || domainWork.haveCpuListedForceWork || domainWork.haveFreeEnergyWork ||
-        simulationWork.useCpuNonbonded || simulationWork.useCpuPme;
+        simulationWork.useCpuNonbonded || simulationWork.useCpuPme ||
+        (EEL_PME_EWALD(inputrec.coulombtype) && (inputrec.ewald_geometry == eewg3DC ||
+                                                 inputrec.epsilon_surface != 0));
     return domainWork;
 }