|
|
@ -286,7 +286,6 @@ contains
|
|
|
|
type(psb_int_heap) :: heap
|
|
|
|
type(psb_int_heap) :: heap
|
|
|
|
type(psb_zspmat_type) :: trw
|
|
|
|
type(psb_zspmat_type) :: trw
|
|
|
|
character(len=20), parameter :: name='mld_zilut_fctint'
|
|
|
|
character(len=20), parameter :: name='mld_zilut_fctint'
|
|
|
|
character(len=20) :: ch_err
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (psb_get_errstatus() /= 0) return
|
|
|
|
if (psb_get_errstatus() /= 0) return
|
|
|
|
info = 0
|
|
|
|
info = 0
|
|
|
@ -350,7 +349,7 @@ contains
|
|
|
|
!
|
|
|
|
!
|
|
|
|
! Do an elimination step on current row
|
|
|
|
! Do an elimination step on current row
|
|
|
|
!
|
|
|
|
!
|
|
|
|
if (info == 0) call ilut_fact(fill_in,thres,i,m,nrmi,row,heap,&
|
|
|
|
if (info == 0) call ilut_fact(thres,i,nrmi,row,heap,&
|
|
|
|
& d,uia1,uia2,uaspk,nidx,idxs,info)
|
|
|
|
& d,uia1,uia2,uaspk,nidx,idxs,info)
|
|
|
|
!
|
|
|
|
!
|
|
|
|
! Copy the row into laspk/d(i)/uaspk
|
|
|
|
! Copy the row into laspk/d(i)/uaspk
|
|
|
@ -492,7 +491,6 @@ contains
|
|
|
|
real(kind(1.d0)) :: dmaxup
|
|
|
|
real(kind(1.d0)) :: dmaxup
|
|
|
|
real(kind(1.d0)), external :: dznrm2
|
|
|
|
real(kind(1.d0)), external :: dznrm2
|
|
|
|
character(len=20), parameter :: name='mld_zilut_fctint'
|
|
|
|
character(len=20), parameter :: name='mld_zilut_fctint'
|
|
|
|
character(len=20) :: ch_err
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (psb_get_errstatus() /= 0) return
|
|
|
|
if (psb_get_errstatus() /= 0) return
|
|
|
|
info = 0
|
|
|
|
info = 0
|
|
|
@ -622,14 +620,10 @@ contains
|
|
|
|
!
|
|
|
|
!
|
|
|
|
!
|
|
|
|
!
|
|
|
|
! Arguments
|
|
|
|
! Arguments
|
|
|
|
! fill_in - integer, input.
|
|
|
|
|
|
|
|
! The fill-in parameter k in ILU(k,t).
|
|
|
|
|
|
|
|
! thres - integer, input.
|
|
|
|
! thres - integer, input.
|
|
|
|
! The threshold t, i.e. the drop tolerance, in ILU(k,t).
|
|
|
|
! The threshold t, i.e. the drop tolerance, in ILU(k,t).
|
|
|
|
! i - integer, input.
|
|
|
|
! i - integer, input.
|
|
|
|
! The local index of the row to which the factorization is applied.
|
|
|
|
! The local index of the row to which the factorization is applied.
|
|
|
|
! m - integer, input.
|
|
|
|
|
|
|
|
! The number of rows of the local matrix to which the row belongs.
|
|
|
|
|
|
|
|
! nrmi - real(kind(1.d0)), input.
|
|
|
|
! nrmi - real(kind(1.d0)), input.
|
|
|
|
! The 2-norm of the row to which the elimination step has to be
|
|
|
|
! The 2-norm of the row to which the elimination step has to be
|
|
|
|
! applied.
|
|
|
|
! applied.
|
|
|
@ -671,8 +665,7 @@ contains
|
|
|
|
! Note: this argument is intent(inout) and not only intent(out)
|
|
|
|
! Note: this argument is intent(inout) and not only intent(out)
|
|
|
|
! to retain its allocation, done by this routine.
|
|
|
|
! to retain its allocation, done by this routine.
|
|
|
|
!
|
|
|
|
!
|
|
|
|
subroutine ilut_fact(fill_in,thres,i,m,nrmi,row,heap,&
|
|
|
|
subroutine ilut_fact(thres,i,nrmi,row,heap,d,uia1,uia2,uaspk,nidx,idxs,info)
|
|
|
|
& d,uia1,uia2,uaspk,nidx,idxs,info)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use psb_base_mod
|
|
|
|
use psb_base_mod
|
|
|
|
|
|
|
|
|
|
|
@ -680,7 +673,7 @@ contains
|
|
|
|
|
|
|
|
|
|
|
|
! Arguments
|
|
|
|
! Arguments
|
|
|
|
type(psb_int_heap), intent(inout) :: heap
|
|
|
|
type(psb_int_heap), intent(inout) :: heap
|
|
|
|
integer, intent(in) :: i,m,fill_in
|
|
|
|
integer, intent(in) :: i
|
|
|
|
integer, intent(inout) :: nidx,info
|
|
|
|
integer, intent(inout) :: nidx,info
|
|
|
|
real(kind(1.d0)), intent(in) :: thres,nrmi
|
|
|
|
real(kind(1.d0)), intent(in) :: thres,nrmi
|
|
|
|
integer, allocatable, intent(inout) :: idxs(:)
|
|
|
|
integer, allocatable, intent(inout) :: idxs(:)
|
|
|
|