Practical time steps in today's state-of-the-art simulators typically rely on Newton's method to solve large systems of nonlinear equations. In practice, this works well for small time steps but is unreliable at large time steps at or near the frame rate, particularly for difficult or stiff simulations. Recasting backward Euler as a minimization problem allows Newton's method to be stabilized by standard optimization techniques. The resulting solver is capable of solving even the toughest simulations at the 24Hz frame rate and beyond. Simple collisions can be incorporated directly into the solver through constrained minimization without sacrificing efficiency. Several collision formulations are presented including for self collisions and collisions against scripted bodies, which are designed for the unique demands of this solver. Finally the Material Point Method (MPM) can be formulated to use the solver, and we present formulations for its use for simulating various materials.
For simulating viscoelastic fluids, foams and sponges, we design our discretization from the upper convected derivative terms in the evolution of the left Cauchy-Green elastic strain tensor. We combine this with an Oldroyd-B model for plastic flow in a complex viscoelastic fluid. While the Oldroyd-B model is traditionally used for viscoelastic fluids, we show that its interpretation as a plastic flow naturally allows us to simulate a wide range of complex material behaviors. In order to do this, we provide a modification to the traditional Oldroyd- B model that guarantees volume preserving plastic flows. Our plasticity model is remarkably
simple (foregoing the need for the singular value decomposition (SVD) of stresses or strains). We show that implicit time stepping can be achieved with an optimization based approach and that this allows for high resolution simulations at practical simulation times.
We demonstrate that the Drucker-Prager plastic flow model combined with a Hencky-strain-based hyperelasticity accurately recreates a wide range of visual sand phenomena with moderate computational expense. We use the Material Point Method (MPM) to discretize the governing equations for its natural treatment of contact, topological change and history dependent constitutive relations. The Drucker-Prager model naturally represents the frictional relation between shear and normal stresses through a yield stress criterion. We develop a stress projection algorithm used for enforcing this condition with a non-associative flow rule that works naturally with both implicit (non-optimization based) and explicit time integration. We demonstrate the efficacy of our approach on examples undergoing large deformation, collisions and topological changes necessary for producing modern visual effects.