diff --git a/dune/solvers/iterationsteps/trustregiongsstep.cc b/dune/solvers/iterationsteps/trustregiongsstep.cc index bc1df55f8e542b5c43fd5f7bfd1f518be1b5553b..6aebc1885e8da8f74aa8e407d1161bb41074aa17 100644 --- a/dune/solvers/iterationsteps/trustregiongsstep.cc +++ b/dune/solvers/iterationsteps/trustregiongsstep.cc @@ -74,6 +74,11 @@ void TrustRegionGSStep<MatrixType, VectorType>::iterate() } } else { + + // If the corresponding dof was truncated, then compute no correction + if (diag==0 && r == 0) + continue; + // 1d problem is concave or linear. // Minimum is attained at one of the boundaries field_type lBound = obstacles[i].lower(j);