Distributed and Unified Numerics Environment (DUNE)
DUNE is a modular toolbox for solving PDEs with grid-based methods.
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, Discontinuous Galerkin, Finite Volumes, and Finite Differences.
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 different implementations of the same concept, i.e. grids or solvers, using a common interface at a low overhead. Thus DUNE ensures efficiency in scientific computations and supports high-performance computing applications.
People
DUNE developers are professors, graduate students, post-docs, or people working in industry (e.g. as freelancers or consultants), currently located in Germany, UK, and Norway. With DUNE being a scientific software, they all share a scientific education and background. But their background differs (Mathematics, Computer Science, and Physics) as well as their application area (flow through porous media, linear elasticity, computational fluid dynamics, electro-magnetism, …).
History
DUNE started with an inaugurating meeting in February 2002. People from different German research groups of Universities in Bonn, Freiburg, and Heidelberg shared a common interest: developing an clean, slim, and modern open source framework for the parallel solution of PDEs which would allow reusing existent legacy software via a common interface based on generic programming techniques.
DUNE's main principles
- Separation of data structures and algorithms by abstract interfaces. This provides more functionality with less code and ensures maintainability and extendability of the framework.
- Static polymorphism allows the compiler to do more optimizations, in particular function inlining, which in turn allows the interface to have very small functions without a severe performance penalty.