-
- Downloads
[!302] Make apply<forward> work with BlockPreconditioner and NonoverlappingBlockPreconditioner
Merge branch 'issue/apply_forward' into 'master' ref:core/dune-istl ### Summary Implement apply<forward> for NonoverlappingBlockPreconditioner and replace stored pointer with concrete type to allow the call to this non-virtual function. ### Details The method apply<forward>() is added for some preconditioners to allow to distinguish between forward and backward application. This is not part of the virtual interface in Preconditioner, so needs a concrete type to be called. The function was missing in the NonoverlappingBlockPreconditioner that wraps another preconditioner. For both block preconditioners, the function apply<forward>() is called on the abstract base class Preconditioner that does not have this method. So, instead of storing a pointer to the base class, store the passed preconditioner type directly that is available by template parameter. ### Backport In dune 2.6 the base-class problem was not a problem, since there always the template parameter type was stored. But the implementation in NonoverlappingBlockPreconditioner is missing there as well. This simply breaks generic code. Note, the problem was introduced in [!274]. This MR is related to issue [#69]. See merge request [core/dune-istl!302] [!274]: gitlab.dune-project.org/NoneNone/merge_requests/274 [#69]: gitlab.dune-project.org/NoneNone/issues/69 [core/dune-istl!302]: gitlab.dune-project.org/core/dune-istl/merge_requests/302
No related branches found
No related tags found
Loading
Please register or sign in to comment