A parallel multigrid Poisson solver for fluids simulation on large grids

We present a highly efficient numerical solver for the Poisson equation on irregular voxelized domains supporting an arbitrary mix of Neumann and Dirichlet boundary conditions. Our approach employs a multigrid cycle as a preconditioner for the conjugate gradient method, which enables the use of a lightweight, purely geometric multigrid scheme while drastically improving convergence and robustness on irregular domains. Our method is designed for parallel execution on shared-memory platforms and poses modest requirements in terms of bandwidth and memory footprint. Our solver will accommodate as many as 768X1152 voxels with a memory footprint less than 16GB, while a full smoke simulation at this resolution fits in 32GB of RAM. Our preconditioned conjugate gradient solver typically reduces the residual by one order of magnitude every 2 iterations, while each PCG iteration requires approximately 6.1 sec on a 16-core SMP at 768^3 resolution. We demonstrate the efficacy of our method on animations of smoke flow past solid objects and free surface water animations using Poisson pressure projection at unprecedented resolutions.

A parallel multigrid Poisson solver for fluids simulation on large grids

Discrete Viscous Threads

We present a continuum-based discrete model for thin threads of viscous fluid by drawing upon the Rayleigh analogy to elastic rods, demonstrating canonical coiling, folding, and breakup in dynamic simulations. Our derivation emphasizes space-time symmetry, which sheds light on the role of time-parallel transport in eliminating — without approximation — all but an O(n) band of entries of the physical system’s energy Hessian. The result is a fast, unified, implicit treatment of viscous threads and elastic rods that closely reproduces a variety of fascinating physical phenomena, including hysteretic transitions between coiling regimes, competition between surface tension and gravity, and the first numerical fluid-mechanical sewing machine. The novel implicit treatment also yields an order of magnitude speedup in our elastic rod dynamics.

Discrete Viscous Threads

Enhancing Fluid Animation with Adaptive, Controllable, and Intermittent Turbulence

This paper proposes a new scheme for enhancing fluid animation with controllable turbulence. An existing fluid simulation from ordinary fluid solvers is fluctuated by turbulent variation modeled as a random process of forcing. The variation is precomputed as a sequence of solenoidal noise vector fields directly in the spectral domain, which is fast and easy to implement. The spectral generation enables flexible vortex scale and spectrum control following a user prescribed energy spectrum, e.g. Kolmogorov’s cascade theory, so that the fields provide fluctuations in subgrid scales and/or in preferred large octaves. The vector fields are employed as turbulence forces to agitate the existing flow, where they act as a stimulus of turbulence inside the framework of the Navier-Stokes equations, leading to natural integration and temporal consistency. The scheme also facilitates adaptive turbulent enhancement steered by various physical or user-defined properties, such as strain rate, vorticity, distance to objects and scalar density, in critical local regions. Furthermore, an important feature of turbulent fluid, intermittency, is created by applying turbulence control during randomly selected temporal periods.

Enhancing Fluid Animation with Adaptive, Controllable, and Intermittent Turbulence

FASTCD: Fracturing-Aware Stable Collision Detection

We present a collision detection (CD) method for complex and large-scale fracturing models that have geometric and topological changes. We first propose a novel dual-cone culling method to improve the performance of CD, especially self-collision detection among fracturing models. Our dual-cone culling method has a small computational overhead and a conservative algorithm. Combined with bounding volume hierarchies (BVHs), our dual-cone culling method becomes approximate. However, we found that our method does not miss any collisions in the tested benchmarks. We also propose a novel, selective restructuring method that improves the overall performance of CD and reduces performance degradations at fracturing events. Our restructuring method is based on a culling efficiency metric that measures the expected number of overlap tests of a BVH. To further reduce the performance degradations at fracturing events, we also propose a novel, fast BVH construction method that builds multiple levels of the hierarchy in one iteration using a grid and hashing. We test our method with four different large-scale deforming benchmarks. Compared to the state-of-the-art methods, our method shows a more stable performance for CD by improving the performance by a factor of up to two orders of magnitude at frames when deforming models change their mesh topologies.

FASTCD: Fracturing-Aware Stable Collision Detection

Constraint Based Simulation of Adhesive Contact

