SHAKE: Consider the smallest non-trivial Kramers chain
consisting of three atoms connected by massless rigid bonds of lengths
. Constraint equations:
Lagrange constraint forces: keep the bond lengths constant.
The constraint force on atom is parallel to
Atom is subject to two constraint forces along
. Atom is kept in line by
a force along
are the physical accelerations due to Lennard-Jones
or other pair potentials.
Let the positions
be given at time .
Integrate the equations of motion for one time step with all
set to zero, i. e. without considering the constraint forces;
denote the resulting preliminary positions (at time ) as
. These will not yet
fulfill the constraint equations; instead, the values of
will have some nonzero values
Now we make the correction ansatz
with undetermined , requiring that the corrected positions
fulfill the constraint equations:
; the terms
are quadratic in .
Instead of solving these two quadratic equations for the unknowns
we ignore, for the time being, the small quadratic terms.
The remaining linear equations are solved iteratively,
meaning that this system
of linear equation is solved to arrive at an improved estimate
for which is again inserted in 4.1-4.3
leading to a new set of linearized equations etc., until the absolute
values of are negligible; generally, this will occur after a very
Solving the linearized equations involves a matrix inversion.
To avoid this we introduce one more simplification:
In passing through the chain from one end to the other
we consider only one constraint per atom:
First the bond
is repaired by displacing and .
By repairing the next bond
we disrupt the first bond
again; this is accepted in view of further iterations.
By going through the chain several times we reduce both the error
introduced by neglecting the quadratic terms and
the error due to considering only one constraint at a time.
In our case the procedure is:
insert this in 4.1-4.3 and iterate until
The technique is easily generalized to longer chains.
Molecules and robots:
Robot arms made up of several successive links and joints bear
some resemblance to chain molecules.
A standard problem of robotics, the inverse kinematic problem,
may therefore be solved a la simulation.[KASTENMEIER 86]
The principle of the so-called constrained dynamics/stochastic
optimization technique is as follows:
Define a required ``world trajectory''for the
final element in the chain.
If the robot is redundant, meaning
that it has more degrees of freedom (links and joints) than necessary,
the problem is underdetermined: different combinations of
movements by the individual joints produce identical paths of the
This redundancy may be exploited to fulfill additional requirements,
such as an overall minimum of angular accelerations (i. e. mechanical wear)
in the joints, avoidance of obstacles, etc.
The last element is now moved, one time step at a time, along its
requested trajectory, and SHAKE is invoked to have the preceding joints
The additional requirements are combined into a cost function
which is minimized, at each time step, using a stochastic search
(simulated annealing or simple random search).