Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.

Decoupling Simulation Accuracy from Mesh Quality

This repository contains the scripts to regenerate the figures in the paper:

Decoupling Simulation Accuracy from Mesh Quality

    author = {Teseo Schneider and Yixin Hu and Jérémie Dumas and Xifeng Gao and Daniele Panozzo and Denis Zorin},
    journal = {ACM Transactions on Graphics},
    link = {},
    month = {10},
    number = {6},
    publisher = {Association for Computing Machinery (ACM)},
    title = {Decoupling Simulation Accuracy from Mesh Quality},
    volume = {37},
    year = {2018}

Python teaser

We created a simple jupyter notebook with an example to run the teaser image.

This notebook can be interactively run with binder! Binder



A specific version of PolyFEM is included as a submodule. To retrieve and compile it, run the following commands:

git submodule update --init --recursive
cd polyfem
mkdir build
cd build
cmake ..
make -j 8

Make sure that PARDISO is found and enabled, otherwise you might not be able to generate certain figures (see below). In PolyFEM, FindPardiso.cmake will look for the PARDISO library in ~/.local or ~/.pardiso. If you installed PARDISO in a different location, you may need to update this file accordingly.

Conda Environment

Install Miniconda for Python 3, and create the environment for this paper from the conda.yml file:

conda env create -f conda.yml
PyRenderer (via Singularity/Docker)

PyRenderer is used to render the images in the paper. PyRenderer is a wrapper around Mitsuba, and as such is a bit complicated to setup. There is a Docker image available on Docker-Hub. We also provide a pre-built Singularity Singularity image (>=v3.0.0) of PyRenderer. Singularity is similar to Docker, but does not require root privilege in order to run images. Please read the documentation to install it on your machine.

  • Our Singularity image can be downloaded programmatically from our Google Drive using `gdown` (click to expand).

pip3 install --user gdown
gdown ""
md5sum pyrenderer.sif
# 557ce7496b29fd11d0808f5ec918a995

  • For docker users, make sure to:
    1. Install Docker following official instructions.
    2. Allow to run docker as a non-root user.


As stated in the paper, we use PARDISO for the following figures:

  • Figure 7
  • Figure 8
  • Figure 11
  • Figure 21
  • Table 1

And HYPRE for the following figures:

  • Figure 9
  • Figure 10
  • Figure 16
  • Figure 17
  • Figure 20

If you try to generate the first figures with an iterative solver, running times may be exceedingly long, so it is not recommended.


Replicability data for Decoupling Simulation Accuracy from Mesh Quality








No releases published


No packages published