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 Create a new OutOfPlaneSite virtual site.

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.

getWeight12(self)

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

getWeight13(self)

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

getWeightCross(self)

Get the weight factor for the cross product.

Attributes

thisown

The membership flag

property thisown

The membership flag

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