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()
const;
199 NonbondedMethod getNonbondedMethod()
const;
204 void setNonbondedMethod(NonbondedMethod method);
214 void updateParametersInContext(
Context& context);
225 ForceImpl* createImpl()
const;
229 NonbondedMethod nonbondedMethod;
231 bool useDispersionCorrection;
233 std::string sigmaCombiningRule;
234 std::string epsilonCombiningRule;
236 std::vector< std::vector<int> > exclusions;
237 std::vector<VdwInfo> parameters;
238 std::vector< std::vector< std::vector<double> > > sigEpsTable;
245 class AmoebaVdwForce::VdwInfo {
248 double reductionFactor, sigma, epsilon, cutoff;
251 reductionFactor = 0.0;
255 VdwInfo(
int parentIndex,
double sigma,
double epsilon,
double reductionFactor) :
256 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
Periodic boundary conditions are used, so that each particle interacts only with the nearest periodic...
Definition: AmoebaVdwForce.h:70
Force objects apply forces to the particles in a System, or alter their behavior in other ways...
Definition: Force.h:65
bool usesPeriodicBoundaryConditions() const
Returns whether or not this force makes use of periodic boundary conditions.
Definition: AmoebaVdwForce.h:221
int getNumParticles() const
Get the number of particles.
Definition: AmoebaVdwForce.h:81
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
Definition: AndersenThermostat.h:40
NonbondedMethod
This is an enumeration of the different methods that may be used for handling long range nonbonded fo...
Definition: AmoebaVdwForce.h:60