## libParanumal

libParanumal is an experimental set of finite element flow solvers for heterogeneous (GPU/CPU) systems developed by the Parallel Numerical Algorithms Group at Virginia Tech.

See below for a brief summary of the major features. For more information, see the libParanumal website.

#### Supported elements

- Triangles, quadrilaterals, tetrahedra, hexahedra.
- Lagrange basis functions up to degree 15.
- Partial support for Bezier-Bernstein basis functions.

#### Mesh wrangling

- Gmsh format file loaders.
- Load balanced geometric partitioning using space filling curves (Hilbert or Morton ordering).
- Clustered partitioning for multirate time stepping.

#### Elliptic solver

- Linear Poisson and screened Poisson potential solvers.
- GPU optimized matrix-vector products.
- Hybrid p-type multigrid and algebraic multigrid preconditioned conjugate gradient solver.
- Sparse matrix or nearly matrix-free algebraic multigrid for coarse levels of multigrid hierarchy.

#### Heterogeneous accelerated flow solvers

- Linearized Euler equations.
- Isothermal compressible Navier-Stokes solver with:
- Upwind discontinuous Galerkin discretization in space.
- Dormand-Prince adaptive Runge-Kutta integration in time.

- Isothermal Galerkin-Boltzmann gas dynamics solver with:
- Penalty flux DG discretization in space.
- Adaptive semi-analytic (pointwise exponential) integration in time.
- Multiaxial quasi-perfectly matched absorbing layer far field boundary condition.

- Incompressible Navier-Stokes solver with:
- Choice of continuous FEM or interior penalty DG in space.
- Extrapolation-BDF integration in time.
- Sub-cycling (Operator Integration Factor Splitting) for advection.

libParanumal depends on MPI and OCCA. It is freely available under an MIT license.

In CEED, libParanumal is primarily involved in the efforts of the Finite Element, Applications and Software thrusts.