DUNE (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 (i.e. grids, solvers, ...) using a common interface at a very low overhead. Thus DUNE ensures efficiency in scientific computations and supports high-performance computing applications.
Product's homepage
What's New in This Release: [ read full changelog ]
· We are pleased to announce the release of Version 2.0 of the "Distributed and Unified Numerics Environment" (DUNE).
· DUNE is a software framework for the numerical solution of partial differential equations with grid-based methods. Using generic programming techniques it strives for both: high flexibility (efficiency of the programmer) and high performance (efficiency of the program). DUNE provides, among other things, a large variety of local mesh refinement techniques, a scalable parallel programming model, an ample collection of finite element methods and efficient linear solvers.
The release includes the three core module dune-common, dune-grid, and dune-istl; and the howtos dune-grid-howto and dune-grid-dev-howto. Together with these five packages we released the new package dune-localfunctions, which brings a new interface for finite element shape functions to Dune. This package will also become a core module. Among many smaller changes, the most notable changes are:
· The dune-grid module now features reference Elements for arbitrary dimensions. This required a new numbering of sub-entities. elements. This change may affect your code in subtle ways if you depend on a particular numbering!
· A new grid implementation, the GeometryGrid, has been added. It wraps any other DUNE grid and replaces the geometry by a generic one. It can, for example, be used to transform a 2d Cartesian grid into a helix.
· The GridFactory interface has been extended. It now allows file readers to pass data associated with a given entity to the user.