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. BDDC preconditioning.
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, Tomas Stary, Lea Strubberg, Julia Ulrich, Lutz Weimann
Tutorial
An online Kaskade 7 tutorial can be found here.
Download
We provide development snapshots of the Kaskade 7 git repository. You can find it here: kaskade7-latest.tgz