Commit 74e2ca75 authored by Mark Friedrichs's avatar Mark Friedrichs
Browse files

Cleanup

parent fff7aa03
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
#include "openmm/Force.h" #include "openmm/Force.h"
#include <vector>
#include "openmm/internal/windowsExport.h" #include "openmm/internal/windowsExport.h"
#include <vector>
namespace OpenMM { namespace OpenMM {
...@@ -43,12 +43,13 @@ namespace OpenMM { ...@@ -43,12 +43,13 @@ namespace OpenMM {
* <p> * <p>
* To use this class, create a AmoebaGeneralizedKirkwoodForce object, then call addParticle() once for each particle in the * To use this class, create a AmoebaGeneralizedKirkwoodForce object, then call addParticle() once for each particle in the
* System to define its parameters. The number of particles for which you define GBSA parameters must * System to define its parameters. The number of particles for which you define GBSA parameters must
* be exactly equal to the number of particles in the System, or else an exception will be thrown when you * be equal to the number of particles in the System, or else an exception will be thrown when you
* try to create a Context. After a particle has been added, you can modify its force field parameters * try to create a Context. After a particle has been added, you can modify its force field parameters
* by calling setParticleParameters(). * by calling setParticleParameters().
*/ */
class OPENMM_EXPORT AmoebaGeneralizedKirkwoodForce : public Force { class OPENMM_EXPORT AmoebaGeneralizedKirkwoodForce : public Force {
public: public:
/* /*
......
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
#include "openmm/Force.h" #include "openmm/Force.h"
#include <vector>
#include "openmm/internal/windowsExport.h" #include "openmm/internal/windowsExport.h"
#include <vector>
namespace OpenMM { namespace OpenMM {
...@@ -44,8 +44,10 @@ namespace OpenMM { ...@@ -44,8 +44,10 @@ namespace OpenMM {
* a angle has been added, you can modify its force field parameters by calling setAngleParameters(). * a angle has been added, you can modify its force field parameters by calling setAngleParameters().
*/ */
class OPENMM_EXPORT AmoebaHarmonicAngleForce : public Force { class OPENMM_EXPORT AmoebaHarmonicAngleForce : public Force {
public: public:
/** /**
* Create a Amoeba HarmonicAngleForce. * Create a Amoeba HarmonicAngleForce.
*/ */
...@@ -124,8 +126,7 @@ public: ...@@ -124,8 +126,7 @@ public:
* @param quadratic k the quadratic harmonic force constant for the angle, measured in kJ/mol/radian^2 * @param quadratic k the quadratic harmonic force constant for the angle, measured in kJ/mol/radian^2
* @return the index of the angle that was added * @return the index of the angle that was added
*/ */
int addAngle(int particle1, int particle2, int particle3, double length, int addAngle(int particle1, int particle2, int particle3, double length, double quadraticK );
double quadraticK );
/** /**
* Get the force field parameters for a angle term. * Get the force field parameters for a angle term.
...@@ -137,8 +138,7 @@ public: ...@@ -137,8 +138,7 @@ public:
* @param length the equilibrium angle, measured in radians * @param length the equilibrium angle, measured in radians
* @param quadratic k the quadratic harmonic force constant for the angle, measured in kJ/mol/radian^2 * @param quadratic k the quadratic harmonic force constant for the angle, measured in kJ/mol/radian^2
*/ */
void getAngleParameters(int index, int& particle1, int& particle2, int& particle3, double& length, void getAngleParameters(int index, int& particle1, int& particle2, int& particle3, double& length, double& quadraticK ) const;
double& quadraticK ) const;
/** /**
* Set the force field parameters for a angle term. * Set the force field parameters for a angle term.
......
...@@ -34,9 +34,9 @@ ...@@ -34,9 +34,9 @@
#include "openmm/Force.h" #include "openmm/Force.h"
#include "openmm/Vec3.h" #include "openmm/Vec3.h"
#include "openmm/internal/windowsExport.h"
#include <map> #include <map>
#include <vector> #include <vector>
#include "openmm/internal/windowsExport.h"
namespace OpenMM { namespace OpenMM {
...@@ -46,8 +46,10 @@ namespace OpenMM { ...@@ -46,8 +46,10 @@ namespace OpenMM {
* a bond has been added, you can modify its force field parameters by calling setBondParameters(). * a bond has been added, you can modify its force field parameters by calling setBondParameters().
*/ */
class OPENMM_EXPORT AmoebaHarmonicBondForce : public Force { class OPENMM_EXPORT AmoebaHarmonicBondForce : public Force {
public: public:
/** /**
* Create a Amoeba HarmonicBondForce. * Create a Amoeba HarmonicBondForce.
*/ */
......
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
#include "openmm/Force.h" #include "openmm/Force.h"
#include <vector>
#include "openmm/internal/windowsExport.h" #include "openmm/internal/windowsExport.h"
#include <vector>
namespace OpenMM { namespace OpenMM {
...@@ -45,8 +45,10 @@ namespace OpenMM { ...@@ -45,8 +45,10 @@ namespace OpenMM {
* a angle has been added, you can modify its force field parameters by calling setAngleParameters(). * a angle has been added, you can modify its force field parameters by calling setAngleParameters().
*/ */
class OPENMM_EXPORT AmoebaHarmonicInPlaneAngleForce : public Force { class OPENMM_EXPORT AmoebaHarmonicInPlaneAngleForce : public Force {
public: public:
/** /**
* Create a Amoeba HarmonicAngleForce. * Create a Amoeba HarmonicAngleForce.
*/ */
......
...@@ -48,14 +48,17 @@ namespace OpenMM { ...@@ -48,14 +48,17 @@ namespace OpenMM {
*/ */
class OPENMM_EXPORT AmoebaMultipoleForce : public Force { class OPENMM_EXPORT AmoebaMultipoleForce : public Force {
public: public:
enum AmoebaNonbondedMethod { enum AmoebaNonbondedMethod {
/** /**
* No cutoff is applied to nonbonded interactions. The full set of N^2 interactions is computed exactly. * No cutoff is applied to nonbonded interactions. The full set of N^2 interactions is computed exactly.
* This necessarily means that periodic boundary conditions cannot be used. This is the default. * This necessarily means that periodic boundary conditions cannot be used. This is the default.
*/ */
NoCutoff = 0, NoCutoff = 0,
/** /**
* Periodic boundary conditions are used, and Particle-Mesh Ewald (PME) summation is used to compute the interaction of each particle * Periodic boundary conditions are used, and Particle-Mesh Ewald (PME) summation is used to compute the interaction of each particle
* with all periodic copies of every other particle. * with all periodic copies of every other particle.
...@@ -88,12 +91,12 @@ public: ...@@ -88,12 +91,12 @@ public:
} }
/** /**
* Get the method used for handling long range nonbonded interactions. * Get the method used for handling long-range nonbonded interactions.
*/ */
AmoebaNonbondedMethod getNonbondedMethod( void ) const; AmoebaNonbondedMethod getNonbondedMethod( void ) const;
/** /**
* Set the method used for handling long range nonbonded interactions. * Set the method used for handling long-range nonbonded interactions.
*/ */
void setNonbondedMethod(AmoebaNonbondedMethod method); void setNonbondedMethod(AmoebaNonbondedMethod method);
......
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
#include "openmm/Force.h" #include "openmm/Force.h"
#include <vector>
#include "openmm/internal/windowsExport.h" #include "openmm/internal/windowsExport.h"
#include <vector>
namespace OpenMM { namespace OpenMM {
...@@ -45,7 +45,9 @@ namespace OpenMM { ...@@ -45,7 +45,9 @@ namespace OpenMM {
*/ */
class OPENMM_EXPORT AmoebaOutOfPlaneBendForce : public Force { class OPENMM_EXPORT AmoebaOutOfPlaneBendForce : public Force {
public: public:
/** /**
* Create a Amoeba OutOfPlaneBendForce. * Create a Amoeba OutOfPlaneBendForce.
*/ */
......
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
#include "openmm/Force.h" #include "openmm/Force.h"
#include <vector>
#include "openmm/internal/windowsExport.h" #include "openmm/internal/windowsExport.h"
#include <vector>
namespace OpenMM { namespace OpenMM {
...@@ -44,8 +44,10 @@ namespace OpenMM { ...@@ -44,8 +44,10 @@ namespace OpenMM {
* a torsion has been added, you can modify its force field parameters by calling setPiTorsionParameters(). * a torsion has been added, you can modify its force field parameters by calling setPiTorsionParameters().
*/ */
class OPENMM_EXPORT AmoebaPiTorsionForce : public Force { class OPENMM_EXPORT AmoebaPiTorsionForce : public Force {
public: public:
/** /**
* Create a Amoeba PiTorsionForce. * Create a Amoeba PiTorsionForce.
*/ */
......
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
#include "openmm/Force.h" #include "openmm/Force.h"
#include <vector>
#include "openmm/internal/windowsExport.h" #include "openmm/internal/windowsExport.h"
#include <vector>
namespace OpenMM { namespace OpenMM {
...@@ -44,8 +44,10 @@ namespace OpenMM { ...@@ -44,8 +44,10 @@ namespace OpenMM {
* a stretchBend has been added, you can modify its force field parameters by calling setStretchBendParameters(). * a stretchBend has been added, you can modify its force field parameters by calling setStretchBendParameters().
*/ */
class OPENMM_EXPORT AmoebaStretchBendForce : public Force { class OPENMM_EXPORT AmoebaStretchBendForce : public Force {
public: public:
/** /**
* Create a Amoeba StretchBendForce. * Create a Amoeba StretchBendForce.
*/ */
......
...@@ -47,6 +47,7 @@ namespace OpenMM { ...@@ -47,6 +47,7 @@ namespace OpenMM {
*/ */
class OPENMM_EXPORT AmoebaTorsionForce : public Force { class OPENMM_EXPORT AmoebaTorsionForce : public Force {
public: public:
static const unsigned int ParametersPerTorsion = 2; static const unsigned int ParametersPerTorsion = 2;
......
...@@ -33,9 +33,10 @@ ...@@ -33,9 +33,10 @@
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
#include "openmm/Force.h" #include "openmm/Force.h"
#include "openmm/internal/windowsExport.h"
#include <vector> #include <vector>
#include <cmath> #include <cmath>
#include "openmm/internal/windowsExport.h"
namespace OpenMM { namespace OpenMM {
...@@ -158,7 +159,9 @@ private: ...@@ -158,7 +159,9 @@ private:
}; };
class AmoebaTorsionTorsionForce::TorsionTorsionInfo { class AmoebaTorsionTorsionForce::TorsionTorsionInfo {
public: public:
int particle1, particle2, particle3, particle4, particle5; int particle1, particle2, particle3, particle4, particle5;
int chiralCheckAtomIndex; int chiralCheckAtomIndex;
int gridIndex; int gridIndex;
......
...@@ -34,9 +34,10 @@ ...@@ -34,9 +34,10 @@
#include "openmm/Force.h" #include "openmm/Force.h"
#include "openmm/Vec3.h" #include "openmm/Vec3.h"
#include "openmm/internal/windowsExport.h"
#include <map> #include <map>
#include <vector> #include <vector>
#include "openmm/internal/windowsExport.h"
namespace OpenMM { namespace OpenMM {
...@@ -46,8 +47,10 @@ namespace OpenMM { ...@@ -46,8 +47,10 @@ namespace OpenMM {
* a bond has been added, you can modify its force field parameters by calling setUreyBradleyParameters(). * a bond has been added, you can modify its force field parameters by calling setUreyBradleyParameters().
*/ */
class OPENMM_EXPORT AmoebaUreyBradleyForce : public Force { class OPENMM_EXPORT AmoebaUreyBradleyForce : public Force {
public: public:
/** /**
* Create a Amoeba UreyBradleyForce. * Create a Amoeba UreyBradleyForce.
*/ */
......
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
#include "openmm/Force.h" #include "openmm/Force.h"
#include <vector>
#include "openmm/internal/windowsExport.h" #include "openmm/internal/windowsExport.h"
#include <vector>
namespace OpenMM { namespace OpenMM {
...@@ -44,8 +44,10 @@ namespace OpenMM { ...@@ -44,8 +44,10 @@ namespace OpenMM {
* a angle has been added, you can modify its force field parameters by calling setAngleParameters(). * a angle has been added, you can modify its force field parameters by calling setAngleParameters().
*/ */
class OPENMM_EXPORT AmoebaVdwForce : public Force { class OPENMM_EXPORT AmoebaVdwForce : public Force {
public: public:
/** /**
* Create a Amoeba VdwForce. * Create a Amoeba VdwForce.
*/ */
......
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
#include "openmm/Force.h" #include "openmm/Force.h"
#include <vector>
#include "openmm/internal/windowsExport.h" #include "openmm/internal/windowsExport.h"
#include <vector>
namespace OpenMM { namespace OpenMM {
...@@ -44,8 +44,10 @@ namespace OpenMM { ...@@ -44,8 +44,10 @@ namespace OpenMM {
* a angle has been added, you can modify its force field parameters by calling setAngleParameters(). * a angle has been added, you can modify its force field parameters by calling setAngleParameters().
*/ */
class OPENMM_EXPORT AmoebaWcaDispersionForce : public Force { class OPENMM_EXPORT AmoebaWcaDispersionForce : public Force {
public: public:
/** /**
* Create a Amoeba WcaDispersionForce. * Create a Amoeba WcaDispersionForce.
*/ */
......
...@@ -47,12 +47,16 @@ namespace OpenMM { ...@@ -47,12 +47,16 @@ namespace OpenMM {
* This kernel is invoked by AmoebaHarmonicBondForce to calculate the forces acting on the system and the energy of the system. * This kernel is invoked by AmoebaHarmonicBondForce to calculate the forces acting on the system and the energy of the system.
*/ */
class CalcAmoebaHarmonicBondForceKernel : public KernelImpl { class CalcAmoebaHarmonicBondForceKernel : public KernelImpl {
public: public:
static std::string Name() { static std::string Name() {
return "CalcAmoebaHarmonicBondForce"; return "CalcAmoebaHarmonicBondForce";
} }
CalcAmoebaHarmonicBondForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) { CalcAmoebaHarmonicBondForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) {
} }
/** /**
* Initialize the kernel. * Initialize the kernel.
* *
...@@ -60,6 +64,7 @@ public: ...@@ -60,6 +64,7 @@ public:
* @param force the AmoebaHarmonicBondForce this kernel will be used for * @param force the AmoebaHarmonicBondForce this kernel will be used for
*/ */
virtual void initialize(const System& system, const AmoebaHarmonicBondForce& force) = 0; virtual void initialize(const System& system, const AmoebaHarmonicBondForce& force) = 0;
/** /**
* Execute the kernel to calculate the forces and/or energy. * Execute the kernel to calculate the forces and/or energy.
* *
...@@ -69,16 +74,20 @@ public: ...@@ -69,16 +74,20 @@ public:
* @return the potential energy due to the force * @return the potential energy due to the force
*/ */
virtual double execute(ContextImpl& context, bool includeForces, bool includeEnergy) = 0; virtual double execute(ContextImpl& context, bool includeForces, bool includeEnergy) = 0;
}; };
class CalcAmoebaUreyBradleyForceKernel : public KernelImpl { class CalcAmoebaUreyBradleyForceKernel : public KernelImpl {
public: public:
static std::string Name() { static std::string Name() {
return "CalcAmoebaUreyBradleyForce"; return "CalcAmoebaUreyBradleyForce";
} }
CalcAmoebaUreyBradleyForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) { CalcAmoebaUreyBradleyForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) {
} }
/** /**
* Initialize the kernel. * Initialize the kernel.
* *
...@@ -86,6 +95,7 @@ public: ...@@ -86,6 +95,7 @@ public:
* @param force the AmoebaUreyBradleyForce this kernel will be used for * @param force the AmoebaUreyBradleyForce this kernel will be used for
*/ */
virtual void initialize(const System& system, const AmoebaUreyBradleyForce& force) = 0; virtual void initialize(const System& system, const AmoebaUreyBradleyForce& force) = 0;
/** /**
* Execute the kernel to calculate the forces and/or energy. * Execute the kernel to calculate the forces and/or energy.
* *
...@@ -95,18 +105,23 @@ public: ...@@ -95,18 +105,23 @@ public:
* @return the potential energy due to the force * @return the potential energy due to the force
*/ */
virtual double execute(ContextImpl& context, bool includeForces, bool includeEnergy) = 0; virtual double execute(ContextImpl& context, bool includeForces, bool includeEnergy) = 0;
}; };
/** /**
* This kernel is invoked by AmoebaHarmonicAngleForce to calculate the forces acting on the system and the energy of the system. * This kernel is invoked by AmoebaHarmonicAngleForce to calculate the forces acting on the system and the energy of the system.
*/ */
class CalcAmoebaHarmonicAngleForceKernel : public KernelImpl { class CalcAmoebaHarmonicAngleForceKernel : public KernelImpl {
public: public:
static std::string Name() { static std::string Name() {
return "CalcAmoebaHarmonicAngleForce"; return "CalcAmoebaHarmonicAngleForce";
} }
CalcAmoebaHarmonicAngleForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) { CalcAmoebaHarmonicAngleForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) {
} }
/** /**
* Initialize the kernel. * Initialize the kernel.
* *
...@@ -114,6 +129,7 @@ public: ...@@ -114,6 +129,7 @@ public:
* @param force the HarmonicAngleForce this kernel will be used for * @param force the HarmonicAngleForce this kernel will be used for
*/ */
virtual void initialize(const System& system, const AmoebaHarmonicAngleForce& force) = 0; virtual void initialize(const System& system, const AmoebaHarmonicAngleForce& force) = 0;
/** /**
* Execute the kernel to calculate the forces and/or energy. * Execute the kernel to calculate the forces and/or energy.
* *
...@@ -129,12 +145,16 @@ public: ...@@ -129,12 +145,16 @@ public:
* This kernel is invoked by AmoebaHarmonicInPlaneAngleForce to calculate the forces acting on the system and the energy of the system. * This kernel is invoked by AmoebaHarmonicInPlaneAngleForce to calculate the forces acting on the system and the energy of the system.
*/ */
class CalcAmoebaHarmonicInPlaneAngleForceKernel : public KernelImpl { class CalcAmoebaHarmonicInPlaneAngleForceKernel : public KernelImpl {
public: public:
static std::string Name() { static std::string Name() {
return "CalcAmoebaHarmonicInPlaneAngleForce"; return "CalcAmoebaHarmonicInPlaneAngleForce";
} }
CalcAmoebaHarmonicInPlaneAngleForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) { CalcAmoebaHarmonicInPlaneAngleForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) {
} }
/** /**
* Initialize the kernel. * Initialize the kernel.
* *
...@@ -142,6 +162,7 @@ public: ...@@ -142,6 +162,7 @@ public:
* @param force the HarmonicInPlaneAngleForce this kernel will be used for * @param force the HarmonicInPlaneAngleForce this kernel will be used for
*/ */
virtual void initialize(const System& system, const AmoebaHarmonicInPlaneAngleForce& force) = 0; virtual void initialize(const System& system, const AmoebaHarmonicInPlaneAngleForce& force) = 0;
/** /**
* Execute the kernel to calculate the forces and/or energy. * Execute the kernel to calculate the forces and/or energy.
* *
...@@ -157,12 +178,16 @@ public: ...@@ -157,12 +178,16 @@ public:
* This kernel is invoked by AmoebaTorsionForce to calculate the forces acting on the system and the energy of the system. * This kernel is invoked by AmoebaTorsionForce to calculate the forces acting on the system and the energy of the system.
*/ */
class CalcAmoebaTorsionForceKernel : public KernelImpl { class CalcAmoebaTorsionForceKernel : public KernelImpl {
public: public:
static std::string Name() { static std::string Name() {
return "CalcAmoebaTorsionForce"; return "CalcAmoebaTorsionForce";
} }
CalcAmoebaTorsionForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) { CalcAmoebaTorsionForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) {
} }
/** /**
* Initialize the kernel. * Initialize the kernel.
* *
...@@ -170,6 +195,7 @@ public: ...@@ -170,6 +195,7 @@ public:
* @param force the TorsionForce this kernel will be used for * @param force the TorsionForce this kernel will be used for
*/ */
virtual void initialize(const System& system, const AmoebaTorsionForce& force) = 0; virtual void initialize(const System& system, const AmoebaTorsionForce& force) = 0;
/** /**
* Execute the kernel to calculate the forces and/or energy. * Execute the kernel to calculate the forces and/or energy.
* *
...@@ -185,12 +211,16 @@ public: ...@@ -185,12 +211,16 @@ public:
* This kernel is invoked by AmoebaTorsionForce to calculate the forces acting on the system and the energy of the system. * This kernel is invoked by AmoebaTorsionForce to calculate the forces acting on the system and the energy of the system.
*/ */
class CalcAmoebaPiTorsionForceKernel : public KernelImpl { class CalcAmoebaPiTorsionForceKernel : public KernelImpl {
public: public:
static std::string Name() { static std::string Name() {
return "CalcAmoebaPiTorsionForce"; return "CalcAmoebaPiTorsionForce";
} }
CalcAmoebaPiTorsionForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) { CalcAmoebaPiTorsionForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) {
} }
/** /**
* Initialize the kernel. * Initialize the kernel.
* *
...@@ -198,6 +228,7 @@ public: ...@@ -198,6 +228,7 @@ public:
* @param force the PiTorsionForce this kernel will be used for * @param force the PiTorsionForce this kernel will be used for
*/ */
virtual void initialize(const System& system, const AmoebaPiTorsionForce& force) = 0; virtual void initialize(const System& system, const AmoebaPiTorsionForce& force) = 0;
/** /**
* Execute the kernel to calculate the forces and/or energy. * Execute the kernel to calculate the forces and/or energy.
* *
...@@ -213,12 +244,16 @@ public: ...@@ -213,12 +244,16 @@ public:
* This kernel is invoked by AmoebaTorsionForce to calculate the forces acting on the system and the energy of the system. * This kernel is invoked by AmoebaTorsionForce to calculate the forces acting on the system and the energy of the system.
*/ */
class CalcAmoebaStretchBendForceKernel : public KernelImpl { class CalcAmoebaStretchBendForceKernel : public KernelImpl {
public: public:
static std::string Name() { static std::string Name() {
return "CalcAmoebaStretchBendForce"; return "CalcAmoebaStretchBendForce";
} }
CalcAmoebaStretchBendForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) { CalcAmoebaStretchBendForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) {
} }
/** /**
* Initialize the kernel. * Initialize the kernel.
* *
...@@ -226,6 +261,7 @@ public: ...@@ -226,6 +261,7 @@ public:
* @param force the StretchBendForce this kernel will be used for * @param force the StretchBendForce this kernel will be used for
*/ */
virtual void initialize(const System& system, const AmoebaStretchBendForce& force) = 0; virtual void initialize(const System& system, const AmoebaStretchBendForce& force) = 0;
/** /**
* Execute the kernel to calculate the forces and/or energy. * Execute the kernel to calculate the forces and/or energy.
* *
...@@ -241,12 +277,16 @@ public: ...@@ -241,12 +277,16 @@ public:
* This kernel is invoked by AmoebaTorsionForce to calculate the forces acting on the system and the energy of the system. * This kernel is invoked by AmoebaTorsionForce to calculate the forces acting on the system and the energy of the system.
*/ */
class CalcAmoebaOutOfPlaneBendForceKernel : public KernelImpl { class CalcAmoebaOutOfPlaneBendForceKernel : public KernelImpl {
public: public:
static std::string Name() { static std::string Name() {
return "CalcAmoebaOutOfPlaneBendForce"; return "CalcAmoebaOutOfPlaneBendForce";
} }
CalcAmoebaOutOfPlaneBendForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) { CalcAmoebaOutOfPlaneBendForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) {
} }
/** /**
* Initialize the kernel. * Initialize the kernel.
* *
...@@ -254,6 +294,7 @@ public: ...@@ -254,6 +294,7 @@ public:
* @param force the OutOfPlaneBendForce this kernel will be used for * @param force the OutOfPlaneBendForce this kernel will be used for
*/ */
virtual void initialize(const System& system, const AmoebaOutOfPlaneBendForce& force) = 0; virtual void initialize(const System& system, const AmoebaOutOfPlaneBendForce& force) = 0;
/** /**
* Execute the kernel to calculate the forces and/or energy. * Execute the kernel to calculate the forces and/or energy.
* *
...@@ -269,12 +310,16 @@ public: ...@@ -269,12 +310,16 @@ public:
* This kernel is invoked by AmoebaTorsionTorsionForce to calculate the forces acting on the system and the energy of the system. * This kernel is invoked by AmoebaTorsionTorsionForce to calculate the forces acting on the system and the energy of the system.
*/ */
class CalcAmoebaTorsionTorsionForceKernel : public KernelImpl { class CalcAmoebaTorsionTorsionForceKernel : public KernelImpl {
public: public:
static std::string Name() { static std::string Name() {
return "CalcAmoebaTorsionTorsionForce"; return "CalcAmoebaTorsionTorsionForce";
} }
CalcAmoebaTorsionTorsionForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) { CalcAmoebaTorsionTorsionForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) {
} }
/** /**
* Initialize the kernel. * Initialize the kernel.
* *
...@@ -282,6 +327,7 @@ public: ...@@ -282,6 +327,7 @@ public:
* @param force the TorsionTorsionForce this kernel will be used for * @param force the TorsionTorsionForce this kernel will be used for
*/ */
virtual void initialize(const System& system, const AmoebaTorsionTorsionForce& force) = 0; virtual void initialize(const System& system, const AmoebaTorsionTorsionForce& force) = 0;
/** /**
* Execute the kernel to calculate the forces and/or energy. * Execute the kernel to calculate the forces and/or energy.
* *
...@@ -297,12 +343,16 @@ public: ...@@ -297,12 +343,16 @@ public:
* This kernel is invoked by AmoebaMultipoleForce to calculate the forces acting on the system and the energy of the system. * This kernel is invoked by AmoebaMultipoleForce to calculate the forces acting on the system and the energy of the system.
*/ */
class CalcAmoebaMultipoleForceKernel : public KernelImpl { class CalcAmoebaMultipoleForceKernel : public KernelImpl {
public: public:
static std::string Name() { static std::string Name() {
return "CalcAmoebaMultipoleForce"; return "CalcAmoebaMultipoleForce";
} }
CalcAmoebaMultipoleForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) { CalcAmoebaMultipoleForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) {
} }
/** /**
* Initialize the kernel. * Initialize the kernel.
* *
...@@ -310,6 +360,7 @@ public: ...@@ -310,6 +360,7 @@ public:
* @param force the MultipoleForce this kernel will be used for * @param force the MultipoleForce this kernel will be used for
*/ */
virtual void initialize(const System& system, const AmoebaMultipoleForce& force) = 0; virtual void initialize(const System& system, const AmoebaMultipoleForce& force) = 0;
/** /**
* Execute the kernel to calculate the forces and/or energy. * Execute the kernel to calculate the forces and/or energy.
* *
...@@ -325,10 +376,13 @@ public: ...@@ -325,10 +376,13 @@ public:
* This kernel is invoked by AmoebaGeneralizedKirkwoodForce to calculate the forces acting on the system and the energy of the system. * This kernel is invoked by AmoebaGeneralizedKirkwoodForce to calculate the forces acting on the system and the energy of the system.
*/ */
class CalcAmoebaGeneralizedKirkwoodForceKernel : public KernelImpl { class CalcAmoebaGeneralizedKirkwoodForceKernel : public KernelImpl {
public: public:
static std::string Name() { static std::string Name() {
return "CalcAmoebaGeneralizedKirkwoodForce"; return "CalcAmoebaGeneralizedKirkwoodForce";
} }
CalcAmoebaGeneralizedKirkwoodForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) { CalcAmoebaGeneralizedKirkwoodForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) {
} }
...@@ -339,6 +393,7 @@ public: ...@@ -339,6 +393,7 @@ public:
* @param force the GBSAOBCForce this kernel will be used for * @param force the GBSAOBCForce this kernel will be used for
*/ */
virtual void initialize(const System& system, const AmoebaGeneralizedKirkwoodForce& force) = 0; virtual void initialize(const System& system, const AmoebaGeneralizedKirkwoodForce& force) = 0;
/** /**
* Execute the kernel to calculate the forces and/or energy. * Execute the kernel to calculate the forces and/or energy.
* *
...@@ -356,9 +411,11 @@ public: ...@@ -356,9 +411,11 @@ public:
*/ */
class CalcAmoebaVdwForceKernel : public KernelImpl { class CalcAmoebaVdwForceKernel : public KernelImpl {
public: public:
static std::string Name() { static std::string Name() {
return "CalcAmoebaVdwForce"; return "CalcAmoebaVdwForce";
} }
CalcAmoebaVdwForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) { CalcAmoebaVdwForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) {
} }
...@@ -369,6 +426,7 @@ public: ...@@ -369,6 +426,7 @@ public:
* @param force the GBSAOBCForce this kernel will be used for * @param force the GBSAOBCForce this kernel will be used for
*/ */
virtual void initialize(const System& system, const AmoebaVdwForce& force) = 0; virtual void initialize(const System& system, const AmoebaVdwForce& force) = 0;
/** /**
* Execute the kernel to calculate the forces and/or energy. * Execute the kernel to calculate the forces and/or energy.
* *
...@@ -384,10 +442,13 @@ public: ...@@ -384,10 +442,13 @@ public:
* This kernel is invoked by AmoebaWcaDispersionForce to calculate the WCA dispersion forces acting on the system and the WCA dispersion energy of the system. * This kernel is invoked by AmoebaWcaDispersionForce to calculate the WCA dispersion forces acting on the system and the WCA dispersion energy of the system.
*/ */
class CalcAmoebaWcaDispersionForceKernel : public KernelImpl { class CalcAmoebaWcaDispersionForceKernel : public KernelImpl {
public: public:
static std::string Name() { static std::string Name() {
return "CalcAmoebaWcaDispersionForce"; return "CalcAmoebaWcaDispersionForce";
} }
CalcAmoebaWcaDispersionForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) { CalcAmoebaWcaDispersionForceKernel(std::string name, const Platform& platform) : KernelImpl(name, platform) {
} }
...@@ -398,6 +459,7 @@ public: ...@@ -398,6 +459,7 @@ public:
* @param force the GBSAOBCForce this kernel will be used for * @param force the GBSAOBCForce this kernel will be used for
*/ */
virtual void initialize(const System& system, const AmoebaWcaDispersionForce& force) = 0; virtual void initialize(const System& system, const AmoebaWcaDispersionForce& force) = 0;
/** /**
* Execute the kernel to calculate the forces and/or energy. * Execute the kernel to calculate the forces and/or energy.
* *
......
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