
Christopher BattyAssistant ProfessorPh.D. UBC '10, BCSc. Manitoba '04 Scientific Computation Group and Computer Graphics Lab David R. Cheriton School of Computer Science, University of Waterloo Email: christopher.batty@uwaterloo.ca Office: 3605 Davis Centre (DC3605) Brief Bio Google Scholar Follow @topher_batty Join the Computational Motion Group: I am always looking for highly motivated and hardworking grad students at the Master's and PhD level, as well as current Waterloo Undergraduates. Follow the link to learn more. I am also currently looking to hire a postdoc, so if you have a strong track record in simulation/animation, please get in touch by email! 
Recent news:

I pursue research in the area of PhysicsBased
Animation, which lies at the intersection of
computer graphics and computational physics
— see our Perspective
piece in Science for a quick overview. My students and I collectively comprise the
Computational Motion Group here at Waterloo, and
we are also affiliated with both the Computer Graphics Lab
and the Scientific
Computation Group. A major focus of my work is on
methods for simulating liquids and gases, but I am
broadly interested in applying physical simulation as a
fundamental tool for generating, controlling, and
predicting motion of all kinds. I seek to design
algorithms that are supported by sound physical,
mathematical, and geometric principles, yet are readily
amenable to efficient and robust practical
implementation. Among other projects, I have developed methods for...
I created and continue to manage the PhysicsBased Animation blog, which catalogues papers, people, and software in this area. I have collected links to a few pieces of advice for students that you may find useful. 

A cellcentred finite volume
method for the Poisson problem on nongraded quadtrees with
second order accurate gradients C. Batty. Journal of Computational Physics, 331, 2017. The first cellcentred finite volume method for the variablecoefficient Poisson problem on general quadtree grids with no grading restrictions whatsoever between neighbouring cells that provides second order accuracy in both the solution variable and its gradients. [Preprint PDF] [Journal] 

SurfaceOnly Liquids F. Da, D. Hahn, C. Batty, C. Wojtan, & E. Grinspun. ACM SIGGRAPH 2016 (Transactions on Graphics, 35(4), 2016). By building on boundary element techniques, we are able to simulate surfacetension 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 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 topologyaware graphbased pressure projection for subgrid flows and a conforming velocity interpolant to improve particle trajectories in polyhedral cut cells. [PDF] [Project] [Journal] [YouTube] 

A Practical Method for
HighResolution 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 narrowband highresolution level set surfaces embedded within inexpensive lowresolution fluid simulations. [Project] [PDF] [Video] [YouTube] [Journal] 
Continuum Foam: A Material Point
Method for ShearDependent 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 continuumbased nonNewtonian 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] 

Double Bubbles Sans Toil and
Trouble: Discrete CirculationPreserving Vortex Sheets for
Soap Films and Foams F. Da, C. Batty, C. Wojtan, & E. Grinspun. ACM SIGGRAPH 2015 (Transactions on Graphics, 34(4), 2015). A "surfaceonly" method for simulating the complex dynamics of soap bubbles and foams, using a vortex sheet method with surface tension forces on a nonmanifold triangle mesh. [PDF] [Project] [Video] [YouTube] [Journal] 

Multimaterial MeshBased Surface
Tracking F. Da, C. Batty, & E. Grinspun. ACM SIGGRAPH 2014 (Transactions on Graphics, 33(4), 2014). The first collisionsafe triangle meshbased surface tracking method for evolving multimaterial geometries, including strategies for multimaterial topological changes: merging, splitting, and the foamtype operations known as T1 and T2 processes. [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 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 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] 

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] 

Simulating Viscous Incompressible
Fluids with Embedded Boundary Finite Difference
Methods C. Batty. PhD Thesis, University of British Columbia. [PDF] [Thesis Repository] 

Matching Fluid Simulation Elements
to Surface Geometry and Topology T. Brochu, C. Batty, & R. Bridson. ACM SIGGRAPH 2010 (Transactions on Graphics, 29(4), 2010). By adding simulation degrees of freedom exactly where they provide the most benefit, and using a triangle meshbased 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 tetrahedrabased fluid simulation enables spatially adaptive liquid simulation with more accurate enforcement of air and solid boundary conditions. [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 Fast Variational Framework for
Accurate SolidFluid Coupling C. Batty, F. Bertails, & R. Bridson. ACM SIGGRAPH 2007 (Transactions on Graphics, 26(3), 2007). An optimizationbased framework for accurately incorporating irregularly shaped rigid objects into standard gridbased 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] 

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] 

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] 

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] 

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] 
Los
Topos The code for our multimaterial meshbased surface tracking library, as described in our appropriatelynamed SIGGRAPH 2014 paper "Multimaterial MeshBased Surface Tracking". It generalizes and extends the original El Topo framework of Tyson Brochu and Robert Bridson to the case of multiple materials, and includes an improved merging strategy that is effective even in the standard twomaterial case. 

Nonmanifold Simplicial Complex Mesh
Library This is my own implementation of a nonmanifold simplicial complexbased 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 nonmanifold 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] 

3D Liquid Simulator code A minimal gridbased 3D liquid simulator and OpenGL viewer, using semiLagrangian advection, volumetric particles for the liquid, ghost fluid free surface conditions, and support for irregular solid boundaries using the variational/finitevolume 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] 

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] 

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 twoway rigid body coupling, and posted this to Github. 

SDFGen: Signed Distance Field Generator for triangle
meshes A simple commandline utility to construct a signed distance field from a triangle mesh, which is often useful for physicsbased animation, such as in processing collisions for rigid objects. [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 noncommercial 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. 

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.] 
For two years following my PhD (20112013) I was a postdoc in the Computer Science Department at the 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. Robert Bridson, beginning in 2005 and defending in 2010. During my degree I consulted for Ottawabased Exocortex Technologies, and interned at Weta Digital in New Zealand, and Intel's Applications Research Lab in Santa Clara, California.  
Prior to my academic career, I spent 20042005 working at former Winnipegbased 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, ScoobyDoo 2: Monsters Unleashed, and Cursed. (Much of the software division is now at Thinkbox Software.)  
I'm a graduate of the Computer Science Honours Coop 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.  