1 #ifndef OPENMM_AMOEBA_VDW_FORCE_H_
2 #define OPENMM_AMOEBA_VDW_FORCE_H_
35 #include "openmm/Force.h"
36 #include "internal/windowsExportAmoeba.h"
82 return parameters.size();
95 void setParticleParameters(
int particleIndex,
int parentIndex,
double sigma,
double epsilon,
double reductionFactor);
107 void getParticleParameters(
int particleIndex,
int& parentIndex,
double& sigma,
double& epsilon,
double& reductionFactor)
const;
120 int addParticle(
int parentIndex,
double sigma,
double epsilon,
double reductionFactor);
127 void setSigmaCombiningRule(
const std::string& sigmaCombiningRule);
134 const std::string& getSigmaCombiningRule(
void)
const;
141 void setEpsilonCombiningRule(
const std::string& epsilonCombiningRule);
148 const std::string& getEpsilonCombiningRule(
void)
const;
157 return useDispersionCorrection;
167 useDispersionCorrection = useCorrection;
176 void setParticleExclusions(
int particleIndex,
const std::vector<int>& exclusions);
184 void getParticleExclusions(
int particleIndex, std::vector<int>& exclusions)
const;
189 void setCutoff(
double cutoff);
194 double getCutoff(
void)
const;
199 NonbondedMethod getNonbondedMethod()
const;
204 void setNonbondedMethod(NonbondedMethod method);
214 void updateParametersInContext(
Context& context);
221 NonbondedMethod nonbondedMethod;
223 bool useDispersionCorrection;
225 std::string sigmaCombiningRule;
226 std::string epsilonCombiningRule;
228 std::vector< std::vector<int> > exclusions;
229 std::vector<VdwInfo> parameters;
230 std::vector< std::vector< std::vector<double> > > sigEpsTable;
237 class AmoebaVdwForce::VdwInfo {
240 double reductionFactor, sigma, epsilon, cutoff;
243 reductionFactor = 0.0;
247 VdwInfo(
int parentIndex,
double sigma,
double epsilon,
double reductionFactor) :
248 parentIndex(parentIndex), sigma(sigma), epsilon(epsilon), reductionFactor(reductionFactor) {
bool getUseDispersionCorrection() const
Get whether to add a contribution to the energy that approximately represents the effect of VdW inter...
Definition: AmoebaVdwForce.h:156
This class implements a buffered 14-7 potential used to model van der Waals forces.
Definition: AmoebaVdwForce.h:55
A Context stores the complete state of a simulation.
Definition: Context.h:67
Force objects apply forces to the particles in a System, or alter their behavior in other ways...
Definition: Force.h:65
int getNumParticles() const
Get the number of particles.
Definition: AmoebaVdwForce.h:81
A ForceImpl provides the internal implementation of a Force.
Definition: ForceImpl.h:57
void setUseDispersionCorrection(bool useCorrection)
Set whether to add a contribution to the energy that approximately represents the effect of VdW inter...
Definition: AmoebaVdwForce.h:166
NonbondedMethod
This is an enumeration of the different methods that may be used for handling long range nonbonded fo...
Definition: AmoebaVdwForce.h:60