|
|
@ -29,7 +29,7 @@
|
|
|
|
!!$ POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
!!$ POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
!!$
|
|
|
|
!!$
|
|
|
|
!!$
|
|
|
|
!!$
|
|
|
|
! File: psb_ccgr.f90
|
|
|
|
! File: psb_cgcr.f90
|
|
|
|
!!
|
|
|
|
!!
|
|
|
|
!! Contributors: Ambra Abdullahi (UNITOV) and Pasqua D’Ambra (IAC-CNR)
|
|
|
|
!! Contributors: Ambra Abdullahi (UNITOV) and Pasqua D’Ambra (IAC-CNR)
|
|
|
|
!!
|
|
|
|
!!
|
|
|
@ -63,10 +63,10 @@
|
|
|
|
!!$ C C
|
|
|
|
!!$ C C
|
|
|
|
!!$ C C
|
|
|
|
!!$ C C
|
|
|
|
!!$ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
|
|
|
|
!!$ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
|
|
|
|
! File: psb_ccgr.f90
|
|
|
|
! File: psb_cgcr.f90
|
|
|
|
!
|
|
|
|
!
|
|
|
|
! Subroutine: psb_ccgr
|
|
|
|
! Subroutine: psb_cgcr
|
|
|
|
! This subroutine implements the CGR method.
|
|
|
|
! This subroutine implements the GCR method.
|
|
|
|
!
|
|
|
|
!
|
|
|
|
!
|
|
|
|
!
|
|
|
|
! Arguments:
|
|
|
|
! Arguments:
|
|
|
@ -105,7 +105,7 @@
|
|
|
|
! irst - integer(optional) Input: restart parameter
|
|
|
|
! irst - integer(optional) Input: restart parameter
|
|
|
|
!
|
|
|
|
!
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psb_ccgr_vect(a,prec,b,x,eps,desc_a,info,&
|
|
|
|
subroutine psb_cgcr_vect(a,prec,b,x,eps,desc_a,info,&
|
|
|
|
& itmax,iter,err,itrace, irst, istop)
|
|
|
|
& itmax,iter,err,itrace, irst, istop)
|
|
|
|
use psb_base_mod
|
|
|
|
use psb_base_mod
|
|
|
|
use psb_prec_mod
|
|
|
|
use psb_prec_mod
|
|
|
@ -138,10 +138,10 @@ subroutine psb_ccgr_vect(a,prec,b,x,eps,desc_a,info,&
|
|
|
|
complex(psb_spk_), allocatable, target :: aux(:)
|
|
|
|
complex(psb_spk_), allocatable, target :: aux(:)
|
|
|
|
character(len=20) :: name
|
|
|
|
character(len=20) :: name
|
|
|
|
type(psb_itconv_type) :: stopdat
|
|
|
|
type(psb_itconv_type) :: stopdat
|
|
|
|
character(len=*), parameter :: methdname='CGR'
|
|
|
|
character(len=*), parameter :: methdname='GCR'
|
|
|
|
integer(psb_ipk_) ::int_err(5)
|
|
|
|
integer(psb_ipk_) ::int_err(5)
|
|
|
|
info = psb_success_
|
|
|
|
info = psb_success_
|
|
|
|
name = 'psb_ccgr'
|
|
|
|
name = 'psb_cgcr'
|
|
|
|
call psb_erractionsave(err_act)
|
|
|
|
call psb_erractionsave(err_act)
|
|
|
|
debug_unit = psb_get_debug_unit()
|
|
|
|
debug_unit = psb_get_debug_unit()
|
|
|
|
debug_level = psb_get_debug_level()
|
|
|
|
debug_level = psb_get_debug_level()
|
|
|
@ -269,7 +269,7 @@ subroutine psb_ccgr_vect(a,prec,b,x,eps,desc_a,info,&
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
if (psb_check_conv(methdname,itx,x,r,desc_a,stopdat,info)) exit restart
|
|
|
|
call psb_init_conv(methdname,istop_,itrace_,itmax_,a,b,eps,desc_a,stopdat,info)
|
|
|
|
! if (info /= psb_success_) Then
|
|
|
|
! if (info /= psb_success_) Then
|
|
|
|
! call psb_errpush(psb_err_from_subroutine_non_,name)
|
|
|
|
! call psb_errpush(psb_err_from_subroutine_non_,name)
|
|
|
|
! goto 9999
|
|
|
|
! goto 9999
|
|
|
@ -370,6 +370,6 @@ subroutine psb_ccgr_vect(a,prec,b,x,eps,desc_a,info,&
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
return
|
|
|
|
end subroutine psb_ccgr_vect
|
|
|
|
end subroutine psb_cgcr_vect
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|