FESTUNG (Finite Element Simulation Toolbox for Unstructured Grids) is a Matlab / GNU Octave toolbox for the discontinuous Galerkin (DG) method on unstructured grids. It is primarily intended as a fast and flexible prototyping platform and testbed for students and developers.
FESTUNG relies on fully vectorized matrix/vector operations to deliver optimized computational performance combined with a compact, user-friendly interface and a comprehensive documentation.
Have a look at our gallery for example applications that use FESTUNG.
Model problems are defined following a generic solver structure. Have a look at the implementation of the standard (element-based) DG discretizations of linear advection (folders advection
for time-explicit and advection_implicit
for time-implicit) or the LDG discretization of the diffusion operator (folder diffusion
). A hybridized DG discretization of linear advection can be found in the folder hdg_advection
.
Start the computation for any of these problems using main(<folder name>)
, for example
To change simulation parameters or modify initial and boundary data, have a look into configureProblem.m
in the respective problem folder, or pass them directly when calling the problem solver, e.g.,
to run the Advection problem with a different end time and linear ansatz functions on a mesh with maximum element size of 1/16.
Output files are written in VTK format or TecPlot ASCII file format and can be visualized, e.g., using Paraview.
When developing code for or with FESTUNG we suggest to stick to the Naming convention to allow for better readability and a similar appearance of all code parts. Keep in mind the generic solver structure when modifying and adding new problems. All files should be documented using the Doxygen syntax.
For more details, see Using and contributing to FESTUNG.
All routines are carefully documented in the Doxygen format, which allows to produce this documentation. It can be generated by calling doxygen
in the main directory.
The main developers of FESTUNG are Florian Frank, Balthasar Reuter, and Vadym Aizinger. Its initial release was developed at the Chair for Applied Mathematics I at Friedrich-Alexander University Erlangen-Nürnberg.
Since then, significant contributions were made by Hennes Hajduk and Andreas Rupp
FESTUNG is published under GPLv3, see License file.
Homepage: https://math.fau.de/FESTUNG