Skip to content

Fix GlobalLinSys generation for different variable coefficient entries

Dave Moxey requested to merge dmoxey/nektar:fix/varcoeff-hash into master

This MR fixes the issue reported by @xfempty, in which two calls to HelmSolve with matrix keys that had different values of variable coefficients resulted in the same global system being used to perform the solve. This is achieved by changing the VarCoeffMap data structure, to allow for the efficient hashing of values in the coefficient map (and thus avoid computing a hash of the data every time HelmSolve is called).

Two additional issues are fixed:

  • a minor fix to the PETScFull solver, which had a small regression owing to !963 (merged);
  • fix for 3D element Helmholtz matrix construction, which did not pass matrix keys through to StdRegions correctly, meaning that variable-coefficient mass matrices did not work.
Edited by Dave Moxey

Merge request reports