GBVIForce Class Reference

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

#include <GBVIForce.h>

Inheritance diagram for GBVIForce:
Force

List of all members.

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

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.

Protected Member Functions

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

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


Member Enumeration Documentation

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 (  )  [protected, virtual]

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
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 ( void   )  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 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
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 setSoluteDielectric ( double  dielectric  )  [inline]

Set the dielectric constant for the solute.

void setSolventDielectric ( double  dielectric  )  [inline]

Set the dielectric constant for the solvent.


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

Generated by  doxygen 1.6.2