An Open Source, Parallel and Heterogeneous Finite Element Analysis Framework

View on GitHub


DOI license documentation release suanpan Chocolatey download stable build AppVeyor Travis codecov codacy CodeFactor language language size issues chat FOSSA Status


🧮 suanPan is a finite element method (FEM) simulation platform for applications in fields such as solid mechanics and civil/structural/seismic engineering. The name suanPan (in some places such as suffix it is also abbreviated as suPan) comes from the term Suan Pan (算盤), which is Chinese abacus. suanPan is written in modern high quality C++ code and is targeted to provide an efficient, concise, flexible and reliable FEM simulation platform.

suanPan is partially influenced by popular (non-)commercial FEA packages, such as ABAQUS UNIFIED FEA, ANSYS and OpenSees.

Please check documentation here and here for command references. Please consider star ⭐ the project!


The highlights of suanPan are

Quick Start

Sample models are available for almost all models/commands. Please check the Example folder for details.


Only 64-bit version is compiled. It is assumed that AVX is available thus if the program fails, please check if your CPU supports AVX.


The binaries, which are compiled with Intel MKL and VTK, are available on Chocolatey, please use the following command to install the package.

  1. Follow the instructions to install Chocolatey.

  2. Make sure the Microsoft Visual C++ Redistributable for Visual Studio 2019 is installed. Alternatively, install it via Chocolatey.

     choco install vcredist140
  3. Use the following command to install suanPan.

     choco install suanpan
  4. It is recommended to use a modern terminal such as Windows Terminal and Fluent Terminal for better output display.

It is also possible to use Scoop to install the package.

scoop install


Linux users are recommended to obtain the binaries via snap. The snap supports visualization via VTK and uses Intel MKL for linear algebra.

Get it from the Snap Store


Other Platforms

Precompiled binaries are provided via CI/CD on MacOS, Windows and Ubuntu. Please download the file from the release page.

Advanced users can compile the program from source by themselves in order to enable

  1. GPU based solvers which require available CUDA library;
  2. Visualization support provided by VTK library;
  3. High performing linear algebra provided by Intel MKL library.

On Windows, to add file associations with .sp and .supan files, please run the AddAssociation.bat file with admin privilege. Sublime Text autocompletion and syntax highlighting files are also provided. Please check the Enhancement folder.

On Linux, since CI/CD uses GCC 9.3.0, thus it may be required to update/install GCC version 9 or above.

sudo apt install gcc-9 g++-9 gfortran-9 libomp5

For VTK enabled versions, it may be necessary to install OpenGL.

sudo apt install libglu1-mesa-dev freeglut3-dev mesa-common-dev


Additional libraries used in suanPan are listed as follows.

Those libraries may depend on other libraries such as zlib and Szip. Additional tools may be used by suanPan, they are

How To Compile

Please refer to the corresponding page in manual for details.

Happy Modelling

an example of simulation of particle collision


FOSSA Status