redesign-operator: MultiplyByElmtInvMass
Issue/feature addressed
The UnsteadyAdvection
for DG requires a MultiplyByElmtInvMass
operator. This branch implements a StdMat
routine for the operator.
Proposed solution
This first attempt uses the legacy function calls creating a block matrix, that is saved in memory, and applying it to the input.
Implementation
This version handles vectorisation (including padding) by mapping from a Field
container to a legacy-like array and applying the legacy routines for the BlockMatrix
multiplication.
Tests
- The standard set of tests for all redesign operators.
Suggested reviewers
Notes
- The tricky part about this operator is that we would have to build and save the inverse mass matrix for each element. Is there a more efficient way of doing this operation?
Checklist
-
Functions and classes, or changes to them, are documented. -
User guide/documentation is updated. -
Changelog is updated. -
Suitable tests added for new functionality. -
Contributed code is correctly formatted. (See the contributing guidelines). -
License added to any new files. -
No extraneous files have been added (e.g. compiler output or test data files).
Edited by Henrik Wustenberg