Skip to content

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

Merge request reports