Efficient updating of Delaunay triangulations in physical simulations
(Guibas; Russel)

Delaunay triangulations have many useful properties within the context of molecular simulation. For example, they can be used for collision detection and computing molecular surface area. Most simulations are carried out in atomistic detail and the constituent points (atoms) tend to move small amounts between time steps, so much of the Delaunay triangulation is preserved. We have been looking at alternatives to rebuilding the triangulation at each step. One set of ideas centers around using a kinetic data structure to move the points smoothly to the new location. As only the initial and final positions are specified, there are a variety of motions that can be used. Motions can be chosen so that the degree of the resulting polynomials is linear, minimizing time spent in the solver. Alternatively, the point set can be recursively subdivided and at each level of the subdivision the points at that level can first be moved by a rigid motion that brings them as close as possible to their destinations. Such motions preserve the local Delaunay structure and can greatly reduce the residual motions still required to move the points to their destination, thus keeping the kinetic data structure event cost low. A third alternative, in situations where most of the Delaunay triangulation is preserved by the motion even if the motion is not otherwise small, is to first remove enough problematic points (ones adjacent to inverted tetrahedra and failed incircle tests after the motion) until the remaining triangulation is still valid when warped to the new point locations. The removed points can then be reinserted in the triangulation. As part of this method, we are trying to develop a way to remove more than one point at a time from the Delaunay triangulation, and patch the triangulation after some subset of invalid simplexes have been removed. We are looking at trade-offs between the various methods and how they interact with the underlying simulation type.