Open-Source Software

PolyFEM

PolyFEM is a simple C++ and Python finite element library which provides a wide set of common PDEs. PolyFEM's simplicity lies on the interface: just pick a problem, select some boundary condition, and solve. No need to construct complicated function spaces, or learn a new scripting language: everything is set-up trough a JSON interface or through the Setting class in python.

IPC Toolkit

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".

Rigid IPC

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".

IPC

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

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 pixels values in the texture in order 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).