FEniCS-prosjekt - FEniCS Project
| Stabil utgivelse | 2019.1.0 (19. april 2019 ) [±] |
|---|---|
| Operativsystem | Linux , OS X , Unix , WSL |
| Tilgjengelig i | C ++, Python |
| Type | Vitenskapelig simuleringsprogramvare |
| Tillatelse | GNU Lesser General Public License |
| Nettsted | www. |
Den FEniCS Prosjekt er en samling av fri og åpen kildekode komponenter med det felles mål å muliggjøre automatisk løsning av differensialligninger . Komponentene gir vitenskapelige databehandlingsverktøy for å arbeide med beregningsmasker, endelige elementvariasjonsformuleringer av vanlige og delvise differensiallikninger og numerisk lineær algebra .
Design og komponenter
FEniCS-prosjektet er designet som et paraplyprosjekt for en samling av interoperable komponenter. Kjernekomponentene er
- UFL (Unified Form Language), et domenespesifikt språk innebygd i Python for å spesifisere begrensede elementdiskretiseringer av differensiallikninger når det gjelder endelige elementvariasjonsformer;
- FIAT (Finite element Automatic Tabulator), det endelige elementet bakenden av FEniCS, en Python-modul for generering av vilkårlig rekkefølge for endelige elementbasisfunksjoner på enkle ;
- FFC (FEniCS Form Compiler), en kompilator for endelige elementvariasjonsformer som tar UFL-kode som inngang og genererer UFC-utgang;
- UFC (Unified Form-Assembly Code), et C ++ - grensesnitt som består av funksjoner på lavt nivå for evaluering og montering av endelige elementvariasjonsformer;
- Øyeblikkelig, en Python-modul for å legge inn C og C ++ - kode i Python;
- DOLFIN, et C ++ / Python-bibliotek som gir datastrukturer og algoritmer for endelige elementmasker, automatisert endelig elementmontering og numerisk lineær algebra.
DOLFIN, den beregningsmessige høyytelses C ++ - backend av FEniCS, fungerer som det viktigste problemløsningsmiljøet (i både C ++ og Python) og brukergrensesnitt. Funksjonaliteten integrerer de andre FEniCS-komponentene og håndterer kommunikasjon med eksterne biblioteker som PETSc , Trilinos og Eigen for numerisk lineær algebra, ParMETIS og SCOTCH for mesh-partisjonering, og MPI og OpenMP for distribuert databehandling.
Historie
FEniCS-prosjektet ble initiert i 2003 som et forskningssamarbeid mellom University of Chicago og Chalmers University of Technology . Følgende institusjoner er for tiden, eller har vært, aktivt involvert i utviklingen av prosjektet
- Argonne nasjonale laboratorium
- Chalmers teknologiske universitet
- Charles University
- Delft teknologiske universitet
- Royal Institute of Technology
- Simula forskningslaboratorium
- University of Cambridge
- University of Chicago
- Universitetet i Luxembourg
Siden 2019 er en refactoring av kode i gang.
Se også
- Liste over programvarepakker med begrenset element
- Liste over numerisk analyseprogramvare
- Ved hjelp av FEATool Multiphysics GUI for å sette opp og løse FEniCS multiphysics-modeller