Scientific Computation Group and Computer Graphics Lab

David R. Cheriton School of Computer Science, University of Waterloo

E-mail: christopher.batty@uwaterloo.ca

Office: 3605 Davis Centre (DC3605)

Brief Bio Google Scholar DBLP Mastodon

Consider joining the

As of May 2024, CSRankings currently puts UWaterloo at #6 for Computer Graphics in North America over the last 6 years (2019-2024); plus, we're a nice bunch of people!

- We have a new paper accepted with minor revisions to ACM Transactions on Graphics. More info to follow... (May 15, 2024)
- Our two SIGGRAPH North America 2024 papers are now posted! Reach for the Arcs, led by Silvia Sellán, yields high quality mesh reconstructions of discrete SDF data, and Velocity-based Monte Carlo Fluids, led by Ryusuke Sugimoto, derives a Monte Carlo formulation to simulate fluid (smoke) with traditional velocity-pressures variables rather than vorticity. (May 7, 2024)
- In collaboration with folks at Disney and ETH Zurich, we have a new paper appearing at Eurographics 2024 entitled The Impulse Particle-In-Cell Method, which presents a particle-in-cell fluid animation scheme that better preserves vortical details. Check out first author Sergio's talk if you're in Limassol, Cyprus next week! (April 17, 2024)
- Tetsuya Takahashi and I have a new paper to appear in TVCG, that provides a faster solver for box-constrained convex QPs, using an interior point method and aggregation algebraic multigrid. (March 18, 2024)
- We have posted our new SIGGRAPH Asia paper,
*Reach for the Spheres*, which considers improved reconstruction of meshes from discrete signed distance fields. A fun collaboration with Silvia Sellán and Oded Stein! (August 22, 2023)

My lab, the *Computational Motion Group*, studies **Physics-Based Animation**, which integrates
*computer graphics* and *computational physics* to address applications in visual computing, especially visual effects, animated films, and game development.
We often focus on the simulation of liquids and gases, but have
broad interests in physical simulation as a
tool for generating, controlling, and
predicting motion of all kinds. We strive to design
algorithms that are supported by sound physical,
mathematical, and geometric principles, while being
amenable to efficient and robust practical
implementation.

Topics we have explored include...

I maintain the Physics-Based Animation blog, which catalogues papers, people, and software in this area, and a list of computer graphics academics and researchers on Mastodon. I have also collected a few links to pieces of advice for students.

Topics we have explored include...

- interactions between fluids and diverse dynamic objects (e.g., hair, cloth, elastic bodies, rigid bodies)
- viscous flows, non-Newtonian liquids, and granular flows which exhibit exotic behaviours like buckling, coiling, bouncing, and friction effects.
- surface tension-driven phenomena, including small-scale liquid droplets, bubbles, films, and foams
- dynamic surface representations for evolving multimaterial flows and geometries (e.g., level set methods, triangle meshes, particles)
- solving PDEs using Monte Carlo techniques or spatially adaptive finite volume methods (e.g., tetrahedral meshes, octrees).
- embedded methods for boundary conditions (cut-cell techniques, the closest point method) that enable solving PDEs
*in*complex domains or*on*complex shapes

I maintain the Physics-Based Animation blog, which catalogues papers, people, and software in this area, and a list of computer graphics academics and researchers on Mastodon. I have also collected a few links to pieces of advice for students.

The **Computational Motion
Group** is composed of myself and a team of skilled and dedicated graduate and undergraduate students. (Join us!)

- Nathan King (CS PhD program, co-advised by Steve Ruuth at SFU)
- Ryusuke Sugimoto (CS PhD program, co-advised; primary advisor: Toshiya Hachisuka)
- Joel Wretborn (CS PhD program)
- Liang Cui (CS MMath program)
- Brooke Dolny (CS MMath program)
- Rikin Gurditta (CS MMath program)
- Clara Kim (CS MMath program)
- David (Jae Yoon) Cha (Undergraduate)
- Tina Wu (Undergraduate)

Reach for the Arcs: Reconstructing Surfaces from SDFs via Tangent Points

S. Sellán, Y. Ren,**C. Batty,** & O. Stein.
*ACM SIGGRAPH North America 2024*.

We accurately reconstruct triangle meshes from discrete signed distance field (SDF) data having arbitrary genus, even in strongly under-resolved scenarios. Our approach predicts and refines the surface tangent point that generates each SDF sample, by exploiting a connection to oriented point clouds.

[Project] [Paper (PDF, 19MB)]

S. Sellán, Y. Ren,

We accurately reconstruct triangle meshes from discrete signed distance field (SDF) data having arbitrary genus, even in strongly under-resolved scenarios. Our approach predicts and refines the surface tangent point that generates each SDF sample, by exploiting a connection to oriented point clouds.

[Project] [Paper (PDF, 19MB)]

Velocity-based Monte Carlo Fluids

R. Sugimoto,**C. Batty**, & T. Hachisuka.
*ACM SIGGRAPH North America 2024*.

We show how a velocity-based smoke simulator can be implemented using Monte Carlo techniques, in contrast to our earlier vorticity-based MC fluid solver.

[Project] [Paper (PDF, 15MB)] [Video (MP4, 11MB)] [YouTube]

R. Sugimoto,

We show how a velocity-based smoke simulator can be implemented using Monte Carlo techniques, in contrast to our earlier vorticity-based MC fluid solver.

[Project] [Paper (PDF, 15MB)] [Video (MP4, 11MB)] [YouTube]

The Impulse Particle-In-Cell Method

S. Sancho, J. Tang,**C. Batty**, & V. Azevedo.
*Eurographics 2024 (Computer Graphics Forum)*.

A new fluid animation scheme that adapts ideas from covector fluids and impulse methods to particle-in-cell methods to better preserve vorticity, along with a useful heuristic to improve stability.

[Project] [Paper (PDF, 37MB)] [Video (MP4, 40MB)] [YouTube]

S. Sancho, J. Tang,

A new fluid animation scheme that adapts ideas from covector fluids and impulse methods to particle-in-cell methods to better preserve vorticity, along with a useful heuristic to improve stability.

[Project] [Paper (PDF, 37MB)] [Video (MP4, 40MB)] [YouTube]

A Primal-Dual Box-Constrained QP Pressure Poisson Solver with Topology-Aware Geometry-Inspired Aggregation AMG

T. Takahashi &**C. Batty**.
*IEEE Transactions on Visualization and Computer Graphics*, to appear.

