diff --git a/samples/advanced/pdegen/amg_d_pde2d.F90 b/samples/advanced/pdegen/amg_d_pde2d.F90 index 8010d430..63f73162 100644 --- a/samples/advanced/pdegen/amg_d_pde2d.F90 +++ b/samples/advanced/pdegen/amg_d_pde2d.F90 @@ -146,6 +146,8 @@ program amg_d_pde2d integer(psb_ipk_) :: jsweeps ! (pre-)smoother / 1-lev prec. sweeps integer(psb_ipk_) :: degree ! degree for polynomial smoother character(len=32) :: pvariant ! polynomial variant + character(len=32) :: prhovariant ! how to estimate rho(M^{-1}A) + real(psb_dpk_) :: prhovalue ! if previous is set value, we set it from this one integer(psb_ipk_) :: novr ! number of overlap layers character(len=32) :: restr ! restriction over application of AS character(len=32) :: prol ! prolongation over application of AS @@ -696,6 +698,8 @@ contains call psb_bcast(ctxt,prec%jsweeps) call psb_bcast(ctxt,prec%degree) call psb_bcast(ctxt,prec%pvariant) + call psb_bcast(ctxt,prec%prhovariant) + call psb_bcast(ctxt,prec%prhovalue) call psb_bcast(ctxt,prec%novr) call psb_bcast(ctxt,prec%restr) call psb_bcast(ctxt,prec%prol) @@ -710,6 +714,8 @@ contains call psb_bcast(ctxt,prec%jsweeps2) call psb_bcast(ctxt,prec%degree2) call psb_bcast(ctxt,prec%pvariant2) + call psb_bcast(ctxt,prec%prhovariant2) + call psb_bcast(ctxt,prec%prhovalue2) call psb_bcast(ctxt,prec%novr2) call psb_bcast(ctxt,prec%restr2) call psb_bcast(ctxt,prec%prol2) diff --git a/samples/advanced/pdegen/amg_d_pde3d.F90 b/samples/advanced/pdegen/amg_d_pde3d.F90 index 7a2826fb..31e5848b 100644 --- a/samples/advanced/pdegen/amg_d_pde3d.F90 +++ b/samples/advanced/pdegen/amg_d_pde3d.F90 @@ -147,6 +147,8 @@ program amg_d_pde3d integer(psb_ipk_) :: jsweeps ! (pre-)smoother / 1-lev prec. sweeps integer(psb_ipk_) :: degree ! degree for polynomial smoother character(len=32) :: pvariant ! polynomial variant + character(len=32) :: prhovariant ! how to estimate rho(M^{-1}A) + real(psb_dpk_) :: prhovalue ! if previous is set value, we set it from this one integer(psb_ipk_) :: novr ! number of overlap layers character(len=32) :: restr ! restriction over application of AS character(len=32) :: prol ! prolongation over application of AS @@ -700,6 +702,8 @@ contains call psb_bcast(ctxt,prec%jsweeps) call psb_bcast(ctxt,prec%degree) call psb_bcast(ctxt,prec%pvariant) + call psb_bcast(ctxt,prec%prhovariant) + call psb_bcast(ctxt,prec%prhovalue) call psb_bcast(ctxt,prec%novr) call psb_bcast(ctxt,prec%restr) call psb_bcast(ctxt,prec%prol) @@ -714,6 +718,8 @@ contains call psb_bcast(ctxt,prec%jsweeps2) call psb_bcast(ctxt,prec%degree2) call psb_bcast(ctxt,prec%pvariant2) + call psb_bcast(ctxt,prec%prhovariant2) + call psb_bcast(ctxt,prec%prhovalue2) call psb_bcast(ctxt,prec%novr2) call psb_bcast(ctxt,prec%restr2) call psb_bcast(ctxt,prec%prol2) diff --git a/samples/advanced/pdegen/amg_s_pde2d.F90 b/samples/advanced/pdegen/amg_s_pde2d.F90 index 623364ca..516447d5 100644 --- a/samples/advanced/pdegen/amg_s_pde2d.F90 +++ b/samples/advanced/pdegen/amg_s_pde2d.F90 @@ -146,6 +146,8 @@ program amg_s_pde2d integer(psb_ipk_) :: jsweeps ! (pre-)smoother / 1-lev prec. sweeps integer(psb_ipk_) :: degree ! degree for polynomial smoother character(len=32) :: pvariant ! polynomial variant + character(len=32) :: prhovariant ! how to estimate rho(M^{-1}A) + real(psb_spk_) :: prhovalue ! if previous is set value, we set it from this one integer(psb_ipk_) :: novr ! number of overlap layers character(len=32) :: restr ! restriction over application of AS character(len=32) :: prol ! prolongation over application of AS @@ -696,6 +698,8 @@ contains call psb_bcast(ctxt,prec%jsweeps) call psb_bcast(ctxt,prec%degree) call psb_bcast(ctxt,prec%pvariant) + call psb_bcast(ctxt,prec%prhovariant) + call psb_bcast(ctxt,prec%prhovalue) call psb_bcast(ctxt,prec%novr) call psb_bcast(ctxt,prec%restr) call psb_bcast(ctxt,prec%prol) @@ -710,6 +714,8 @@ contains call psb_bcast(ctxt,prec%jsweeps2) call psb_bcast(ctxt,prec%degree2) call psb_bcast(ctxt,prec%pvariant2) + call psb_bcast(ctxt,prec%prhovariant2) + call psb_bcast(ctxt,prec%prhovalue2) call psb_bcast(ctxt,prec%novr2) call psb_bcast(ctxt,prec%restr2) call psb_bcast(ctxt,prec%prol2) diff --git a/samples/advanced/pdegen/amg_s_pde3d.F90 b/samples/advanced/pdegen/amg_s_pde3d.F90 index e634ae97..be5d7b7d 100644 --- a/samples/advanced/pdegen/amg_s_pde3d.F90 +++ b/samples/advanced/pdegen/amg_s_pde3d.F90 @@ -147,6 +147,8 @@ program amg_s_pde3d integer(psb_ipk_) :: jsweeps ! (pre-)smoother / 1-lev prec. sweeps integer(psb_ipk_) :: degree ! degree for polynomial smoother character(len=32) :: pvariant ! polynomial variant + character(len=32) :: prhovariant ! how to estimate rho(M^{-1}A) + real(psb_spk_) :: prhovalue ! if previous is set value, we set it from this one integer(psb_ipk_) :: novr ! number of overlap layers character(len=32) :: restr ! restriction over application of AS character(len=32) :: prol ! prolongation over application of AS @@ -700,6 +702,8 @@ contains call psb_bcast(ctxt,prec%jsweeps) call psb_bcast(ctxt,prec%degree) call psb_bcast(ctxt,prec%pvariant) + call psb_bcast(ctxt,prec%prhovariant) + call psb_bcast(ctxt,prec%prhovalue) call psb_bcast(ctxt,prec%novr) call psb_bcast(ctxt,prec%restr) call psb_bcast(ctxt,prec%prol) @@ -714,6 +718,8 @@ contains call psb_bcast(ctxt,prec%jsweeps2) call psb_bcast(ctxt,prec%degree2) call psb_bcast(ctxt,prec%pvariant2) + call psb_bcast(ctxt,prec%prhovariant2) + call psb_bcast(ctxt,prec%prhovalue2) call psb_bcast(ctxt,prec%novr2) call psb_bcast(ctxt,prec%restr2) call psb_bcast(ctxt,prec%prol2) diff --git a/samples/advanced/pdegen/runs/amg_pde2d.inp b/samples/advanced/pdegen/runs/amg_pde2d.inp index 6a591531..867ba9cb 100644 --- a/samples/advanced/pdegen/runs/amg_pde2d.inp +++ b/samples/advanced/pdegen/runs/amg_pde2d.inp @@ -18,9 +18,10 @@ FBGS ! Smoother type JACOBI FBGS GS BWGS BJAC AS POLY r 1 ! degree for polynomial smoother CHEB_4_OPT ! Polynomial variant % Fields to be added for POLY -% POLY_RHO_ESTIMATE Currently only POLY_RHO_EST_POWER +POLY_RHO_EST_POWER % POLY_RHO_ESTIMATE Currently only POLY_RHO_EST_POWER % POLY_RHO_ESTIMATE_ITERATIONS default = 20 -% POLY_RHO_BA set to value +% POLY_RHO_BA set to value +1.0 % 0 ! Number of overlap layers for AS preconditioner HALO ! AS restriction operator: NONE HALO @@ -36,6 +37,10 @@ NONE ! Second (post) smoother, ignored if NONE 6 ! Number of sweeps for (post) smoother 1 ! degree for polynomial smoother CHEB_4_OPT ! Polynomial variant +POLY_RHO_EST_POWER % POLY_RHO_ESTIMATE Currently only POLY_RHO_EST_POWER +% POLY_RHO_ESTIMATE_ITERATIONS default = 20 +% POLY_RHO_BA set to value +1.0 0 ! Number of overlap layers for AS preconditioner HALO ! AS restriction operator: NONE HALO NONE ! AS prolongation operator: NONE SUM AVG diff --git a/samples/advanced/pdegen/runs/amg_pde3d.inp b/samples/advanced/pdegen/runs/amg_pde3d.inp index 4ed1ab01..a61182c8 100644 --- a/samples/advanced/pdegen/runs/amg_pde3d.inp +++ b/samples/advanced/pdegen/runs/amg_pde3d.inp @@ -18,9 +18,10 @@ FBGS ! Smoother type JACOBI FBGS GS BWGS BJAC AS POLY r 1 ! degree for polynomial smoother CHEB_4_OPT ! Polynomial variant % Fields to be added for POLY -% POLY_RHO_ESTIMATE Currently only POLY_RHO_EST_POWER +POLY_RHO_EST_POWER % POLY_RHO_ESTIMATE Currently only POLY_RHO_EST_POWER % POLY_RHO_ESTIMATE_ITERATIONS default = 20 -% POLY_RHO_BA set to value +% POLY_RHO_BA set to value +1.0 % 0 ! Number of overlap layers for AS preconditioner HALO ! AS restriction operator: NONE HALO @@ -36,6 +37,10 @@ NONE ! Second (post) smoother, ignored if NONE 6 ! Number of sweeps for (post) smoother 1 ! degree for polynomial smoother CHEB_4_OPT ! Polynomial variant +POLY_RHO_EST_POWER % POLY_RHO_ESTIMATE Currently only POLY_RHO_EST_POWER +% POLY_RHO_ESTIMATE_ITERATIONS default = 20 +% POLY_RHO_BA set to value +1.0 0 ! Number of overlap layers for AS preconditioner HALO ! AS restriction operator: NONE HALO NONE ! AS prolongation operator: NONE SUM AVG