pmgbergen / porepy

Python Simulation Tool for Fractured and Deformable Porous Media

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Change data structure and naming conventions for mixed-dimensional grids

keileg opened this issue · comments

This issue is meant to define the scope, and track the progress of, an upcoming change in the data structure for the mixed-dimensional grids.

The following changes are planned:

  1. The GridBucket will be renamed GridTree, to better reflect the underlying data structure.
  2. Naming conventions will be used for grids throughout the code base:
  • The use of graph terminology (node, edge, tree) is permissible only when working directly with the graph data structure (mainly under grid construction)
  • A domain decomposition terminology of subdomains and interfaces will be used throughout the code (except when graph).
  • Standard notation for variables representing subdomain, interface and the full mixed-dimensional grid will be introduced throughout the code base; this should improve code readability. The standardization of variable names is yet to be finalized.
  1. In the GridTree, MortarGrids will be used to identify pairs of grids that form edges (currently, these are identified by tuples containing pairs of grids). This will remove the current asymmetry in that grids are directly exposed in the GridBucket, whereas MortarGrids are rather well hidden.
  2. General maintenance of the GridTree, with renaming of methods (including iterators for subdomains and interfaces), standardization of return values etc.

The upcoming change is expected to break most code that applies the mixed-dimensional framework, however, we consider such a cleanup necessary to reduce entropy in what is otherwise becoming a mature part of the code.

The changes are tentatively planned for the second half of May.

Implemented in #673