Firedrake is an automated system for the solution of partial differential equations using the finite element method (FEM). Firedrake uses sophisticated code generation to provide mathematicians, scientists, and engineers with a very high productivity way to create sophisticated high performance simulations.
Expressive specification of any PDE using the Unified Form Language from the FEniCS Project.
Sophisticated, programmable solvers through seamless coupling with PETSc.
Triangular, quadrilateral, and tetrahedral unstructured meshes.
Layered meshes of triangular wedges or hexahedra.
Vast range of finite element spaces.
Sophisticated automatic optimisation, including sum factorisation for high order elements, and vectorisation.
Customisable operator preconditioners.
Support for static condensation, hybridisation, and HDG methods.