From 59d1e2ad7d9e879ab4bda5c3cd3c53a1cb22c4a2 Mon Sep 17 00:00:00 2001 From: Edward Basso Date: Fri, 17 Nov 2023 15:31:50 -0800 Subject: [PATCH 1/4] Consistent RT casting --- Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H b/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H index da50aae7b89..a51e9361263 100644 --- a/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H +++ b/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H @@ -282,11 +282,11 @@ MLCGSolverT::solve_cg (MF& sol, const MF& rhs, RT eps_rel, RT eps_abs) amrex::Print() << "MLCGSolver_CG: Initial error (error0) : " << rnorm0 << '\n'; } - RT rho_1 = 0; + RT rho_1 = RT(0.0); int ret = 0; iter = 1; - if ( rnorm0 == 0 || rnorm0 < eps_abs ) + if ( rnorm0 == RT(0.0) || rnorm0 < eps_abs ) { if ( verbose > 0 ) { amrex::Print() << "MLCGSolver_CG: niter = 0," @@ -302,7 +302,7 @@ MLCGSolverT::solve_cg (MF& sol, const MF& rhs, RT eps_rel, RT eps_abs) RT rho = dotxy(z,r); - if ( rho == 0 ) + if ( rho == RT(0.0) ) { ret = 1; break; } @@ -317,16 +317,12 @@ MLCGSolverT::solve_cg (MF& sol, const MF& rhs, RT eps_rel, RT eps_abs) } Lp.apply(amrlev, mglev, q, p, MLLinOpT::BCMode::Homogeneous, MLLinOpT::StateMode::Correction); - RT alpha; RT pw = dotxy(p,q); - if ( pw != RT(0.0)) - { - alpha = rho/pw; - } - else + if ( pw == RT(0.0)) { ret = 1; break; } + RT alpha = rho/pw; if ( verbose > 2 ) { From 1ac8ca45f0cd7028e60613387a08e8fc5e0f39e4 Mon Sep 17 00:00:00 2001 From: Edward Basso Date: Wed, 6 Dec 2023 12:54:56 -0800 Subject: [PATCH 2/4] Cast `alpha`, `beta` and `pw` as const --- Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H b/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H index e7051358067..8bb43f11389 100644 --- a/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H +++ b/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H @@ -306,17 +306,17 @@ MLCGSolverT::solve_cg (MF& sol, const MF& rhs, RT eps_rel, RT eps_abs) } else { - RT beta = rho/rho_1; + const RT beta = rho/rho_1; MF::Xpay(p, beta, r, 0, 0, ncomp, nghost); // p = r + beta * p } Lp.apply(amrlev, mglev, q, p, MLLinOpT::BCMode::Homogeneous, MLLinOpT::StateMode::Correction); - RT pw = dotxy(p,q); + const RT pw = dotxy(p,q); if ( pw == RT(0.0)) { ret = 1; break; } - RT alpha = rho/pw; + const RT alpha = rho/pw; if ( verbose > 2 ) { From ec925aeeac354d235c2598ca0cd94e898aac20b0 Mon Sep 17 00:00:00 2001 From: Edward Basso Date: Wed, 6 Dec 2023 12:58:46 -0800 Subject: [PATCH 3/4] Cast `rho` as const --- Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H b/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H index 8bb43f11389..59f1e846df5 100644 --- a/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H +++ b/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H @@ -294,7 +294,7 @@ MLCGSolverT::solve_cg (MF& sol, const MF& rhs, RT eps_rel, RT eps_abs) for (; iter <= maxiter; ++iter) { - RT rho = dotxy(r,r); + const RT rho = dotxy(r,r); if ( rho == RT(0.0) ) { From 4b8b724cdd321ed1f4707f62cfda4bb5013951d9 Mon Sep 17 00:00:00 2001 From: Edward Basso Date: Wed, 6 Dec 2023 13:01:16 -0800 Subject: [PATCH 4/4] Whitespace after `pw == RT(0.0` for consistent style --- Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H b/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H index 59f1e846df5..1190760cede 100644 --- a/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H +++ b/Src/LinearSolvers/MLMG/AMReX_MLCGSolver.H @@ -312,7 +312,7 @@ MLCGSolverT::solve_cg (MF& sol, const MF& rhs, RT eps_rel, RT eps_abs) Lp.apply(amrlev, mglev, q, p, MLLinOpT::BCMode::Homogeneous, MLLinOpT::StateMode::Correction); const RT pw = dotxy(p,q); - if ( pw == RT(0.0)) + if ( pw == RT(0.0) ) { ret = 1; break; }