Software Projects

The following software projects are actively developed by the PRISM team.


A Domain-specific Language (DSL) and code generation framework for the design of highly optimised finite difference kernels for use in inversion methods.


A compiler for a domain-specific language for the finite element methods, that uses runtime code generation (via PyOP2) to deliver performance portability across CPUs and GPUs.
pdficon_small Leaflet


An open source, general purpose, multi-phase computational fluid dynamics code capable of numerically solving the Navier-Stokes equation and accompanying field equations on arbitrary unstructured finite element meshes in one, two and three dimensions.
pdficon_small Leaflet


A tensor product based finite element package designed to allow one to construct efficient classical low polynomial order h-type solvers (where h is the size of the finite element) as well as higher p-order piecewise polynomial order solvers.
pdficon_small Leaflet


OpenTidalFarm is an open source tidal modelling framework which utilises a range of array, turbine and wake parameterisations with advanced optimisation algorithms in order to design large tidal turbine arrays that maximise power or profit, and/or minimise environmental impacts.


An open-source framework for solving advection-diffusion type problems on streaming architectures using the flux reconstruction approach.
pdficon_small Leaflet


A framework for performance-portable parallel computations on unstructured meshes.


Unstructured mesh coastal ocean model in 2D and 3D, built using Firdrake and including adaptive mesh and adjoint capabilities.