OpenMM
|
This class implements an implicit solvation force using the GB/VI model. More...
#include <GBVIForce.h>
Public Types | |
enum | NonbondedMethod { NoCutoff = 0, CutoffNonPeriodic = 1, CutoffPeriodic = 2 } |
This is an enumeration of the different methods that may be used for handling long range nonbonded forces. More... | |
enum | BornRadiusScalingMethod { NoScaling = 0, QuinticSpline = 1 } |
This is an enumeration of the different methods that may be used for scaling of the Born radii. More... | |
Public Member Functions | |
GBVIForce () | |
int | getNumParticles () const |
Get the number of particles in the system. | |
int | addParticle (double charge, double radius, double gamma) |
Add the GB/VI parameters for a particle. | |
void | getParticleParameters (int index, double &charge, double &radius, double &gamma) const |
Get the force field parameters for a particle. | |
void | setParticleParameters (int index, double charge, double radius, double gamma) |
Set the force field parameters for a particle. | |
int | addBond (int particle1, int particle2, double distance) |
Add a bond. | |
void | getBondParameters (int index, int &particle1, int &particle2, double &distance) const |
Get the parameters defining a bond. | |
void | setBondParameters (int index, int particle1, int particle2, double bondLength) |
Set 1-2 bonds. | |
int | getNumBonds (void) const |
Get number of bonds. | |
double | getSolventDielectric () const |
Get the dielectric constant for the solvent. | |
void | setSolventDielectric (double dielectric) |
Set the dielectric constant for the solvent. | |
double | getSoluteDielectric () const |
Get the dielectric constant for the solute. | |
void | setSoluteDielectric (double dielectric) |
Set the dielectric constant for the solute. | |
NonbondedMethod | getNonbondedMethod () const |
Get the method used for handling long range nonbonded interactions. | |
void | setNonbondedMethod (NonbondedMethod method) |
Set the method used for handling long range nonbonded interactions. | |
double | getCutoffDistance () const |
Get the cutoff distance (in nm) being used for nonbonded interactions. | |
void | setCutoffDistance (double distance) |
Set the cutoff distance (in nm) being used for nonbonded interactions. | |
BornRadiusScalingMethod | getBornRadiusScalingMethod (void) const |
Get Born radius scaling method. | |
void | setBornRadiusScalingMethod (BornRadiusScalingMethod method) |
Set Born radius scaling method. | |
double | getQuinticLowerLimitFactor (void) const |
Get the lower limit factor used in the quintic spline scaling method (typically 0.5-0.8) | |
void | setQuinticLowerLimitFactor (double quinticLowerLimitFactor) |
Set the lower limit factor used in the quintic spline scaling method (typically 0.5-0.8) | |
double | getQuinticUpperBornRadiusLimit (void) const |
Get the upper limit used in the quintic spline scaling method, measured in nm (~5.0) | |
void | setQuinticUpperBornRadiusLimit (double quinticUpperBornRadiusLimit) |
Set the upper limit used in the quintic spline scaling method, measured in nm (~5.0) | |
Public Member Functions inherited from Force | |
Force () | |
virtual | ~Force () |
int | getForceGroup () const |
Get the force group this Force belongs to. | |
void | setForceGroup (int group) |
Set the force group this Force belongs to. | |
Protected Member Functions | |
ForceImpl * | createImpl () const |
When a Context is created, it invokes this method on each Force in the System. | |
Protected Member Functions inherited from Force | |
ForceImpl & | getImplInContext (Context &context) |
Get the ForceImpl corresponding to this Force in a Context. | |
ContextImpl & | getContextImpl (Context &context) |
Get the ContextImpl corresponding to a Context. | |
This class implements an implicit solvation force using the GB/VI model.
To use this class, create a GBVIForce object, then call addParticle() once for each particle in the System to define its parameters. The number of particles for which you define GB/VI parameters must be exactly 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 by calling setParticleParameters().
enum NonbondedMethod |
This is an enumeration of the different methods that may be used for handling long range nonbonded forces.
GBVIForce | ( | ) |
int addBond | ( | int | particle1, |
int | particle2, | ||
double | distance | ||
) |
Add a bond.
particle1 | the index of the first particle |
particle2 | the index of the second particle |
distance | the distance between the two particles, measured in nm |
int addParticle | ( | double | charge, |
double | radius, | ||
double | gamma | ||
) |
Add the GB/VI parameters for a particle.
This should be called once for each particle in the System. When it is called for the i'th time, it specifies the parameters for the i'th particle.
charge | the charge of the particle, measured in units of the proton charge |
radius | the GB/VI radius of the particle, measured in nm |
gamma | the gamma parameter |
|
protectedvirtual |
void getBondParameters | ( | int | index, |
int & | particle1, | ||
int & | particle2, | ||
double & | distance | ||
) | const |
Get the parameters defining a bond.
index | the index of the bond for which to get parameters |
particle1 | the index of the first particle involved in the bond |
particle2 | the index of the second particle involved in the bond |
distance | the distance between the two particles, measured in nm |
BornRadiusScalingMethod getBornRadiusScalingMethod | ( | void | ) | const |
Get Born radius scaling method.
double getCutoffDistance | ( | ) | const |
Get the cutoff distance (in nm) being used for nonbonded interactions.
If the NonbondedMethod in use is NoCutoff, this value will have no effect.
NonbondedMethod getNonbondedMethod | ( | ) | const |
Get the method used for handling long range nonbonded interactions.
int getNumBonds | ( | void | ) | const |
Get number of bonds.
|
inline |
Get the number of particles in the system.
void getParticleParameters | ( | int | index, |
double & | charge, | ||
double & | radius, | ||
double & | gamma | ||
) | const |
Get the force field parameters for a particle.
index | the index of the particle for which to get parameters |
charge | the charge of the particle, measured in units of the proton charge |
radius | the GBSA radius of the particle, measured in nm |
gamma | the gamma parameter |
double getQuinticLowerLimitFactor | ( | void | ) | const |
Get the lower limit factor used in the quintic spline scaling method (typically 0.5-0.8)
double getQuinticUpperBornRadiusLimit | ( | void | ) | const |
Get the upper limit used in the quintic spline scaling method, measured in nm (~5.0)
|
inline |
Get the dielectric constant for the solute.
|
inline |
Get the dielectric constant for the solvent.
void setBondParameters | ( | int | index, |
int | particle1, | ||
int | particle2, | ||
double | bondLength | ||
) |
Set 1-2 bonds.
index | index of the bond for which to set parameters |
particle1 | index of first atom in bond |
particle2 | index of second atom in bond |
bondLength | bond length, measured in nm |
void setBornRadiusScalingMethod | ( | BornRadiusScalingMethod | method | ) |
Set Born radius scaling method.
void setCutoffDistance | ( | double | distance | ) |
Set the cutoff distance (in nm) being used for nonbonded interactions.
If the NonbondedMethod in use is NoCutoff, this value will have no effect.
distance | the cutoff distance, measured in nm |
void setNonbondedMethod | ( | NonbondedMethod | method | ) |
Set the method used for handling long range nonbonded interactions.
void setParticleParameters | ( | int | index, |
double | charge, | ||
double | radius, | ||
double | gamma | ||
) |
Set the force field parameters for a particle.
index | the index of the particle for which to set parameters |
charge | the charge of the particle, measured in units of the proton charge |
radius | the GB/VI radius of the particle, measured in nm |
gamma | the gamma parameter |
void setQuinticLowerLimitFactor | ( | double | quinticLowerLimitFactor | ) |
Set the lower limit factor used in the quintic spline scaling method (typically 0.5-0.8)
void setQuinticUpperBornRadiusLimit | ( | double | quinticUpperBornRadiusLimit | ) |
Set the upper limit used in the quintic spline scaling method, measured in nm (~5.0)
|
inline |
Set the dielectric constant for the solute.
|
inline |
Set the dielectric constant for the solvent.