Dune (Distributed and Unified Numerics Environment) is a modular toolboy for solving partial differential equations (PDEs) with grid-based methods. It supports the easy implementation of methods like Finite Elements (FE), Finite Volume (FV) and also Finite Differences (FD).
Dune is a free software, which is licensed under GPL (Version 2) with a so called “Runtime Exception”. This license is comparable to the one under which the libstdc++ libraries are distributed. So it is possible to use DUNE also in proprietary software.
The basic idea of Dune is to create slim interfaces, which allow an efficient use of existing and/or new libraries. Modern C++ programming techniques allow very different implementations of the same concept over a common interface with very little effort. Thus Dune provides efficiency in scientific calculations and supports applications for high performance computers.
Special highlights are:
Dune is based on the following basic principles:
Modules.
The framework consists of a number of modules that can be downloaded as separate packages. There are a number of core modules that are used by most other packages. The core module Dune-Grid already contains some grid implementations and more grid managers are available as add-on modules. Main discretization modules, which provide the infrastructure for solving partial differential equations with Dune, are available as separate modules. The modular structure of Dune allows to use only a small part of the modules (e.g. only the solver module Dune-istl or the module Dune-localfunctions with form functions, without using e.g. the Dune-Grid or a Full Discretization module).
Thank you very much for your visit.