1 #ifndef OPENMM_NONBONDEDFORCEIMPL_H_
2 #define OPENMM_NONBONDEDFORCEIMPL_H_
35 #include "ForceImpl.h"
36 #include "openmm/NonbondedForce.h"
37 #include "openmm/Kernel.h"
61 double calcForcesAndEnergy(
ContextImpl& context,
bool includeForces,
bool includeEnergy,
int groups);
63 return std::map<std::string, double>();
65 std::vector<std::string> getKernelNames();
66 void updateParametersInContext(
ContextImpl& context);
71 static void calcEwaldParameters(
const System& system,
const NonbondedForce& force,
double& alpha,
int& kmaxx,
int& kmaxy,
int& kmaxz);
76 static void calcPMEParameters(
const System& system,
const NonbondedForce& force,
double& alpha,
int& xsize,
int& ysize,
int& zsize);
84 class EwaldErrorFunction;
85 static int findZero(
const ErrorFunction& f,
int initialGuess);