From f9e56de248a168fea01cc29b5cfc68fa23f5ee50 Mon Sep 17 00:00:00 2001 From: kjetil Date: Tue, 30 Sep 2025 11:15:48 -0500 Subject: [PATCH] solve: use residual as shadow space --- opm/simulators/linalg/HaugenLabs.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/opm/simulators/linalg/HaugenLabs.c b/opm/simulators/linalg/HaugenLabs.c index 9a44d26904..3ff3aac17e 100644 --- a/opm/simulators/linalg/HaugenLabs.c +++ b/opm/simulators/linalg/HaugenLabs.c @@ -817,8 +817,8 @@ int bslv_pbicgstab3m(bslv_memory *mem, bsr_matrix *A, const double *b, double *x int n = mem->n; double * restrict e = mem->e; - //const double *r0 = b; - const double * restrict r0 = mem->dtmp[0]; //access randomly initialized one-dimensional shadow space + const double *r0 = b; + //const double * restrict r0 = mem->dtmp[0]; //access randomly initialized one-dimensional shadow space double * restrict p_j = mem->dtmp[1]; double * restrict q_j = mem->dtmp[2]; double * restrict r_j = mem->dtmp[3]; @@ -877,9 +877,7 @@ int bslv_pbicgstab3m(bslv_memory *mem, bsr_matrix *A, const double *b, double *x } bildu_mapply3c(P,x_j); //x_j=P.x_j; - j++; - //printf("pbicgstab: iterations=%d residual=%.2e\n",j,e[j]); - return j; + return j == max_iter ? j : ++j; } void bslv_info(bslv_memory *mem, int count)