DUNE Features
The following list gives a short overview over the main features of DUNE
and refers you to more detailed documentation.
- Grid Implementation
So far seven grid implementations are available through the DUNE grid interface.
Each is geared towards a different purpose and thus has a
different
set of features.
Further grid managers can be obtained by downloading
additional modules.
- Linear Algebra
DUNE contains ISTL (the Iterative Solver Template Library) for powerful
linear algebra. The main features are:
- Abstractions for block matrices
(e.g. compressed row storage
and block diagonal)
and block vectors
- Block structure arbitrarily nestable
- High performance through generic programming
- Expression templates for BLAS1 routines
- Several standard solvers
- Quadrature Formulas
- Quadrature rules for all common element types
- Rules for hypercubes up to order 19, for simplices up to order 12
- Easy access
- Shape Functions
- Lagrangian shape functions of arbitrary order
- Monomial shape functions of arbitrary order for Discontinous Galerkin methods
- Orthonormal shape functions of arbitrary order
- Raviart-Thomas shape functions of lowest order for cube and of arbitrary
order for simplex elements
- Input/Output
- Reading grid files in the gmsh format
- Reading grid files in the grid independent Dune grid format
DGF
- Reading simplex grids through DGF
constructed using the tools Tetgen and Triangle
- Reading and writing in the AmiraMesh format
- Subsampling of high-order functions
- Write grids and data in the format of the visualization toolkit (vtk)
- Visualization using GRAPE
- Output in Data Explorer format
- Discretization module
There are some discretization modules available which provide
- arbitrary order lagrange spaces for different grid structures
- Discontinuous Galerkin spaces of arbitrary order both with
orthonormal and Lagrange basis function
- further discrete function spaces include Raviart-Thomas,
Nedelec, and others
- linear and non-linear solvers
- time discretization method, e.g., explicit, implicit, and IMEX
Runge-Kutta methods or multistep methods
- support for parallelization and adaptivity (both h and p
refinement)