Skip to main content
eScholarship
Open Access Publications from the University of California

UC Berkeley

UC Berkeley Previously Published Works bannerUC Berkeley

Liquid Simulation on Lattice-Based Tetrahedral Meshes

Abstract

We describe a method for animating incompressible liquids with detailed free surfaces. For each time step, semi- Lagrangian contouring computes a new fluid boundary (represented as a fine surface triangulation) from the previous time step's fluid boundary and velocity field. Then a mesh generation algorithm called isosurface stuffing discretizes the region enclosed by the new fluid boundary, creating a tetrahedral mesh that grades from a fine resolution at the surface to a coarser resolution in the interior. The mesh has a structure, based on the body centered cubic lattice, that accommodates graded tetrahedron sizes but is regular enough to aid efficient point location and to save memory used to store geometric properties of identical tetrahedra. Although the mesh is warped to conform to the liquid boundary, it has a mathematical guarantee on tetrahedron quality, and is generated very rapidly. Each successive time step entails creating a new triangulated liquid surface and a new tetrahedral mesh. Semi-Lagrangian advection computes velocities at the current time step on the new mesh. We use a finite volume discretization to perform pressure projection required to enforce the fluid's incompressibility, and we solve the linear system with algebraic multigrid. A novel thickening scheme prevents thin sheets and droplets of liquid from vanishing when their thicknesses drop below the mesh resolution. Examples demonstrate that the method captures complex liquid motions and fine details on the free surfaces without suffering from excessive volume loss or artificial damping.

Many UC-authored scholarly publications are freely available on this site because of the UC's open access policies. Let us know how this access is important for you.

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View