This repository contains the scripts to regenerate the figures in the paper:
Decoupling Simulation Accuracy from Mesh Quality
@article{Schneider:2019:PFM,
author = {Schneider, Teseo and Dumas, J{\'e}r{\'e}mie and Gao, Xifeng and Botsch, Mario and Panozzo, Daniele and Zorin, Denis},
title = {Poly-Spline Finite-Element Method},
journal = {ACM Transactions on Graphics},
month = {3},
number = {3},
pages = {19:1--19:16},
publisher = {Association for Computing Machinery (ACM)},
volume = {38},
year = {2019},
}
This branch contains updated scripts. For the original check the original branch.
First clone the polyfem repository:
git clone https://github.com/polyfem/polyfem.git
and follow the instructions to compile it.
Note the examples in the paper use Padiso which requires a licence. It is free for academia or can be obtained trough MKL. This is however not necessary to reproduce the data.
Note if you have Pardiso installed, remove "solver_type": "Eigen::UmfPackLU",
from the JSON file to fallback to the default Pardiso solver.
then run Polyfem with
./PolyFEM_bin --json <path to the json> --cmd
You can then see the solution.vtu using Paraview.
All figures where generated with PolyFEM. Refer to the turorial and the JSON api for details.
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.
As stated in the paper, we use PARDISO for the all figures.
If you use the python version (or don't have PARDISO), polyfem will fallback to the algebraic multigrid solver HYPRE.
If you try to generate the any figure with an iterative solver, running times may be exceedingly long, so it is not recommended.
The 2D mesh dataset can be found here, the 3D hybrid meshes can be found here, and the 3D pure hex here.
Smaller meshes used for the convergence plot can be downloaded here.