Skip to content

Periodicity with Subgrid

Mathis Kelm requested to merge feature/periodicity-subgrid into master

What this MR does / why does DuMux need it:

DUNE Subgrid currently does not preserve intersection.boundary() from the host grid, which we use to detect periodic boundaries with intersection.neighbor() == intersection.boundary() == true (see https://gitlab.dune-project.org/extensions/dune-subgrid/-/issues/8).

This MR extracts information on whether the grid supports periodicity in DuMux and the logic for detecting periodic intersections to a helper struct. Discretization-specific grid geometries must implement a type SupportsPeriodicity such as PeriodicGridTraits<Grid>::SupportsPeriodicity. To test for periodicity use the free function supportsPeriodicity<GridGeometry>() and PeriodicGridTraits(grid).isPeriodic(leafIntersection).

Notes for the reviewer

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 Mathis Kelm

Merge request reports

Loading