Skip to content

Introduction

This repository provides user manual for suanPan. If you are browsing the GitHub repository, please visit the following sites for a better presentation.

  1. https://tlcfem.gitbook.io/suanpan-manual/ This site uses GitBook. The support for math expressions is good. Inline math expressions are rendered properly.
  2. http://suanpan-manual.rtfd.io/ This site uses mkdocs. The theme supports both light and dark mode. But there are additional brackets surrounding inline math expressions. The documentation generated by doxygen is also included under Doxygen section. Things like calling graph, class hierarchy and function documentation are presented. Check it out if you are interested in the source code.

I'm still working on this site from time to time. Hence, it is unlikely to get a complete reference by solely checking this site. For any potential doubts, please feel free to contact me.

Where to Start?

I know it is not easy to pick up a new finite element analysis tool, but it is not impossible. The logic of input file resembles that of ABAQUS. If you have some experience with ABAQUS, it shall be easy to create a simple model by hand.

After a simple demo presented in Analyze, you are recommended to check out Syntax and Structure to gain an overall picture of how an input file would look like.

The Example section includes a number of examples with various degrees of complexity, check the ones you are familiar with, or simple ones such as Linear Analysis of A Truss Roof and Dynamic Analysis of A Portal Frame, as the starting point.

The Collection section includes the top level commands used to develop finite element models.

The Library section contains all specific elements, materials, etc., that are available.

Summary

Here is a complete table of contents. If you are interested in the architecture of the program, you can check the slides I prepared for a talk.

About

Many FEM packages are available out there so why another package? Commercial packages are great, but may be too expensive for individuals to get access to. The limited extensibility is another pain in the butt. Modern programming paradigms for parallel computing have evolved a lot in recent years. C++ itself has also received a huge amount of updates starting from C++11. suanPan is basically a practice of modern parallel computing with brand-new language features. The civil/structural community also needs an update of new tools for efficient numerical analysis. suanPan is designed to offer a concise but highly extensible framework for finite element analysis. With the assist of Armadillo, the syntax of which is expressive, researchers can try out new ideas in a fairly easy manner.

Contribution

To contribute, please create pull requests. Besides, if you find any typos, please also feel free to create issues.

All third party libraries must provide a single markdown file to explain how to use the library and if possible with some theories.

It may be convenient to build the manual locally, please check Build for more details.

Citation

If suanPan has offered some convenience to your research work, please consider visit 10.5281/zenodo.1285221 and cite any version appropriate.