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
hp-DG for two-phase flow in porous media
The Python framework for hp-adaptive discontinuous Galerkin methods for two-phase flow in porous media was recently published. The paper presents a hp-adaptive Discontinuous Galerkin approach for two-phase flow in porous media. The implementation is based in the newly developed Python binding for DUNE and DUNE-FEM. A Docker image can be found quick testing of the available features.
Invitation to the Dune User and Developer Meeting 2018
We are going to organize a user meeting in Stuttgart, at the conference hotel campus.guest at the Vaihingen campus of the University of Stuttgart. The Dune User Meeting will start on the 5th of November and will continue on the 6th. The Dune developer meeting will be held at the same venue right after the user meeting ending on the 8th.
Details are available on the workshop webpage.
dune-python 2.6.0 paper
dune-python 2.6.0 released
The first release of the new dune-python has finally arrived!
This module provides the general infrastructure for exporting realizations of statically polymorphic interfaces to Python based on just-in-time compilation as well as bindings for the central interfaces of the Dune core modules. This makes it possible to use Python to perform pre and post processing steps and to test new algorithms before transferring the code to C++. Adding Python bindings for additional modules and importing free standing C++ template functions is straightforward.
In this first release, we focus on the grid interface. Some grid implementations residing in external Dune modules, like ALUGrid, SPGrid, and the new PolygonGrid, also provide Python bindings in the presence of dune-python.
The dune-functions module defines and implements interfaces for functions and function space bases, providing a middle layer between the Dune core modules and discretization modules like dune-pdelab and dune-fufem.
You can get the code by cloning the git repository
or downloading the source archive.
The 2.6.0 release can be obtained by checking out the
v2.6.0 tag in this repository via git. For changes in this
version please refer to the CHANGELOG.md file contained
in the repository.