Software Statement

In conjunction with each of my publications, I strive to release our implementation as open source software which I then continue to develop and improve. This not only ensures the work I do is reproducible but also democratizes our simulation algorithms. Because of this, we have already seen a significant impact both within computer graphics and in other fields (e.g., robotics and biomechanics).

The flagship codebases of my research are the IPC Toolkit, a re-implementation of the original Incremental Potential Contact's (IPC) algorithmic components to be modular and easy to integrate within existing simulation software, and PolyFEM a complete simulator utilizing IPC (through the IPC Toolkit) to provide a sandbox for future research as well as a ready-to-use application.

Open-Source Software

IPC Toolkit is a set of reusable functions to integrate Incremental Potential Contact (IPC) into an existing simulation. This library includes the building blocks used for contacts in our SIGGRAPH 2020 paper "Incremental Potential Contact: Intersection- and Inversion-free Large Deformation Dynamics".
PolyFEM is a simple C++ and Python finite element library which provides a wide set of common PDEs. PolyFEM's simplicity lies in the interface: just pick a problem, select some boundary conditions, and solve. No need to construct complicated function spaces, or learn a new scripting language: everything is set up through a JSON interface or the Setting class in python.
Tight-Inclusion is a library for performing continuous collision detection (CCD) between triangle meshes. Unlike other CCD libraries, Tight-Inclusion is an efficient accurate method that never misses collisions. This library features an open-source of our Transactions on Graphics 2021 paper "A Large Scale Benchmark and an Inclusion-Based Algorithm for Continuous Collision Detection."
Rigid Incremental Potential Contact (IPC) allows for robust and accurate time-stepping of rigid body dynamics, with contacts and friction. Rigid IPC guarantees an intersection-free configurations at every time step. This library features an open-source reference implementation of our SIGGRAPH 2021 paper "Intersection-free Rigid Body Dynamics."
Incremental Potential Contact (IPC) allows for robust and accurate time-stepping of nonlinear elastodynamics. IPC guarantees intersection- and inversion-free trajectories regardless of materials, time-step sizes, velocities, or deformation severity. This library features an open-source reference implementation of our SIGGRAPH 2020 paper "Incremental Potential Contact: Intersection- and Inversion-free Large Deformation Dynamics."
Seam Erasure is a preprocessing tool to eliminate seam artifacts in 3D texture mapping. Unlike seam parameterization methods, Seam Erasure does not changes the provided model's 2D parameterization. Instead, Seam Erasure only changes pixel values in the texture to erase the seam. Seam Erasure can erase the seam in a variety of textures independent of uses (e.g. diffuse textures, normal maps, displacement maps, ambient occlusion textures, and geometry images).