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())
Returns:the index of the particle in the System
Return type:int