Numerical C++ Library Concepts

In the numerical C++ library Concepts various finite element methods are implemented in common object oriented framework, which is modular and flexible. This includes
  • high order nodal finite element methods on quadrilateral meshes in 2D and hexahedral meshes in 3D (with adaptive refinement and varying and anisotropic polynomials degrees),
  • high order edge element methods on quadrilateral meshes in 2D (with adaptive refinement and varying and anisotropic polynomials degrees),
  • formulations with boundary and transmission conditions using trace spaces (in 2D),
  • mixed, hybridized and mortar finite element methods,
  • generalized finite element methods,
  • fast boundary element methods of lowest orders on triangular meshes in 3D with panel clustering,
  • discontinous Galerkin finite element methods.
Mirroring classes into Python allows for writing scripts applying functionality of the library.

Concepts has a sparse matrix format that allows for fast assembling as well as fast multiplication with vectors.

Several iterative linear solvers are implemented, and there is access to direct linear solvers as MUMPS or SuperLU and eigenvalue solvers as ARPACK.

The numerical solution can be post-processed including the computation of norms and other functionals and graphical output to Matlab/Octave and VTK.

The Concepts classes are well documented using Doxygen, see Class documenation. Several Tutorials and application examples explain how to use the functionality of the library.

A collection of numerical results computed with Concepts is shown in a Gallery. Concepts has been applied in number of scientific Publications.

Concepts has been developed since 1995 at the Seminar for Applied Mathematics at ETH Zürich, since 2011 at the Department of Mathematics at TU Berlin, and since 2017 at the Department of Mathematics at the TU Darmstadt. A detailed describtion of the history of Concepts can be found here.

 

Magnetic field in a ring with a large slit Mesh of the Fichera corner

 

Starting with Concepts

  • Installation - How to download the developing version of Concepts and how to install it.
  • How to get started - With this easy example you will find it straightforward to get started with Concepts.
  • Tutorials - A collection of tutorials explaining mesh definition/import, parameter input, data in- and output, linear solvers, graphical output etc.
  • Applications - A list of applications and their implementation in Concepts.

Class documentation

Topic revision: r6 - 13 Sep 2023, KerstenSchmidt
This site is powered by FoswikiCopyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding Concepts? Send feedback