All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
GBVIForce Class Reference

This class implements an implicit solvation force using the GB/VI model. More...

`#include <GBVIForce.h>`

Inheritance diagram for GBVIForce:

## 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. More...
int | addParticle (double charge, double radius, double gamma)
| Add the GB/VI parameters for a particle. More...
void | getParticleParameters (int index, double &charge, double &radius, double &gamma) const
| Get the force field parameters for a particle. More...
void | setParticleParameters (int index, double charge, double radius, double gamma)
| Set the force field parameters for a particle. More...
int | addBond (int particle1, int particle2, double distance)
| Add a bond. More...
void | getBondParameters (int index, int &particle1, int &particle2, double &distance) const
| Get the parameters defining a bond. More...
void | setBondParameters (int index, int particle1, int particle2, double bondLength)
| Set 1-2 bonds. More...
int | getNumBonds () const
| Get number of bonds. More...
double | getSolventDielectric () const
| Get the dielectric constant for the solvent. More...
void | setSolventDielectric (double dielectric)
| Set the dielectric constant for the solvent. More...
double | getSoluteDielectric () const
| Get the dielectric constant for the solute. More...
void | setSoluteDielectric (double dielectric)
| Set the dielectric constant for the solute. More...
NonbondedMethod | getNonbondedMethod () const
| Get the method used for handling long range nonbonded interactions. More...
void | setNonbondedMethod (NonbondedMethod method)
| Set the method used for handling long range nonbonded interactions. More...
double | getCutoffDistance () const
| Get the cutoff distance (in nm) being used for nonbonded interactions. More...
void | setCutoffDistance (double distance)
| Set the cutoff distance (in nm) being used for nonbonded interactions. More...
BornRadiusScalingMethod | getBornRadiusScalingMethod () const
| Get Born radius scaling method. More...
void | setBornRadiusScalingMethod (BornRadiusScalingMethod method)
| Set Born radius scaling method. More...
double | getQuinticLowerLimitFactor () const
| Get the lower limit factor used in the quintic spline scaling method (typically 0.5-0.8) More...
void | setQuinticLowerLimitFactor (double quinticLowerLimitFactor)
| Set the lower limit factor used in the quintic spline scaling method (typically 0.5-0.8) More...
double | getQuinticUpperBornRadiusLimit () const
| Get the upper limit used in the quintic spline scaling method, measured in nm (~5.0) More...
void | setQuinticUpperBornRadiusLimit (double quinticUpperBornRadiusLimit)
| Set the upper limit used in the quintic spline scaling method, measured in nm (~5.0) More...
bool | usesPeriodicBoundaryConditions () const
| Returns whether or not this force makes use of periodic boundary conditions. More...
Public Member Functions inherited from Force
| Force ()
virtual | ~Force ()
int | getForceGroup () const
| Get the force group this Force belongs to. More...
void | setForceGroup (int group)
| Set the force group this Force belongs to. More...

## Protected Member Functions

ForceImpl * | createImpl () const
| When a Context is created, it invokes this method on each Force in the System. More...
Protected Member Functions inherited from Force
ForceImpl & | getImplInContext (Context &context)
| Get the ForceImpl corresponding to this Force in a Context. More...
ContextImpl & | getContextImpl (Context &context)
| Get the ContextImpl corresponding to a Context. More...

## Detailed Description

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().

Deprecated:
  This class is not supported by most platforms, and will eventually be removed. You can implement the same force with CustomGBForce.

## Member Enumeration Documentation

enum BornRadiusScalingMethod

This is an enumeration of the different methods that may be used for scaling of the Born radii.

Enumerator
NoScaling | No scaling method is applied.
QuinticSpline | Use quintic spline scaling function.

enum NonbondedMethod

This is an enumeration of the different methods that may be used for handling long range nonbonded forces.

Enumerator
NoCutoff | No cutoff is applied to nonbonded interactions. The full set of N^2 interactions is computed exactly. This necessarily means that periodic boundary conditions cannot be used. This is the default.
CutoffNonPeriodic | Interactions beyond the cutoff distance are ignored.
CutoffPeriodic | Periodic boundary conditions are used, so that each particle interacts only with the nearest periodic copy of each other particle. Interactions beyond the cutoff distance are ignored.

## Constructor & Destructor Documentation

GBVIForce | ( |  | ) |

## Member Function Documentation

int addBond | ( | int | particle1,
|  | int | particle2,
|  | double | distance
| ) |  |

Add a bond.

Parameters

  particle1 | the index of the first particle
  particle2 | the index of the second particle
  distance | the distance between the two particles, measured in nm

Returns
  the index of the bond that was added

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.

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

Returns
  the index of the particle that was added

ForceImpl* createImpl | ( |  | ) | const

protectedvirtual

When a Context is created, it invokes this method on each Force in the System.

It should create a new ForceImpl object which can be used by the context for calculating forces. The ForceImpl will be deleted automatically when the Context is deleted.

Implements Force.

void getBondParameters | ( | int | index,
|  | int & | particle1,
|  | int & | particle2,
|  | double & | distance
| ) |  | const

Get the parameters defining a bond.

Parameters

  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 | ( |  | ) | 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.

Returns
  the cutoff distance, measured in nm

NonbondedMethod getNonbondedMethod | ( |  | ) | const

Get the method used for handling long range nonbonded interactions.

int getNumBonds | ( |  | ) | const

Get number of bonds.

Returns
  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.

Parameters

  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 | ( |  | ) | const

Get the lower limit factor used in the quintic spline scaling method (typically 0.5-0.8)

double getQuinticUpperBornRadiusLimit | ( |  | ) | 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.

Parameters

  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.

Parameters

  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.

Parameters

  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.

bool usesPeriodicBoundaryConditions | ( |  | ) | const

inlinevirtual

Returns whether or not this force makes use of periodic boundary conditions.

Returns
  true if force uses PBC and false otherwise

Reimplemented from Force.

References GBVIForce::CutoffPeriodic.

The documentation for this class was generated from the following file:

- GBVIForce.h