Skip to content

polyfem/Poly-Spline-Finite-Element-Method

Repository files navigation

Poly-Spline Finite-Element Method

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.

CPP installation

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.

Dependencies

PolyFEM

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.

Solver

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.

Data

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.

About

Replicability data for Poly-Spline Finite-Element Method

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published