mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-20 04:42:10 +00:00
Changes for new L1-Jacobi smoother/solver.
This commit is contained in:
@@ -45,6 +45,7 @@ subroutine mld_c_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
use mld_c_jac_smoother
|
||||
use mld_c_as_smoother
|
||||
use mld_c_diag_solver
|
||||
use mld_c_l1_diag_solver
|
||||
use mld_c_ilu_solver
|
||||
use mld_c_id_solver
|
||||
use mld_c_gs_solver
|
||||
@@ -67,14 +68,15 @@ subroutine mld_c_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
! Local
|
||||
integer(psb_ipk_) :: ipos_, err_act
|
||||
character(len=20) :: name='c_base_onelev_cseti'
|
||||
type(mld_c_base_smoother_type) :: mld_c_base_smoother_mold
|
||||
type(mld_c_jac_smoother_type) :: mld_c_jac_smoother_mold
|
||||
type(mld_c_as_smoother_type) :: mld_c_as_smoother_mold
|
||||
type(mld_c_diag_solver_type) :: mld_c_diag_solver_mold
|
||||
type(mld_c_ilu_solver_type) :: mld_c_ilu_solver_mold
|
||||
type(mld_c_id_solver_type) :: mld_c_id_solver_mold
|
||||
type(mld_c_gs_solver_type) :: mld_c_gs_solver_mold
|
||||
type(mld_c_bwgs_solver_type) :: mld_c_bwgs_solver_mold
|
||||
type(mld_c_base_smoother_type) :: mld_c_base_smoother_mold
|
||||
type(mld_c_jac_smoother_type) :: mld_c_jac_smoother_mold
|
||||
type(mld_c_as_smoother_type) :: mld_c_as_smoother_mold
|
||||
type(mld_c_diag_solver_type) :: mld_c_diag_solver_mold
|
||||
type(mld_c_l1_diag_solver_type) :: mld_c_l1_diag_solver_mold
|
||||
type(mld_c_ilu_solver_type) :: mld_c_ilu_solver_mold
|
||||
type(mld_c_id_solver_type) :: mld_c_id_solver_mold
|
||||
type(mld_c_gs_solver_type) :: mld_c_gs_solver_mold
|
||||
type(mld_c_bwgs_solver_type) :: mld_c_bwgs_solver_mold
|
||||
#if defined(HAVE_SLU_)
|
||||
type(mld_c_slu_solver_type) :: mld_c_slu_solver_mold
|
||||
#endif
|
||||
@@ -100,6 +102,7 @@ subroutine mld_c_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
|
||||
select case (psb_toupper(what))
|
||||
case ('SMOOTHER_TYPE')
|
||||
|
||||
select case (val)
|
||||
case (mld_noprec_)
|
||||
call lv%set(mld_c_base_smoother_mold,info,pos=pos)
|
||||
@@ -108,6 +111,11 @@ subroutine mld_c_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
case (mld_jac_)
|
||||
call lv%set(mld_c_jac_smoother_mold,info,pos=pos)
|
||||
if (info == 0) call lv%set(mld_c_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_l1_jac_)
|
||||
|
||||
call lv%set(mld_c_jac_smoother_mold,info,pos=pos)
|
||||
if (info == 0) call lv%set(mld_c_l1_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_bjac_)
|
||||
call lv%set(mld_c_jac_smoother_mold,info,pos=pos)
|
||||
@@ -144,6 +152,9 @@ subroutine mld_c_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
case (mld_diag_scale_)
|
||||
call lv%set(mld_c_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_l1_diag_scale_)
|
||||
call lv%set(mld_c_l1_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_gs_)
|
||||
call lv%set(mld_c_gs_solver_mold,info,pos=pos)
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ subroutine mld_d_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
use mld_d_jac_smoother
|
||||
use mld_d_as_smoother
|
||||
use mld_d_diag_solver
|
||||
use mld_d_l1_diag_solver
|
||||
use mld_d_ilu_solver
|
||||
use mld_d_id_solver
|
||||
use mld_d_gs_solver
|
||||
@@ -73,16 +74,17 @@ subroutine mld_d_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
! Local
|
||||
integer(psb_ipk_) :: ipos_, err_act
|
||||
character(len=20) :: name='d_base_onelev_cseti'
|
||||
type(mld_d_base_smoother_type) :: mld_d_base_smoother_mold
|
||||
type(mld_d_jac_smoother_type) :: mld_d_jac_smoother_mold
|
||||
type(mld_d_as_smoother_type) :: mld_d_as_smoother_mold
|
||||
type(mld_d_diag_solver_type) :: mld_d_diag_solver_mold
|
||||
type(mld_d_ilu_solver_type) :: mld_d_ilu_solver_mold
|
||||
type(mld_d_id_solver_type) :: mld_d_id_solver_mold
|
||||
type(mld_d_gs_solver_type) :: mld_d_gs_solver_mold
|
||||
type(mld_d_bwgs_solver_type) :: mld_d_bwgs_solver_mold
|
||||
type(mld_d_base_smoother_type) :: mld_d_base_smoother_mold
|
||||
type(mld_d_jac_smoother_type) :: mld_d_jac_smoother_mold
|
||||
type(mld_d_as_smoother_type) :: mld_d_as_smoother_mold
|
||||
type(mld_d_diag_solver_type) :: mld_d_diag_solver_mold
|
||||
type(mld_d_l1_diag_solver_type) :: mld_d_l1_diag_solver_mold
|
||||
type(mld_d_ilu_solver_type) :: mld_d_ilu_solver_mold
|
||||
type(mld_d_id_solver_type) :: mld_d_id_solver_mold
|
||||
type(mld_d_gs_solver_type) :: mld_d_gs_solver_mold
|
||||
type(mld_d_bwgs_solver_type) :: mld_d_bwgs_solver_mold
|
||||
#if defined(HAVE_UMF_)
|
||||
type(mld_d_umf_solver_type) :: mld_d_umf_solver_mold
|
||||
type(mld_d_umf_solver_type) :: mld_d_umf_solver_mold
|
||||
#endif
|
||||
#if defined(HAVE_SLUDIST_)
|
||||
type(mld_d_sludist_solver_type) :: mld_d_sludist_solver_mold
|
||||
@@ -112,6 +114,7 @@ subroutine mld_d_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
|
||||
select case (psb_toupper(what))
|
||||
case ('SMOOTHER_TYPE')
|
||||
|
||||
select case (val)
|
||||
case (mld_noprec_)
|
||||
call lv%set(mld_d_base_smoother_mold,info,pos=pos)
|
||||
@@ -120,6 +123,11 @@ subroutine mld_d_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
case (mld_jac_)
|
||||
call lv%set(mld_d_jac_smoother_mold,info,pos=pos)
|
||||
if (info == 0) call lv%set(mld_d_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_l1_jac_)
|
||||
|
||||
call lv%set(mld_d_jac_smoother_mold,info,pos=pos)
|
||||
if (info == 0) call lv%set(mld_d_l1_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_bjac_)
|
||||
call lv%set(mld_d_jac_smoother_mold,info,pos=pos)
|
||||
@@ -156,6 +164,9 @@ subroutine mld_d_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
case (mld_diag_scale_)
|
||||
call lv%set(mld_d_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_l1_diag_scale_)
|
||||
call lv%set(mld_d_l1_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_gs_)
|
||||
call lv%set(mld_d_gs_solver_mold,info,pos=pos)
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ subroutine mld_s_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
use mld_s_jac_smoother
|
||||
use mld_s_as_smoother
|
||||
use mld_s_diag_solver
|
||||
use mld_s_l1_diag_solver
|
||||
use mld_s_ilu_solver
|
||||
use mld_s_id_solver
|
||||
use mld_s_gs_solver
|
||||
@@ -67,14 +68,15 @@ subroutine mld_s_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
! Local
|
||||
integer(psb_ipk_) :: ipos_, err_act
|
||||
character(len=20) :: name='s_base_onelev_cseti'
|
||||
type(mld_s_base_smoother_type) :: mld_s_base_smoother_mold
|
||||
type(mld_s_jac_smoother_type) :: mld_s_jac_smoother_mold
|
||||
type(mld_s_as_smoother_type) :: mld_s_as_smoother_mold
|
||||
type(mld_s_diag_solver_type) :: mld_s_diag_solver_mold
|
||||
type(mld_s_ilu_solver_type) :: mld_s_ilu_solver_mold
|
||||
type(mld_s_id_solver_type) :: mld_s_id_solver_mold
|
||||
type(mld_s_gs_solver_type) :: mld_s_gs_solver_mold
|
||||
type(mld_s_bwgs_solver_type) :: mld_s_bwgs_solver_mold
|
||||
type(mld_s_base_smoother_type) :: mld_s_base_smoother_mold
|
||||
type(mld_s_jac_smoother_type) :: mld_s_jac_smoother_mold
|
||||
type(mld_s_as_smoother_type) :: mld_s_as_smoother_mold
|
||||
type(mld_s_diag_solver_type) :: mld_s_diag_solver_mold
|
||||
type(mld_s_l1_diag_solver_type) :: mld_s_l1_diag_solver_mold
|
||||
type(mld_s_ilu_solver_type) :: mld_s_ilu_solver_mold
|
||||
type(mld_s_id_solver_type) :: mld_s_id_solver_mold
|
||||
type(mld_s_gs_solver_type) :: mld_s_gs_solver_mold
|
||||
type(mld_s_bwgs_solver_type) :: mld_s_bwgs_solver_mold
|
||||
#if defined(HAVE_SLU_)
|
||||
type(mld_s_slu_solver_type) :: mld_s_slu_solver_mold
|
||||
#endif
|
||||
@@ -100,6 +102,7 @@ subroutine mld_s_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
|
||||
select case (psb_toupper(what))
|
||||
case ('SMOOTHER_TYPE')
|
||||
|
||||
select case (val)
|
||||
case (mld_noprec_)
|
||||
call lv%set(mld_s_base_smoother_mold,info,pos=pos)
|
||||
@@ -108,6 +111,11 @@ subroutine mld_s_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
case (mld_jac_)
|
||||
call lv%set(mld_s_jac_smoother_mold,info,pos=pos)
|
||||
if (info == 0) call lv%set(mld_s_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_l1_jac_)
|
||||
|
||||
call lv%set(mld_s_jac_smoother_mold,info,pos=pos)
|
||||
if (info == 0) call lv%set(mld_s_l1_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_bjac_)
|
||||
call lv%set(mld_s_jac_smoother_mold,info,pos=pos)
|
||||
@@ -144,6 +152,9 @@ subroutine mld_s_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
case (mld_diag_scale_)
|
||||
call lv%set(mld_s_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_l1_diag_scale_)
|
||||
call lv%set(mld_s_l1_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_gs_)
|
||||
call lv%set(mld_s_gs_solver_mold,info,pos=pos)
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ subroutine mld_z_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
use mld_z_jac_smoother
|
||||
use mld_z_as_smoother
|
||||
use mld_z_diag_solver
|
||||
use mld_z_l1_diag_solver
|
||||
use mld_z_ilu_solver
|
||||
use mld_z_id_solver
|
||||
use mld_z_gs_solver
|
||||
@@ -73,16 +74,17 @@ subroutine mld_z_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
! Local
|
||||
integer(psb_ipk_) :: ipos_, err_act
|
||||
character(len=20) :: name='z_base_onelev_cseti'
|
||||
type(mld_z_base_smoother_type) :: mld_z_base_smoother_mold
|
||||
type(mld_z_jac_smoother_type) :: mld_z_jac_smoother_mold
|
||||
type(mld_z_as_smoother_type) :: mld_z_as_smoother_mold
|
||||
type(mld_z_diag_solver_type) :: mld_z_diag_solver_mold
|
||||
type(mld_z_ilu_solver_type) :: mld_z_ilu_solver_mold
|
||||
type(mld_z_id_solver_type) :: mld_z_id_solver_mold
|
||||
type(mld_z_gs_solver_type) :: mld_z_gs_solver_mold
|
||||
type(mld_z_bwgs_solver_type) :: mld_z_bwgs_solver_mold
|
||||
type(mld_z_base_smoother_type) :: mld_z_base_smoother_mold
|
||||
type(mld_z_jac_smoother_type) :: mld_z_jac_smoother_mold
|
||||
type(mld_z_as_smoother_type) :: mld_z_as_smoother_mold
|
||||
type(mld_z_diag_solver_type) :: mld_z_diag_solver_mold
|
||||
type(mld_z_l1_diag_solver_type) :: mld_z_l1_diag_solver_mold
|
||||
type(mld_z_ilu_solver_type) :: mld_z_ilu_solver_mold
|
||||
type(mld_z_id_solver_type) :: mld_z_id_solver_mold
|
||||
type(mld_z_gs_solver_type) :: mld_z_gs_solver_mold
|
||||
type(mld_z_bwgs_solver_type) :: mld_z_bwgs_solver_mold
|
||||
#if defined(HAVE_UMF_)
|
||||
type(mld_z_umf_solver_type) :: mld_z_umf_solver_mold
|
||||
type(mld_z_umf_solver_type) :: mld_z_umf_solver_mold
|
||||
#endif
|
||||
#if defined(HAVE_SLUDIST_)
|
||||
type(mld_z_sludist_solver_type) :: mld_z_sludist_solver_mold
|
||||
@@ -112,6 +114,7 @@ subroutine mld_z_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
|
||||
select case (psb_toupper(what))
|
||||
case ('SMOOTHER_TYPE')
|
||||
|
||||
select case (val)
|
||||
case (mld_noprec_)
|
||||
call lv%set(mld_z_base_smoother_mold,info,pos=pos)
|
||||
@@ -120,6 +123,11 @@ subroutine mld_z_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
case (mld_jac_)
|
||||
call lv%set(mld_z_jac_smoother_mold,info,pos=pos)
|
||||
if (info == 0) call lv%set(mld_z_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_l1_jac_)
|
||||
|
||||
call lv%set(mld_z_jac_smoother_mold,info,pos=pos)
|
||||
if (info == 0) call lv%set(mld_z_l1_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_bjac_)
|
||||
call lv%set(mld_z_jac_smoother_mold,info,pos=pos)
|
||||
@@ -156,6 +164,9 @@ subroutine mld_z_base_onelev_cseti(lv,what,val,info,pos,idx)
|
||||
case (mld_diag_scale_)
|
||||
call lv%set(mld_z_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_l1_diag_scale_)
|
||||
call lv%set(mld_z_l1_diag_solver_mold,info,pos=pos)
|
||||
|
||||
case (mld_gs_)
|
||||
call lv%set(mld_z_gs_solver_mold,info,pos=pos)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user