6 #ifndef MELD_OPENMM_KERNELS_H_
7 #define MELD_OPENMM_KERNELS_H_
11 #include "openmm/KernelImpl.h"
12 #include "openmm/System.h"
13 #include "openmm/Platform.h"
25 static std::string
Name() {
26 return "CalcMeldForce";
48 virtual double execute(OpenMM::ContextImpl& context,
bool includeForces,
bool includeEnergy) = 0;
56 static std::string
Name() {
57 return "CalcRdcForce";
79 virtual double execute(OpenMM::ContextImpl& context,
bool includeForces,
bool includeEnergy) = 0;
virtual double execute(OpenMM::ContextImpl &context, bool includeForces, bool includeEnergy)=0
Execute the kernel to calculate the forces and/or energy.
virtual void initialize(const OpenMM::System &system, const RdcForce &force)=0
Initialize the kernel.
static std::string Name()
Definition: meldKernels.h:56
static std::string Name()
Definition: meldKernels.h:25
virtual void copyParametersToContext(OpenMM::ContextImpl &context, const MeldForce &force)=0
Definition: MeldForceImpl.h:17
Definition: meldKernels.h:53
CalcMeldForceKernel(std::string name, const OpenMM::Platform &platform)
Definition: meldKernels.h:29
This is the MELD Force.
Definition: MeldForce.h:21
virtual double execute(OpenMM::ContextImpl &context, bool includeForces, bool includeEnergy)=0
Execute the kernel to calculate the forces and/or energy.
CalcRdcForceKernel(std::string name, const OpenMM::Platform &platform)
Definition: meldKernels.h:60
virtual void initialize(const OpenMM::System &system, const MeldForce &force)=0
Initialize the kernel.
virtual void copyParametersToContext(OpenMM::ContextImpl &context, const RdcForce &force)=0
Definition: meldKernels.h:22
This is the RDC Force.
Definition: RdcForce.h:21
Definition: MeldForceProxy.h:12