Dynamics with contact are often formulated as a constrained optimization problem. This approach allows handling in an integrated manner both non-penetration and frictional constraints. Following developments in the computational mechanics field, we have designed an algorithm for adding the simulation of adhesive contact constraints in the context of state-of-the-art constraint-based contact solvers. We show that implicit adhesion constraints can be handled with minor changes to existing solvers, and we demonstrate our algorithm on a diverse range of objects, including mass-spring cloth, volumetric finite-element models, and rigid bodies.

Constraint Based Simulation of Adhesive Contact

Underwater Cloth Simulation with Fractional Derivatives

We introduce the use of fractional differentiation for simulating cloth de formations underwater. The proposed approach is able to achieve realistic underwater deformations without simulating the Eulerian body of water in which the cloth is immersed. Instead, we propose a particle-based cloth model where half-derivative viscoelastic elements are included for describing both the internal and external dynamics of the cloth. These elements model the cloth responses to fluid stresses and are also able to emulate the memory-laden behavior of particles in a viscous fluid. As a result, we obtain fractional clothes, which are able to correctly depict the dynamics of the immersed cloth interacting with the fluid even though the fluid is not simulated. The proposed approach produces realistic underwater cloth deformations and has obvious advantages in simplicity and speed of computation in comparison to volumetric fluid simulation approaches.

Underwater Cloth Simulation with Fractional Derivatives

Filament based smoke with vortex shedding and variational reconnection

Simulating fluids based on vortex filaments is highly attractive for the creation of special effects because it gives artists full control over the simulation using familiar tools like curve editors or the scripted generation of new vortex filaments over time. Because filaments offer a very compact description of fluid flow, real time applications like games or virtual reality are also possible. We present a complete model that includes moving obstacles with vortex shedding, all represented as filaments. Due to variational reconnection the long-time behavior of our method is excellent: Energy and momentum stay constant within reasonable bounds and computational complexity does not increase over time.

Volume Contact Constraints at Arbitrary Resolution

We introduce a new method for simulating frictional contact between volumetric objects using interpenetration volume constraints. When applied to complex geometries, our formulation results in dramatically simpler systems of equations than those of traditional mesh contact models. Contact between highly detailed meshes can be simplified to a single unilateral constraint equation, or accurately processed at arbitrary geometry-independent resolution with simultaneous sticking and sliding across contact patches.
We exploit fast GPU methods for computing layered depth images, which provides us with the intersection volumes and gradients necessary to formulate the contact equations as linear complementarity problems. Straightforward and popular numerical methods, such as projected Gauss-Seidel, can be used to solve the system.
We demonstrate our method in a number of scenarios and present results involving both rigid and deformable objects at interactive rates.

Volume Contact Constraints at Arbitrary Resolution

Subspace Self-Collision Culling

We show how to greatly accelerate self-collision detection (SCD) for reduced deformable models. Given a triangle mesh and a set of deformation modes, our method precomputes Subspace Self-Collision Culling (SSCC) certificates which, if satisfied, prove the absence of self-collisions for large parts of the model. At runtime, bounding volume hierarchies augmented with our certificates can aggressively cull overlap tests and reduce hierarchy updates. Our method supports both discrete and continuous SCD, can handle complex geometry, and makes no assumptions about geometric smoothness or normal bounds. It is particularly effective for simulations with modest subspace deformations, where it can often verify the absence of self-collisions in constant time. Our certificates enable low amortized costs, in time and across many objects in multi-body dynamics simulations. Finally, SSCC is effective enough to support self-collision tests at audio rates, which we demonstrate by producing the first sound simulations of clattering objects.

Subspace Self-Collision Culling

Dynamic Local Remeshing for Elastoplastic Simulation

We propose a finite element simulation method that addresses the full range of material behavior, from purely elastic to highly plastic, for physical domains that are substantially reshaped by plastic flow, fracture, or large elastic deformations. To mitigate artificial plasticity, we maintain a simulation mesh in both the current state and the rest shape, and store plastic offsets only to represent the non-embeddable portion of the plastic deformation. To maintain high element quality in a tetrahedral mesh undergoing gross changes, we use a dynamic meshing algorithm that attempts to replace as few tetrahedra as possible, and thereby limits the visual artifacts and artificial diffusion that would otherwise be introduced by repeatedly remeshing the domain from scratch. Our dynamic mesher also locally refines and coarsens a mesh, and even creates anisotropic tetrahedra, wherever a simulation requests it. We illustrate these features with animations of elastic and plastic behavior, extreme deformations, and fracture.

Dynamic Local Remeshing for Elastoplastic Simulation