FEniCS-prosjekt - FEniCS Project

FEniCS-prosjekt
Fenics logo.png
Stabil utgivelse 2019.1.0 (19. april 2019 ; for 2 år siden ) [±] ( 2019-04-19 )
Operativsystem Linux , OS X , Unix , WSL
Tilgjengelig i C ++, Python
Type Vitenskapelig simuleringsprogramvare
Tillatelse GNU Lesser General Public License
Nettsted www. fenicsproject .org

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

bildetekst
En skjematisk oversikt over FEniCS-komponentene og deres samspill
  • 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

Siden 2019 er en refactoring av kode i gang.

Se også

Referanser

Eksterne linker