Introduction#

Overview#

This header-only module provides C++ classes (including Python wrappers) to write simulations using the Finite Element Method.

Note

This library is free to use under the GPLv3 license. Any additions are very much appreciated, in terms of suggested functionality, code, documentation, testimonials, word of mouth advertisement, …. Bug reports or feature requests can be filed on GitHub. As always, the code comes with no guarantee. None of the developers can be held responsible for possible mistakes.

Hallmark feature#

The hallmark feature of GooseFEM is that data is not stored in GooseFEM’s classes but only in multi-dimensional arrays with certain storage conventions. Consequently one is entirely free to mix and match routines, from GooseFEM or even from somewhere else. Consequently the readability of the end-user’s code and of the library remains high: Only the end-user’s “main” combines different ingredients, there is no interdependence between GooseFEM’s classes, and data can be inspected and changed at any time.

Documentation#

This document should be considered as a quick-start guide. A lot effort has been spent on the readability of the code itself (please check out the C++ documentation that includes links to the actual implementation). One is highly encouraged to answer more advanced questions that arise from this guide directly using the code. Download buttons to the relevant files are included throughout this reader.

A compact reader covering the basic finite element theory is available as PDF.