DiagCG for a PDE system with continuous Galerkin without a matrix.
DiagCG advances a system of partial differential equations (PDEs) using continuous Galerkin (CG) finite element (FE) spatial discretization (using linear shapefunctions on tetrahedron elements) combined with a time stepping scheme that is equivalent to the Lax-Wendroff (LW) scheme within the unstructured-mesh FE context and treats discontinuities with flux-corrected transport (FCT). The left-hand side (lumped-mass) matrix is diagonal thus this scheme does not use a matrix-based linear solver.
There are a potentially large number of DiagCG Charm++ chares created by Transporter. Each DiagCG gets a chunk of the full load (part of the mesh) and does the same: initializes and advances a number of PDE systems in time.
The implementation uses the Charm++ runtime system and is fully asynchronous, overlapping computation and communication. The algorithm utilizes the structured dagger (SDAG) Charm++ functionality. The high-level overview of the algorithm structure and how it interfaces with Charm++ is discussed in the Charm++ interface file src/