mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-18 11:52:11 +00:00
psblas3:
prec/psb_d_prec_type.f90 test/fileread/df_sample.f90 util/psb_gps_mod.f90 util/psb_renum_impl.F90 util/psb_renum_mod.f90 First working version of gps_renum. Tested in df_sample.
This commit is contained in:
@@ -243,13 +243,14 @@ contains
|
||||
|
||||
end subroutine d_apply2v
|
||||
|
||||
subroutine d_apply1v(prec,x,desc_data,info,trans)
|
||||
subroutine d_apply1v(prec,x,desc_data,info,trans,work)
|
||||
use psb_base_mod
|
||||
type(psb_desc_type),intent(in) :: desc_data
|
||||
class(psb_dprec_type), intent(in) :: prec
|
||||
real(psb_dpk_),intent(inout) :: x(:)
|
||||
integer, intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
real(psb_dpk_),intent(inout), optional, target :: work(:)
|
||||
|
||||
character :: trans_
|
||||
integer :: ictxt,np,me, err_act
|
||||
|
||||
@@ -174,6 +174,8 @@ program df_sample
|
||||
|
||||
end if
|
||||
|
||||
call psb_mat_renum(psb_mat_renum_gps_,aux_a,info)
|
||||
|
||||
! switch over different partition types
|
||||
if (ipart == 0) then
|
||||
call psb_barrier(ictxt)
|
||||
|
||||
@@ -116,7 +116,7 @@ CONTAINS
|
||||
! COMMON /CC/ XCC, SIZEG(50), STPT(50)
|
||||
! COMMON /LVLW/ NHIGH(100), NLOW(100), NACUM(100)
|
||||
DIMENSION CCSTOR(NR), IOLD(NR)
|
||||
DIMENSION NDSTK(NR,IDEGE), LVL(NR), LVLS1(1), LVLS2(1), RENUM(NR+1), NDEG(NR)
|
||||
DIMENSION NDSTK(NR,IDEGE), LVL(NR), LVLS1(NR), LVLS2(NR), RENUM(NR+1), NDEG(NR)
|
||||
!!$ integer :: stnode, rvnode, stnum, sbnum
|
||||
!!$ integer :: ndstk(nr,iedge), iold(nr), renum(nr+1), ndeg(nr)
|
||||
!!$ integer :: lvl(nr), lvls1(nr), lvls2(nr), ccstor(nr)
|
||||
|
||||
@@ -16,7 +16,7 @@ subroutine psb_d_mat_renum(alg,mat,info)
|
||||
info = psb_success_
|
||||
|
||||
select case (alg)
|
||||
case(psb_renum_gps_)
|
||||
case(psb_mat_renum_gps_)
|
||||
|
||||
call psb_mat_renum_gps(mat,info)
|
||||
|
||||
@@ -85,11 +85,17 @@ contains
|
||||
end if
|
||||
do i=1, nr
|
||||
iold(i) = i
|
||||
ndstk(i,:) = 0
|
||||
k = 0
|
||||
do j=acsr%irp(i),acsr%irp(i+1)-1
|
||||
k = k + 1
|
||||
ndstk(i,k) = acsr%ja(j)
|
||||
end do
|
||||
end do
|
||||
perm = 0
|
||||
|
||||
call psb_gps_reduce(ndstk,nr,ideg,iold,perm,ndeg,ibw,ipf,idpth)
|
||||
|
||||
|
||||
if (.not.psb_isaperm(nr,perm)) then
|
||||
write(0,*) 'Something wrong: bad perm from gps_reduce'
|
||||
info = psb_err_from_subroutine_
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
module psb_renum_mod
|
||||
use psb_base_mod
|
||||
|
||||
integer, parameter :: psb_renum_gps_ = 456
|
||||
integer, parameter :: psb_mat_renum_gps_ = 456
|
||||
|
||||
|
||||
interface psb_mat_renum
|
||||
|
||||
Reference in New Issue
Block a user