From 3b233210ff691eeae344614f5483d0cbd4b7ed65 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Wed, 14 Nov 2001 13:29:48 +0000 Subject: [PATCH] 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 --- deal.II/lac/include/lac/solver_bicgstab.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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); -- 2.39.5