From: Wolfgang Bangerth Date: Wed, 14 Nov 2001 13:29:48 +0000 (+0000) Subject: Increase step number at the start of the loop, since otherwise the X-Git-Tag: v8.0.0~18629 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3b233210ff691eeae344614f5483d0cbd4b7ed65;p=dealii.git Increase step number at the start of the loop, since otherwise the increment would have been forgotten upon break-down. git-svn-id: https://svn.dealii.org/trunk@5197 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/lac/include/lac/solver_bicgstab.h b/deal.II/lac/include/lac/solver_bicgstab.h index fbe4991e17..6211d1b1e3 100644 --- a/deal.II/lac/include/lac/solver_bicgstab.h +++ b/deal.II/lac/include/lac/solver_bicgstab.h @@ -308,6 +308,8 @@ SolverBicgstab::iterate(const MATRIX& A, do { + ++step; + rhobar = r*rbar; beta = rhobar * alpha / (rho * omega); rho = rhobar; @@ -322,7 +324,7 @@ SolverBicgstab::iterate(const MATRIX& A, if (std::fabs(alpha) > 1.e10) return true; - + s.equ(1., r, -alpha, v); precondition.vmult(z,s); A.vmult(t,z); @@ -336,7 +338,7 @@ SolverBicgstab::iterate(const MATRIX& A, else res = r.l2_norm(); - state = control().check(++step, res); + state = control().check(step, res); print_vectors(step, *Vx, r, y); } while (state == SolverControl::iterate); @@ -371,9 +373,10 @@ SolverBicgstab::solve(const MATRIX &A, do { - if (step) + if (step != 0) deallog << "Restart step " << step << std::endl; - if (start(A) == SolverControl::success) break; + if (start(A) == SolverControl::success) + break; state = iterate(A, precondition); } while (state);