OutOfPlaneSite

class OutOfPlaneSite : public OpenMM::VirtualSite

This is a VirtualSite that computes the particle location based on three other particles’ locations. If r1 is the location of particle 1, r12 is the vector from particle 1 to particle 2, and r13 is the vector from particle 1 to particle 3, then the virtual site location is given by

r1 + w12r12 + w13r13 + wcross(r12 x r13)

The three weight factors are user-specified. This allows the virtual site location to be out of the plane of the three particles. Note that while w12 and w13 are unitless, wcross has units of inverse distance.

Public Functions

OutOfPlaneSite(int particle1, int particle2, int particle3, double weight12, double weight13, double weightCross)

Create a new OutOfPlaneSite virtual site.

Parameters
  • particle1 – the index of the first particle

  • particle2 – the index of the second particle

  • particle3 – the index of the third particle

  • weight12 – the weight factor for the vector from particle1 to particle2

  • weight13 – the weight factor for the vector from particle1 to particle3

  • weightCross – the weight factor for the cross product

double getWeight12() const

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

double getWeight13() const

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

double getWeightCross() const

Get the weight factor for the cross product.