diff --git a/dumux/implicit/localresidual.hh b/dumux/implicit/localresidual.hh index 2dbfb1b1c083c7cb49c27d0084eaf9bf1dde5fca..26882fb074b91e5f051f32f45570160819a8208b 100644 --- a/dumux/implicit/localresidual.hh +++ b/dumux/implicit/localresidual.hh @@ -276,13 +276,13 @@ protected: // calculate the amount of conservation each quantity inside // all sub control volumes - for (int scvIdx = 0; scvIdx < fvGeometry_().numScv; scvIdx++) { - Valgrind::SetUndefined(storageTerm_[scvIdx]); - asImp_().computeStorage(storageTerm_[scvIdx], scvIdx, /*isOldSol=*/false); - storageTerm_[scvIdx] *= - fvGeometry_().subContVol[scvIdx].volume - * curVolVars_(scvIdx).extrusionFactor(); - Valgrind::CheckDefined(storageTerm_[scvIdx]); + for (auto&& scv : fvGeometry_().scvs()) + { + int scvIdx = scv.indexInElement(); + + storageTerm_[scvIdx] = asImp_().computeStorage(scv, /*isOldSol=*/false); + storageTerm_[scvIdx] *= scv.volume(); + storageTerm_[scvIdx] *= problem_().model().curVolVars(scv).extrusionFactor(); } }