Progetto FENICS - FEniCS Project
| Rilascio stabile | 2019.1.0 (19 aprile 2019 ) [±] |
|---|---|
| Sistema operativo | Linux , OS X , Unix , WSL |
| Disponibile in | C++, Python |
| genere | Software di simulazione scientifica |
| Licenza | GNU Lesser General Public License |
| Sito web | www |
Il progetto FEniCS è una raccolta di componenti software gratuiti e open source con l'obiettivo comune di consentire la soluzione automatizzata di equazioni differenziali . I componenti forniscono calcolo scientifico strumenti per lavorare con maglie di calcolo, ad elementi finiti formulazioni variazionali di ordinarie e equazioni differenziali parziali , e algebra lineare numerica .
Design e componenti
Il progetto FEniCS è concepito come un progetto ombrello per una raccolta di componenti interoperabili. I componenti principali sono
- UFL (Unified Form Language), un linguaggio specifico del dominio incorporato in Python per specificare discretizzazioni ad elementi finiti di equazioni differenziali in termini di forme variazionali ad elementi finiti;
- FIAT (Finite element Automatic Tabulator), il backend agli elementi finiti di FEniCS, un modulo Python per la generazione di funzioni base di elementi finiti di ordine arbitrario sui simplessi ;
- FFC (FEniCS Form Compiler), un compilatore per forme variazionali agli elementi finiti che prendono codice UFL come input e generano output UFC;
- UFC (Unified Form-assembly Code), un'interfaccia C++ costituita da funzioni di basso livello per la valutazione e l'assemblaggio di forme variazionali ad elementi finiti;
- Instant, un modulo Python per incorporare il codice C e C++ in Python;
- DOLFIN, una libreria C++/Python che fornisce strutture dati e algoritmi per mesh di elementi finiti, assemblaggio di elementi finiti automatizzato e algebra lineare numerica.
DOLFIN, il backend C++ computazionale ad alte prestazioni di FEniCS, funziona come principale ambiente di risoluzione dei problemi (sia in C++ che in Python) e interfaccia utente. La sua funzionalità integra gli altri componenti FEniCS e gestisce la comunicazione con librerie esterne come PETSc , Trilinos e Eigen per l'algebra lineare numerica, ParMETIS e SCOTCH per il partizionamento mesh e MPI e OpenMP per il calcolo distribuito.
Storia
Il progetto FEniCS è stato avviato nel 2003 come collaborazione di ricerca tra l' Università di Chicago e la Chalmers University of Technology . Le seguenti istituzioni sono attualmente, o sono state, attivamente coinvolte nello sviluppo del progetto
- Laboratorio Nazionale Argonne
- Chalmers University of Technology
- Università Carlo
- Università di tecnologia di Delft
- Istituto Reale di Tecnologia
- Laboratorio di ricerca Simula
- Università di Cambridge
- Università di Chicago
- Università del Lussemburgo
Dal 2019 è in corso un refactoring del codice.
Guarda anche
- Elenco dei pacchetti software agli elementi finiti
- Elenco dei software di analisi numerica
- Utilizzo della GUI di FEATool Multiphysics per impostare e risolvere modelli multifisici FEniCS