|
|
@ -50,7 +50,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_baseprec_aply
|
|
|
|
interface mld_baseprec_aply
|
|
|
|
subroutine mld_sbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_sbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(mld_sbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_sbaseprec_type), intent(in) :: prec
|
|
|
@ -62,7 +62,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_sbaseprec_aply
|
|
|
|
end subroutine mld_sbaseprec_aply
|
|
|
|
subroutine mld_dbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_dbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(mld_dbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_dbaseprec_type), intent(in) :: prec
|
|
|
@ -74,7 +74,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_dbaseprec_aply
|
|
|
|
end subroutine mld_dbaseprec_aply
|
|
|
|
subroutine mld_cbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_cbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(mld_cbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_cbaseprec_type), intent(in) :: prec
|
|
|
@ -86,7 +86,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_cbaseprec_aply
|
|
|
|
end subroutine mld_cbaseprec_aply
|
|
|
|
subroutine mld_zbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_zbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(mld_zbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_zbaseprec_type), intent(in) :: prec
|
|
|
@ -101,7 +101,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_mlprec_bld
|
|
|
|
interface mld_mlprec_bld
|
|
|
|
subroutine mld_smlprec_bld(a,desc_a,prec,info)
|
|
|
|
subroutine mld_smlprec_bld(a,desc_a,prec,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sprec_type
|
|
|
|
use mld_prec_type, only : mld_sprec_type
|
|
|
|
implicit none
|
|
|
|
implicit none
|
|
|
|
type(psb_s_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_s_sparse_mat), intent(in), target :: a
|
|
|
@ -111,7 +111,7 @@ module mld_inner_mod
|
|
|
|
!!$ character, intent(in),optional :: upd
|
|
|
|
!!$ character, intent(in),optional :: upd
|
|
|
|
end subroutine mld_smlprec_bld
|
|
|
|
end subroutine mld_smlprec_bld
|
|
|
|
subroutine mld_dmlprec_bld(a,desc_a,prec,info)
|
|
|
|
subroutine mld_dmlprec_bld(a,desc_a,prec,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dprec_type
|
|
|
|
use mld_prec_type, only : mld_dprec_type
|
|
|
|
implicit none
|
|
|
|
implicit none
|
|
|
|
type(psb_d_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_d_sparse_mat), intent(in), target :: a
|
|
|
@ -121,7 +121,7 @@ module mld_inner_mod
|
|
|
|
!!$ character, intent(in),optional :: upd
|
|
|
|
!!$ character, intent(in),optional :: upd
|
|
|
|
end subroutine mld_dmlprec_bld
|
|
|
|
end subroutine mld_dmlprec_bld
|
|
|
|
subroutine mld_cmlprec_bld(a,desc_a,prec,info)
|
|
|
|
subroutine mld_cmlprec_bld(a,desc_a,prec,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cprec_type
|
|
|
|
use mld_prec_type, only : mld_cprec_type
|
|
|
|
implicit none
|
|
|
|
implicit none
|
|
|
|
type(psb_c_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_c_sparse_mat), intent(in), target :: a
|
|
|
@ -131,7 +131,7 @@ module mld_inner_mod
|
|
|
|
!!$ character, intent(in),optional :: upd
|
|
|
|
!!$ character, intent(in),optional :: upd
|
|
|
|
end subroutine mld_cmlprec_bld
|
|
|
|
end subroutine mld_cmlprec_bld
|
|
|
|
subroutine mld_zmlprec_bld(a,desc_a,prec,info)
|
|
|
|
subroutine mld_zmlprec_bld(a,desc_a,prec,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zprec_type
|
|
|
|
use mld_prec_type, only : mld_zprec_type
|
|
|
|
implicit none
|
|
|
|
implicit none
|
|
|
|
type(psb_z_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_z_sparse_mat), intent(in), target :: a
|
|
|
@ -144,7 +144,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_as_aply
|
|
|
|
interface mld_as_aply
|
|
|
|
subroutine mld_sas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_sas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(mld_sbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_sbaseprec_type), intent(in) :: prec
|
|
|
@ -156,7 +156,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_sas_aply
|
|
|
|
end subroutine mld_sas_aply
|
|
|
|
subroutine mld_das_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_das_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(mld_dbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_dbaseprec_type), intent(in) :: prec
|
|
|
@ -168,7 +168,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_das_aply
|
|
|
|
end subroutine mld_das_aply
|
|
|
|
subroutine mld_cas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_cas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(mld_cbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_cbaseprec_type), intent(in) :: prec
|
|
|
@ -180,7 +180,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_cas_aply
|
|
|
|
end subroutine mld_cas_aply
|
|
|
|
subroutine mld_zas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_zas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(mld_zbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_zbaseprec_type), intent(in) :: prec
|
|
|
@ -195,7 +195,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_mlprec_aply
|
|
|
|
interface mld_mlprec_aply
|
|
|
|
subroutine mld_smlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_smlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type, mld_sprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type, mld_sprec_type
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(mld_sprec_type), intent(in) :: p
|
|
|
|
type(mld_sprec_type), intent(in) :: p
|
|
|
@ -207,7 +207,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_smlprec_aply
|
|
|
|
end subroutine mld_smlprec_aply
|
|
|
|
subroutine mld_dmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_dmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type, mld_dprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type, mld_dprec_type
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(mld_dprec_type), intent(in) :: p
|
|
|
|
type(mld_dprec_type), intent(in) :: p
|
|
|
@ -219,7 +219,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_dmlprec_aply
|
|
|
|
end subroutine mld_dmlprec_aply
|
|
|
|
subroutine mld_cmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_cmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type, mld_cprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type, mld_cprec_type
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(mld_cprec_type), intent(in) :: p
|
|
|
|
type(mld_cprec_type), intent(in) :: p
|
|
|
@ -231,7 +231,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_cmlprec_aply
|
|
|
|
end subroutine mld_cmlprec_aply
|
|
|
|
subroutine mld_zmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_zmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type, mld_zprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type, mld_zprec_type
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(psb_desc_type),intent(in) :: desc_data
|
|
|
|
type(mld_zprec_type), intent(in) :: p
|
|
|
|
type(mld_zprec_type), intent(in) :: p
|
|
|
@ -247,7 +247,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_sub_aply
|
|
|
|
interface mld_sub_aply
|
|
|
|
subroutine mld_ssub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_ssub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(mld_sbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_sbaseprec_type), intent(in) :: prec
|
|
|
@ -259,7 +259,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_ssub_aply
|
|
|
|
end subroutine mld_ssub_aply
|
|
|
|
subroutine mld_dsub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_dsub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(mld_dbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_dbaseprec_type), intent(in) :: prec
|
|
|
@ -271,7 +271,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_dsub_aply
|
|
|
|
end subroutine mld_dsub_aply
|
|
|
|
subroutine mld_csub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_csub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(mld_cbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_cbaseprec_type), intent(in) :: prec
|
|
|
@ -283,7 +283,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_csub_aply
|
|
|
|
end subroutine mld_csub_aply
|
|
|
|
subroutine mld_zsub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_zsub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(mld_zbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_zbaseprec_type), intent(in) :: prec
|
|
|
@ -299,7 +299,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_sub_solve
|
|
|
|
interface mld_sub_solve
|
|
|
|
subroutine mld_ssub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_ssub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(mld_sbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_sbaseprec_type), intent(in) :: prec
|
|
|
@ -311,7 +311,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_ssub_solve
|
|
|
|
end subroutine mld_ssub_solve
|
|
|
|
subroutine mld_dsub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_dsub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(mld_dbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_dbaseprec_type), intent(in) :: prec
|
|
|
@ -323,7 +323,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_dsub_solve
|
|
|
|
end subroutine mld_dsub_solve
|
|
|
|
subroutine mld_csub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_csub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(mld_cbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_cbaseprec_type), intent(in) :: prec
|
|
|
@ -335,7 +335,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_csub_solve
|
|
|
|
end subroutine mld_csub_solve
|
|
|
|
subroutine mld_zsub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
subroutine mld_zsub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(psb_desc_type), intent(in) :: desc_data
|
|
|
|
type(mld_zbaseprec_type), intent(in) :: prec
|
|
|
|
type(mld_zbaseprec_type), intent(in) :: prec
|
|
|
@ -351,7 +351,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_asmat_bld
|
|
|
|
interface mld_asmat_bld
|
|
|
|
Subroutine mld_sasmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
|
|
|
Subroutine mld_sasmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
integer, intent(in) :: ptype,novr
|
|
|
|
integer, intent(in) :: ptype,novr
|
|
|
|
Type(psb_s_sparse_mat), Intent(in) :: a
|
|
|
|
Type(psb_s_sparse_mat), Intent(in) :: a
|
|
|
@ -363,7 +363,7 @@ module mld_inner_mod
|
|
|
|
character(len=5), optional :: outfmt
|
|
|
|
character(len=5), optional :: outfmt
|
|
|
|
end Subroutine mld_sasmat_bld
|
|
|
|
end Subroutine mld_sasmat_bld
|
|
|
|
Subroutine mld_dasmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
|
|
|
Subroutine mld_dasmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
integer, intent(in) :: ptype,novr
|
|
|
|
integer, intent(in) :: ptype,novr
|
|
|
|
Type(psb_d_sparse_mat), Intent(in) :: a
|
|
|
|
Type(psb_d_sparse_mat), Intent(in) :: a
|
|
|
@ -375,7 +375,7 @@ module mld_inner_mod
|
|
|
|
character(len=5), optional :: outfmt
|
|
|
|
character(len=5), optional :: outfmt
|
|
|
|
end Subroutine mld_dasmat_bld
|
|
|
|
end Subroutine mld_dasmat_bld
|
|
|
|
Subroutine mld_casmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
|
|
|
Subroutine mld_casmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
integer, intent(in) :: ptype,novr
|
|
|
|
integer, intent(in) :: ptype,novr
|
|
|
|
Type(psb_c_sparse_mat), Intent(in) :: a
|
|
|
|
Type(psb_c_sparse_mat), Intent(in) :: a
|
|
|
@ -387,7 +387,7 @@ module mld_inner_mod
|
|
|
|
character(len=5), optional :: outfmt
|
|
|
|
character(len=5), optional :: outfmt
|
|
|
|
end Subroutine mld_casmat_bld
|
|
|
|
end Subroutine mld_casmat_bld
|
|
|
|
Subroutine mld_zasmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
|
|
|
Subroutine mld_zasmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
integer, intent(in) :: ptype,novr
|
|
|
|
integer, intent(in) :: ptype,novr
|
|
|
|
Type(psb_z_sparse_mat), Intent(in) :: a
|
|
|
|
Type(psb_z_sparse_mat), Intent(in) :: a
|
|
|
@ -402,7 +402,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_sp_renum
|
|
|
|
interface mld_sp_renum
|
|
|
|
subroutine mld_ssp_renum(a,blck,p,atmp,info)
|
|
|
|
subroutine mld_ssp_renum(a,blck,p,atmp,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
type(psb_s_sparse_mat), intent(in) :: a,blck
|
|
|
|
type(psb_s_sparse_mat), intent(in) :: a,blck
|
|
|
|
type(psb_s_sparse_mat), intent(out) :: atmp
|
|
|
|
type(psb_s_sparse_mat), intent(out) :: atmp
|
|
|
@ -410,7 +410,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_ssp_renum
|
|
|
|
end subroutine mld_ssp_renum
|
|
|
|
subroutine mld_dsp_renum(a,blck,p,atmp,info)
|
|
|
|
subroutine mld_dsp_renum(a,blck,p,atmp,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
type(psb_d_sparse_mat), intent(in) :: a,blck
|
|
|
|
type(psb_d_sparse_mat), intent(in) :: a,blck
|
|
|
|
type(psb_d_sparse_mat), intent(out) :: atmp
|
|
|
|
type(psb_d_sparse_mat), intent(out) :: atmp
|
|
|
@ -418,7 +418,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_dsp_renum
|
|
|
|
end subroutine mld_dsp_renum
|
|
|
|
subroutine mld_csp_renum(a,blck,p,atmp,info)
|
|
|
|
subroutine mld_csp_renum(a,blck,p,atmp,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
type(psb_c_sparse_mat), intent(in) :: a,blck
|
|
|
|
type(psb_c_sparse_mat), intent(in) :: a,blck
|
|
|
|
type(psb_c_sparse_mat), intent(out) :: atmp
|
|
|
|
type(psb_c_sparse_mat), intent(out) :: atmp
|
|
|
@ -426,7 +426,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_csp_renum
|
|
|
|
end subroutine mld_csp_renum
|
|
|
|
subroutine mld_zsp_renum(a,blck,p,atmp,info)
|
|
|
|
subroutine mld_zsp_renum(a,blck,p,atmp,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
type(psb_z_sparse_mat), intent(in) :: a,blck
|
|
|
|
type(psb_z_sparse_mat), intent(in) :: a,blck
|
|
|
|
type(psb_z_sparse_mat), intent(out) :: atmp
|
|
|
|
type(psb_z_sparse_mat), intent(out) :: atmp
|
|
|
@ -437,7 +437,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_coarse_bld
|
|
|
|
interface mld_coarse_bld
|
|
|
|
subroutine mld_scoarse_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_scoarse_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type
|
|
|
|
type(psb_s_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_s_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -445,7 +445,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_scoarse_bld
|
|
|
|
end subroutine mld_scoarse_bld
|
|
|
|
subroutine mld_dcoarse_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_dcoarse_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
|
|
|
|
type(psb_d_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_d_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -453,7 +453,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_dcoarse_bld
|
|
|
|
end subroutine mld_dcoarse_bld
|
|
|
|
subroutine mld_ccoarse_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_ccoarse_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type
|
|
|
|
type(psb_c_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_c_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -461,7 +461,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_ccoarse_bld
|
|
|
|
end subroutine mld_ccoarse_bld
|
|
|
|
subroutine mld_zcoarse_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_zcoarse_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type
|
|
|
|
type(psb_z_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_z_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -472,7 +472,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_aggrmap_bld
|
|
|
|
interface mld_aggrmap_bld
|
|
|
|
subroutine mld_saggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
|
|
|
|
subroutine mld_saggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
integer, intent(in) :: aggr_type
|
|
|
|
integer, intent(in) :: aggr_type
|
|
|
|
real(psb_spk_), intent(in) :: theta
|
|
|
|
real(psb_spk_), intent(in) :: theta
|
|
|
@ -482,7 +482,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_saggrmap_bld
|
|
|
|
end subroutine mld_saggrmap_bld
|
|
|
|
subroutine mld_daggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
|
|
|
|
subroutine mld_daggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
integer, intent(in) :: aggr_type
|
|
|
|
integer, intent(in) :: aggr_type
|
|
|
|
real(psb_dpk_), intent(in) :: theta
|
|
|
|
real(psb_dpk_), intent(in) :: theta
|
|
|
@ -492,7 +492,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_daggrmap_bld
|
|
|
|
end subroutine mld_daggrmap_bld
|
|
|
|
subroutine mld_caggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
|
|
|
|
subroutine mld_caggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
integer, intent(in) :: aggr_type
|
|
|
|
integer, intent(in) :: aggr_type
|
|
|
|
real(psb_spk_), intent(in) :: theta
|
|
|
|
real(psb_spk_), intent(in) :: theta
|
|
|
@ -502,7 +502,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_caggrmap_bld
|
|
|
|
end subroutine mld_caggrmap_bld
|
|
|
|
subroutine mld_zaggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
|
|
|
|
subroutine mld_zaggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
integer, intent(in) :: aggr_type
|
|
|
|
integer, intent(in) :: aggr_type
|
|
|
|
real(psb_dpk_), intent(in) :: theta
|
|
|
|
real(psb_dpk_), intent(in) :: theta
|
|
|
@ -515,7 +515,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_aggrmat_asb
|
|
|
|
interface mld_aggrmat_asb
|
|
|
|
subroutine mld_saggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
subroutine mld_saggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type
|
|
|
|
type(psb_s_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_s_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -524,7 +524,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_saggrmat_asb
|
|
|
|
end subroutine mld_saggrmat_asb
|
|
|
|
subroutine mld_daggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
subroutine mld_daggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
|
|
|
|
type(psb_d_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_d_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -533,7 +533,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_daggrmat_asb
|
|
|
|
end subroutine mld_daggrmat_asb
|
|
|
|
subroutine mld_caggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
subroutine mld_caggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type
|
|
|
|
type(psb_c_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_c_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -542,7 +542,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_caggrmat_asb
|
|
|
|
end subroutine mld_caggrmat_asb
|
|
|
|
subroutine mld_zaggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
subroutine mld_zaggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type
|
|
|
|
type(psb_z_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_z_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -554,7 +554,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_aggrmat_nosmth_asb
|
|
|
|
interface mld_aggrmat_nosmth_asb
|
|
|
|
subroutine mld_saggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
subroutine mld_saggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type
|
|
|
|
type(psb_s_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_s_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -563,7 +563,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_saggrmat_nosmth_asb
|
|
|
|
end subroutine mld_saggrmat_nosmth_asb
|
|
|
|
subroutine mld_daggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
subroutine mld_daggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
|
|
|
|
type(psb_d_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_d_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -572,7 +572,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_daggrmat_nosmth_asb
|
|
|
|
end subroutine mld_daggrmat_nosmth_asb
|
|
|
|
subroutine mld_caggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
subroutine mld_caggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type
|
|
|
|
type(psb_c_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_c_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -581,7 +581,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_caggrmat_nosmth_asb
|
|
|
|
end subroutine mld_caggrmat_nosmth_asb
|
|
|
|
subroutine mld_zaggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
subroutine mld_zaggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type
|
|
|
|
type(psb_z_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_z_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -593,7 +593,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_aggrmat_smth_asb
|
|
|
|
interface mld_aggrmat_smth_asb
|
|
|
|
subroutine mld_saggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
subroutine mld_saggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type
|
|
|
|
type(psb_s_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_s_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -602,7 +602,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_saggrmat_smth_asb
|
|
|
|
end subroutine mld_saggrmat_smth_asb
|
|
|
|
subroutine mld_daggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
subroutine mld_daggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
|
|
|
|
type(psb_d_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_d_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -611,7 +611,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_daggrmat_smth_asb
|
|
|
|
end subroutine mld_daggrmat_smth_asb
|
|
|
|
subroutine mld_caggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
subroutine mld_caggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type
|
|
|
|
type(psb_c_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_c_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -620,7 +620,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_caggrmat_smth_asb
|
|
|
|
end subroutine mld_caggrmat_smth_asb
|
|
|
|
subroutine mld_zaggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
subroutine mld_zaggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type
|
|
|
|
type(psb_z_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_z_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -632,7 +632,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_aggrmat_minnrg_asb
|
|
|
|
interface mld_aggrmat_minnrg_asb
|
|
|
|
subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
|
|
|
|
type(psb_d_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_d_sparse_mat), intent(in) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -644,7 +644,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_baseprec_bld
|
|
|
|
interface mld_baseprec_bld
|
|
|
|
subroutine mld_sbaseprec_bld(a,desc_a,p,info,upd)
|
|
|
|
subroutine mld_sbaseprec_bld(a,desc_a,p,info,upd)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
type(psb_s_sparse_mat), target :: a
|
|
|
|
type(psb_s_sparse_mat), target :: a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
@ -653,7 +653,7 @@ module mld_inner_mod
|
|
|
|
character, intent(in), optional :: upd
|
|
|
|
character, intent(in), optional :: upd
|
|
|
|
end subroutine mld_sbaseprec_bld
|
|
|
|
end subroutine mld_sbaseprec_bld
|
|
|
|
subroutine mld_dbaseprec_bld(a,desc_a,p,info,upd)
|
|
|
|
subroutine mld_dbaseprec_bld(a,desc_a,p,info,upd)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
type(psb_d_sparse_mat), target :: a
|
|
|
|
type(psb_d_sparse_mat), target :: a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
@ -662,7 +662,7 @@ module mld_inner_mod
|
|
|
|
character, intent(in), optional :: upd
|
|
|
|
character, intent(in), optional :: upd
|
|
|
|
end subroutine mld_dbaseprec_bld
|
|
|
|
end subroutine mld_dbaseprec_bld
|
|
|
|
subroutine mld_cbaseprec_bld(a,desc_a,p,info,upd)
|
|
|
|
subroutine mld_cbaseprec_bld(a,desc_a,p,info,upd)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
type(psb_c_sparse_mat), target :: a
|
|
|
|
type(psb_c_sparse_mat), target :: a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
@ -671,7 +671,7 @@ module mld_inner_mod
|
|
|
|
character, intent(in), optional :: upd
|
|
|
|
character, intent(in), optional :: upd
|
|
|
|
end subroutine mld_cbaseprec_bld
|
|
|
|
end subroutine mld_cbaseprec_bld
|
|
|
|
subroutine mld_zbaseprec_bld(a,desc_a,p,info,upd)
|
|
|
|
subroutine mld_zbaseprec_bld(a,desc_a,p,info,upd)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
type(psb_z_sparse_mat), target :: a
|
|
|
|
type(psb_z_sparse_mat), target :: a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
@ -683,7 +683,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_as_bld
|
|
|
|
interface mld_as_bld
|
|
|
|
subroutine mld_sas_bld(a,desc_a,p,upd,info)
|
|
|
|
subroutine mld_sas_bld(a,desc_a,p,upd,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
type(psb_s_sparse_mat),intent(in), target :: a
|
|
|
|
type(psb_s_sparse_mat),intent(in), target :: a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
@ -692,7 +692,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_sas_bld
|
|
|
|
end subroutine mld_sas_bld
|
|
|
|
subroutine mld_das_bld(a,desc_a,p,upd,info)
|
|
|
|
subroutine mld_das_bld(a,desc_a,p,upd,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
type(psb_d_sparse_mat),intent(in), target :: a
|
|
|
|
type(psb_d_sparse_mat),intent(in), target :: a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
@ -701,7 +701,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_das_bld
|
|
|
|
end subroutine mld_das_bld
|
|
|
|
subroutine mld_cas_bld(a,desc_a,p,upd,info)
|
|
|
|
subroutine mld_cas_bld(a,desc_a,p,upd,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
type(psb_c_sparse_mat),intent(in), target :: a
|
|
|
|
type(psb_c_sparse_mat),intent(in), target :: a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
@ -710,7 +710,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_cas_bld
|
|
|
|
end subroutine mld_cas_bld
|
|
|
|
subroutine mld_zas_bld(a,desc_a,p,upd,info)
|
|
|
|
subroutine mld_zas_bld(a,desc_a,p,upd,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
type(psb_z_sparse_mat),intent(in), target :: a
|
|
|
|
type(psb_z_sparse_mat),intent(in), target :: a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
|
type(psb_desc_type), intent(in), target :: desc_a
|
|
|
@ -722,7 +722,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_diag_bld
|
|
|
|
interface mld_diag_bld
|
|
|
|
subroutine mld_sdiag_bld(a,desc_data,p,info)
|
|
|
|
subroutine mld_sdiag_bld(a,desc_data,p,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_s_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_s_sparse_mat), intent(in), target :: a
|
|
|
@ -730,7 +730,7 @@ module mld_inner_mod
|
|
|
|
type(mld_sbaseprec_type), intent(inout) :: p
|
|
|
|
type(mld_sbaseprec_type), intent(inout) :: p
|
|
|
|
end subroutine mld_sdiag_bld
|
|
|
|
end subroutine mld_sdiag_bld
|
|
|
|
subroutine mld_ddiag_bld(a,desc_data,p,info)
|
|
|
|
subroutine mld_ddiag_bld(a,desc_data,p,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_d_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_d_sparse_mat), intent(in), target :: a
|
|
|
@ -738,7 +738,7 @@ module mld_inner_mod
|
|
|
|
type(mld_dbaseprec_type), intent(inout) :: p
|
|
|
|
type(mld_dbaseprec_type), intent(inout) :: p
|
|
|
|
end subroutine mld_ddiag_bld
|
|
|
|
end subroutine mld_ddiag_bld
|
|
|
|
subroutine mld_cdiag_bld(a,desc_data,p,info)
|
|
|
|
subroutine mld_cdiag_bld(a,desc_data,p,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_c_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_c_sparse_mat), intent(in), target :: a
|
|
|
@ -746,7 +746,7 @@ module mld_inner_mod
|
|
|
|
type(mld_cbaseprec_type), intent(inout) :: p
|
|
|
|
type(mld_cbaseprec_type), intent(inout) :: p
|
|
|
|
end subroutine mld_cdiag_bld
|
|
|
|
end subroutine mld_cdiag_bld
|
|
|
|
subroutine mld_zdiag_bld(a,desc_data,p,info)
|
|
|
|
subroutine mld_zdiag_bld(a,desc_data,p,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_z_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_z_sparse_mat), intent(in), target :: a
|
|
|
@ -757,7 +757,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_fact_bld
|
|
|
|
interface mld_fact_bld
|
|
|
|
subroutine mld_sfact_bld(a,p,upd,info,blck)
|
|
|
|
subroutine mld_sfact_bld(a,p,upd,info,blck)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
type(psb_s_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_s_sparse_mat), intent(in), target :: a
|
|
|
|
type(mld_sbaseprec_type), intent(inout) :: p
|
|
|
|
type(mld_sbaseprec_type), intent(inout) :: p
|
|
|
@ -766,7 +766,7 @@ module mld_inner_mod
|
|
|
|
type(psb_s_sparse_mat), intent(in), target, optional :: blck
|
|
|
|
type(psb_s_sparse_mat), intent(in), target, optional :: blck
|
|
|
|
end subroutine mld_sfact_bld
|
|
|
|
end subroutine mld_sfact_bld
|
|
|
|
subroutine mld_dfact_bld(a,p,upd,info,blck)
|
|
|
|
subroutine mld_dfact_bld(a,p,upd,info,blck)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
type(psb_d_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_d_sparse_mat), intent(in), target :: a
|
|
|
|
type(mld_dbaseprec_type), intent(inout) :: p
|
|
|
|
type(mld_dbaseprec_type), intent(inout) :: p
|
|
|
@ -775,7 +775,7 @@ module mld_inner_mod
|
|
|
|
type(psb_d_sparse_mat), intent(in), target, optional :: blck
|
|
|
|
type(psb_d_sparse_mat), intent(in), target, optional :: blck
|
|
|
|
end subroutine mld_dfact_bld
|
|
|
|
end subroutine mld_dfact_bld
|
|
|
|
subroutine mld_cfact_bld(a,p,upd,info,blck)
|
|
|
|
subroutine mld_cfact_bld(a,p,upd,info,blck)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
type(psb_c_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_c_sparse_mat), intent(in), target :: a
|
|
|
|
type(mld_cbaseprec_type), intent(inout) :: p
|
|
|
|
type(mld_cbaseprec_type), intent(inout) :: p
|
|
|
@ -784,7 +784,7 @@ module mld_inner_mod
|
|
|
|
type(psb_c_sparse_mat), intent(in), target, optional :: blck
|
|
|
|
type(psb_c_sparse_mat), intent(in), target, optional :: blck
|
|
|
|
end subroutine mld_cfact_bld
|
|
|
|
end subroutine mld_cfact_bld
|
|
|
|
subroutine mld_zfact_bld(a,p,upd,info,blck)
|
|
|
|
subroutine mld_zfact_bld(a,p,upd,info,blck)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
type(psb_z_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_z_sparse_mat), intent(in), target :: a
|
|
|
|
type(mld_zbaseprec_type), intent(inout) :: p
|
|
|
|
type(mld_zbaseprec_type), intent(inout) :: p
|
|
|
@ -796,7 +796,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_ilu_bld
|
|
|
|
interface mld_ilu_bld
|
|
|
|
subroutine mld_silu_bld(a,p,upd,info,blck)
|
|
|
|
subroutine mld_silu_bld(a,p,upd,info,blck)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_s_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_s_sparse_mat), intent(in), target :: a
|
|
|
@ -805,7 +805,7 @@ module mld_inner_mod
|
|
|
|
type(psb_s_sparse_mat), intent(in), optional :: blck
|
|
|
|
type(psb_s_sparse_mat), intent(in), optional :: blck
|
|
|
|
end subroutine mld_silu_bld
|
|
|
|
end subroutine mld_silu_bld
|
|
|
|
subroutine mld_dilu_bld(a,p,upd,info,blck)
|
|
|
|
subroutine mld_dilu_bld(a,p,upd,info,blck)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_d_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_d_sparse_mat), intent(in), target :: a
|
|
|
@ -814,7 +814,7 @@ module mld_inner_mod
|
|
|
|
type(psb_d_sparse_mat), intent(in), optional :: blck
|
|
|
|
type(psb_d_sparse_mat), intent(in), optional :: blck
|
|
|
|
end subroutine mld_dilu_bld
|
|
|
|
end subroutine mld_dilu_bld
|
|
|
|
subroutine mld_cilu_bld(a,p,upd,info,blck)
|
|
|
|
subroutine mld_cilu_bld(a,p,upd,info,blck)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_c_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_c_sparse_mat), intent(in), target :: a
|
|
|
@ -823,7 +823,7 @@ module mld_inner_mod
|
|
|
|
type(psb_c_sparse_mat), intent(in), optional :: blck
|
|
|
|
type(psb_c_sparse_mat), intent(in), optional :: blck
|
|
|
|
end subroutine mld_cilu_bld
|
|
|
|
end subroutine mld_cilu_bld
|
|
|
|
subroutine mld_zilu_bld(a,p,upd,info,blck)
|
|
|
|
subroutine mld_zilu_bld(a,p,upd,info,blck)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_z_sparse_mat), intent(in), target :: a
|
|
|
|
type(psb_z_sparse_mat), intent(in), target :: a
|
|
|
@ -835,7 +835,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_sludist_bld
|
|
|
|
interface mld_sludist_bld
|
|
|
|
subroutine mld_ssludist_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_ssludist_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
type(psb_s_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_s_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -843,7 +843,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_ssludist_bld
|
|
|
|
end subroutine mld_ssludist_bld
|
|
|
|
subroutine mld_dsludist_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_dsludist_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
type(psb_d_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_d_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -851,7 +851,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_dsludist_bld
|
|
|
|
end subroutine mld_dsludist_bld
|
|
|
|
subroutine mld_csludist_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_csludist_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
type(psb_c_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_c_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -859,7 +859,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_csludist_bld
|
|
|
|
end subroutine mld_csludist_bld
|
|
|
|
subroutine mld_zsludist_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_zsludist_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
type(psb_z_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_z_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -870,7 +870,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_slu_bld
|
|
|
|
interface mld_slu_bld
|
|
|
|
subroutine mld_sslu_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_sslu_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
type(psb_s_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_s_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -878,7 +878,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_sslu_bld
|
|
|
|
end subroutine mld_sslu_bld
|
|
|
|
subroutine mld_dslu_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_dslu_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
type(psb_d_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_d_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -886,7 +886,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_dslu_bld
|
|
|
|
end subroutine mld_dslu_bld
|
|
|
|
subroutine mld_cslu_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_cslu_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
type(psb_c_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_c_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -894,7 +894,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_cslu_bld
|
|
|
|
end subroutine mld_cslu_bld
|
|
|
|
subroutine mld_zslu_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_zslu_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
type(psb_z_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_z_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -905,7 +905,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_umf_bld
|
|
|
|
interface mld_umf_bld
|
|
|
|
subroutine mld_sumf_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_sumf_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_sbaseprec_type
|
|
|
|
type(psb_s_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_s_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -913,7 +913,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_sumf_bld
|
|
|
|
end subroutine mld_sumf_bld
|
|
|
|
subroutine mld_dumf_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_dumf_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_dbaseprec_type
|
|
|
|
type(psb_d_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_d_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -921,7 +921,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_dumf_bld
|
|
|
|
end subroutine mld_dumf_bld
|
|
|
|
subroutine mld_cumf_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_cumf_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_cbaseprec_type
|
|
|
|
type(psb_c_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_c_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -929,7 +929,7 @@ module mld_inner_mod
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
end subroutine mld_cumf_bld
|
|
|
|
end subroutine mld_cumf_bld
|
|
|
|
subroutine mld_zumf_bld(a,desc_a,p,info)
|
|
|
|
subroutine mld_zumf_bld(a,desc_a,p,info)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
use mld_prec_type, only : mld_zbaseprec_type
|
|
|
|
type(psb_z_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_z_sparse_mat), intent(inout) :: a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
|
type(psb_desc_type), intent(in) :: desc_a
|
|
|
@ -940,7 +940,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_ilu0_fact
|
|
|
|
interface mld_ilu0_fact
|
|
|
|
subroutine mld_silu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
subroutine mld_silu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
integer, intent(in) :: ialg
|
|
|
|
integer, intent(in) :: ialg
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_s_sparse_mat),intent(in) :: a
|
|
|
|
type(psb_s_sparse_mat),intent(in) :: a
|
|
|
@ -950,7 +950,7 @@ module mld_inner_mod
|
|
|
|
real(psb_spk_), intent(inout) :: d(:)
|
|
|
|
real(psb_spk_), intent(inout) :: d(:)
|
|
|
|
end subroutine mld_silu0_fact
|
|
|
|
end subroutine mld_silu0_fact
|
|
|
|
subroutine mld_dilu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
subroutine mld_dilu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
integer, intent(in) :: ialg
|
|
|
|
integer, intent(in) :: ialg
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_d_sparse_mat),intent(in) :: a
|
|
|
|
type(psb_d_sparse_mat),intent(in) :: a
|
|
|
@ -960,7 +960,7 @@ module mld_inner_mod
|
|
|
|
real(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
real(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
end subroutine mld_dilu0_fact
|
|
|
|
end subroutine mld_dilu0_fact
|
|
|
|
subroutine mld_cilu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
subroutine mld_cilu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
integer, intent(in) :: ialg
|
|
|
|
integer, intent(in) :: ialg
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_c_sparse_mat),intent(in) :: a
|
|
|
|
type(psb_c_sparse_mat),intent(in) :: a
|
|
|
@ -970,7 +970,7 @@ module mld_inner_mod
|
|
|
|
complex(psb_spk_), intent(inout) :: d(:)
|
|
|
|
complex(psb_spk_), intent(inout) :: d(:)
|
|
|
|
end subroutine mld_cilu0_fact
|
|
|
|
end subroutine mld_cilu0_fact
|
|
|
|
subroutine mld_zilu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
subroutine mld_zilu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
integer, intent(in) :: ialg
|
|
|
|
integer, intent(in) :: ialg
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_z_sparse_mat),intent(in) :: a
|
|
|
|
type(psb_z_sparse_mat),intent(in) :: a
|
|
|
@ -983,7 +983,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_iluk_fact
|
|
|
|
interface mld_iluk_fact
|
|
|
|
subroutine mld_siluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
subroutine mld_siluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
integer, intent(in) :: fill_in,ialg
|
|
|
|
integer, intent(in) :: fill_in,ialg
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_s_sparse_mat),intent(in) :: a
|
|
|
|
type(psb_s_sparse_mat),intent(in) :: a
|
|
|
@ -992,7 +992,7 @@ module mld_inner_mod
|
|
|
|
real(psb_spk_), intent(inout) :: d(:)
|
|
|
|
real(psb_spk_), intent(inout) :: d(:)
|
|
|
|
end subroutine mld_siluk_fact
|
|
|
|
end subroutine mld_siluk_fact
|
|
|
|
subroutine mld_diluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
subroutine mld_diluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
integer, intent(in) :: fill_in,ialg
|
|
|
|
integer, intent(in) :: fill_in,ialg
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_d_sparse_mat),intent(in) :: a
|
|
|
|
type(psb_d_sparse_mat),intent(in) :: a
|
|
|
@ -1001,7 +1001,7 @@ module mld_inner_mod
|
|
|
|
real(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
real(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
end subroutine mld_diluk_fact
|
|
|
|
end subroutine mld_diluk_fact
|
|
|
|
subroutine mld_ciluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
subroutine mld_ciluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
integer, intent(in) :: fill_in,ialg
|
|
|
|
integer, intent(in) :: fill_in,ialg
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_c_sparse_mat),intent(in) :: a
|
|
|
|
type(psb_c_sparse_mat),intent(in) :: a
|
|
|
@ -1010,7 +1010,7 @@ module mld_inner_mod
|
|
|
|
complex(psb_spk_), intent(inout) :: d(:)
|
|
|
|
complex(psb_spk_), intent(inout) :: d(:)
|
|
|
|
end subroutine mld_ciluk_fact
|
|
|
|
end subroutine mld_ciluk_fact
|
|
|
|
subroutine mld_ziluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
subroutine mld_ziluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
integer, intent(in) :: fill_in,ialg
|
|
|
|
integer, intent(in) :: fill_in,ialg
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|
type(psb_z_sparse_mat),intent(in) :: a
|
|
|
|
type(psb_z_sparse_mat),intent(in) :: a
|
|
|
@ -1022,7 +1022,7 @@ module mld_inner_mod
|
|
|
|
|
|
|
|
|
|
|
|
interface mld_ilut_fact
|
|
|
|
interface mld_ilut_fact
|
|
|
|
subroutine mld_silut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
subroutine mld_silut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
integer, intent(in) :: fill_in
|
|
|
|
integer, intent(in) :: fill_in
|
|
|
|
real(psb_spk_), intent(in) :: thres
|
|
|
|
real(psb_spk_), intent(in) :: thres
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
@ -1032,7 +1032,7 @@ module mld_inner_mod
|
|
|
|
real(psb_spk_), intent(inout) :: d(:)
|
|
|
|
real(psb_spk_), intent(inout) :: d(:)
|
|
|
|
end subroutine mld_silut_fact
|
|
|
|
end subroutine mld_silut_fact
|
|
|
|
subroutine mld_dilut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
subroutine mld_dilut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
integer, intent(in) :: fill_in
|
|
|
|
integer, intent(in) :: fill_in
|
|
|
|
real(psb_dpk_), intent(in) :: thres
|
|
|
|
real(psb_dpk_), intent(in) :: thres
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
@ -1042,7 +1042,7 @@ module mld_inner_mod
|
|
|
|
real(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
real(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
end subroutine mld_dilut_fact
|
|
|
|
end subroutine mld_dilut_fact
|
|
|
|
subroutine mld_cilut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
subroutine mld_cilut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
integer, intent(in) :: fill_in
|
|
|
|
integer, intent(in) :: fill_in
|
|
|
|
real(psb_spk_), intent(in) :: thres
|
|
|
|
real(psb_spk_), intent(in) :: thres
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
@ -1052,7 +1052,7 @@ module mld_inner_mod
|
|
|
|
complex(psb_spk_), intent(inout) :: d(:)
|
|
|
|
complex(psb_spk_), intent(inout) :: d(:)
|
|
|
|
end subroutine mld_cilut_fact
|
|
|
|
end subroutine mld_cilut_fact
|
|
|
|
subroutine mld_zilut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
subroutine mld_zilut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
integer, intent(in) :: fill_in
|
|
|
|
integer, intent(in) :: fill_in
|
|
|
|
real(psb_dpk_), intent(in) :: thres
|
|
|
|
real(psb_dpk_), intent(in) :: thres
|
|
|
|
integer, intent(out) :: info
|
|
|
|
integer, intent(out) :: info
|
|
|
|