1 #ifndef OPENMM_AMOEBA_MULTIPOLE_FORCE_IMPL_H_
2 #define OPENMM_AMOEBA_MULTIPOLE_FORCE_IMPL_H_
35 #include "openmm/internal/ForceImpl.h"
36 #include "openmm/AmoebaMultipoleForce.h"
37 #include "openmm/Kernel.h"
38 #include "openmm/Vec3.h"
59 double calcForcesAndEnergy(
ContextImpl& context,
bool includeForces,
bool includeEnergy,
int groups);
61 return std::map<std::string, double>();
63 std::vector<std::string> getKernelNames();
74 const std::vector< AmoebaMultipoleForce::CovalentType>& lists,
75 int* minCovalentIndex,
int* maxCovalentIndex );
83 static void getCovalentDegree(
const AmoebaMultipoleForce& force, std::vector<int>& covalentDegree );
85 void getInducedDipoles(
ContextImpl& context, std::vector<Vec3>& dipoles);
87 void getElectrostaticPotential(
ContextImpl& context,
const std::vector< Vec3 >& inputGrid,
88 std::vector< double >& outputElectrostaticPotential );
90 void getSystemMultipoleMoments(
ContextImpl& context, std::vector< double >& outputMultipoleMoments );
91 void updateParametersInContext(
ContextImpl& context);
99 static bool initializedCovalentDegrees;
100 static const int* getCovalentDegrees(
void );
This is the internal implementation of a Context.
Definition: ContextImpl.h:53
const AmoebaMultipoleForce & getOwner() const
Get the Force object from which this ForceImpl was created.
Definition: AmoebaMultipoleForceImpl.h:53
This is the internal implementation of AmoebaMultipoleForce.
Definition: AmoebaMultipoleForceImpl.h:48
void updateContextState(ContextImpl &context)
This method is called at the beginning of each time step.
Definition: AmoebaMultipoleForceImpl.h:56
A Kernel encapsulates a particular implementation of a calculation that can be performed on the data ...
Definition: Kernel.h:58
std::map< std::string, double > getDefaultParameters()
Get a map containing the default values for all adjustable parameters defined by this ForceImpl...
Definition: AmoebaMultipoleForceImpl.h:60
A ForceImpl provides the internal implementation of a Force.
Definition: ForceImpl.h:57
This class implements the Amoeba multipole interaction.
Definition: AmoebaMultipoleForce.h:53
Definition: AmoebaMultipoleForce.h:89