Projeto FEniCS - FEniCS Project
| Versão estável | 01.01.2019 (19 de abril de 2019 ) [±] |
|---|---|
| Sistema operacional | Linux , OS X , Unix , WSL |
| Disponível em | C ++, Python |
| Modelo | Software de simulação científica |
| Licença | GNU Lesser General Public License |
| Local na rede Internet | www |
O Projeto FEniCS é uma coleção de componentes de software gratuitos e de código aberto com o objetivo comum de permitir a solução automatizada de equações diferenciais . Os componentes fornecer computação científicos ferramentas para trabalhar com malhas computacionais, de elementos finitos formulações variacional da comuns e equações diferenciais parciais , e álgebra linear numérica .
Design e componentes
O projeto FEniCS foi desenvolvido como um projeto abrangente para uma coleção de componentes interoperáveis. Os componentes principais são
- UFL (Unified Form Language), uma linguagem de domínio específico incorporada em Python para especificar discretizações de elementos finitos de equações diferenciais em termos de formas variacionais de elementos finitos;
- FIAT (Finite element Automatic Tabulator), o backend de elementos finitos do FEniCS, um módulo Python para geração de funções de base de elementos finitos de ordem arbitrária em simplices ;
- FFC (FEniCS Form Compiler), um compilador para formas variacionais de elementos finitos, tendo o código UFL como entrada e gerando a saída UFC;
- UFC (Unified Form-assembly Code), uma interface C ++ que consiste em funções de baixo nível para avaliar e montar formas variacionais de elementos finitos;
- Instant, um módulo Python para embutir código C e C ++ em Python;
- DOLFIN, uma biblioteca C ++ / Python que fornece estruturas de dados e algoritmos para malhas de elementos finitos, montagem automatizada de elementos finitos e álgebra linear numérica.
DOLFIN, o back-end computacional de C ++ de alto desempenho do FEniCS, funciona como o principal ambiente de solução de problemas (em C ++ e Python) e interface de usuário. Sua funcionalidade integra os outros componentes FEniCS e lida com a comunicação com bibliotecas externas como PETSc , Trilinos e Eigen para álgebra linear numérica, ParMETIS e SCOTCH para particionamento de malha e MPI e OpenMP para computação distribuída.
História
O Projeto FEniCS foi iniciado em 2003 como uma colaboração de pesquisa entre a Universidade de Chicago e a Chalmers University of Technology . As seguintes instituições estão ou estiveram ativamente envolvidas no desenvolvimento do projeto
- Laboratório Nacional de Argonne
- Chalmers University of Technology
- Charles University
- Delft University of Technology
- Instituto Real de Tecnologia
- Laboratório de Pesquisa Simula
- Universidade de Cambridge
- Universidade de Chicago
- Universidade de luxemburgo
Desde 2019, uma refatoração de código está em andamento.
Veja também
- Lista de pacotes de software de elementos finitos
- Lista de software de análise numérica
- Usando a FEATool Multiphysics GUI para configurar e resolver modelos multifísicos FEniCS