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)
Edited by Fabian Böhm