diff --git a/opm/autodiff/BlackoilModelEbos.hpp b/opm/autodiff/BlackoilModelEbos.hpp index 83fe624ed..67f0cda41 100644 --- a/opm/autodiff/BlackoilModelEbos.hpp +++ b/opm/autodiff/BlackoilModelEbos.hpp @@ -901,18 +901,22 @@ namespace Opm { Vector maxCoeff(np); Vector maxNormWell(np); - std::vector< Vector > B( np, Vector( nc ) ); - std::vector< Vector > R( np, Vector( nc ) ); - std::vector< Vector > R2( np, Vector( nc ) ); - std::vector< Vector > tempV( np, Vector( nc ) ); + // As we will not initialize values in the following arrays + // for the non-interior elements, we have to make sure + // (at least for tempV) that the values there do not influence + // our reduction. + std::vector< Vector > B( np, Vector( nc, 0.0) ); + //std::vector< Vector > R( np, Vector( nc, 0.0) ) ); + std::vector< Vector > R2( np, Vector( nc, 0.0 ) ); + std::vector< Vector > tempV( np, Vector( nc, std::numeric_limits::lowest() ) ); const auto& ebosResid = ebosSimulator_.model().linearizer().residual(); ElementContext elemCtx(ebosSimulator_); const auto& gridView = ebosSimulator().gridView(); - const auto& elemEndIt = gridView.template end(); + const auto& elemEndIt = gridView.template end(); - for (auto elemIt = gridView.template begin(); + for (auto elemIt = gridView.template begin(); elemIt != elemEndIt; ++elemIt) {