Dune (software) - Dune (software)
![]() | |
Stabilní uvolnění | 2.7.0 / 19. ledna 2020 |
---|---|
Napsáno | C ++ |
Operační systém | Linux, Unix, OS X |
Typ | Analýza konečných prvků |
Licence | GPL (verze 2) s "runtime výjimkou" |
webová stránka | www |
DUNA (Dpřiděleno a Unified Numerika Eprostředí) je modulární C ++ knihovna pro řešení parciální diferenciální rovnice pomocí metod založených na mřížce.
Knihovna DUNE je rozdělena do modulů. Ve verzi 2.7 jsou základní moduly
- obecné třídy a infrastruktura: společná duna,
- třídy geometrie: geometrie duny,
- mřížkové rozhraní: dunová mřížka,
- třídy lineární algebry: duna-istl,
- místní ansatz funkce: místní dunové funkce,
a dokumentační modul k dispozici. Kromě toho existuje několik dalších modulů, včetně těch, které byly vyvinuty třetími stranami.
Dějiny
Vývoj DUNE byl zahájen v roce 2002 z iniciativy prof. Bastiana (tehdy Heidelberg University ), Dr. Ohlberger (během habilitace na Univerzita ve Freiburgu ) a Prof. Rumpf (poté University of Duisburg-Essen ). Cílem byl model rozvoje, který nebyl připojen k jediné univerzitě, aby byl projekt atraktivní pro široké publikum. Ze stejného důvodu byla zvolena licence, která umožňuje DUNE společně s proprietárními knihovnami. Zatímco většina vývojářů stále má vysokoškolské vzdělání, jiní poskytují komerční podporu pro DUNE.[1]
Cíle
To, co odlišuje DUNE od ostatních programů konečných prvků, je to, že hned od začátku bylo hlavním cílem designu DUNE umožnit efektivní propojení nových a starších kódů. DUNE je primárně sada abstraktní rozhraní, které ztělesňují koncepty z vědecké výpočty. Ty jsou určeny hlavně pro použití v konečný element a konečný objem aplikace, ale také metody konečných rozdílů jsou možné.
Centrálním rozhraním je rozhraní mřížky. Popisuje strukturované a nestrukturované mřížky libovolné dimenze, a to jak s různorodou, tak bez různorodé struktury. Existuje sedm různých implementací mřížkového rozhraní. Čtyři z nich jsou zapouzdření stávajících správců sítě. Je tedy možné přímo porovnat různé implementace mřížky. Je popsána také funkce pro paralelní programování.
Implementace
Různé techniky C ++, jako je programování šablon, generické programování, Metaprogramování šablony C ++ a používá se statický polymorfismus. Ty jsou dobře známé v jiných oblastech vývoje softwaru a pomalu se dostávají do těchto oblastí vědecké výpočty. Umožňují překladač eliminovat většinu režijních nákladů zavedených extra vrstvou abstrakce. K tomu je od překladače vyžadována vysoká úroveň standardní shody.
Reference
- ^ „DUNE - People“. Archivovány od originál dne 13.12.2007. Citováno 2007-12-23.
externí odkazy
- DUNE webová stránka.
- Vědecký publikace asi DUNE.