# 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) -> 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()) the weight factor used for that particle 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()) the index of the particle in the System int