Dune (Distributed and Unified Numerics Environment) ist eine modulare Toolbox zur Lösung von partiellen Differentialgleichungen (PDEs) mit gridbasierten Methoden. Es unterstützt die einfache Implementierung von Methoden wie Finite Elements (FE), Finite Volume (FV) und auch Finite Differences (FD).
Dune ist eine freie Software, die unter GPL (Version 2) mit einer sogenannten „Runtime Exception“ lizenziert ist. Diese Lizenz ist vergleichbar mit derjenigen, unter der die libstdc++-Bibliotheken verteilt werden. Somit ist es möglich, DUNE auch in proprietärer Software zu verwenden.
Die Grundidee von Dune ist es, schlanke Schnittstellen zu schaffen, die eine effiziente Nutzung von bestehenden und/oder neuen Bibliotheken ermöglichen. Moderne C++-Programmiertechniken ermöglichen sehr unterschiedliche Implementierungen desselben Konzepts über eine gemeinsame Schnittstelle bei sehr geringem Aufwand. So sorgt Dune für Effizienz in wissenschaftlichen Berechnungen und unterstützt Anwendungen für Hochleistungsrechner.
Besondere Highlights sind:
Dune basiert auf den folgenden Grundprinzipien:
Module.
Das Framework besteht aus einer Reihe von Modulen, die als separate Pakete heruntergeladen werden können. Es gibt eine Reihe von Kernmodulen, die von den meisten anderen Paketen verwendet werden. Das Kernmodul Dune-Grid enthält bereits einige Grid-Implementierungen und weitere Grid-Manager sind als Zusatzmodule verfügbar. Hauptdiskretisierungsmodule, die die Infrastruktur für die Lösung partieller Differentialgleichungen mit Dune bereitstellen, sind als separate Module verfügbar. Der modulare Aufbau von Dune ermöglicht es, nur einen kleinen Teil der Module zu verwenden (z.B. nur das Solver-Modul Dune-istl oder das Modul Dune-localfunctions mit Formfunktionen, ohne z.B. das Dune-Grid oder ein Full Discretization Modul zu verwenden).
Vielen Dank für Ihren Besuch.