TwoParticleAverageSite

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

This is a VirtualSite that computes the particle location as a weighted average of two other particle’s locations. Assuming the weights add up to 1, this means the virtual site is on the line passing through the two particles.

__init__(self, particle1, particle2, weight1, weight2) → TwoParticleAverageSite

__init__(self, other) -> TwoParticleAverageSite

Create a new TwoParticleAverageSite virtual site. Normally weight1 and weight2 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
  • 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

Methods

__init__((self, particle1, particle2, ...) __init__(self, other) -> TwoParticleAverageSite
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.
getWeight((self, particle) -> double) 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