Kaskade 7 is a finite element toolbox for the solution of stationary or transient systems of partial differential equations. The library is written in C++ and is based on the DUNE-Interface. The code is independent of spatial dimension and works with different grid managers. An important feature is the mix-and-match approach to discretizing systems of PDEs with different ansatz and test spaces for all variables. The library is under active development, features are implemented as needed in other projects.

Kaskade 7 has been used for generating numerical results in a number of publications, listed below.

Implemented features

Spatial Discretization

Continuous and discontinuous, scalar and vectorial Lagrange and hierarchical elements of arbitrary order on simplices, up to second order on quadrilaterals. First order edge elements, Morley elements.

Adaptive mesh refinement and coarsening with hierarchical, embedded, and residual error estimators.

Multithreaded, NUMA-aware assembly.

Time Discretization

Extrapolated linearly implicit Euler, spectral deferred correction methods.

Adaptive time step selection. 

Solvers

Interface to UMFPACK, MUMPS, SuperLU, and Pardiso.

Iterative Krylov solvers, Block-Jacobi, ILU and HB preconditioners, preconditioning by lower order FE. NUMA-aware matrix-vector products. Dual and augmented Lagrangian QP solvers.

Geometric multigrid, multiplicative and additive, for P1 and for higher order elements. 

Preconditioned Uzawa.

I/O

Input from Amira, VTK, and Triangle files.

Output to Amira and VTK files.

Lossy compression of trajectories 

Authors

Martin Weiser, Anton Schiela, Sebastian Götschel

with contributions from

Felix Baumann, Fatemeh Chegini, Bodo Erdmann, Lars Lubkoll, Marian Moldenhauer, Rainer Roitzsch, Jakob Schneck, Phillip Semler, Julia Ulrich, Lutz Weimann

Distribution

The Kaskade 7 distribution page provides a recent development snapshot of the source code, the online Doxygen documentation and the Programmer's Manual. The distribution includes installer scripts for downloading and installing required third-party libraries.

Attention: Use this software at your own risk. These are development snapshots which might or might not work (usually they do, we run a test suite regularly). Please read the license before using the code.