DUNE Numerics
DUNE
DUNE, the Distributed and Unified Numerics Environment is a modular toolbox for solving partial differential equations (PDEs) with grid-based methods. It supports the easy implementation of methods like Finite Elements (FE), Finite Volumes (FV), and also Finite Differences (FD).

DUNE is free software licensed under the GPL (version 2) with a so called “runtime exception” (see license). This licence is similar to the one under which the libstdc++ libraries are distributed. Thus it is possible to use DUNE even in proprietary software.
The underlying idea of DUNE is to create slim interfaces allowing an efficient use of legacy and/or new libraries. Modern C++ programming techniques enable very different implementations of the same concept using a common interface at a very low overhead. Thus DUNE ensures efficiency in scientific computations and supports high-performance computing applications.
Particular highlights are
- a generic grid interface, allowing to interface a range of very different grid implementations
- the Iterative Solver Template Library, featuring an algebraic multigrid preconditioner
- Highlevel interfaces for trial and test functions and generic discretization modules
- Python binding for the full grid interface and a flexible concept to provide bindings for user modules.
Latest News 
DUNE 2.8.0rc1 ready for testing
The first release candidate for the upcoming 2.8.0 release is now
available. You can download the tarballs (
dune-common,
dune-geometry,
dune-grid,
dune-localfunctions,
dune-istl
) or checkout the v2.8.0rc1
tag via Git.
With the Dune core modules, the staging modules dune-uggrid, dune-typetree, and dune-functions are released.
Please go and test, and report any problems that you encounter.
DUNE/PDELab Course Material available for self-study
The Interdisciplinary Center for Scientific Computing in Heidelberg has hosted an annual summer school on solving PDEs with Dune and PDELab for the last decade. For this year’s virtual edition of the course, we have recorded most of our lectures. We are now making this material available for asynchronous self-study. The material can be found here: https://dune-pdelab-course.readthedocs.io/
Virtual DUNE/PDELab Course (March 8 - March 12, 2021)
The annual DUNE/PDELab course typically hosted by the Interdisciplinary Center for Scientific Computing in Heidelberg will be held virtually this year. It is scheduled for March 8 - March 12, 2021.
This one week course provides an introduction to the most important DUNE modules and especially to DUNE-PDELab. At the end the attendees will have a solid knowledge of the simulation workflow from mesh generation and implementation of finite element and finite volume methods to visualization of the results. Topics covered are the solution of stationary and time-dependent problems, as well as local adaptivity, the use of parallel computers and the solution of non-linear PDEs and systems of PDEs.
Dates
March 8 - March 12, 2020
Application Deadline
The application deadline is February 21, 2021. For further information, see the course homepage.
Dune Developer online Meeting Jan. 8, 19, 22, 2020
We are holding a developer meeting on January 8, 19, and 22, 2021. It will be an online meeting using a private JitSi instance; the password is shared on the Dune devel mailing list. Developers and contributors are invited to register and make proposals on the meeting page.
Sorry for the short notice period, the overall situation and the holiday season made the coordination more difficult. If questions remain, do not hesitate to write an email to the mailing list or directly to Christoph Grüninger or Simon Praetorius .
Install Dune modules from PyPI
Dune modules can now be installed via pip
using the Python package
index (PyPI). The module and the modules it depends on are downloaded, build, and
installed either into the system or into a python virtual environment (the latter
might be of more interest as it is an option to install Dune without root privileges).
This could also be of interest for C++ users of Dune as Python bindings are not mandatory.
Scripts like dunecontrol
can be used the same way as with a system installation so that
installed and source modules can easily be used together.
More details on how to add this installation option to existing Dune modules is
available here. Details will be added to the Documentation
shortly.
