# Kaskade 7

Kaskade 7 is an open source finite element toolbox for C++ freely available for academic purposes.

## What Kaskade 7 is

- a
*library* of components that can be combined as needed. This means you can pick whatever you need, and omit the rest, or combine the parts in various ways that they never have been designed for. This freedom also means, that you’re responsible for writing the main program and orchestrating the overall program logic.
- an open source
*research code* for developing FE algorithms and solving FE problems. This means you have full access to all internals and can replace or adjust whatever you want. This also means, that often things are less polished, streamlined, or complete than they ideally could be.
- a large piece of
*complex C++17 code*. This means, that several design aspects of Kaskade 7 can leverage modern C++ idions to express aspects on a rather abstract and generic level, in particular by using templates extensively. This also means, that there’s a steep learning curve.

## What Kaskade 7 is *not*

- a complete, commercial
*finite element solution*. There is no pre- or postprocessing to speak of, and no commercial support available.
- a
*framework*. Using Kaskade 7 for solving a PDE system is more involved than just supplying an equation and adjusting a few callback routines - you’re in charge of the overall program logic.

## Main features

- dimension-independent for 1D, 2D, 3D problems
- mix-and-match approach to problem definition, FE spaces, and solvers
- different FE spaces (Lagrangian, hierachical, edge elements, Morley, …)
- interfaces to direct and iterative solvers
- various preconditioners (Jacobi, multigrid, domain decomposition)
- error estimation and adaptive refinement/coarsening
- several time stepping schemes

Page last modified: