mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 22:55:12 +00:00
New version with aggregator object interface.
Take out SET with integer WHAT.
This commit is contained in:
@@ -638,7 +638,9 @@ program mld_d_pde3d
|
||||
integer(psb_ipk_) :: thrvsz ! size of threshold vector
|
||||
real(psb_dpk_) :: athres ! smoothed aggregation threshold
|
||||
integer(psb_ipk_) :: csize ! minimum size of coarsest matrix
|
||||
|
||||
logical :: use_bcm ! use BootCMatch
|
||||
integer(psb_ipk_) :: bcm_alg ! Matching method: 0 PREIS, 1 MC64, 2 SPRAL (auction)
|
||||
integer(psb_ipk_) :: bcm_sweeps ! Pairing sweeps
|
||||
! AMG smoother or pre-smoother; also 1-lev preconditioner
|
||||
character(len=16) :: smther ! (pre-)smoother type: BJAC, AS
|
||||
integer(psb_ipk_) :: jsweeps ! (pre-)smoother / 1-lev prec. sweeps
|
||||
@@ -671,7 +673,6 @@ program mld_d_pde3d
|
||||
integer(psb_ipk_) :: cfill ! fill-in for incomplete LU factorization
|
||||
real(psb_dpk_) :: cthres ! threshold for ILUT factorization
|
||||
integer(psb_ipk_) :: cjswp ! sweeps for GS or JAC coarsest-lev subsolver
|
||||
logical :: use_bcm ! Use BootCMatch aggregation
|
||||
|
||||
end type precdata
|
||||
type(precdata) :: p_choice
|
||||
@@ -819,8 +820,8 @@ program mld_d_pde3d
|
||||
call prec%set('coarse_sweeps', p_choice%cjswp, info)
|
||||
if (p_choice%use_bcm) then
|
||||
call prec%set(bcmag,info)
|
||||
call prec%set('BCM_MATCH_ALG',2, info)
|
||||
call prec%set('BCM_SWEEPS',3, info)
|
||||
call prec%set('BCM_MATCH_ALG',p_choice%bcm_alg, info)
|
||||
call prec%set('BCM_SWEEPS',p_choice%bcm_sweeps, info)
|
||||
!!$ if (p_choice%csize>0) call prec%set('BCM_MAX_CSIZE',p_choice%csize, info)
|
||||
call prec%set('BCM_MAX_NLEVELS',p_choice%maxlevs, info)
|
||||
!call prec%set('BCM_W_SIZE',desc_a%get_local_rows(), info,ilev=2)
|
||||
@@ -1035,7 +1036,9 @@ contains
|
||||
call read_data(prec%cfill,inp_unit) ! fill-in for incompl LU
|
||||
call read_data(prec%cthres,inp_unit) ! Threshold for ILUT
|
||||
call read_data(prec%cjswp,inp_unit) ! sweeps for GS/JAC subsolver
|
||||
call read_data(prec%use_bcm,inp_unit) ! BootCMatch?
|
||||
call read_data(prec%use_bcm,inp_unit)
|
||||
call read_data(prec%bcm_alg,inp_unit)
|
||||
call read_data(prec%bcm_sweeps,inp_unit)
|
||||
if (inp_unit /= psb_inp_unit) then
|
||||
close(inp_unit)
|
||||
end if
|
||||
@@ -1097,7 +1100,9 @@ contains
|
||||
call psb_bcast(icontxt,prec%cfill)
|
||||
call psb_bcast(icontxt,prec%cthres)
|
||||
call psb_bcast(icontxt,prec%cjswp)
|
||||
call psb_bcast(icontxt,prec%use_bcm)
|
||||
call psb_bcast(ictxt,prec%use_bcm)
|
||||
call psb_bcast(ictxt,prec%bcm_alg)
|
||||
call psb_bcast(ictxt,prec%bcm_sweeps)
|
||||
|
||||
end subroutine get_parms
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
%%%%%%%%%%% General arguments % Lines starting with % are ignored.
|
||||
CSR ! Storage format CSR COO JAD
|
||||
0040 ! IDIM; domain size. Linear system size is IDIM**2
|
||||
CG ! Iterative method: BiCGSTAB BiCGSTABL BiCG CG CGS FCG GCR RGMRES
|
||||
0100 ! IDIM; domain size. Linear system size is IDIM**2
|
||||
FCG ! Iterative method: BiCGSTAB BiCGSTABL BiCG CG CGS FCG GCR RGMRES
|
||||
2 ! ISTOPC
|
||||
00500 ! ITMAX
|
||||
1 ! ITRACE
|
||||
30 ! IRST (restart for RGMRES and BiCGSTABL)
|
||||
1.d-6 ! EPS
|
||||
ML-VCYCLE-FBGS-ILU ! Longer descriptive name for preconditioner (up to 20 chars)
|
||||
ML-KCYCLE-FBGS-ILU ! Longer descriptive name for preconditioner (up to 20 chars)
|
||||
ML ! Preconditioner type: NONE JACOBI GS FBGS BJAC AS ML
|
||||
%%%%%%%%%%% First smoother (for all levels but coarsest) %%%%%%%%%%%%%%%%
|
||||
FBGS ! Smoother type JACOBI FBGS GS BWGS BJAC AS. For 1-level, repeats previous.
|
||||
2 ! Number of sweeps for smoother
|
||||
1 ! Number of sweeps for smoother
|
||||
0 ! Number of overlap layers for AS preconditioner
|
||||
HALO ! AS restriction operator: NONE HALO
|
||||
NONE ! AS prolongation operator: NONE SUM AVG
|
||||
@@ -28,11 +28,11 @@ ILU ! Subdomain solver for BJAC/AS: JACOBI GS BGS ILU IL
|
||||
0 ! Fill level P for ILU(P) and ILU(T,P)
|
||||
1.d-4 ! Threshold T for ILU(T,P)
|
||||
%%%%%%%%%%% Multilevel parameters %%%%%%%%%%%%%%%%
|
||||
VCYCLE ! Type of multilevel CYCLE: VCYCLE WCYCLE KCYCLE MULT ADD
|
||||
KCYCLE ! Type of multilevel CYCLE: VCYCLE WCYCLE KCYCLE MULT ADD
|
||||
1 ! Number of outer sweeps for ML
|
||||
-3 ! Max Number of levels in a multilevel preconditioner; if <0, lib default
|
||||
-3 ! Target coarse matrix size; if <0, lib default
|
||||
SMOOTHED ! Type of aggregation: SMOOTHED UNSMOOTHED
|
||||
UNSMOOTHED ! Type of aggregation: SMOOTHED UNSMOOTHED
|
||||
DEC ! Parallel aggregation: DEC, SYMDEC
|
||||
NATURAL ! Ordering of aggregation NATURAL DEGREE
|
||||
NOFILTER ! Filtering of matrix: FILTER NOFILTER
|
||||
@@ -47,4 +47,6 @@ DIST ! Coarsest-level matrix distribution: DIST REPL, DE
|
||||
1 ! Coarsest-level fillin P for ILU(P) and ILU(T,P)
|
||||
1.d-4 ! Coarsest-level threshold T for ILU(T,P)
|
||||
1 ! Number of sweeps for JACOBI/GS/BJAC coarsest-level solver
|
||||
T ! Use BootCMatch aggregator
|
||||
T ! Use BootCMatch
|
||||
2 ! Matching method: 0 PREIS, 1 MC64, 2 SPRAL (auction)
|
||||
2 ! Pairing sweeps
|
||||
|
||||
Reference in New Issue
Block a user