FEniCS Project
Operating system | Linux, Unix, Mac OS X, Windows |
---|---|
Available in | C++, Python |
Type | Scientific simulation software |
License | GNU General Public License |
Website | http://www.fenicsproject.org |
The FEniCS Project is a set of free software projects with the common goal to enable automated solution of differential equations. It provides software tools for working with computational meshes, finite element variational formulations of PDEs, ODE solvers and linear algebra.
Software projects
FEniCS is based on a collection of interoperable components (projects). DOLFIN functions as the main interface to FEniCS. Both C++ and Python front-ends are available. Some of the core functionality is implemented as part of DOLFIN, including the mesh library, assembly of linear systems, and ODE solvers, while some functionality is wrapped and delegated to other libraries. This includes linear algebra, which is delegated to uBLAS or (optionally) to PETSc, Trilinos, or MTL4.
The form compiler FFC handles the symbolic manipulation of variational problems and generates efficient code for assembly of linear systems from a given variational problem.
FIAT functions as the finite element backend to FFC, tabulating finite element basis functions and their derivatives. FErari functions as an optimizing backend to FFC.
Other projects include
- UFL - a universal form language
- UFC - an interface for finite element code generation
- SyFi - a symbolic finite element tabulator
- Instant - a project for inlining C code in Python
- UNICORN - a project for fluid-structure interaction
University collaboration
Originally the project was a research collaboration between the University of Chicago and Chalmers University of Technology. It is currently sponsored by:
- University of Chicago
- Argonne National Laboratory
- Delft University of Technology
- Royal Institute of Technology
- Simula Research Laboratory
- University of Cambridge