OpenMM
|
This is a VirtualSite that uses the locations of three other particles to compute a local coordinate system, then places the virtual site at a fixed location in that coordinate system. More...
Public Member Functions | |
def | getOriginWeights |
getOriginWeights(LocalCoordinatesSite self) -> Vec3 const & More... | |
def | getXWeights |
getXWeights(LocalCoordinatesSite self) -> Vec3 const & More... | |
def | getYWeights |
getYWeights(LocalCoordinatesSite self) -> Vec3 const & More... | |
def | getLocalPosition |
getLocalPosition(LocalCoordinatesSite self) -> Vec3 const & More... | |
def | __init__ |
init(OpenMM::LocalCoordinatesSite self, int particle1, int particle2, int particle3, Vec3 const & originWeights, Vec3 const & xWeights, Vec3 const & yWeights, Vec3 const & localPosition) -> LocalCoordinatesSite init(OpenMM::LocalCoordinatesSite self, LocalCoordinatesSite other) -> LocalCoordinatesSite More... | |
def | __del__ |
del(OpenMM::LocalCoordinatesSite self) More... | |
Public Member Functions inherited from VirtualSite | |
def | __init__ |
def | __del__ |
del(OpenMM::VirtualSite self) More... | |
def | getNumParticles |
getNumParticles(VirtualSite self) -> int More... | |
def | getParticle |
getParticle(VirtualSite self, int particle) -> int More... | |
Public Attributes | |
this | |
This is a VirtualSite that uses the locations of three other particles to compute a local coordinate system, then places the virtual site at a fixed location in that coordinate system.
The origin of the coordinate system and the directions of its x and y axes are each specified as a weighted sum of the locations of the three particles:
origin = w1r1 + w2r2 + w3r3
xdir = w1r1 + w2r2 + w3r3
ydir = w1r1 + w2r2 + w3r3
For the origin, the three weights must add to one. For example if (w1, w2, w3) = (1.0, 0.0, 0.0), the origin of the local coordinate system is at the location of particle 1. For xdir and ydir, the weights must add to zero. For excample, if (w1, w2, w3) = (-1.0, 0.5, 0.5), the x axis points from particle 1 toward the midpoint between particles 2 and 3.
The z direction is computed as zdir = xdir x ydir. To ensure the axes are all orthogonal, ydir is then recomputed as ydir = zdir x xdir. All three axis vectors are then normalized, and the virtual site location is set to
origin + x*xdir + y*ydir + z*zdir
def __init__ | ( | self, | |
args | |||
) |
init(OpenMM::LocalCoordinatesSite self, int particle1, int particle2, int particle3, Vec3 const & originWeights, Vec3 const & xWeights, Vec3 const & yWeights, Vec3 const & localPosition) -> LocalCoordinatesSite init(OpenMM::LocalCoordinatesSite self, LocalCoordinatesSite other) -> LocalCoordinatesSite
Create a new LocalCoordinatesSite virtual site.
particle1 | the index of the first particle |
particle2 | the index of the second particle |
particle3 | the index of the third particle |
originWeights | the weight factors for the three particles when computing the origin location |
xWeights | the weight factors for the three particles when computing xdir |
yWeights | the weight factors for the three particles when computing ydir |
localPosition | the position of the virtual site in the local coordinate system |
References simtk.openmm.openmm.stripUnits().
def __del__ | ( | self | ) |
del(OpenMM::LocalCoordinatesSite self)
References simtk.openmm.openmm.stripUnits().
def getLocalPosition | ( | self | ) |
getLocalPosition(LocalCoordinatesSite self) -> Vec3 const &
Get the position of the virtual site in the local coordinate system.
References simtk.openmm.openmm.stripUnits().
def getOriginWeights | ( | self | ) |
getOriginWeights(LocalCoordinatesSite self) -> Vec3 const &
Get the weight factors for the three particles when computing the origin location.
References simtk.openmm.openmm.stripUnits().
def getXWeights | ( | self | ) |
getXWeights(LocalCoordinatesSite self) -> Vec3 const &
Get the weight factors for the three particles when computing xdir.
References simtk.openmm.openmm.stripUnits().
def getYWeights | ( | self | ) |
getYWeights(LocalCoordinatesSite self) -> Vec3 const &
Get the weight factors for the three particles when computing ydir.
References simtk.openmm.openmm.stripUnits().
this |
Referenced by System.__init__().