FESTUNG (Finite Element Simulation Toolbox for UNstructured Grids)
Main Developers Florian Frank (Rice University), Balthasar Reuter (University of Erlangen-Nürnberg), Vadym Aizinger (AWI Bremerhaven)
Numerical Method Discontinuous Galerkin Method
Programming Language/Libraries MATLAB/GNU Octave
Application General purpose code
Download Available from Github

FESTUNG – A MATLAB / GNU Octave toolbox for the discontinuous Galerkin method

FESTUNG is an Open Source toolbox for the discontinuous Galerkin method on unstructured grids, written in Matlab / GNU Octave. It is primarily intended as a fast and flexible prototyping platform and testbed for students and developers. It relies on fully vectorized matrix/vector operations to deliver optimized computational performance combined with a compact, user-friendly interface and a comprehensive documentation.

Current features

A selection of the current set of features of FESTUNG includes

  • Generic problem description and coupling framework.
  • Unstructured 1D and 2D (triangular, trapezoidal) meshes.
  • (L)DG/HDG discretizations up to fourth order (with hierarchichal polynomial basis functions).
  • explicit SSP Runge-Kutta (up to 3rd order) and implicit DIRK scheme (up to 4th order) time discretization.
  • High-order hierarchical vertex-based slope limiters.
  • Fully vectorized assembly.
  • VTK– and Tecplot-compatible output.
  • Advection– and diffusion-type operators readily available.

Getting started

To start using FESTUNG, clone our public GitHub repository and run one of the included model problems, as described in the documentation.

Source code repository

Up-to-date versions of FESTUNG are available in our public Github repository.

Preprints and Publications

A detailed and continuosly updated documentation of all routines can be found under www1.am.uni-erlangen.de/FESTUNG.
Publications describing FESTUNG or showing its application are listed below:

Data visualization

Piecewise constant, linear, and quadratic approximation order


FESTUNG writes VTK- and Tecplot-files with the computed solution that can be visualized, e.g., using Paraview or Tecplot 360.

Grid visualization

Unit Circle




FESTUNG employes the built-in visualization routines of MATLAB / GNU Octave to display grids with their numbering.

Friedrich-Alexander-Universität Erlangen-Nürnberg