This class implements an implicit solvation force using the GB/VI model. More...
#include <GBVIForce.h>
Classes | |
class | BondInfo |
This is an internal class used to record information about a bond. | |
class | ParticleInfo |
This is an internal class used to record information about a particle. | |
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). | |
Protected Member Functions | |
ForceImpl * | createImpl () |
When a Context is created, it invokes this method on each Force in the System. |
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 |
ForceImpl* createImpl | ( | ) | [protected, virtual] |
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.
int getNumParticles | ( | ) | const [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).
double getSoluteDielectric | ( | ) | const [inline] |
Get the dielectric constant for the solute.
double getSolventDielectric | ( | ) | const [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).
void setSoluteDielectric | ( | double | dielectric | ) | [inline] |
Set the dielectric constant for the solute.
void setSolventDielectric | ( | double | dielectric | ) | [inline] |
Set the dielectric constant for the solvent.