|
|
|
@ -938,129 +938,129 @@ module mld_inner_mod
|
|
|
|
|
end subroutine mld_zumf_bld
|
|
|
|
|
end interface
|
|
|
|
|
|
|
|
|
|
interface mld_ilu0_fact
|
|
|
|
|
subroutine mld_silu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
|
integer, intent(in) :: ialg
|
|
|
|
|
integer, intent(out) :: info
|
|
|
|
|
type(psb_s_sparse_mat),intent(in) :: a
|
|
|
|
|
type(psb_s_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
type(psb_s_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
character, intent(in), optional :: upd
|
|
|
|
|
real(psb_spk_), intent(inout) :: d(:)
|
|
|
|
|
end subroutine mld_silu0_fact
|
|
|
|
|
subroutine mld_dilu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
|
integer, intent(in) :: ialg
|
|
|
|
|
integer, intent(out) :: info
|
|
|
|
|
type(psb_d_sparse_mat),intent(in) :: a
|
|
|
|
|
type(psb_d_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
type(psb_d_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
character, intent(in), optional :: upd
|
|
|
|
|
real(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
|
end subroutine mld_dilu0_fact
|
|
|
|
|
subroutine mld_cilu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
|
integer, intent(in) :: ialg
|
|
|
|
|
integer, intent(out) :: info
|
|
|
|
|
type(psb_c_sparse_mat),intent(in) :: a
|
|
|
|
|
type(psb_c_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
type(psb_c_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
character, intent(in), optional :: upd
|
|
|
|
|
complex(psb_spk_), intent(inout) :: d(:)
|
|
|
|
|
end subroutine mld_cilu0_fact
|
|
|
|
|
subroutine mld_zilu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
|
integer, intent(in) :: ialg
|
|
|
|
|
integer, intent(out) :: info
|
|
|
|
|
type(psb_z_sparse_mat),intent(in) :: a
|
|
|
|
|
type(psb_z_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
type(psb_z_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
character, intent(in), optional :: upd
|
|
|
|
|
complex(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
|
end subroutine mld_zilu0_fact
|
|
|
|
|
end interface
|
|
|
|
|
|
|
|
|
|
interface mld_iluk_fact
|
|
|
|
|
subroutine mld_siluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
|
integer, intent(in) :: fill_in,ialg
|
|
|
|
|
integer, intent(out) :: info
|
|
|
|
|
type(psb_s_sparse_mat),intent(in) :: a
|
|
|
|
|
type(psb_s_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
type(psb_s_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
real(psb_spk_), intent(inout) :: d(:)
|
|
|
|
|
end subroutine mld_siluk_fact
|
|
|
|
|
subroutine mld_diluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
|
integer, intent(in) :: fill_in,ialg
|
|
|
|
|
integer, intent(out) :: info
|
|
|
|
|
type(psb_d_sparse_mat),intent(in) :: a
|
|
|
|
|
type(psb_d_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
type(psb_d_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
real(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
|
end subroutine mld_diluk_fact
|
|
|
|
|
subroutine mld_ciluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
|
integer, intent(in) :: fill_in,ialg
|
|
|
|
|
integer, intent(out) :: info
|
|
|
|
|
type(psb_c_sparse_mat),intent(in) :: a
|
|
|
|
|
type(psb_c_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
type(psb_c_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
complex(psb_spk_), intent(inout) :: d(:)
|
|
|
|
|
end subroutine mld_ciluk_fact
|
|
|
|
|
subroutine mld_ziluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
|
integer, intent(in) :: fill_in,ialg
|
|
|
|
|
integer, intent(out) :: info
|
|
|
|
|
type(psb_z_sparse_mat),intent(in) :: a
|
|
|
|
|
type(psb_z_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
type(psb_z_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
complex(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
|
end subroutine mld_ziluk_fact
|
|
|
|
|
end interface
|
|
|
|
|
|
|
|
|
|
interface mld_ilut_fact
|
|
|
|
|
subroutine mld_silut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
|
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
|
integer, intent(in) :: fill_in
|
|
|
|
|
real(psb_spk_), intent(in) :: thres
|
|
|
|
|
integer, intent(out) :: info
|
|
|
|
|
type(psb_s_sparse_mat),intent(in) :: a
|
|
|
|
|
type(psb_s_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
type(psb_s_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
real(psb_spk_), intent(inout) :: d(:)
|
|
|
|
|
end subroutine mld_silut_fact
|
|
|
|
|
subroutine mld_dilut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
|
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
|
integer, intent(in) :: fill_in
|
|
|
|
|
real(psb_dpk_), intent(in) :: thres
|
|
|
|
|
integer, intent(out) :: info
|
|
|
|
|
type(psb_d_sparse_mat),intent(in) :: a
|
|
|
|
|
type(psb_d_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
type(psb_d_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
real(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
|
end subroutine mld_dilut_fact
|
|
|
|
|
subroutine mld_cilut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
|
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
|
integer, intent(in) :: fill_in
|
|
|
|
|
real(psb_spk_), intent(in) :: thres
|
|
|
|
|
integer, intent(out) :: info
|
|
|
|
|
type(psb_c_sparse_mat),intent(in) :: a
|
|
|
|
|
type(psb_c_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
type(psb_c_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
complex(psb_spk_), intent(inout) :: d(:)
|
|
|
|
|
end subroutine mld_cilut_fact
|
|
|
|
|
subroutine mld_zilut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
|
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
|
integer, intent(in) :: fill_in
|
|
|
|
|
real(psb_dpk_), intent(in) :: thres
|
|
|
|
|
integer, intent(out) :: info
|
|
|
|
|
type(psb_z_sparse_mat),intent(in) :: a
|
|
|
|
|
type(psb_z_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
type(psb_z_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
complex(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
|
end subroutine mld_zilut_fact
|
|
|
|
|
end interface
|
|
|
|
|
!!$ interface mld_ilu0_fact
|
|
|
|
|
!!$ subroutine mld_silu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
|
!!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
|
!!$ integer, intent(in) :: ialg
|
|
|
|
|
!!$ integer, intent(out) :: info
|
|
|
|
|
!!$ type(psb_s_sparse_mat),intent(in) :: a
|
|
|
|
|
!!$ type(psb_s_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
!!$ type(psb_s_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
!!$ character, intent(in), optional :: upd
|
|
|
|
|
!!$ real(psb_spk_), intent(inout) :: d(:)
|
|
|
|
|
!!$ end subroutine mld_silu0_fact
|
|
|
|
|
!!$ subroutine mld_dilu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
|
!!$ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
|
!!$ integer, intent(in) :: ialg
|
|
|
|
|
!!$ integer, intent(out) :: info
|
|
|
|
|
!!$ type(psb_d_sparse_mat),intent(in) :: a
|
|
|
|
|
!!$ type(psb_d_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
!!$ type(psb_d_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
!!$ character, intent(in), optional :: upd
|
|
|
|
|
!!$ real(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
|
!!$ end subroutine mld_dilu0_fact
|
|
|
|
|
!!$ subroutine mld_cilu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
|
!!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
|
!!$ integer, intent(in) :: ialg
|
|
|
|
|
!!$ integer, intent(out) :: info
|
|
|
|
|
!!$ type(psb_c_sparse_mat),intent(in) :: a
|
|
|
|
|
!!$ type(psb_c_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
!!$ type(psb_c_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
!!$ character, intent(in), optional :: upd
|
|
|
|
|
!!$ complex(psb_spk_), intent(inout) :: d(:)
|
|
|
|
|
!!$ end subroutine mld_cilu0_fact
|
|
|
|
|
!!$ subroutine mld_zilu0_fact(ialg,a,l,u,d,info,blck,upd)
|
|
|
|
|
!!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
|
!!$ integer, intent(in) :: ialg
|
|
|
|
|
!!$ integer, intent(out) :: info
|
|
|
|
|
!!$ type(psb_z_sparse_mat),intent(in) :: a
|
|
|
|
|
!!$ type(psb_z_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
!!$ type(psb_z_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
!!$ character, intent(in), optional :: upd
|
|
|
|
|
!!$ complex(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
|
!!$ end subroutine mld_zilu0_fact
|
|
|
|
|
!!$ end interface
|
|
|
|
|
!!$
|
|
|
|
|
!!$ interface mld_iluk_fact
|
|
|
|
|
!!$ subroutine mld_siluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
|
!!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
|
!!$ integer, intent(in) :: fill_in,ialg
|
|
|
|
|
!!$ integer, intent(out) :: info
|
|
|
|
|
!!$ type(psb_s_sparse_mat),intent(in) :: a
|
|
|
|
|
!!$ type(psb_s_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
!!$ type(psb_s_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
!!$ real(psb_spk_), intent(inout) :: d(:)
|
|
|
|
|
!!$ end subroutine mld_siluk_fact
|
|
|
|
|
!!$ subroutine mld_diluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
|
!!$ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
|
!!$ integer, intent(in) :: fill_in,ialg
|
|
|
|
|
!!$ integer, intent(out) :: info
|
|
|
|
|
!!$ type(psb_d_sparse_mat),intent(in) :: a
|
|
|
|
|
!!$ type(psb_d_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
!!$ type(psb_d_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
!!$ real(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
|
!!$ end subroutine mld_diluk_fact
|
|
|
|
|
!!$ subroutine mld_ciluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
|
!!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
|
!!$ integer, intent(in) :: fill_in,ialg
|
|
|
|
|
!!$ integer, intent(out) :: info
|
|
|
|
|
!!$ type(psb_c_sparse_mat),intent(in) :: a
|
|
|
|
|
!!$ type(psb_c_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
!!$ type(psb_c_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
!!$ complex(psb_spk_), intent(inout) :: d(:)
|
|
|
|
|
!!$ end subroutine mld_ciluk_fact
|
|
|
|
|
!!$ subroutine mld_ziluk_fact(fill_in,ialg,a,l,u,d,info,blck)
|
|
|
|
|
!!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
|
!!$ integer, intent(in) :: fill_in,ialg
|
|
|
|
|
!!$ integer, intent(out) :: info
|
|
|
|
|
!!$ type(psb_z_sparse_mat),intent(in) :: a
|
|
|
|
|
!!$ type(psb_z_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
!!$ type(psb_z_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
!!$ complex(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
|
!!$ end subroutine mld_ziluk_fact
|
|
|
|
|
!!$ end interface
|
|
|
|
|
!!$
|
|
|
|
|
!!$ interface mld_ilut_fact
|
|
|
|
|
!!$ subroutine mld_silut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
|
!!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
|
!!$ integer, intent(in) :: fill_in
|
|
|
|
|
!!$ real(psb_spk_), intent(in) :: thres
|
|
|
|
|
!!$ integer, intent(out) :: info
|
|
|
|
|
!!$ type(psb_s_sparse_mat),intent(in) :: a
|
|
|
|
|
!!$ type(psb_s_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
!!$ type(psb_s_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
!!$ real(psb_spk_), intent(inout) :: d(:)
|
|
|
|
|
!!$ end subroutine mld_silut_fact
|
|
|
|
|
!!$ subroutine mld_dilut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
|
!!$ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
|
!!$ integer, intent(in) :: fill_in
|
|
|
|
|
!!$ real(psb_dpk_), intent(in) :: thres
|
|
|
|
|
!!$ integer, intent(out) :: info
|
|
|
|
|
!!$ type(psb_d_sparse_mat),intent(in) :: a
|
|
|
|
|
!!$ type(psb_d_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
!!$ type(psb_d_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
!!$ real(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
|
!!$ end subroutine mld_dilut_fact
|
|
|
|
|
!!$ subroutine mld_cilut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
|
!!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
|
|
|
|
|
!!$ integer, intent(in) :: fill_in
|
|
|
|
|
!!$ real(psb_spk_), intent(in) :: thres
|
|
|
|
|
!!$ integer, intent(out) :: info
|
|
|
|
|
!!$ type(psb_c_sparse_mat),intent(in) :: a
|
|
|
|
|
!!$ type(psb_c_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
!!$ type(psb_c_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
!!$ complex(psb_spk_), intent(inout) :: d(:)
|
|
|
|
|
!!$ end subroutine mld_cilut_fact
|
|
|
|
|
!!$ subroutine mld_zilut_fact(fill_in,thres,a,l,u,d,info,blck)
|
|
|
|
|
!!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
|
|
|
|
|
!!$ integer, intent(in) :: fill_in
|
|
|
|
|
!!$ real(psb_dpk_), intent(in) :: thres
|
|
|
|
|
!!$ integer, intent(out) :: info
|
|
|
|
|
!!$ type(psb_z_sparse_mat),intent(in) :: a
|
|
|
|
|
!!$ type(psb_z_sparse_mat),intent(inout) :: l,u
|
|
|
|
|
!!$ type(psb_z_sparse_mat),intent(in), optional, target :: blck
|
|
|
|
|
!!$ complex(psb_dpk_), intent(inout) :: d(:)
|
|
|
|
|
!!$ end subroutine mld_zilut_fact
|
|
|
|
|
!!$ end interface
|
|
|
|
|
|
|
|
|
|
end module mld_inner_mod
|
|
|
|
|