FEniCS-Projekt - FEniCS Project
| Stabile Version | 2019.1.0 (19. April 2019 ) [±] |
|---|---|
| Betriebssystem | Linux , OS X , Unix , WSL, |
| Verfügbar in | C++, Python |
| Art | Wissenschaftliche Simulationssoftware |
| Lizenz | GNU Lesser General Public License |
| Webseite | www |
Das FEniCS-Projekt ist eine Sammlung freier und quelloffener Softwarekomponenten mit dem gemeinsamen Ziel, eine automatisierte Lösung von Differentialgleichungen zu ermöglichen . Die Komponenten liefern wissenschaftliches Rechnen Werkzeuge zum Arbeiten mit computational Meshes, Finite-Elemente - Variationsformulierungen von gewöhnlichen und partiellen Differentialgleichungen und numerischer linearer Algebra .
Aufbau und Komponenten
Das FEniCS-Projekt ist als Dachprojekt für eine Sammlung interoperabler Komponenten konzipiert. Die Kernkomponenten sind
- UFL (Unified Form Language), eine domänenspezifische Sprache, die in Python eingebettet ist, um Finite-Elemente-Diskretisierungen von Differentialgleichungen in Bezug auf Finite-Elemente-Variationsformen zu spezifizieren;
- FIAT (Finite Element Automatic Tabulator), das Finite-Elemente-Backend von FEniCS, einem Python-Modul zur Erzeugung von Finite-Elemente-Basisfunktionen beliebiger Ordnung auf Simplizes ;
- FFC (FEniCS Form Compiler), ein Compiler für Finite-Elemente-Variationsformen, der UFL-Code als Eingabe verwendet und UFC-Ausgabe generiert;
- UFC (Unified Form-Assembly Code), eine C++- Schnittstelle, die aus Low-Level-Funktionen zum Auswerten und Zusammensetzen von Finite-Elemente-Variationsformen besteht;
- Instant, ein Python-Modul zum Inlining von C- und C++-Code in Python;
- DOLFIN, eine C++/Python-Bibliothek, die Datenstrukturen und Algorithmen für Finite-Elemente-Netze, automatisierte Finite-Elemente-Assembly und numerische lineare Algebra bereitstellt.
DOLFIN, das rechnerische Hochleistungs-C++-Backend von FEniCS, fungiert als Hauptumgebung zur Problemlösung (sowohl in C++ als auch in Python) und Benutzeroberfläche. Seine Funktionalität integriert die anderen FEniCS-Komponenten und übernimmt die Kommunikation mit externen Bibliotheken wie PETSc , Trilinos und Eigen für numerische lineare Algebra, ParMETIS und SCOTCH für die Mesh-Partitionierung und MPI und OpenMP für verteiltes Rechnen.
Geschichte
Das FEniCS-Projekt wurde 2003 als Forschungskooperation zwischen der University of Chicago und der Chalmers University of Technology ins Leben gerufen . Folgende Institutionen sind bzw. waren derzeit aktiv an der Entwicklung des Projekts beteiligt
- Argonne National Laboratory
- Technische Universität Chalmers
- Karls-Universität
- Technische Universität Delft
- Königliches Institut für Technologie
- Simula-Forschungslabor
- Universität von Cambridge
- Universität von Chicago
- Universität Luxemburg
Seit 2019 ist ein Refactoring des Codes in Arbeit.
Siehe auch
- Liste der Finite-Elemente-Softwarepakete
- Liste der numerischen Analysesoftware
- Verwenden der FEATool Multiphysics GUI zum Einrichten und Lösen von FEniCS-Multiphysics-Modellen