A fast solver for box-constrained convex quadratic programs (e.g., for liquids with wall-separating boundary behavior), that employs an interior point method with barrier-based constraint enforcement and a topology-aware aggregation algebraic multigrid preconditioner for inner solves.

[Project] [Paper (PDF, 25MB)] [Supplemental Document (PDF)] [Video (MP4, 114MB)]

T. Takahashi &

A fast solver for box-constrained convex quadratic programs (e.g., for liquids with wall-separating boundary behavior), that employs an interior point method with barrier-based constraint enforcement and a topology-aware aggregation algebraic multigrid preconditioner for inner solves.

[Project] [Paper (PDF, 25MB)] [Supplemental Document (PDF)] [Video (MP4, 114MB)]

Reach for the Spheres: Tangency-Aware Surface Reconstruction of SDFs

S. Sellán,**C. Batty,** & O. Stein.
*ACM SIGGRAPH Asia 2023*.

An improved algorithm for isosurfacing of discrete signed distance fields (SDFs) that explicitly interprets each sample point as a sphere to which the surface must lie tangent. Especially at low grid resolutions, it can recover significantly more detail than marching cubes and Neural Dual Contouring.

[Project] [Paper (PDF)]

S. Sellán,

An improved algorithm for isosurfacing of discrete signed distance fields (SDFs) that explicitly interprets each sample point as a sphere to which the surface must lie tangent. Especially at low grid resolutions, it can recover significantly more detail than marching cubes and Neural Dual Contouring.

[Project] [Paper (PDF)]

A Practical Walk-on-Boundary Method for Boundary Value Problems

R. Sugimoto, T. Chen, Y. Jiang,**C. Batty**, & T. Hachisuka.
*ACM SIGGRAPH North America 2023 (Transactions on Graphics), 42(4), 2023*.

A grid-free Monte Carlo technique to solve Laplace and Poisson problems with general boundary conditions (Dirichlet, Neumann, Robin, mixed), which further benefits from a raytracing-like formulation and implementation.

[Project] [Paper (PDF)] [Code (Github)] [Journal]

R. Sugimoto, T. Chen, Y. Jiang,

A grid-free Monte Carlo technique to solve Laplace and Poisson problems with general boundary conditions (Dirichlet, Neumann, Robin, mixed), which further benefits from a raytracing-like formulation and implementation.

[Project] [Paper (PDF)] [Code (Github)] [Journal]

PolyStokes: A Polynomial Model Reduction Method for Viscous Fluid Simulation

