diff --git a/dune/tectonic/myblockproblem.hh b/dune/tectonic/myblockproblem.hh index a8d2818d0b78afda771774d77c9229853c78d150..e5e7508830094484fb4f78fa43712f89f61fe901 100644 --- a/dune/tectonic/myblockproblem.hh +++ b/dune/tectonic/myblockproblem.hh @@ -118,10 +118,16 @@ template <class MyConvexProblemTypeTEMPLATE> class MyBlockProblem { // determine truncation pattern linearization.truncation.resize(u.size()); linearization.truncation.unsetAll(); - for (size_t i = 0; i < u.size(); ++i) - // TODO: should ignoreNodes be truncated as well? - if (problem.phi.regularity(i, u[i]) > 1e8) // TODO + for (size_t i = 0; i < u.size(); ++i) { + if (problem.phi.regularity(i, u[i]) > 1e8) { linearization.truncation[i] = true; + continue; + } + + for (int j = 0; j < block_size; ++j) + if (linearization.ignore[i][j]) + linearization.truncation[i][j] = true; + } // construct sparsity pattern for linearization Dune::MatrixIndexSet indices(problem.A.N(), problem.A.M());