1 #ifndef OPENMM_GBSAOBCFORCEFIELD_H_
2 #define OPENMM_GBSAOBCFORCEFIELD_H_
37 #include "internal/windowsExport.h"
72 CutoffNonPeriodic = 1,
87 return particles.size();
98 int addParticle(
double charge,
double radius,
double scalingFactor);
107 void getParticleParameters(
int index,
double& charge,
double& radius,
double& scalingFactor)
const;
116 void setParticleParameters(
int index,
double charge,
double radius,
double scalingFactor);
121 return solventDielectric;
127 solventDielectric = dielectric;
133 return soluteDielectric;
139 soluteDielectric = dielectric;
145 return surfaceAreaEnergy;
151 surfaceAreaEnergy = energy;
156 NonbondedMethod getNonbondedMethod()
const;
160 void setNonbondedMethod(NonbondedMethod method);
167 double getCutoffDistance()
const;
174 void setCutoffDistance(
double distance);
186 void updateParametersInContext(
Context& context);
197 ForceImpl* createImpl()
const;
200 NonbondedMethod nonbondedMethod;
201 double cutoffDistance, solventDielectric, soluteDielectric, surfaceAreaEnergy;
202 std::vector<ParticleInfo> particles;
209 class GBSAOBCForce::ParticleInfo {
211 double charge, radius, scalingFactor;
213 charge = radius = scalingFactor = 0.0;
215 ParticleInfo(
double charge,
double radius,
double scalingFactor) :
216 charge(charge), radius(radius), scalingFactor(scalingFactor) {
bool usesPeriodicBoundaryConditions() const
Returns whether or not this force makes use of periodic boundary conditions.
Definition: GBSAOBCForce.h:193
A Context stores the complete state of a simulation.
Definition: Context.h:67
This class implements an implicit solvation force using the GBSA-OBC model.
Definition: GBSAOBCForce.h:58
double getSolventDielectric() const
Get the dielectric constant for the solvent.
Definition: GBSAOBCForce.h:120
void setSoluteDielectric(double dielectric)
Set the dielectric constant for the solute.
Definition: GBSAOBCForce.h:138
int getNumParticles() const
Get the number of particles in the system.
Definition: GBSAOBCForce.h:86
Force objects apply forces to the particles in a System, or alter their behavior in other ways...
Definition: Force.h:65
void setSurfaceAreaEnergy(double energy)
Set the energy scale for the surface energy term, measured in kJ/mol/nm^2.
Definition: GBSAOBCForce.h:150
Periodic boundary conditions are used, so that each particle interacts only with the nearest periodic...
Definition: GBSAOBCForce.h:77
double getSurfaceAreaEnergy() const
Get the energy scale for the surface energy term, measured in kJ/mol/nm^2.
Definition: GBSAOBCForce.h:144
NonbondedMethod
This is an enumeration of the different methods that may be used for handling long range nonbonded fo...
Definition: GBSAOBCForce.h:63
void setSolventDielectric(double dielectric)
Set the dielectric constant for the solvent.
Definition: GBSAOBCForce.h:126
Definition: AndersenThermostat.h:40
double getSoluteDielectric() const
Get the dielectric constant for the solute.
Definition: GBSAOBCForce.h:132