J. Panuelos, R. Goldade, E. Grinspun, D.I.W. Levin, &**C. Batty**.
*ACM SIGGRAPH North America 2023 (Transactions on Graphics(,) 42(4), 2023*.

A flexible scheme to add adaptivity to finite difference-based viscous fluids, by replacing irregular blocks of interior grid cells with exactly divergence-free polynomial elements.

[Project] [Paper (PDF)] [Journal]

J. Panuelos, R. Goldade, E. Grinspun, D.I.W. Levin, &

A flexible scheme to add adaptivity to finite difference-based viscous fluids, by replacing irregular blocks of interior grid cells with exactly divergence-free polynomial elements.

[Project] [Paper (PDF)] [Journal]

A Multilevel Active-Set Preconditioner for Box-Constrained Pressure Poisson Solvers

T. Takahashi &**C. Batty**.
*Proceedings of the ACM on Computer Graphics and Interactive Techniques (Symposium on Computer Animation), 6(2), 2023.*

A fast algebraic multigrid preconditioning strategy for MPRGP (a Krylov-based QP solver) designed to accelerate the solution of quadratic programs arising from pressure Poisson problems with "non-stick" inequality-constrained boundary conditions. i.e., our method accelerates liquid simulations involving non-stick solid boundaries.

[Project] [Paper (PDF)] [Video (MP4)]

T. Takahashi &

A fast algebraic multigrid preconditioning strategy for MPRGP (a Krylov-based QP solver) designed to accelerate the solution of quadratic programs arising from pressure Poisson problems with "non-stick" inequality-constrained boundary conditions. i.e., our method accelerates liquid simulations involving non-stick solid boundaries.

[Project] [Paper (PDF)] [Video (MP4)]

Differentiable Curl-Noise: Boundary-Respecting Procedural
Incompressible Flows Without Discontinuities

X. Ding &**C. Batty**.
*Proceedings of the ACM on Computer Graphics and Interactive Techniques (Symposium on Interactive 3D Graphics and Games), 2023*.

A modification of the "Curl-Noise" method for procedural fluid flow in two dimensions that eliminates discontinuities and kinks in the flow around obstacles.

[Paper (PDF)] [Supplemental Document (PDF)] [Video (MP4) - Large (574MB)] [Video (M4V) - Small (28MB)]

X. Ding &

A modification of the "Curl-Noise" method for procedural fluid flow in two dimensions that eliminates discontinuities and kinks in the flow around obstacles.

[Paper (PDF)] [Supplemental Document (PDF)] [Video (MP4) - Large (574MB)] [Video (M4V) - Small (28MB)]

Curl-Flow: Boundary-Respecting Pointwise Incompressible Velocity Interpolation for Grid-Based Fluids

J.C. Chang, R. Partono, V. Azevedo, &**C. Batty**.
*ACM SIGGRAPH Asia 2022 (Transactions on Graphics), 41(6), 2022*.

A new interpolation strategy for grid-based fluids that recovers*exactly* incompressible velocities from staggered discrete velocity data, while respecting obstacles.

[Project] [Paper (PDF)] [Supplemental (PDF)] [Video (MP4)] [YouTube] [Journal]

J.C. Chang, R. Partono, V. Azevedo, &

A new interpolation strategy for grid-based fluids that recovers

[Project] [Paper (PDF)] [Supplemental (PDF)] [Video (MP4)] [YouTube] [Journal]

ElastoMonolith: A Monolithic Optimization-based Liquid Solver for Contact-Aware Elastic-Solid Coupling

T. Takahashi &**C. Batty**.
*ACM SIGGRAPH Asia 2022 (Transactions on Graphics), 41(6), 2022*.

A unified, strongly coupled, positive definite formulation for simulating contact and interactions among elastic objects, rigid objects, and viscous or inviscid fluids.

[Project] [Paper (PDF)] [Supplemental (PDF)] [Video (MP4)] [YouTube] [Journal]

T. Takahashi &

A unified, strongly coupled, positive definite formulation for simulating contact and interactions among elastic objects, rigid objects, and viscous or inviscid fluids.

[Project] [Paper (PDF)] [Supplemental (PDF)] [Video (MP4)] [YouTube] [Journal]

A Monte Carlo Method for Fluid Simulation

D. Rioux-Lavoie*, R. Sugimoto*, T. Ozdemir, N. H. Shimada,**C. Batty**, D. Nowrouzezahrai, & T. Hachisuka.
*ACM SIGGRAPH Asia 2022 (Transactions on Graphics), 41(6), 2022*. (*Joint first authors.)

An investigation of Monte Carlo methods applied to simulating vortex-based fluid dynamics.

[Project] [Paper (PDF)] [Journal]

D. Rioux-Lavoie*, R. Sugimoto*, T. Ozdemir, N. H. Shimada,

An investigation of Monte Carlo methods applied to simulating vortex-based fluid dynamics.

[Project] [Paper (PDF)] [Journal]

Surface-Only Dynamic Deformables using a Boundary Element Method

R. Sugimoto,**C. Batty**, & T. Hachisuka.
*Computer Graphics Forum (Proceedings of the Symposium on Computer Animation), 2022*.

A technique for simulating time-dependent motions of elastic deformable bodies without requiring an interior tetrahedral mesh.

**Winner of SCA Best Paper Award!**

[Project] [Paper (PDF)] [Supplemental (PDF)] [Video (MP4)] [Code (Github)] [Journal]

R. Sugimoto,

A technique for simulating time-dependent motions of elastic deformable bodies without requiring an interior tetrahedral mesh.

[Project] [Paper (PDF)] [Supplemental (PDF)] [Video (MP4)] [Code (Github)] [Journal]

VEMPIC: Particle-In-Polyhedron Fluid Simulation for Intricate Solid Boundaries

M. Tao,**C. Batty**, M. Ben-Chen, E. Fiume, &
D.I.W. Levin.
*ACM SIGGRAPH North America 2022 (Transactions on Graphics)*.

A fluid animation method that combines a particle-in-cell scheme, exact geometric cut-cells, and the virtual element method to handle solid boundaries with complex polyhedral shapes.

[Project] [Paper (PDF)] [Video (YouTube)] [Journal]

M. Tao,

A fluid animation method that combines a particle-in-cell scheme, exact geometric cut-cells, and the virtual element method to handle solid boundaries with complex polyhedral shapes.

[Project] [Paper (PDF)] [Video (YouTube)] [Journal]

Fast Marching-Cubes-Style Volume Evaluation for Level Set Surfaces

T. Takahashi &**C. Batty**.
*Journal of Computer Graphics Techniques* 11(2), 2022.

A fast, self-contained code for computing per-cell volume and surface area from grid-based implicit surfaces, such as signed distance fields (level sets), in 2D and 3D.

[Paper] [Journal] [Code (Github)]

T. Takahashi &

A fast, self-contained code for computing per-cell volume and surface area from grid-based implicit surfaces, such as signed distance fields (level sets), in 2D and 3D.

[Paper] [Journal] [Code (Github)]

FrictionalMonolith: A Monolithic Optimization-based Approach for Granular Flow with Contact-Aware Rigid-Body Coupling

T. Takahashi &**C. Batty**.
*ACM SIGGRAPH Asia 2021 (Transactions on Graphics, 40(6), 2021)*.

A method for contact-aware simulation of continuum granular media (sand, grain, beads, etc.) undergoing mutual interactions with multiple colliding rigid bodies, with support for exact friction cones.

[Project] [Paper (PDF)] [Video (MP4)] [YouTube] [Journal]

T. Takahashi &

A method for contact-aware simulation of continuum granular media (sand, grain, beads, etc.) undergoing mutual interactions with multiple colliding rigid bodies, with support for exact friction cones.

[Project] [Paper (PDF)] [Video (MP4)] [YouTube] [Journal]

Monolith: A Monolithic Pressure-Viscosity-Contact Solver for Strong Two-Way Rigid-Rigid Rigid-Fluid Coupling

T. Takahashi &**C. Batty**.
*ACM SIGGRAPH Asia 2020 (Transactions on Graphics, 39(6), 2020)*.

A method for contact-aware coupling of rigid bodies undergoing frictional contact with inviscid, viscous, and non-Newtonian fluids, to efficiently enable more complex interactions.

[Project] [Paper (PDF)] [Supplemental (PDF)] [Video (MP4)] [Journal]

T. Takahashi &

A method for contact-aware coupling of rigid bodies undergoing frictional contact with inviscid, viscous, and non-Newtonian fluids, to efficiently enable more complex interactions.

[Project] [Paper (PDF)] [Supplemental (PDF)] [Video (MP4)] [Journal]

Constraint Bubbles and Affine Regions: Reduced Fluid Models for Efficient Immersed Bubbles and Flexible Spatial Coarsening

R. Goldade, M. Aanjaneya, &**C. Batty**.
*ACM SIGGRAPH North America 2020 (Transactions on Graphics, 39(4), 2020)*.

A fast method to incorporate air bubbles into liquid simulators, along with a low-overhead spatial adaptivity approach based on coarsened regions with exactly incompressible affine vector fields.

**Update:** Our *constraint bubbles* technique appears as the "air incompressibility" feature in Houdini, as of Houdini 16.5.

[Paper (PDF)] [Video (MP4)] [Code (Github)] [Project] [Journal]

R. Goldade, M. Aanjaneya, &

A fast method to incorporate air bubbles into liquid simulators, along with a low-overhead spatial adaptivity approach based on coarsened regions with exactly incompressible affine vector fields.

[Paper (PDF)] [Video (MP4)] [Code (Github)] [Project] [Journal]

A Practical Octree Liquid Simulator with Adaptive Surface Resolution

R. Ando &**C. Batty**.
*ACM SIGGRAPH North America 2020 (Transactions on Graphics, 39(4), 2020)*.

An adaptive liquid simulator that allows changing resolution at the liquid surface, including a simpler discretization for the pressure projection near octree T-junctions.

[Paper (PDF)] [Journal] [Video (MP4, 430MB)]

R. Ando &

An adaptive liquid simulator that allows changing resolution at the liquid surface, including a simpler discretization for the pressure projection near octree T-junctions.

[Paper (PDF)] [Journal] [Video (MP4, 430MB)]

Fast and Scalable Solvers for the Fluid Pressure Equations with Separating Solid Boundary Conditions

J. Lai, Y. Chen, Y. Gu,**C. Batty**, & J.W.L. Wan.
*Eurographics 2020 (Computer Graphics Forum, 39(2), 2020)*.

We develop and evaluate a trio of efficient methods, including a Full-Approximation-Scheme (FAS) multigrid solver, for the linear complementarity problem arising from fluid pressure projection with separating solid boundary conditions.

[Paper (PDF)] [Video (MP4)] [Journal]

J. Lai, Y. Chen, Y. Gu,

We develop and evaluate a trio of efficient methods, including a Full-Approximation-Scheme (FAS) multigrid solver, for the linear complementarity problem arising from fluid pressure projection with separating solid boundary conditions.

[Paper (PDF)] [Video (MP4)] [Journal]

Mandoline: Robust Cut-Cell Generation for Arbitrary Triangle Meshes

M. Tao,**C. Batty**, E. Fiume, &
D.I.W. Levin.
*ACM SIGGRAPH Asia 2019 (Transactions on
Graphics, 38(6), 2019)*.

A method (and library) to robustly and efficiently generate polyhedral*cut-cell* meshes by intersecting a triangle mesh with a background uniform Cartesian grid.

[Project] [Paper (PDF)] [Supplemental (PDF)] [Journal]

M. Tao,

A method (and library) to robustly and efficiently generate polyhedral

[Project] [Paper (PDF)] [Supplemental (PDF)] [Journal]

A Multi-Scale Model for Coupling Strands with Shear-Dependent Liquid

Y. Fei,**C. Batty**, C. Zheng, &
E. Grinspun.
*ACM SIGGRAPH Asia 2019 (Transactions on
Graphics, 38(6), 2019)*.

A framework for simulating strands (hair, rods, fibres, etc.) interacting with various gooey liquids.

[Project] [Paper (PDF)] [Supplemental (PDF)] [YouTube] [Two Minute Papers episode] [Compressed Video (MP4, 472MB)] [Full Video (MP4, 1.4GB)] [Journal]

Y. Fei,

A framework for simulating strands (hair, rods, fibres, etc.) interacting with various gooey liquids.

[Project] [Paper (PDF)] [Supplemental (PDF)] [YouTube] [Two Minute Papers episode] [Compressed Video (MP4, 472MB)] [Full Video (MP4, 1.4GB)] [Journal]

An Adaptive Variational Finite Difference Framework for Efficient
Symmetric Octree Viscosity

R. Goldade, Y, Wang, M. Aanjaneya, &**C. Batty**.
*ACM SIGGRAPH North America 2019 (Transactions on
Graphics, 38(4), 2019)*.

A method to solve the viscosity equations for liquids on octrees up to an order of magnitude faster than uniform grids, using a symmetric discretization with sparse finite difference stencils, while achieving qualitatively indistinguishable results.

**Update:** This technique is available in SideFX Software's Houdini, as of Houdini 18.5.

[Project] [Paper (PDF)] [Supplemental (PDF)] [Code (Github)] [Two Minute Papers Episode] [Video (YouTube)] [Video (MP4, 183MB)] [Journal]

R. Goldade, Y, Wang, M. Aanjaneya, &

A method to solve the viscosity equations for liquids on octrees up to an order of magnitude faster than uniform grids, using a symmetric discretization with sparse finite difference stencils, while achieving qualitatively indistinguishable results.

[Project] [Paper (PDF)] [Supplemental (PDF)] [Code (Github)] [Two Minute Papers Episode] [Video (YouTube)] [Video (MP4, 183MB)] [Journal]

A Unified Simplicial Model for Mixed-Dimensional and
Non-Manifold Deformable Elastic Objects

J. Chang, F. Da, E. Grinspun, &**C. Batty**.
*Proceedings of the ACM on Computer Graphics and Interactive Techniques (Symposium on Computer Animation) 2(2), 2019*.

A method to simulate complex deformable elastic bodies consisting of mixed-dimensional components represented with potentially non-manifold simplicial meshes, while leveraging existing solid, shell, and rod discretizations.

[Project] [Paper (PDF)] [Video (MP4, 131MB)] [Journal]

J. Chang, F. Da, E. Grinspun, &

A method to simulate complex deformable elastic bodies consisting of mixed-dimensional components represented with potentially non-manifold simplicial meshes, while leveraging existing solid, shell, and rod discretizations.

[Project] [Paper (PDF)] [Video (MP4, 131MB)] [Journal]

An Efficient Geometric Multigrid Solver for Viscous Liquids

M. Aanjaneya*, C. Han, R. Goldade, &**C. Batty**.
*Proceedings of the ACM on Computer Graphics and Interactive Techniques (Symposium on Computer Animation) 2(2), 2019*. (*Lead and supervising author.)

A fast multigrid method that can solve the regular grid viscosity equations 3.5 - 13.8 times faster than with a naive multigrid approach.

[Project] [Paper (PDF)] [Video (MP4, 119MB)] [Journal]

M. Aanjaneya*, C. Han, R. Goldade, &

A fast multigrid method that can solve the regular grid viscosity equations 3.5 - 13.8 times faster than with a naive multigrid approach.

[Project] [Paper (PDF)] [Video (MP4, 119MB)] [Journal]

A Multi-Scale Model for Simulating Liquid-Fabric Interactions

Y. Fei,**C. Batty**, C. Zheng, &
E. Grinspun.
*ACM SIGGRAPH North America 2018 (Transactions on
Graphics, 37(4), 2018)*.

A numerical method based on mixture theory to animate wetting effects of permeable cloth and yarn-based fabrics interacting with water, including diffusion, drag, capture, and dripping.

[Journal] [Paper (PDF)] [Supplemental (PDF)] [Project] [Code (Github)] [YouTube] [Compressed Video (MP4, 40MB)] [Full Video (MP4, 1.5GB)]

Y. Fei,

A numerical method based on mixture theory to animate wetting effects of permeable cloth and yarn-based fabrics interacting with water, including diffusion, drag, capture, and dripping.

[Journal] [Paper (PDF)] [Supplemental (PDF)] [Project] [Code (Github)] [YouTube] [Compressed Video (MP4, 40MB)] [Full Video (MP4, 1.5GB)]

Power Diagrams and Sparse Paged Grids for High Resolution Adaptive Liquids

M. Aanjaneya*, M. Gao*, H. Liu,**C. Batty**, E. Sifakis.
*ACM SIGGRAPH North America 2017 (Transactions on
Graphics, 36(4), 2017)*. (*Joint first authors.)

A method for adaptive staggered octree liquid simulation allowing the surface to cut arbitrarily through level transitions, using power diagrams for accuracy and the SPGrid data structure for efficiency.

[Journal] [PDF] [Project] [Video(200MB)] [Supplemental PDF]

M. Aanjaneya*, M. Gao*, H. Liu,

A method for adaptive staggered octree liquid simulation allowing the surface to cut arbitrarily through level transitions, using power diagrams for accuracy and the SPGrid data structure for efficiency.

[Journal] [PDF] [Project] [Video(200MB)] [Supplemental PDF]

Variational Stokes: A Unified Pressure-Viscosity Solver
for Accurate Viscous Liquids

E. Larionov*,**C. Batty***, &
R. Bridson.
*ACM SIGGRAPH North America 2017 (Transactions on
Graphics, 36(4), 2017)*. (*Joint first authors.)

By solving pressure and viscosity simultaneously (i.e., a Stokes problem), we more accurately simulate viscous liquids, e.g., recovering the classic liquid rope coiling instability of honey and molasses.

[Journal] [PDF] [Project] [YouTube] [Supplemental PDF] [Main Video(200MB)] [Supplemental Video(54MB)] [Two Minute Papers episode]

E. Larionov*,

By solving pressure and viscosity simultaneously (i.e., a Stokes problem), we more accurately simulate viscous liquids, e.g., recovering the classic liquid rope coiling instability of honey and molasses.

[Journal] [PDF] [Project] [YouTube] [Supplemental PDF] [Main Video(200MB)] [Supplemental Video(54MB)] [Two Minute Papers episode]

A Multi-Scale Model for Simulating Liquid-Hair Interactions

Y. Fei, H. Maia,**C. Batty**, C. Zheng, &
E. Grinspun.
*ACM SIGGRAPH North America 2017 (Transactions on
Graphics, 36(4), 2017)*.

We combine a grid-based liquid simulator, a discrete elastic rod hair model, and a new reduced-dimensional model for liquid adhering to the hair, to animate a variety of liquid-hair effects.

[Journal] [Project] [PDF] [Supplemental PDF] [YouTube] [Video(2.1GB)] [Two Minute Papers episode]

Y. Fei, H. Maia,

We combine a grid-based liquid simulator, a discrete elastic rod hair model, and a new reduced-dimensional model for liquid adhering to the hair, to animate a variety of liquid-hair effects.

[Journal] [Project] [PDF] [Supplemental PDF] [YouTube] [Video(2.1GB)] [Two Minute Papers episode]

A Positive-Definite Cut-Cell Method for Strong Two-Way Coupling Between Fluids and Deformable Bodies

O. Zarifi &**C. Batty**.
*ACM SIGGRAPH/Eurographics Symposium on Computer Animation 2017*.

We extend a common family of cut-cell methods [Roble2005,Batty2007,Ng2009,Azevedo2016,etc] to deformable-fluid coupling while ensuring the linear systems remain symmetric positive-definite.

[Journal] [PDF] [Video]

O. Zarifi &

We extend a common family of cut-cell methods [Roble2005,Batty2007,Ng2009,Azevedo2016,etc] to deformable-fluid coupling while ensuring the linear systems remain symmetric positive-definite.

[Journal] [PDF] [Video]

A cell-centred finite volume
method for the Poisson problem on non-graded quadtrees with
second order accurate gradients

**C. Batty**. *Journal of Computational Physics, 331, 2017.*

The first cell-centred finite volume method for the variable-coefficient Poisson problem on quadtree grids with*no grading restrictions* whatsoever
between neighbouring cells that provides second order
accuracy in the solution *and its
gradients*.

[Preprint PDF] [Journal]

The first cell-centred finite volume method for the variable-coefficient Poisson problem on quadtree grids with

[Preprint PDF] [Journal]

Surface-Only Liquids

F. Da, D. Hahn,**C. Batty**, C. Wojtan, &
E.
Grinspun. *ACM SIGGRAPH North America 2016 (Transactions on
Graphics, 35(4), 2016)*.

By building on boundary element techniques, we are able to simulate surface-tension dominated liquid effects, such as droplet collisions, fluid chains, and crown splashes, using velocity data defined only on a triangulated surface mesh.

[Project] [PDF] [Video] [YouTube] [Journal] [Two Minute Papers episode]

F. Da, D. Hahn,

By building on boundary element techniques, we are able to simulate surface-tension dominated liquid effects, such as droplet collisions, fluid chains, and crown splashes, using velocity data defined only on a triangulated surface mesh.

[Project] [PDF] [Video] [YouTube] [Journal] [Two Minute Papers episode]

Preserving Geometry and Topology
for Fluid Flows with Thin Obstacles and Narrow
Gaps

V. Azevedo,**C. Batty**, & M. Oliveira. *ACM
SIGGRAPH North America 2016 (Transactions on Graphics, 35(4), 2016)*.

We describe techniques to improve the treatment of fluid flows around arbitrarily thin solids and thin gaps in regular grid fluid simulations, including a topology-aware graph-based pressure projection for sub-grid flows and a conforming velocity interpolant to improve particle trajectories in polyhedral cut cells.

[PDF] [Video] [Project] [Journal] [YouTube]

V. Azevedo,

We describe techniques to improve the treatment of fluid flows around arbitrarily thin solids and thin gaps in regular grid fluid simulations, including a topology-aware graph-based pressure projection for sub-grid flows and a conforming velocity interpolant to improve particle trajectories in polyhedral cut cells.

[PDF] [Video] [Project] [Journal] [YouTube]

A Practical Method for
High-Resolution Embedded Liquid Surfaces

R. Goldade,**C. Batty**, & C. Wojtan.
*Eurographics 2016 (Computer Graphics Forum, 35(2), 2016)*.

We describe a trio of practical and efficient techniques that drastically improve the simulation quality achieved when using narrow-band high-resolution level set surfaces embedded within inexpensive low-resolution fluid simulations.

[Project] [PDF] [Video] [YouTube] [Journal]

R. Goldade,

We describe a trio of practical and efficient techniques that drastically improve the simulation quality achieved when using narrow-band high-resolution level set surfaces embedded within inexpensive low-resolution fluid simulations.

[Project] [PDF] [Video] [YouTube] [Journal]

Continuum Foam: A Material Point
Method for Shear-Dependent Flows

Y. Yue, B. Smith,**C. Batty**, C. Zheng, &
E.
Grinspun. *ACM Transactions on Graphics, 34(5),
2015* (presented at *SIGGRAPH Asia 2015*).

A*material point method* for animating the behavior
of dense foams, such as whip cream or shaving cream, using
a continuum-based non-Newtonian fluid model that supports
shear thinning effects. Our model also supports shear
thickening, which enables the animation of unusual
materials like silly putty or "oobleck".

[PDF] [Project] [YouTube] [Journal]

Y. Yue, B. Smith,

A

[PDF] [Project] [YouTube] [Journal]

Double Bubbles Sans Toil and
Trouble: Discrete Circulation-Preserving Vortex Sheets for
Soap Films and Foams

F. Da,**C. Batty**, C. Wojtan, &
E.
Grinspun. *ACM SIGGRAPH North America 2015 (Transactions on
Graphics, 34(4), 2015).*

A "surface-only" method for simulating the complex dynamics of soap bubbles and foams, using a vortex sheet method with surface tension forces on a non-manifold triangle mesh.

[PDF] [Project] [Video] [YouTube] [Journal]

F. Da,

A "surface-only" method for simulating the complex dynamics of soap bubbles and foams, using a vortex sheet method with surface tension forces on a non-manifold triangle mesh.

[PDF] [Project] [Video] [YouTube] [Journal]

Multimaterial Mesh-Based Surface
Tracking

F. Da,**C. Batty**, & E. Grinspun.
*ACM SIGGRAPH North America 2014 (Transactions on Graphics, 33(4),
2014).*

The first collision-safe triangle mesh-based surface tracking method for evolving*multimaterial*
geometries, including strategies for multimaterial
topological changes: merging, splitting, and the foam-type
operations known as T1 and T2 processes.

[PDF - High] [PDF - Low] [Project] [Video] [Code] [Journal] [Two Minute Papers episode]

F. Da,

The first collision-safe triangle mesh-based surface tracking method for evolving

[PDF - High] [PDF - Low] [Project] [Video] [Code] [Journal] [Two Minute Papers episode]

Discrete Viscous
Sheets

**C. Batty**, A. Uribe, B. Audoly, &
E.
Grinspun. *ACM SIGGRAPH North America 2012 (Transactions on
Graphics, 31(4), 2012).*

A method for animating thin sheets of highly viscous liquid, drawing on and extending techniques from the simulation of thin shells and cloth.

[PDF] [Project] [Video] [Journal]

A method for animating thin sheets of highly viscous liquid, drawing on and extending techniques from the simulation of thin shells and cloth.

[PDF] [Project] [Video] [Journal]

A Simple Finite Volume Method for
Adaptive Viscous Liquids

**C. Batty** & B. Houston. *ACM
SIGGRAPH/Eurographics Symposium on Computer Animation
2011*.

An Eulerian approach to achieve higher detail animations of high viscosity liquid behaviour (buckling, coiling, etc.) on structured tetrahedral meshes.

[PDF] [Journal] [Video]

An Eulerian approach to achieve higher detail animations of high viscosity liquid behaviour (buckling, coiling, etc.) on structured tetrahedral meshes.

[PDF] [Journal] [Video]

Matching Fluid Simulation Elements
to Surface Geometry and Topology

T. Brochu,**C. Batty**, & R. Bridson. *ACM
SIGGRAPH North America 2010 (Transactions on Graphics, 29(4),
2010)*.

By adding simulation degrees of freedom exactly where they provide the most benefit, and using a triangle mesh-based surface representation, we show how to achieve much greater detail in liquid animations.

[PDF] [Project] [Journal]

T. Brochu,

By adding simulation degrees of freedom exactly where they provide the most benefit, and using a triangle mesh-based surface representation, we show how to achieve much greater detail in liquid animations.

[PDF] [Project] [Journal]

Tetrahedral Embedded Boundary
Methods for Accurate and Flexible Adaptive
Fluids

**C. Batty**, S. Xenos, & B. Houston.
*Eurographics 2010 (Computer Graphics Forum, 29(2),
2010)*.

This paper demonstrates that combining*embedded boundary
methods* with tetrahedra-based fluid simulation enables
spatially adaptive liquid simulation with more accurate
enforcement of air and solid boundary conditions.

[PDF] [Project] [Journal]

This paper demonstrates that combining

[PDF] [Project] [Journal]

Accurate Viscous Free Surfaces for
Buckling, Coiling and Rotating Liquids

**C. Batty** & R. Bridson. *ACM
SIGGRAPH/Eurographics Symposium on Computer Animation
2008*.

A simple method to enforce physically correct forces at the surface of viscous liquids, such as honey or syrup, which in turn lets us reproduce previously very difficult effects like buckling, coiling, and rotational motion.

[PDF] [Project] [Journal]

A simple method to enforce physically correct forces at the surface of viscous liquids, such as honey or syrup, which in turn lets us reproduce previously very difficult effects like buckling, coiling, and rotational motion.

[PDF] [Project] [Journal]

A Fast Variational Framework for
Accurate Solid-Fluid Coupling

**C. Batty**, F.
Bertails, & R. Bridson. *ACM
SIGGRAPH 2007 (Transactions on Graphics, 26(3),
2007)*.

An optimization-based framework for accurately incorporating irregularly shaped rigid objects into standard grid-based fluid simulations, eliminating spurious "stairstep" artifacts and leakage that plagued previous methods.

[PDF] [Project] [Journal]

An optimization-based framework for accurately incorporating irregularly shaped rigid objects into standard grid-based fluid simulations, eliminating spurious "stairstep" artifacts and leakage that plagued previous methods.

[PDF] [Project] [Journal]

Hierarchical RLE Level Set: A
Compact and Versatile Deformable Surface
Representation

B. Houston, M. Nielsen,**C. Batty**, O. Nilsson, &
K.
Museth. *ACM Transactions on Graphics, 25(1),
2006.*

A compressed representation of level set implicit surfaces that avoids storing and processing irrelevant data far from the surface itself, allowing more efficient treatment of operations like morphing and liquid surface tracking.

[PDF] [Project] [Journal]

B. Houston, M. Nielsen,

A compressed representation of level set implicit surfaces that avoids storing and processing irrelevant data far from the surface itself, allowing more efficient treatment of operations like morphing and liquid surface tracking.

[PDF] [Project] [Journal]

Spatially Adaptive Long-Term Semi-Lagrangian Method for Accurate Velocity Advection

T. Sato,**C. Batty**, T. Igarashi, & R. Ando. *Computational Visual Media, 2018.*

A velocity advection technique that traces back multiple steps and accounts for pressure gradients to reduce numerical dissipation caused by frequent interpolation.

[PDF] [Video] [YouTube] [Project]

T. Sato,

A velocity advection technique that traces back multiple steps and accounts for pressure gradients to reduce numerical dissipation caused by frequent interpolation.

[PDF] [Video] [YouTube] [Project]

Regional Time Stepping for
SPH

P. Goswami &**C. Batty**. *Eurographics Short
Papers*, 2014.

A method to accelerate weakly compressible SPH simulations by exploiting spatially varying, asynchronous time integration.

[PDF] [Journal]

P. Goswami &

A method to accelerate weakly compressible SPH simulations by exploiting spatially varying, asynchronous time integration.

[PDF] [Journal]

Computational Physics in
Film

R. Bridson &**C. Batty.** *Science 330(6012), 2010*.

A perspective piece on the increasingly common use of physical simulation in visual effects for film, along with discussion of some major challenges that remain.

[PDF] [Journal]

R. Bridson &

A perspective piece on the increasingly common use of physical simulation in visual effects for film, along with discussion of some major challenges that remain.

[PDF] [Journal]

Simulating Viscous Incompressible
Fluids with Embedded Boundary Finite Difference
Methods

**C. Batty.** PhD Thesis, University of British
Columbia.

[PDF] [Thesis Repository]

[PDF] [Thesis Repository]

Visual Simulation of Wispy
Smoke

**C. Batty** & B. Houston. *ACM
SIGGRAPH Sketches*, 2005.

A description of the smoke simulation techniques used on Wes Craven's werewolf movie*Cursed*.

[PDF] [Project] [Journal]

A description of the smoke simulation techniques used on Wes Craven's werewolf movie

[PDF] [Project] [Journal]

Gigantic Deformable
Surfaces

B. Houston, M. Nielsen,**C. Batty**, O. Nilsson, &
K. Museth. *ACM SIGGRAPH Sketches*, 2005.

A preview of the HRLE level set described more fully in the TOG paper above.

[PDF] [Project] [Journal]

B. Houston, M. Nielsen,

A preview of the HRLE level set described more fully in the TOG paper above.

[PDF] [Project] [Journal]

RLE Sparse Level Sets

B. Houston, M. Wiebe, &**C. Batty.** *ACM
SIGGRAPH Sketches*, 2004.

A compressed level set representation that was the precursor to the eventual HRLE level set above.

[PDF] [Project] [Journal]

B. Houston, M. Wiebe, &

A compressed level set representation that was the precursor to the eventual HRLE level set above.

[PDF] [Project] [Journal]

Mandoline - Cut Cell Mesh Generator

The code for our cut-cell mesh generator. It takes in a triangle mesh describing a geometry, and outputs cut-cells; i.e., a volumetric mesh describing the intersection of that triangle mesh with a uniform regular grid, suitable for a range of simulation problems, such as fluid dynamics with embedded boundary methods. The method is described in our 2019 SIGGRAPH Asia paper "Mandoline: Robust Cut-Cell Generation for Arbitrary Triangle Meshes".

The code for our cut-cell mesh generator. It takes in a triangle mesh describing a geometry, and outputs cut-cells; i.e., a volumetric mesh describing the intersection of that triangle mesh with a uniform regular grid, suitable for a range of simulation problems, such as fluid dynamics with embedded boundary methods. The method is described in our 2019 SIGGRAPH Asia paper "Mandoline: Robust Cut-Cell Generation for Arbitrary Triangle Meshes".

Los
Topos - Mesh-Based Surface Tracker

The code for our multimaterial mesh-based surface tracking library, as described in our appropriately-named SIGGRAPH 2014 paper "Multimaterial Mesh-Based Surface Tracking". It generalizes and extends the original El Topo framework of Tyson Brochu and Rook Bridson to the case of multiple materials, and includes an improved merging strategy that is effective even in the standard two-material case.

The code for our multimaterial mesh-based surface tracking library, as described in our appropriately-named SIGGRAPH 2014 paper "Multimaterial Mesh-Based Surface Tracking". It generalizes and extends the original El Topo framework of Tyson Brochu and Rook Bridson to the case of multiple materials, and includes an improved merging strategy that is effective even in the standard two-material case.

3D Liquid Simulator code

A minimal grid-based 3D liquid simulator and OpenGL viewer, using semi-Lagrangian advection, volumetric particles for the liquid, ghost fluid free surface conditions, and support for irregular solid boundaries using the variational/finite-volume approach from our SIG'07 paper. The only dependencies should be the GLUT library, so it's hopefully easy to set up and experiment with. Here's a sample clip.**Update:** I also added
another version with our
variational viscosity technique implemented in
3D.

[Inviscid code, on GitHub] [With viscosity, on GitHub]

A minimal grid-based 3D liquid simulator and OpenGL viewer, using semi-Lagrangian advection, volumetric particles for the liquid, ghost fluid free surface conditions, and support for irregular solid boundaries using the variational/finite-volume approach from our SIG'07 paper. The only dependencies should be the GLUT library, so it's hopefully easy to set up and experiment with. Here's a sample clip.

[Inviscid code, on GitHub] [With viscosity, on GitHub]

2D Variational Viscosity code

Sample code illustrating how to use our variational viscosity discretization to support rotation and buckling and variable viscosity within the liquid solver below. (The link for the comparable 3D code is above.)

[Github link]

Sample code illustrating how to use our variational viscosity discretization to support rotation and buckling and variable viscosity within the liquid solver below. (The link for the comparable 3D code is above.)

[Github link]

2D Variational Pressure Projection with Rigid Body Coupling
code

Sample codes illustrating how to use our variational pressure projection to support static irregular geometry within a very simple 2D "stable fluids" style fluid solver.

Air - Single phase fluid solver with static obstacles.

Liquid - Free surface liquid solver with static obstacles. This code combines our irregular solid boundary discretization with the 2nd order free surface pressure boundary condition of Enright et al. 2003.

**NEW** Liquid with a Rigid Body - I've recently added two-way rigid body coupling, and
posted this to Github.

Sample codes illustrating how to use our variational pressure projection to support static irregular geometry within a very simple 2D "stable fluids" style fluid solver.

Air - Single phase fluid solver with static obstacles.

Liquid - Free surface liquid solver with static obstacles. This code combines our irregular solid boundary discretization with the 2nd order free surface pressure boundary condition of Enright et al. 2003.

SDFGen: Signed Distance Field Generator for triangle
meshes

A simple command-line utility to construct a signed distance field from a triangle mesh, which is often useful for physics-based animation, such as in processing collisions for rigid objects.

[Github link]

A simple command-line utility to construct a signed distance field from a triangle mesh, which is often useful for physics-based animation, such as in processing collisions for rigid objects.

[Github link]

Non-manifold Simplicial Complex Mesh
Library

This is my own implementation of a non-manifold simplicial complex-based mesh library, including arbitrary data associated to vertices, edges, triangles and tetrahedra. It's essentially my spin on the data structure outlined in "Building Your Own DEC at Home" with an API similar to "Design, Implementation, and Evaluation of the Surface_mesh Data Structure". The main goal is to allow non-manifold geometry and mixed dimensional components (tets, tris, segments), while being relatively simple to manipulate. It's a work in progress and not currently being maintained.

[GitHub link]

This is my own implementation of a non-manifold simplicial complex-based mesh library, including arbitrary data associated to vertices, edges, triangles and tetrahedra. It's essentially my spin on the data structure outlined in "Building Your Own DEC at Home" with an API similar to "Design, Implementation, and Evaluation of the Surface_mesh Data Structure". The main goal is to allow non-manifold geometry and mixed dimensional components (tets, tris, segments), while being relatively simple to manipulate. It's a work in progress and not currently being maintained.

[GitHub link]

Watertight
Stanford bunny

I ran into some problems due to the holes in the bunny, and since I couldn't find a watertight version online, I made one myself (for non-commercial use, of course). It's also in OBJ format, rather than the original PLY. Thanks to the Stanford 3D Scanning Repository for the original model.

I ran into some problems due to the holes in the bunny, and since I couldn't find a watertight version online, I made one myself (for non-commercial use, of course). It's also in OBJ format, rather than the original PLY. Thanks to the Stanford 3D Scanning Repository for the original model.

2D
Polygon Moment of Inertia Tensor Code

I couldn't find any convenient code for computing 2D inertia tensors from the vertices and edges of a simple polygon, so I adapted/specialized Michael Kallay's excellent 3D code from the Journal of Graphics Tools article Computing the Moment of Inertia of a Solid Defined by a Triangle Mesh. The article mentions how to handle 2D bodies, but the accompanying code supports only 3D objects. My code provides the corresponding 2D implementation, while retaining the speed, brevity, and clarity of the original.

I couldn't find any convenient code for computing 2D inertia tensors from the vertices and edges of a simple polygon, so I adapted/specialized Michael Kallay's excellent 3D code from the Journal of Graphics Tools article Computing the Moment of Inertia of a Solid Defined by a Triangle Mesh. The article mentions how to handle 2D bodies, but the accompanying code supports only 3D objects. My code provides the corresponding 2D implementation, while retaining the speed, brevity, and clarity of the original.

Higher
Order Data Extrapolation in the Normal Direction

A sample Matlab implementation of quadratic extrapolation in the normal direction of a function from a region defined by a given signed distance function into a surrounding undefined region, essentially following Ng et al. 2009, Min & Gibou 2007, and Aslam 2003. This can be useful for extrapolating known velocities from a fluid region into a solid region, such as in the Ghost Fluid Method, for example. [Note: I haven't actually rigourously verified the target order of convergence is achieved.]

A sample Matlab implementation of quadratic extrapolation in the normal direction of a function from a region defined by a given signed distance function into a surrounding undefined region, essentially following Ng et al. 2009, Min & Gibou 2007, and Aslam 2003. This can be useful for extrapolating known velocities from a fluid region into a solid region, such as in the Ghost Fluid Method, for example. [Note: I haven't actually rigourously verified the target order of convergence is achieved.]

I've gotten to work with some great students over the years!

- Daniel Winters (MMath, 2023)
- Xinwen Ding (Undergraduate, 2023)
- Tümay Özdemir (MMath, 2022)
- Ruben Partono (Undergraduate, 2022). Now Master's student at CMU.
- Ava Pun (Undergraduate, 2022).
- Jumyung Chang (PhD, 2021). Now Simulation Engineer at NVIDIA.
- Yu Gu (MMath, 2021). Now Software Engineer at Amazon.
- Ryan Goldade (PhD, 2021). Now Research Scientist at Meta Reality Labs.
- Mengfei Liu (Undergraduate, 2021). Now Phd student at University of Toronto.
- Jonathan Panuelos (MMath, 2021). Now Phd student at University of Toronto.
- Michael Honke (MMath, 2020). Now Senior Research Engineer at Unity (Ziva Team).
- Sina Nabizadeh (Undergraduate, 2020). Now PhD student at UCSD.
- Jade Marcoux-Ouellet (MMath, 2019). Now Programmer at Ubisoft.
- Yipeng Wang (MMath, 2018). Now Software Engineer at Amazon.
- Omar Zarifi (MMath, 2017). Now Software Developer at Side Effects Software.
- Vinicius C. Azevedo (PhD, Universidade Federal do Rio Grande do Sul, 2016, co-advised with Manuel Oliveira). Now postdoc at ETH Zurich.
- Fang Da (PhD, Columbia, 2016, co-advised with Eitan Grinspun). Now Cofounder and CTO at QCraft (autonomous vehicle startup).
- Egor Larionov (MMath thesis, 2016). Now PhD student at UBC.
- Filipe de Carvalho Nascimento (visiting Master's student, from Universidade de Sao Paulo, advisor Afonso Paiva). Now PhD student at Sao Paulo.
- Andres Uribe (Masters, 2012, Columbia, co-advised with Eitan Grinspun). Now Staff Software Engineer at Coinbase.

For two years following my PhD (2011-2013)
I was a postdoc in the Computer Science Department at
Columbia University
in New York City, supported by an NSERC Banting Fellowship.
My advisor was Dr. Eitan
Grinspun.

My PhD is from the Computer Science
Department at the University of
British Columbia in Vancouver, BC. I worked under the
supervision of Dr.
Rook Bridson, beginning in 2005 and defending in
2010. During my degree I also did some work for Ottawa-based
Exocortex
Technologies, Weta Digital in New Zealand,
and Intel's Applications
Research Lab in Santa Clara, California.

Prior to my academic career, I spent
2004-2005 working at former Winnipeg-based visual effects
studio, Frantic Films, where I was a Software Engineer in
Research and Development. My job was to develop physics
tools for artists based on recent academic research,
including smoke, water, and rigid and deformable bodies.
These tools were used on various films, including
*Superman Returns*, *Scooby-Doo 2: Monsters
Unleashed*, and *Cursed*. (Through various acquisitions and spin-offs, their software
division evolved into AWS Thinkbox.)

I'm a graduate of the Computer Science
Honours Co-op program at the University of Manitoba,
having completed my Bachelor of Computer Science degree in
the fall of 2003. In addition to Frantic Films, I also
interned at
OTI (original developers of Eclipse, now a subset of
IBM) and Protegra,
Inc.