FEniCS-projekt - FEniCS Project

FEniCS-projekt
Fenics logo.png
Stabil frigivelse 2019.1.0 (19. april 2019 ; for 2 år siden ) [±] ( 2019-04-19 )
Operativ system Linux , OS X , Unix , WSL
Tilgængelig i C ++, Python
Type Videnskabelig simuleringssoftware
Licens GNU Lesser General Public License
Internet side www. fenicsproject .org

Den FEniCS Project er en samling af frie og open source-software komponenter med det fælles mål at gøre det muligt automatiseret løsning af differentialligninger . Komponenterne tilvejebringer videnskabelige databehandlingsværktøjer til at arbejde med beregningsmaske, endelige elementvariationer med almindelige og delvise differentialligninger og numerisk lineær algebra .

Design og komponenter

FEniCS-projektet er designet som et paraplyprojekt til en samling af interoperable komponenter. Kernekomponenterne er

billedtekst
En skematisk oversigt over FEniCS-komponenterne og deres samspil
  • UFL (Unified Form Language), et domænespecifikt sprog indlejret i Python til angivelse af endelige elementdiskretiseringer af differentialligninger med hensyn til endelige elementvariationer;
  • FIAT (Finite element Automatic Tabulator), finite element backend af FEniCS, et Python-modul til generering af vilkårlig rækkefølge finite element basisfunktioner på enkeltheder ;
  • FFC (FEniCS Form Compiler), en kompilator til begrænsede elementvariationer, der tager UFL-kode som input og genererer UFC-output;
  • UFC (Unified Form-Assembly Code), en C ++ interface, der består af funktioner på lavt niveau til evaluering og samling af begrænsede elementvariationer;
  • Øjeblikkelig, et Python-modul til indlejring af C- og C ++ -koden i Python;
  • DOLFIN, et C ++ / Python-bibliotek, der leverer datastrukturer og algoritmer til begrænsede elementmasker, automatiseret endelig elementmontering og numerisk lineær algebra.

DOLFIN, den beregningsmæssige højtydende C ++ backend af FEniCS, fungerer som det vigtigste problemløsningsmiljø (i både C ++ og Python) og brugergrænseflade. Dens funktionalitet integrerer de andre FEniCS-komponenter og håndterer kommunikation med eksterne biblioteker som PETSc , Trilinos og Eigen til numerisk lineær algebra, ParMETIS og SCOTCH til mesh-partitionering og MPI og OpenMP til distribueret computing.

Historie

FEniCS-projektet blev startet i 2003 som et forskningssamarbejde mellem University of Chicago og Chalmers University of Technology . Følgende institutioner er i øjeblikket eller har været aktivt involveret i udviklingen af ​​projektet

Siden 2019 er en refactoring af kode i gang.

Se også

Referencer

eksterne links