Support for DG operators in HOG
Overview of TODOs:
- volume-DoF indexing: implement the indexing functions for volume DoFs in the HFG
- interface loop: generate a loop that iterates the neighbors of the current micro
- neighborhood-info: draw collecting infos about neighboring elements (normals, opposite vertex) into generator, generate local variables for necessary quantities (e.g. normal)
- Big difficulty: detect whether an interface is located on a boundary/between macros/just between micros (this is done by NeighborhoodInfo with HyTeG function calls)
- Arbitrary order Lagrangian space: define basis functions with arbitrary order
- ghostlayer indexing: implement the indexing functions for volume-ghostlayers in the HFG
- Difficulty for vectorization: elements do vastly different computation depending on their position (macro-macro boundary + access of ghostlayer DoFs, Dirichlet boundary)
Possible changes to HyTeG DG:
- different loop pattern: iterate volumes and interfaces separately (Kronbichler says its bad)
- iterate inner interfaces and boundary/macro-macro interfaces separately (then all iterations do the same thing, no more cases)