From 062f48d3c42f8cba9748483795cd940ce6f02696 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Wed, 19 Jul 2017 15:56:13 +0100 Subject: [PATCH] Updated README. Fixed some details of examples. --- README | 17 ++++++++++++- examples/fileread/mld_cexample_1lev.f90 | 5 ++-- examples/fileread/mld_dexample_1lev.f90 | 5 ++-- examples/fileread/mld_sexample_1lev.f90 | 5 ++-- examples/fileread/mld_zexample_1lev.f90 | 5 ++-- examples/pdegen/mld_dexample_1lev.f90 | 14 +++++------ examples/pdegen/mld_dexample_ml.f90 | 14 +++++------ examples/pdegen/mld_sexample_1lev.f90 | 14 +++++------ examples/pdegen/mld_sexample_ml.f90 | 14 +++++------ tests/fileread/mld_cf_sample.f90 | 18 -------------- tests/fileread/mld_df_sample.f90 | 18 -------------- tests/fileread/mld_sf_sample.f90 | 18 -------------- tests/fileread/mld_zf_sample.f90 | 18 -------------- tests/fileread/runs/dfs.inp | 8 +++--- tests/pdegen/mld_d_pde2d.f90 | 29 +++------------------- tests/pdegen/mld_d_pde3d.f90 | 33 +++++-------------------- tests/pdegen/mld_s_pde2d.f90 | 29 +++------------------- tests/pdegen/mld_s_pde3d.f90 | 33 +++++-------------------- 18 files changed, 76 insertions(+), 221 deletions(-) diff --git a/README b/README index 3cbfaf5a..1c9867dd 100644 --- a/README +++ b/README @@ -1,7 +1,22 @@ -This directory contains the MLD2P4 set of preconditioners, version 2.0 +This directory contains the MLD2P4 set of preconditioners, version 2.1 WHAT'S NEW +Version 2.1 + 1. The multigrid preconditioner now include fully general V- and W- + cycles. We also support K-cycles, intended to be used in + conjunction with Flexible CG available in PSBLAS 3.5. + 2. The smoothers now include popular + variants such as Jacobi, forward and backward hybrid + Gauss-Seidel (intra-process Gauss-Seidel, inter-process + block-Jacobi). + 3. The PRE and POST specification for smoothers can now be + specified independently of each other: you can even specify + different smoothers for PRE and POST (e.g. forward Gauss-Seidel + PRE with backward Gauss-Seidel POST). The default is to + have the specs apply to both PRE and POST. + + Version 2.0. Finally moved to F2003, with the support of PSBLAS3. diff --git a/examples/fileread/mld_cexample_1lev.f90 b/examples/fileread/mld_cexample_1lev.f90 index 47a49001..85a322fb 100644 --- a/examples/fileread/mld_cexample_1lev.f90 +++ b/examples/fileread/mld_cexample_1lev.f90 @@ -89,7 +89,6 @@ program mld_cexample_1lev real(psb_dpk_) :: t1, t2, tprec character(len=20) :: name integer, parameter :: iunit=12 - type(psb_c_vect_type) :: x_col, r_col ! initialize the parallel environment @@ -263,9 +262,9 @@ program mld_cexample_1lev write(*,'("Total memory occupation for PREC : ",i12)')precsize end if - call psb_gather(x_glob,x_col,desc_a,info,root=psb_root_) + call psb_gather(x_glob,x,desc_a,info,root=psb_root_) if (info == psb_success_) & - & call psb_gather(r_glob,r_col,desc_a,info,root=psb_root_) + & call psb_gather(r_glob,r,desc_a,info,root=psb_root_) if (info /= psb_success_) goto 9999 if (iam == psb_root_) then write(0,'(" ")') diff --git a/examples/fileread/mld_dexample_1lev.f90 b/examples/fileread/mld_dexample_1lev.f90 index bd3336ef..ad512737 100644 --- a/examples/fileread/mld_dexample_1lev.f90 +++ b/examples/fileread/mld_dexample_1lev.f90 @@ -89,7 +89,6 @@ program mld_dexample_1lev real(psb_dpk_) :: t1, t2, tprec character(len=20) :: name integer, parameter :: iunit=12 - type(psb_d_vect_type) :: x_col, r_col ! initialize the parallel environment @@ -263,9 +262,9 @@ program mld_dexample_1lev write(*,'("Total memory occupation for PREC : ",i12)')precsize end if - call psb_gather(x_glob,x_col,desc_a,info,root=psb_root_) + call psb_gather(x_glob,x,desc_a,info,root=psb_root_) if (info == psb_success_) & - & call psb_gather(r_glob,r_col,desc_a,info,root=psb_root_) + & call psb_gather(r_glob,r,desc_a,info,root=psb_root_) if (info /= psb_success_) goto 9999 if (iam == psb_root_) then write(0,'(" ")') diff --git a/examples/fileread/mld_sexample_1lev.f90 b/examples/fileread/mld_sexample_1lev.f90 index 55867fa9..94e6b47c 100644 --- a/examples/fileread/mld_sexample_1lev.f90 +++ b/examples/fileread/mld_sexample_1lev.f90 @@ -89,7 +89,6 @@ program mld_sexample_1lev real(psb_dpk_) :: t1, t2, tprec character(len=20) :: name integer, parameter :: iunit=12 - type(psb_s_vect_type) :: x_col, r_col ! initialize the parallel environment @@ -263,9 +262,9 @@ program mld_sexample_1lev write(*,'("Total memory occupation for PREC : ",i12)')precsize end if - call psb_gather(x_glob,x_col,desc_a,info,root=psb_root_) + call psb_gather(x_glob,x,desc_a,info,root=psb_root_) if (info == psb_success_) & - & call psb_gather(r_glob,r_col,desc_a,info,root=psb_root_) + & call psb_gather(r_glob,r,desc_a,info,root=psb_root_) if (info /= psb_success_) goto 9999 if (iam == psb_root_) then write(0,'(" ")') diff --git a/examples/fileread/mld_zexample_1lev.f90 b/examples/fileread/mld_zexample_1lev.f90 index 3a02780f..e58c9c99 100644 --- a/examples/fileread/mld_zexample_1lev.f90 +++ b/examples/fileread/mld_zexample_1lev.f90 @@ -89,7 +89,6 @@ program mld_zexample_1lev real(psb_dpk_) :: t1, t2, tprec character(len=20) :: name integer, parameter :: iunit=12 - type(psb_z_vect_type) :: x_col, r_col ! initialize the parallel environment @@ -263,9 +262,9 @@ program mld_zexample_1lev write(*,'("Total memory occupation for PREC : ",i12)')precsize end if - call psb_gather(x_glob,x_col,desc_a,info,root=psb_root_) + call psb_gather(x_glob,x,desc_a,info,root=psb_root_) if (info == psb_success_) & - & call psb_gather(r_glob,r_col,desc_a,info,root=psb_root_) + & call psb_gather(r_glob,r,desc_a,info,root=psb_root_) if (info /= psb_success_) goto 9999 if (iam == psb_root_) then write(0,'(" ")') diff --git a/examples/pdegen/mld_dexample_1lev.f90 b/examples/pdegen/mld_dexample_1lev.f90 index 1bf872a3..727b08a7 100644 --- a/examples/pdegen/mld_dexample_1lev.f90 +++ b/examples/pdegen/mld_dexample_1lev.f90 @@ -68,43 +68,43 @@ contains use psb_base_mod, only : psb_dpk_, done real(psb_dpk_) :: b1 real(psb_dpk_), intent(in) :: x,y,z - b1=done/sqrt(3.d0) + b1=dzero end function b1 function b2(x,y,z) use psb_base_mod, only : psb_dpk_, done real(psb_dpk_) :: b2 real(psb_dpk_), intent(in) :: x,y,z - b2=done/sqrt(3.d0) + b2=dzero end function b2 function b3(x,y,z) use psb_base_mod, only : psb_dpk_, done real(psb_dpk_) :: b3 real(psb_dpk_), intent(in) :: x,y,z - b3=done/sqrt(3.d0) + b3=dzero end function b3 function c(x,y,z) use psb_base_mod, only : psb_dpk_, done real(psb_dpk_) :: c real(psb_dpk_), intent(in) :: x,y,z - c=0.d0 + c=dzero end function c function a1(x,y,z) use psb_base_mod, only : psb_dpk_, done real(psb_dpk_) :: a1 real(psb_dpk_), intent(in) :: x,y,z - a1=done/80 + a1=done end function a1 function a2(x,y,z) use psb_base_mod, only : psb_dpk_, done real(psb_dpk_) :: a2 real(psb_dpk_), intent(in) :: x,y,z - a2=done/80 + a2=done end function a2 function a3(x,y,z) use psb_base_mod, only : psb_dpk_, done real(psb_dpk_) :: a3 real(psb_dpk_), intent(in) :: x,y,z - a3=done/80 + a3=done end function a3 function g(x,y,z) use psb_base_mod, only : psb_dpk_, done, dzero diff --git a/examples/pdegen/mld_dexample_ml.f90 b/examples/pdegen/mld_dexample_ml.f90 index d507f371..02c7c729 100644 --- a/examples/pdegen/mld_dexample_ml.f90 +++ b/examples/pdegen/mld_dexample_ml.f90 @@ -86,43 +86,43 @@ contains use psb_base_mod, only : psb_dpk_, done real(psb_dpk_) :: b1 real(psb_dpk_), intent(in) :: x,y,z - b1=done/sqrt(3.d0) + b1=dzero end function b1 function b2(x,y,z) use psb_base_mod, only : psb_dpk_, done real(psb_dpk_) :: b2 real(psb_dpk_), intent(in) :: x,y,z - b2=done/sqrt(3.d0) + b2=dzero end function b2 function b3(x,y,z) use psb_base_mod, only : psb_dpk_, done real(psb_dpk_) :: b3 real(psb_dpk_), intent(in) :: x,y,z - b3=done/sqrt(3.d0) + b3=dzero end function b3 function c(x,y,z) use psb_base_mod, only : psb_dpk_, done real(psb_dpk_) :: c real(psb_dpk_), intent(in) :: x,y,z - c=0.d0 + c=dzero end function c function a1(x,y,z) use psb_base_mod, only : psb_dpk_, done real(psb_dpk_) :: a1 real(psb_dpk_), intent(in) :: x,y,z - a1=done/80 + a1=done end function a1 function a2(x,y,z) use psb_base_mod, only : psb_dpk_, done real(psb_dpk_) :: a2 real(psb_dpk_), intent(in) :: x,y,z - a2=done/80 + a2=done end function a2 function a3(x,y,z) use psb_base_mod, only : psb_dpk_, done real(psb_dpk_) :: a3 real(psb_dpk_), intent(in) :: x,y,z - a3=done/80 + a3=done end function a3 function g(x,y,z) use psb_base_mod, only : psb_dpk_, done, dzero diff --git a/examples/pdegen/mld_sexample_1lev.f90 b/examples/pdegen/mld_sexample_1lev.f90 index 67202b00..b103cc5e 100644 --- a/examples/pdegen/mld_sexample_1lev.f90 +++ b/examples/pdegen/mld_sexample_1lev.f90 @@ -68,43 +68,43 @@ contains use psb_base_mod, only : psb_spk_, sone real(psb_spk_) :: b1 real(psb_spk_), intent(in) :: x,y,z - b1=sone/sqrt(3.d0) + b1=szero end function b1 function b2(x,y,z) use psb_base_mod, only : psb_spk_, sone real(psb_spk_) :: b2 real(psb_spk_), intent(in) :: x,y,z - b2=sone/sqrt(3.d0) + b2=szero end function b2 function b3(x,y,z) use psb_base_mod, only : psb_spk_, sone real(psb_spk_) :: b3 real(psb_spk_), intent(in) :: x,y,z - b3=sone/sqrt(3.d0) + b3=szero end function b3 function c(x,y,z) use psb_base_mod, only : psb_spk_, sone real(psb_spk_) :: c real(psb_spk_), intent(in) :: x,y,z - c=0.d0 + c=szero end function c function a1(x,y,z) use psb_base_mod, only : psb_spk_, sone real(psb_spk_) :: a1 real(psb_spk_), intent(in) :: x,y,z - a1=sone/80 + a1=sone end function a1 function a2(x,y,z) use psb_base_mod, only : psb_spk_, sone real(psb_spk_) :: a2 real(psb_spk_), intent(in) :: x,y,z - a2=sone/80 + a2=sone end function a2 function a3(x,y,z) use psb_base_mod, only : psb_spk_, sone real(psb_spk_) :: a3 real(psb_spk_), intent(in) :: x,y,z - a3=sone/80 + a3=sone end function a3 function g(x,y,z) use psb_base_mod, only : psb_spk_, sone, szero diff --git a/examples/pdegen/mld_sexample_ml.f90 b/examples/pdegen/mld_sexample_ml.f90 index d00293d6..b21b132c 100644 --- a/examples/pdegen/mld_sexample_ml.f90 +++ b/examples/pdegen/mld_sexample_ml.f90 @@ -86,43 +86,43 @@ contains use psb_base_mod, only : psb_spk_, sone real(psb_spk_) :: b1 real(psb_spk_), intent(in) :: x,y,z - b1=sone/sqrt(3.d0) + b1=szero end function b1 function b2(x,y,z) use psb_base_mod, only : psb_spk_, sone real(psb_spk_) :: b2 real(psb_spk_), intent(in) :: x,y,z - b2=sone/sqrt(3.d0) + b2=szero end function b2 function b3(x,y,z) use psb_base_mod, only : psb_spk_, sone real(psb_spk_) :: b3 real(psb_spk_), intent(in) :: x,y,z - b3=sone/sqrt(3.d0) + b3=szero end function b3 function c(x,y,z) use psb_base_mod, only : psb_spk_, sone real(psb_spk_) :: c real(psb_spk_), intent(in) :: x,y,z - c=0.d0 + c=szero end function c function a1(x,y,z) use psb_base_mod, only : psb_spk_, sone real(psb_spk_) :: a1 real(psb_spk_), intent(in) :: x,y,z - a1=sone/80 + a1=sone end function a1 function a2(x,y,z) use psb_base_mod, only : psb_spk_, sone real(psb_spk_) :: a2 real(psb_spk_), intent(in) :: x,y,z - a2=sone/80 + a2=sone end function a2 function a3(x,y,z) use psb_base_mod, only : psb_spk_, sone real(psb_spk_) :: a3 real(psb_spk_), intent(in) :: x,y,z - a3=sone/80 + a3=sone end function a3 function g(x,y,z) use psb_base_mod, only : psb_spk_, sone, szero diff --git a/tests/fileread/mld_cf_sample.f90 b/tests/fileread/mld_cf_sample.f90 index 57b8f514..a735f6dd 100644 --- a/tests/fileread/mld_cf_sample.f90 +++ b/tests/fileread/mld_cf_sample.f90 @@ -753,23 +753,5 @@ contains end if end subroutine get_parms - - subroutine pr_usage(iout) - integer(psb_ipk_) iout - write(iout, *) ' number of parameters is incorrect!' - write(iout, *) ' use: hb_sample mtrx_file methd prec [ptype & - &itmax istopc itrace]' - write(iout, *) ' where:' - write(iout, *) ' mtrx_file is stored in hb format' - write(iout, *) ' methd may be: cgstab ' - write(iout, *) ' itmax max iterations [500] ' - write(iout, *) ' istopc stopping criterion [1] ' - write(iout, *) ' itrace 0 (no tracing, default) or ' - write(iout, *) ' >= 0 do tracing every itrace' - write(iout, *) ' iterations ' - write(iout, *) ' prec may be: ilu diagsc none' - write(iout, *) ' ptype partition strategy default 0' - write(iout, *) ' 0: block partition ' - end subroutine pr_usage end program mld_cf_sample diff --git a/tests/fileread/mld_df_sample.f90 b/tests/fileread/mld_df_sample.f90 index 9fe8863e..6e59dcf8 100644 --- a/tests/fileread/mld_df_sample.f90 +++ b/tests/fileread/mld_df_sample.f90 @@ -753,23 +753,5 @@ contains end if end subroutine get_parms - - subroutine pr_usage(iout) - integer(psb_ipk_) iout - write(iout, *) ' number of parameters is incorrect!' - write(iout, *) ' use: hb_sample mtrx_file methd prec [ptype & - &itmax istopc itrace]' - write(iout, *) ' where:' - write(iout, *) ' mtrx_file is stored in hb format' - write(iout, *) ' methd may be: cgstab ' - write(iout, *) ' itmax max iterations [500] ' - write(iout, *) ' istopc stopping criterion [1] ' - write(iout, *) ' itrace 0 (no tracing, default) or ' - write(iout, *) ' >= 0 do tracing every itrace' - write(iout, *) ' iterations ' - write(iout, *) ' prec may be: ilu diagsc none' - write(iout, *) ' ptype partition strategy default 0' - write(iout, *) ' 0: block partition ' - end subroutine pr_usage end program mld_df_sample diff --git a/tests/fileread/mld_sf_sample.f90 b/tests/fileread/mld_sf_sample.f90 index 0571c201..99adb2ff 100644 --- a/tests/fileread/mld_sf_sample.f90 +++ b/tests/fileread/mld_sf_sample.f90 @@ -753,23 +753,5 @@ contains end if end subroutine get_parms - - subroutine pr_usage(iout) - integer(psb_ipk_) iout - write(iout, *) ' number of parameters is incorrect!' - write(iout, *) ' use: hb_sample mtrx_file methd prec [ptype & - &itmax istopc itrace]' - write(iout, *) ' where:' - write(iout, *) ' mtrx_file is stored in hb format' - write(iout, *) ' methd may be: cgstab ' - write(iout, *) ' itmax max iterations [500] ' - write(iout, *) ' istopc stopping criterion [1] ' - write(iout, *) ' itrace 0 (no tracing, default) or ' - write(iout, *) ' >= 0 do tracing every itrace' - write(iout, *) ' iterations ' - write(iout, *) ' prec may be: ilu diagsc none' - write(iout, *) ' ptype partition strategy default 0' - write(iout, *) ' 0: block partition ' - end subroutine pr_usage end program mld_sf_sample diff --git a/tests/fileread/mld_zf_sample.f90 b/tests/fileread/mld_zf_sample.f90 index 16316b5e..7610c57d 100644 --- a/tests/fileread/mld_zf_sample.f90 +++ b/tests/fileread/mld_zf_sample.f90 @@ -753,23 +753,5 @@ contains end if end subroutine get_parms - - subroutine pr_usage(iout) - integer(psb_ipk_) iout - write(iout, *) ' number of parameters is incorrect!' - write(iout, *) ' use: hb_sample mtrx_file methd prec [ptype & - &itmax istopc itrace]' - write(iout, *) ' where:' - write(iout, *) ' mtrx_file is stored in hb format' - write(iout, *) ' methd may be: cgstab ' - write(iout, *) ' itmax max iterations [500] ' - write(iout, *) ' istopc stopping criterion [1] ' - write(iout, *) ' itrace 0 (no tracing, default) or ' - write(iout, *) ' >= 0 do tracing every itrace' - write(iout, *) ' iterations ' - write(iout, *) ' prec may be: ilu diagsc none' - write(iout, *) ' ptype partition strategy default 0' - write(iout, *) ' 0: block partition ' - end subroutine pr_usage end program mld_zf_sample diff --git a/tests/fileread/runs/dfs.inp b/tests/fileread/runs/dfs.inp index d71e4a56..6e5914e6 100644 --- a/tests/fileread/runs/dfs.inp +++ b/tests/fileread/runs/dfs.inp @@ -1,10 +1,10 @@ -A1M-hetero3D.mtx ! This matrix (and others) from: http://math.nist.gov/MatrixMarket/ or -B1M-hetero3D.mtx ! rhs | http://www.cise.ufl.edu/research/sparse/matrices/index.html +mld_mat.mtx ! This matrix (and others) from: http://math.nist.gov/MatrixMarket/ or +mld_rhs.mtx ! rhs | http://www.cise.ufl.edu/research/sparse/matrices/index.html NONE ! Initial guess -NONE ! Reference solution +mld_sol.mtx ! Reference solution MM ! File format: MatrixMarket or Harwell-Boeing CSR ! Storage format: CSR COO JAD -2 ! IPART (partition method): 0 (block) 2 (graph, with Metis) +0 ! IPART (partition method): 0 (block) 2 (graph, with Metis) FCG ! Iterative method: BiCGSTAB BiCG CGS RGMRES BiCGSTABL CG 2 ! ISTOPC 00500 ! ITMAX diff --git a/tests/pdegen/mld_d_pde2d.f90 b/tests/pdegen/mld_d_pde2d.f90 index 1983a921..d2a935b8 100644 --- a/tests/pdegen/mld_d_pde2d.f90 +++ b/tests/pdegen/mld_d_pde2d.f90 @@ -73,13 +73,13 @@ contains use psb_base_mod, only : psb_dpk_,done,dzero real(psb_dpk_) :: b1 real(psb_dpk_), intent(in) :: x,y - b1=dzero/sqrt((2*done)) + b1=dzero end function b1 function b2(x,y) use psb_base_mod, only : psb_dpk_,done,dzero real(psb_dpk_) :: b2 real(psb_dpk_), intent(in) :: x,y - b2=dzero/sqrt((2*done)) + b2=dzero end function b2 function c(x,y) use psb_base_mod, only : psb_dpk_,done,dzero @@ -91,13 +91,13 @@ contains use psb_base_mod, only : psb_dpk_,done,dzero real(psb_dpk_) :: a1 real(psb_dpk_), intent(in) :: x,y - a1=done!/80 + a1=done end function a1 function a2(x,y) use psb_base_mod, only : psb_dpk_,done,dzero real(psb_dpk_) :: a2 real(psb_dpk_), intent(in) :: x,y - a2=done!/80 + a2=done end function a2 function g(x,y) use psb_base_mod, only : psb_dpk_, done, dzero @@ -622,25 +622,4 @@ contains end subroutine get_parms - ! - ! print an error message - ! - subroutine pr_usage(iout) - integer(psb_ipk_) :: iout - write(iout,*)'incorrect parameter(s) found' - write(iout,*)' usage: mld_d_pde2d methd prec dim & - &[istop itmax itrace]' - write(iout,*)' where:' - write(iout,*)' methd: cgstab cgs rgmres bicgstabl' - write(iout,*)' prec : bjac diag none' - write(iout,*)' dim number of points along each axis' - write(iout,*)' the size of the resulting linear ' - write(iout,*)' system is dim**3' - write(iout,*)' istop stopping criterion 1, 2 ' - write(iout,*)' itmax maximum number of iterations [500] ' - write(iout,*)' itrace <=0 (no tracing, default) or ' - write(iout,*)' >= 1 do tracing every itrace' - write(iout,*)' iterations ' - end subroutine pr_usage - end program mld_d_pde2d diff --git a/tests/pdegen/mld_d_pde3d.f90 b/tests/pdegen/mld_d_pde3d.f90 index e32e5d57..4fa0f40c 100644 --- a/tests/pdegen/mld_d_pde3d.f90 +++ b/tests/pdegen/mld_d_pde3d.f90 @@ -73,19 +73,19 @@ contains use psb_base_mod, only : psb_dpk_,done,dzero real(psb_dpk_) :: b1 real(psb_dpk_), intent(in) :: x,y,z - b1=dzero/sqrt((3*done)) + b1=dzero end function b1 function b2(x,y,z) use psb_base_mod, only : psb_dpk_,done,dzero real(psb_dpk_) :: b2 real(psb_dpk_), intent(in) :: x,y,z - b2=dzero/sqrt((3*done)) + b2=dzero end function b2 function b3(x,y,z) use psb_base_mod, only : psb_dpk_,done,dzero real(psb_dpk_) :: b3 real(psb_dpk_), intent(in) :: x,y,z - b3=dzero/sqrt((3*done)) + b3=dzero end function b3 function c(x,y,z) use psb_base_mod, only : psb_dpk_,done,dzero @@ -97,19 +97,19 @@ contains use psb_base_mod, only : psb_dpk_,done,dzero real(psb_dpk_) :: a1 real(psb_dpk_), intent(in) :: x,y,z - a1=done!/80 + a1=done end function a1 function a2(x,y,z) use psb_base_mod, only : psb_dpk_,done,dzero real(psb_dpk_) :: a2 real(psb_dpk_), intent(in) :: x,y,z - a2=done!/80 + a2=done end function a2 function a3(x,y,z) use psb_base_mod, only : psb_dpk_,done,dzero real(psb_dpk_) :: a3 real(psb_dpk_), intent(in) :: x,y,z - a3=done!/80 + a3=done end function a3 function g(x,y,z) use psb_base_mod, only : psb_dpk_,done,dzero @@ -635,25 +635,4 @@ contains end subroutine get_parms - ! - ! print an error message - ! - subroutine pr_usage(iout) - integer(psb_ipk_) :: iout - write(iout,*)'incorrect parameter(s) found' - write(iout,*)' usage: mld_d_pde3d methd prec dim & - &[istop itmax itrace]' - write(iout,*)' where:' - write(iout,*)' methd: cgstab cgs rgmres bicgstabl' - write(iout,*)' prec : bjac diag none' - write(iout,*)' dim number of points along each axis' - write(iout,*)' the size of the resulting linear ' - write(iout,*)' system is dim**3' - write(iout,*)' istop stopping criterion 1, 2 ' - write(iout,*)' itmax maximum number of iterations [500] ' - write(iout,*)' itrace <=0 (no tracing, default) or ' - write(iout,*)' >= 1 do tracing every itrace' - write(iout,*)' iterations ' - end subroutine pr_usage - end program mld_d_pde3d diff --git a/tests/pdegen/mld_s_pde2d.f90 b/tests/pdegen/mld_s_pde2d.f90 index ba5a6097..52ede85f 100644 --- a/tests/pdegen/mld_s_pde2d.f90 +++ b/tests/pdegen/mld_s_pde2d.f90 @@ -73,13 +73,13 @@ contains use psb_base_mod, only : psb_spk_,sone,szero real(psb_spk_) :: b1 real(psb_spk_), intent(in) :: x,y - b1=szero/sqrt((2*sone)) + b1=szero end function b1 function b2(x,y) use psb_base_mod, only : psb_spk_,sone,szero real(psb_spk_) :: b2 real(psb_spk_), intent(in) :: x,y - b2=szero/sqrt((2*sone)) + b2=szero end function b2 function c(x,y) use psb_base_mod, only : psb_spk_,sone,szero @@ -91,13 +91,13 @@ contains use psb_base_mod, only : psb_spk_,sone,szero real(psb_spk_) :: a1 real(psb_spk_), intent(in) :: x,y - a1=sone!/80 + a1=sone end function a1 function a2(x,y) use psb_base_mod, only : psb_spk_,sone,szero real(psb_spk_) :: a2 real(psb_spk_), intent(in) :: x,y - a2=sone!/80 + a2=sone end function a2 function g(x,y) use psb_base_mod, only : psb_spk_, sone, szero @@ -622,25 +622,4 @@ contains end subroutine get_parms - ! - ! print an error message - ! - subroutine pr_usage(iout) - integer(psb_ipk_) :: iout - write(iout,*)'incorrect parameter(s) found' - write(iout,*)' usage: mld_s_pde2d methd prec dim & - &[istop itmax itrace]' - write(iout,*)' where:' - write(iout,*)' methd: cgstab cgs rgmres bicgstabl' - write(iout,*)' prec : bjac diag none' - write(iout,*)' dim number of points along each axis' - write(iout,*)' the size of the resulting linear ' - write(iout,*)' system is dim**3' - write(iout,*)' istop stopping criterion 1, 2 ' - write(iout,*)' itmax maximum number of iterations [500] ' - write(iout,*)' itrace <=0 (no tracing, default) or ' - write(iout,*)' >= 1 do tracing every itrace' - write(iout,*)' iterations ' - end subroutine pr_usage - end program mld_s_pde2d diff --git a/tests/pdegen/mld_s_pde3d.f90 b/tests/pdegen/mld_s_pde3d.f90 index 22b806e2..8460c4b2 100644 --- a/tests/pdegen/mld_s_pde3d.f90 +++ b/tests/pdegen/mld_s_pde3d.f90 @@ -73,19 +73,19 @@ contains use psb_base_mod, only : psb_spk_,sone,szero real(psb_spk_) :: b1 real(psb_spk_), intent(in) :: x,y,z - b1=szero/sqrt((3*sone)) + b1=szero end function b1 function b2(x,y,z) use psb_base_mod, only : psb_spk_,sone,szero real(psb_spk_) :: b2 real(psb_spk_), intent(in) :: x,y,z - b2=szero/sqrt((3*sone)) + b2=szero end function b2 function b3(x,y,z) use psb_base_mod, only : psb_spk_,sone,szero real(psb_spk_) :: b3 real(psb_spk_), intent(in) :: x,y,z - b3=szero/sqrt((3*sone)) + b3=szero end function b3 function c(x,y,z) use psb_base_mod, only : psb_spk_,sone,szero @@ -97,19 +97,19 @@ contains use psb_base_mod, only : psb_spk_,sone,szero real(psb_spk_) :: a1 real(psb_spk_), intent(in) :: x,y,z - a1=sone!/80 + a1=sone end function a1 function a2(x,y,z) use psb_base_mod, only : psb_spk_,sone,szero real(psb_spk_) :: a2 real(psb_spk_), intent(in) :: x,y,z - a2=sone!/80 + a2=sone end function a2 function a3(x,y,z) use psb_base_mod, only : psb_spk_,sone,szero real(psb_spk_) :: a3 real(psb_spk_), intent(in) :: x,y,z - a3=sone!/80 + a3=sone end function a3 function g(x,y,z) use psb_base_mod, only : psb_spk_,sone,szero @@ -635,25 +635,4 @@ contains end subroutine get_parms - ! - ! print an error message - ! - subroutine pr_usage(iout) - integer(psb_ipk_) :: iout - write(iout,*)'incorrect parameter(s) found' - write(iout,*)' usage: mld_s_pde3d methd prec dim & - &[istop itmax itrace]' - write(iout,*)' where:' - write(iout,*)' methd: cgstab cgs rgmres bicgstabl' - write(iout,*)' prec : bjac diag none' - write(iout,*)' dim number of points along each axis' - write(iout,*)' the size of the resulting linear ' - write(iout,*)' system is dim**3' - write(iout,*)' istop stopping criterion 1, 2 ' - write(iout,*)' itmax maximum number of iterations [500] ' - write(iout,*)' itrace <=0 (no tracing, default) or ' - write(iout,*)' >= 1 do tracing every itrace' - write(iout,*)' iterations ' - end subroutine pr_usage - end program mld_s_pde3d