# OutOfPlaneSite¶

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

This is a VirtualSite that computes the particle location based on three other particles’ locations. If r<sub>1</sub> is the location of particle 1, r<sub>12</sub> is the vector from particle 1 to particle 2, and r<sub>13</sub> is the vector from particle 1 to particle 3, then the virtual site location is given by

r<sub>1</sub> + w<sub>12</sub>r<sub>12</sub> + w<sub>13</sub>r<sub>13</sub> + w<sub>cross</sub>(r<sub>12</sub> x r<sub>13</sub>)

The three weight factors are user-specified. This allows the virtual site location to be out of the plane of the three particles.

__init__(self, particle1, particle2, particle3, weight12, weight13, weightCross) → OutOfPlaneSite

__init__(self, other) -> OutOfPlaneSite

Create a new OutOfPlaneSite virtual site.

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 weight12 (double) – the weight factor for the vector from particle1 to particle2 weight13 (double) – the weight factor for the vector from particle1 to particle3 weightCross (double) – the weight factor for the cross product

Methods

 __init__((self, particle1, particle2, ...) __init__(self, other) -> OutOfPlaneSite 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. getWeight12((self) -> double) Get the weight factor for the vector from particle1 to particle2. getWeight13((self) -> double) Get the weight factor for the vector from particle1 to particle3. getWeightCross((self) -> double) Get the weight factor for the cross product.
getWeight12(self) → double

Get the weight factor for the vector from particle1 to particle2.

getWeight13(self) → double

Get the weight factor for the vector from particle1 to particle3.

getWeightCross(self) → double

Get the weight factor for the cross product.

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