FullyImplicitBlackoilSolver: cleanup the residualNorm() method

This commit is contained in:
Andreas Lauser
2014-03-26 13:28:49 +01:00
parent 2f84156b91
commit 8cd93bf70a

View File

@@ -1267,23 +1267,22 @@ namespace {
double double
FullyImplicitBlackoilSolver::residualNorm() const FullyImplicitBlackoilSolver::residualNorm() const
{ {
double r = 0; double globalNorm = 0;
for (std::vector<ADB>::const_iterator std::vector<ADB>::const_iterator quantityIt = residual_.mass_balance.begin();
b = residual_.mass_balance.begin(), const std::vector<ADB>::const_iterator endQuantityIt = residual_.mass_balance.end();
e = residual_.mass_balance.end(); for (; quantityIt != endQuantityIt; ++quantityIt)
b != e; ++b)
{ {
const double rowResid = (*b).value().matrix().norm(); const double quantityResid = (*quantityIt).value().matrix().norm();
if (!std::isfinite(rowResid)) { if (!std::isfinite(quantityResid)) {
OPM_THROW(Opm::NumericalProblem, OPM_THROW(Opm::NumericalProblem,
"Encountered a non-finite residual"); "Encountered a non-finite residual");
} }
r = std::max(r, rowResid); globalNorm = std::max(globalNorm, quantityResid);
} }
r = std::max(r, residual_.well_flux_eq.value().matrix().norm()); globalNorm = std::max(globalNorm, residual_.well_flux_eq.value().matrix().norm());
r = std::max(r, residual_.well_eq.value().matrix().norm()); globalNorm = std::max(globalNorm, residual_.well_eq.value().matrix().norm());
return r; return globalNorm;
} }