22 if constexpr (LinearSolverTraits::canCommunicate)
24 if (gridView.comm().size() <= 1)
25 return Dune::SolverCategory::sequential;
27 if (LinearSolverTraits::isNonOverlapping(gridView))
28 return Dune::SolverCategory::nonoverlapping;
30 return Dune::SolverCategory::overlapping;
34 if (gridView.comm().size() > 1)
35 DUNE_THROW(Dune::InvalidStateException,
36 "Attempt to construct parallel solver but LinearSolverTraits::canCommunicate is false. " <<
37 "Maybe the grid implementation does not support distributed parallelism."
41 return Dune::SolverCategory::sequential;