Add concepts for const and mutable matrix backends and create them automatically
This adds two new concepts ConstMatrixBackend
and MatrixBackend
which allows to follow the pattern used in dune-functions:
- Add utility functions to wrap a matrix into an
ISTLMatrixBackend
that does nothing if the concept is already satisfied. - Test the new utilities.
- Use these utilities in algorithms (here: global operator assembler) to add support for passing a raw matrix or a manually created backend.
- Stop creating matrix backends manually in tests and examples using the global assembler.