Python bindings for the DUNE grid interface
- Mentors
- Andreas Dedner, Martin Nolte
- Organization
- Distributed and Unified Numerics Environment (DUNE)
DUNE, the Distributed and Unified Numerics Environment, is a modular toolbox to solve partial differential equation with grid-based methods. Thus, the central part of the DUNE project are the interface classes that describe a wide range of domain tessellations.
In order to ensure efficiency in scientific computations and support high-performance computing applications, a lot of static polymorphism is used in these interface classes, through function inlining and C++ templates. Consequently, using DUNE can be quite difficult for everyone: beginners have to acquire detailed C++ knowledge and even advanced users are limited in their productivity due to some subtleties.
The project idea aims to provide Python bindings of the interface classes to make DUNE more useable. In fact, it would give the possibility to use Python for testing the underlying C++ classes, enable rapid prototyping and implementing new grids would be more easier for developers. Users who do not have or want detailed C++ knowledge could then use DUNE to solve partial differential equation in Python, using the bindings.