# AmoebaWcaDispersionForce Class Reference

This class implements a nonbonded interaction between pairs of particles typically used along with AmoebaGeneralizedKirkwoodForce as part of an implicit solvent model. More...

`#include <AmoebaWcaDispersionForce.h>`

Inheritance diagram for AmoebaWcaDispersionForce:

List of all members.

## Classes
class | WcaDispersionInfo
| This is an internal class used to record information about a particle.
## Public Member Functions
| AmoebaWcaDispersionForce ()
| Create an AmoebaWcaDispersionForce.
int | getNumParticles () const
| Get the number of particles.
void | setParticleParameters (int particleIndex, double radius, double epsilon)
| Set the force field parameters for a WCA dispersion particle.
void | getParticleParameters (int particleIndex, double &radius, double &epsilon) const
| Get the force field parameters for a WCA dispersion particle.
int | addParticle (double radius, double epsilon)
| Set the force field parameters for a WCA dispersion particle.
void | updateParametersInContext (Context &context)
| Update the per-particle parameters in a Context to match those stored in this Force object.
double | getEpso () const
double | getEpsh () const
double | getRmino () const
double | getRminh () const
double | getAwater () const
double | getShctd () const
double | getDispoff () const
double | getSlevy () const
void | setEpso (double inputValue)
void | setEpsh (double inputValue)
void | setRmino (double inputValue)
void | setRminh (double inputValue)
void | setAwater (double inputValue)
void | setShctd (double inputValue)
void | setDispoff (double inputValue)
void | setSlevy (double inputValue)
## Protected Member Functions
ForceImpl * | createImpl () const
| When a Context is created, it invokes this method on each Force in the System.

## Detailed Description

This class implements a nonbonded interaction between pairs of particles typically used along with AmoebaGeneralizedKirkwoodForce as part of an implicit solvent model.

To use it, create an AmoebaWcaDispersionForce object then call addParticle() once for each particle. After a particle has been added, you can modify its force field parameters by calling setParticleParameters(). This will have no effect on Contexts that already exist unless you call updateParametersInContext().

## Constructor & Destructor Documentation

AmoebaWcaDispersionForce | ( |  | ) |

Create an AmoebaWcaDispersionForce.

## Member Function Documentation

int addParticle | ( | double | radius,
|  | double | epsilon |
| ) |  |  |

Set the force field parameters for a WCA dispersion particle.

Parameters:

  | radius | radius
  | epsilon | epsilon

Returns:
  index of added particle

ForceImpl* createImpl | ( |  | ) | const`[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.

double getAwater | ( |  | ) | const

double getDispoff | ( |  | ) | const

double getEpsh | ( |  | ) | const

double getEpso | ( |  | ) | const

int getNumParticles | ( |  | ) | const`[inline]`

Get the number of particles.

void getParticleParameters | ( | int | particleIndex,
|  | double & | radius,
|  | double & | epsilon |
| ) |  |  | const

Get the force field parameters for a WCA dispersion particle.

Parameters:

  | particleIndex | the particle index
  | radius | radius
  | epsilon | epsilon

double getRminh | ( |  | ) | const

double getRmino | ( |  | ) | const

double getShctd | ( |  | ) | const

double getSlevy | ( |  | ) | const

void setAwater | ( | double | inputValue | ) |

void setDispoff | ( | double | inputValue | ) |

void setEpsh | ( | double | inputValue | ) |

void setEpso | ( | double | inputValue | ) |

void setParticleParameters | ( | int | particleIndex,
|  | double | radius,
|  | double | epsilon |
| ) |  |  |

Set the force field parameters for a WCA dispersion particle.

Parameters:

  | particleIndex | the particle index
  | radius | radius
  | epsilon | epsilon

void setRminh | ( | double | inputValue | ) |

void setRmino | ( | double | inputValue | ) |

void setShctd | ( | double | inputValue | ) |

void setSlevy | ( | double | inputValue | ) |

void updateParametersInContext | ( | Context & | context | ) |

Update the per-particle parameters in a Context to match those stored in this Force object.

This method provides an efficient method to update certain parameters in an existing Context without needing to reinitialize it. Simply call setParticleParameters() to modify this object's parameters, then call updateParametersInState() to copy them over to the Context.

The only information this method updates is the values of per-particle parameters. All other aspects of the Force are unaffected and can only be changed by reinitializing the Context.

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

- AmoebaWcaDispersionForce.h