ThreeParticleAverageSite

class simtk.openmm.openmm.ThreeParticleAverageSite(*args)

This is a VirtualSite that computes the particle location as a weighted average of three other particle’s locations. Assuming the weights add up to 1, this means the virtual site is in the plane of the three particles.

__init__(self, particle1, particle2, particle3, weight1, weight2, weight3) → ThreeParticleAverageSite

__init__(self, other) -> ThreeParticleAverageSite

Create a new ThreeParticleAverageSite virtual site. Normally the weights should add up to 1, although this is not strictly required.

Parameters:
  • particle1 (int) – the index of the first particle
  • particle2 (int) – the index of the second particle
  • particle3 (int) – the index of the third particle
  • weight1 (double) – the weight factor (between 0 and 1) for the first particle
  • weight2 (double) – the weight factor (between 0 and 1) for the second particle
  • weight2 – the weight factor (between 0 and 1) for the third particle

Methods

__init__(self, particle1, particle2, …) __init__(self, other) -> ThreeParticleAverageSite
getNumParticles(self) Get the number of particles this virtual site depends on.
getParticle(self, particle) Get the index of a particle this virtual site depends on.
getWeight(self, particle) Get the weight factor used for a particle this virtual site depends on.
getWeight(self, particle) → double

Get the weight factor used for a particle this virtual site depends on.

Parameters:particle (int) – the particle to get (between 0 and getNumParticles())
Returns:the weight factor used for that particle
Return type:double
getNumParticles(self) → int

Get the number of particles this virtual site depends on.

getParticle(self, particle) → int

Get the index of a particle this virtual site depends on.

Parameters:particle (int) – the particle to get (between 0 and getNumParticles())
Returns:the index of the particle in the System
Return type:int