| ▼Level 1: Vectors, Matrices and basic operations | |
| BLAS level 1 routines: Vector-Vector | \( f( x_{0i}, x_{1i}, x_{2i}, ...) \) and \( x^T y\) |
| BLAS level 2 routines: Matrix-Vector | \( \alpha M \cdot x + \beta y\) and \( x^T M y \) |
| ►MPI backend | |
| Distributed Matrix and Vector | |
| MPI Distributed Gather and Scatter | |
| ►Utility | |
| ►The tag dispatch system | |
| All TensorTraits specialisations | |
| Sparse matrix formats | |
| Dense matrix formats | |
| Vector view | |
| Typedefs for Vectors and Matrices | |
| ▼Level 2: Basic numerical algorithms | |
| ►ODE integration | \( \dot y = f(y,t) \) |
| Utilities for ODE integrators | |
| Quadrature | \( \int_{t_0}^T u(t) dt \) |
| Extrapolation | |
| Linear and nonlinear solvers | Linear \( Ax = b\) and non-linear \( f(x) = b\) |
| ▼Level 3: Topology and Geometry | |
| ►Topological grids and operations | |
| Discontinuous Galerkin Nd grid | |
| Discontinuous Galerkin grids with X-point | |
| Evaluate, integrate, weights | \( f_i = f(\vec x_i) \) |
| Create derivatives | \( D_x\), \( D_y\) and \( D_z \) |
| Create stencils | |
| ►Interpolation, Projection, Transformation | |
| Fast interpolation | |
| Averaging, prolongation and partial reductions | \( I \) and \( P = I^\dagger\) |
| Scatter and Gather | |
| ►Geometric grids and tensor operations | |
| Geometry classes | |
| Geometry classes with X-point | |
| Grid refinement | |
| Tensor-Vector operations | \( v^i = T^{ij} w_j\) |
| Pullback, pushforward, volume | \( f_i = f( x (\zeta_i,\eta_i), y(\zeta_i,\eta_i)) \), \(
\sqrt{g} \) |
| Finite Element Methods | |
| Grid Typedefs | |
| ▼Level 4: Advanced numerical schemes | |
| Advection terms | \( \vec v \cdot \nabla u\) and \( \{ f,g\} \) |
| Elliptic operators | Elliptic \( -\nabla\cdot (\chi \nabla f)\) and Helmholtz \( (\chi + \alpha \Delta) f\) |
| Multigrid matrix inversion | \( A x = b\) |
| ▼Level 99: Miscellaneous additions | |
| Timer class | T.tic(); t.toc(); t.diff(); |
| ►Functions and functors | |
| Simple | For the dg::evaluate and dg::blas1::evaluate functions |
| A large collection | For the dg::evaluate and dg::blas1::evaluate functions |
| Composition of two or more functors | |
| dg::blas1::evaluate binary operators | Binary subroutines for the dg::blas1::evaluate function |
| dg::blas1::evaluate variadic functors | Functors to use in the dg::blas1::evaluate function |
| dg::blas1::subroutine subroutines | Functors to use in the dg::blas1::subroutine functions |
| dg::blas2::stencil subroutines | Functors to use in dg::blas2::stencil function |
| ►MPI utility functions | |
| Legacy MPI functions | |
| Lowlevel helper functions and classes | |