Overview of the Firedrake project
mainFiredrake is an automated system designed for solving partial differential equations (PDEs) using the finite element method (FEM). It leverages sophisticated code generation to allow mathematicians, scientists, and engineers to create high-performance simulations with high productivity.
Key capabilities include:
- PDE Specification: Use the Unified Form Language (UFL) from the FEniCS Project to express any PDE.
- Solvers: Seamless coupling with PETSc for programmable solvers.
- Meshing: Support for unstructured meshes (triangular, quadrilateral, and tetrahedral) as well as layered meshes (triangular wedges or hexahedra).
- Finite Elements: A vast range of finite element spaces.
- Optimization: Automatic optimization including vectorization and sum factorization for high-order elements.
- Preconditioning: Support for geometric multigrid and customizable operator preconditioners.
- Advanced Methods: Support for static condensation, hybridisation, and HDG methods.