holgerschmitz/Schnek

Create new DomainDecomposition

Opened this issue · 1 comments

Currently DomainSubdivision takes a Grid type as template argument. This means that the value type T of the grid is included in the concrete DomainSubdivision template instantiation. The result is a DomainSubdivision that can only be used for grids with that value type.

For example passing Grid<2,double> as template argument will limit the use of the DomainSubdivision::exchange() method to Grid<2,double> types and not allow data exchange of Grid<2,int> types.

The template parameters of DomainSubdivision should be modified to include the Rank only and the data exchange methods should be templated to allow arbitrary grid types.

The decision has been made to completely refactor DomainSubdivision and create a new DomainDecomposition that will allow more complex decomposition schemes.