Skip to content

Latest commit

 

History

History
88 lines (66 loc) · 3.62 KB

File metadata and controls

88 lines (66 loc) · 3.62 KB

Decoupling Simulation Accuracy from Mesh Quality

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

Decoupling Simulation Accuracy from Mesh Quality

@article{Schneider:2018:DSA,
    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

Dependencies

PolyFEM

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 "https://drive.google.com/uc?id=1zfqiThhSRZkmNDeaXj2nGC1kf00kRIsK"
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.

Solver

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.