DUNE

Modular toolbox for solving partial differential equations (PDEs) with grid-based methods
Download

DUNE Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Christian Engwer
  • Publisher web site:
  • http://www.dune-project.org
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 1.2 MB

DUNE Tags


DUNE Description

Modular toolbox for solving partial differential equations (PDEs) with grid-based methods DUNE, the Distributed and Unified Numerics Environment supports the easy implementation of methods like Finite Volumes (FV), Finite Elements (FE) and also Finite Differences (FD). 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.DUNE is based on the following main principles:· Separation of data structures and algorithms by abstract interfaces.This provides more functionality with less code and also ensures maintainability and extendability of the framework.· Efficient implementation of these interfaces using generic programming techniques.Static polymorphism allows the compiler to do more optimizations, in particular function inlining, which in turn allows the interface to have very small functions (implemented by one or few machine instructions) without a severe performance penalty. In essence the algorithms are parametrized with a particular data structure and the interface is removed at compile time. Thus the resulting code is as efficient as if it would have been written for the special case. · Reuse of existing finite element packages with a large body of functionality.In particular the finite element codes UG, ALBERTA, and ALUGrid have been adapted to the DUNE framework. Thus, parallel and adaptive meshes with multiple element types and refinement rules are available. All these packages can be linked together in one executable. The framework consists of a number of modules which are downloadable as separate packages. The current core modules are:· dune-common: contains the basic classes used by all DUNE-modules. It provides some infrastructural classes for debugging and exception handling as well as a library to handle dense matrices and vectors. · dune-grid: is the most mature module. It defines nonconforming, hierarchically nested, multi-element-type, parallel grids in arbitrary space dimensions. Graphical output with several packages is available, e.g. file output to IBM data explorer and VTK (parallel XML format for unstructured grids). The graphics package Grape has been integrated in interactive mode. · dune-istl (Iterative Solver Template Library): provides generic sparse matrix/vector classes and a variety of solvers based on these classes. A special feature is the use of templates to exploit the recursive block structure of finite element matrices at compile time. Available solvers include Krylov methods, (block-) incomplete decompositions and aggregation-based algebraic multigrid. Here are some key features of "DUNE": Grid Implementation: · SGrid: A structured grid in n space dimensions · YaspGrid: A structured parallel grid in n space dimensions · UGGrid: The grid manager of the UG toolbox · AlbertaGrid: The grid manager of the Alberta toolbox · OneDGrid: A sequential locally adaptive grid in one space dimension · ALUSimplexGrid, ALUCubeGrid: A hexahedral, tetrahedral, and triangular grid with nonconforming refinement including parallelization with dynamic load-balancing. Linear Algebra: · 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: · Lagrangrian shape functions of up to second order · Monomial shape functions of arbitrary order for Discontinous Galerkin methods · Orthonormal shape functions of up to eigth order Input/Output: · Visualization using GRAPE · Output in Data Explorer format · Reading and writing in the AmiraMesh format · Reading grid files in the grid independent Dune grid format DGF · Reading simplex grids through DGF constructed using the tools Tetgen and Triangle · Subsampling of high-order functions · Write grids and data in the format of the visualization toolkit (vtk) What's New in This Release: dune-common: · make the code compile with g++-4.3.x · the files lapack.m4 and pardiso.m4 were missing · small documentation bug fixes dune-grid: · make the code compile with g++-4.3.x · bug fixes in VTKWriter · bug fix in Grape visualisation · small bug fixes in ALUGrid (inside asserts) dune-istl: · make the code compile with g++-4.3.x


DUNE Related Software