Skip to content

[facecentered][convexcorner] fix the local Index logic

Ned Coltman requested to merge feature/facecentered_localidxfix into master

What this MR does / why does DuMux need it:

I've come across an error while using the new face centered staggered scheme. For convex corner geometries, localIndexOutsideScvfWithSameIntegrationPoint(scvf) is called from the outsideScvfWithSameIntegrationPoint(scvf) in the fluxvariables. The logic doesn't seem to be fool proof, in particular for the scvf with the local index 10.

As 10 is an even number, the function returns an index of 13, which does not typically exist, outside of elements with 2+ boundary faces. This change should fix this for the local index of 10.

As a reference, here is a confusing quick drawing with all of the local scvf indexes. temp_localscvfidx

Notes for the reviewer

I believe that this has not been identified yet because we do not have many new freeflow tests with convex corner geometries, especially where the scvf with local index 10 would be involved.

Before you request a review from someone, make sure to revise the following points:

  • does the new code follow the style guide?
  • do the test pipelines pass? (see guide on how to run pipelines for a merge request)
  • is the code you changed and/or the new code you wrote covered in the test suite? (if not, extend the existing tests or write new ones)
  • does your change affect public interfaces or behavior, or, does it introduce a new feature? If so, document the change in CHANGELOG.md.
  • is the list of the header includes complete? ("include what you use")
  • all files have to end with a \n character. Make sure there is no \ No newline at end of file comment in "Changes" of this MR.
Edited by Ned Coltman

Merge request reports