|
|
@ -28,9 +28,9 @@
|
|
|
|
!!$ POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
!!$ POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
!!$
|
|
|
|
!!$
|
|
|
|
!!$
|
|
|
|
!!$
|
|
|
|
! File: psb_zcdovr.f90
|
|
|
|
! File: psb_zcdbldext.f90
|
|
|
|
!
|
|
|
|
!
|
|
|
|
! Subroutine: psb_zcdovr
|
|
|
|
! Subroutine: psb_zcdbldext
|
|
|
|
! This routine takes a matrix A with its descriptor, and builds the
|
|
|
|
! This routine takes a matrix A with its descriptor, and builds the
|
|
|
|
! auxiliary descriptor corresponding to the number of overlap levels
|
|
|
|
! auxiliary descriptor corresponding to the number of overlap levels
|
|
|
|
! specified on input.
|
|
|
|
! specified on input.
|
|
|
@ -58,9 +58,9 @@
|
|
|
|
! c. The (novr+1)-th layer becomes the
|
|
|
|
! c. The (novr+1)-th layer becomes the
|
|
|
|
! new halo.
|
|
|
|
! new halo.
|
|
|
|
!
|
|
|
|
!
|
|
|
|
Subroutine psb_zcdovr(a,desc_a,novr,desc_ov,info, extype)
|
|
|
|
Subroutine psb_zcdbldext(a,desc_a,novr,desc_ov,info, extype)
|
|
|
|
|
|
|
|
|
|
|
|
use psb_tools_mod, psb_protect_name => psb_zcdovr
|
|
|
|
use psb_tools_mod, psb_protect_name => psb_zcdbldext
|
|
|
|
use psb_serial_mod
|
|
|
|
use psb_serial_mod
|
|
|
|
use psb_descriptor_type
|
|
|
|
use psb_descriptor_type
|
|
|
|
use psb_error_mod
|
|
|
|
use psb_error_mod
|
|
|
@ -110,7 +110,7 @@ Subroutine psb_zcdovr(a,desc_a,novr,desc_ov,info, extype)
|
|
|
|
integer :: debug_level, debug_unit
|
|
|
|
integer :: debug_level, debug_unit
|
|
|
|
character(len=20) :: name, ch_err
|
|
|
|
character(len=20) :: name, ch_err
|
|
|
|
|
|
|
|
|
|
|
|
name='psb_zcdovr'
|
|
|
|
name='psb_zcdbldext'
|
|
|
|
info = 0
|
|
|
|
info = 0
|
|
|
|
call psb_erractionsave(err_act)
|
|
|
|
call psb_erractionsave(err_act)
|
|
|
|
debug_unit = psb_get_debug_unit()
|
|
|
|
debug_unit = psb_get_debug_unit()
|
|
|
@ -587,7 +587,7 @@ Subroutine psb_zcdovr(a,desc_a,novr,desc_ov,info, extype)
|
|
|
|
Do i=1,iszr
|
|
|
|
Do i=1,iszr
|
|
|
|
idx=workr(i)
|
|
|
|
idx=workr(i)
|
|
|
|
if (idx <1) then
|
|
|
|
if (idx <1) then
|
|
|
|
write(0,*) me,'Error in CDOVRBLD level',i_ovr,' : ',idx,i,iszr
|
|
|
|
write(0,*) me,'Error in CDBLDEXTBLD level',i_ovr,' : ',idx,i,iszr
|
|
|
|
else If (desc_ov%glob_to_loc(idx) < -np) Then
|
|
|
|
else If (desc_ov%glob_to_loc(idx) < -np) Then
|
|
|
|
!
|
|
|
|
!
|
|
|
|
! This is a new index. Assigning a local index as
|
|
|
|
! This is a new index. Assigning a local index as
|
|
|
@ -623,7 +623,7 @@ Subroutine psb_zcdovr(a,desc_a,novr,desc_ov,info, extype)
|
|
|
|
&proc_id,n_col,idx
|
|
|
|
&proc_id,n_col,idx
|
|
|
|
else if (desc_ov%glob_to_loc(idx) < 0) Then
|
|
|
|
else if (desc_ov%glob_to_loc(idx) < 0) Then
|
|
|
|
if (debug_level >= psb_debug_outer_) &
|
|
|
|
if (debug_level >= psb_debug_outer_) &
|
|
|
|
& write(debug_unit,*) me,' ',trim(name),':Wrong input to cdovrbld?',&
|
|
|
|
& write(debug_unit,*) me,' ',trim(name),':Wrong input to cdbldextbld?',&
|
|
|
|
&idx,desc_ov%glob_to_loc(idx)
|
|
|
|
&idx,desc_ov%glob_to_loc(idx)
|
|
|
|
End If
|
|
|
|
End If
|
|
|
|
End Do
|
|
|
|
End Do
|
|
|
@ -762,5 +762,5 @@ Subroutine psb_zcdovr(a,desc_a,novr,desc_ov,info, extype)
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
Return
|
|
|
|
Return
|
|
|
|
|
|
|
|
|
|
|
|
End Subroutine psb_zcdovr
|
|
|
|
End Subroutine psb_zcdbldext
|
|
|
|
|
|
|
|
|