BookRags.com Literature Guides Literature
Guides
Criticism & Essays Criticism &
Essays
Questions & Answers Questions &
Answers
Lesson Plans Lesson
Plans
My Bibliography Periodic Table U.S. Presidents Shakespeare Sonnet Shake-Up
Research Anything:        
History | Encyclopedias | Films | News | Create a Bibliography | More... Login | Register | Help
Not What You Meant?  There are 18 definitions for Dune.

Dune (software)

Print-Friendly
About 1 pages (426 words)

Bookmark and Share Questions on this topic? Just ask!
DUNE
Latest release 1.0 / 20 December 2007
OS Linux, Unix, Mac OS X
License GPL (version 2) with "runtime exception"
Website http://www.dune-project.org

DUNE (for "Distributed and Unified Numerics Environment") is a modular C++ library for the solution of Partial Differential Equations using grid-based methods. DUNE consists of modules. In version 1.0 the following modules are available.

  • dune-common (general classes and infrastructure),
  • dune-grid (grid interface),
  • dune-istl (linear algebra classes),
  • dune-grid-howto (tutorial).

In addition there are several experimental modules, and some which have been developed by third parties.

Contents

History

The development of DUNE started in 2002 on the initiative of Prof. Bastian (then Universität Heidelberg), Dr. Ohlberger (during his habilitation at the Albert-Ludwigs-Universität Freiburg), and Prof. Rumpf (then Universität Duisburg). The aim was a development model which was not attached to a single university, in order to make the project attractive for a wide audience. For the same reason a license was chosen which allows DUNE together with proprietary libraries. All main developers still have a university background.[1]

Goals

Right from the start the main design goal of DUNE was to allow the coupling of new and legacy codes efficiently. This is what sets DUNE apart from other finite element programs. DUNE is primarily a set of abstract interfaces, which embody concepts from scientific computing. These are mainly intended to be used in finite element and finite volume applications, but also finite difference methods are possible. The central interface is the grid interface. It describes structured and unstructured grids of arbitrary dimension, both with manifold and non-manifold structure. Also, functionality for parallel programming is described. Seven different implementations of the grid interface exist. Four of these are encapsulations of existing grid managers. It is hence possible to directly compare different grid implementations.

Implementation

Various C++ techniques such as template programming, generic programming, C++-Metaprogramming, and static polymorphism are used. These are well-known in other areas of software development and are slowly making their way into scientific computing. They allow the compiler to eliminate most of the overhead introduced by the extra layer of abstraction. A high level of standard conformance is required for this from the compiler.

References

This article is based on a translation of an article from the German Wikipedia.

External links

View More Summaries on Dune (software)
 
Ask any question on Dune (software) and get it answered FAST!
Answer questions in BookRags Q&A and earn points toward
discounted or even FREE Study Guides and other BookRags products!
Learn more about BookRags Q&A
Copyrights
Dune (software) from Wíkipedia. ©2006 by Wíkipedia. Licensed under the GNU Free Documentation License. View a list of authors or edit this article.

Article Navigation
Join BookRagslearn moreJoin BookRags




About BookRags | Customer Service | Report an Error | Terms of Use | Privacy Policy