Also replace many instances of GetElementTransformation(0) with
GetTypicalElementTransformation() and instances of GetElementGeometry(0) with
GetTypicalElementGeometry().
Remove some "early returns" in PA code with empty partitions. The reasoning is
that the early returns create divergent code paths among different MPI ranks,
which can cause deadlocks if e.g. collectives are used in code paths on not all
ranks.
Add support for SUNDIALS CUDA features. These changes will be easily
extendable to support future GPU features in SUNDIALS, e.g. HIP
features. To keep things clean, this creates a SundialsNVector
class to interface with the SUNDIALS N_Vector. This class inherits
from the mfem::Vector class, and follows the pattern used in MFEM
interfaces to other libraries such as PETSc and hypre.
The fix in example 9 uses the approach used in the regular
example 9 to fix the same leak (see PR #816).
Fix a memory leak in SUNDIALS example 9 using the same fix
that was used