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!
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:
- Install Docker following official instructions.
- 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.