Draft: Collections implementation for Advection-Diffusion-Reaction (ADR) operator

Open Henrik Wustenberg requested to merge hwustenb/nektar:feature/matfree-adroperator into master

Issue/feature addressed

Collections optimisation for ADR operator to enable faster simulations, in particular, for the Implicit Velocity-Correction scheme for IncNavierStokesSolver.

Proposed solution

Add the operator similar to the Helmholtz implementations in Collections, however, including the advection operator which means we need to add code for updating the varcoeffs (e.g. advection velocities).

Implementation

Took a lot of functionality from Helmholtz operators and optimised it for the ADR routine. Added some functionality to the Collections::Operator class to update varcoeffs when calling CheckFactors.

Tests

  • tbd

Suggested reviewers

Notes

Please add any other information that could be useful for reviewers.

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).

Merge request reports