|
|
@ -173,6 +173,8 @@ program pde90
|
|
|
|
call psb_precset(pre,'asm',iv=(/novr,halo_,none_/))
|
|
|
|
call psb_precset(pre,'asm',iv=(/novr,halo_,none_/))
|
|
|
|
case(rash_)
|
|
|
|
case(rash_)
|
|
|
|
call psb_precset(pre,'asm',iv=(/novr,nohalo_,none_/))
|
|
|
|
call psb_precset(pre,'asm',iv=(/novr,nohalo_,none_/))
|
|
|
|
|
|
|
|
case default
|
|
|
|
|
|
|
|
call psb_precset(pre,'ilu')
|
|
|
|
end select
|
|
|
|
end select
|
|
|
|
|
|
|
|
|
|
|
|
call psb_barrier(ictxt)
|
|
|
|
call psb_barrier(ictxt)
|
|
|
@ -389,10 +391,10 @@ contains
|
|
|
|
write(iout,*)' iterations '
|
|
|
|
write(iout,*)' iterations '
|
|
|
|
end subroutine pr_usage
|
|
|
|
end subroutine pr_usage
|
|
|
|
|
|
|
|
|
|
|
|
!
|
|
|
|
!
|
|
|
|
! subroutine to allocate and fill in the coefficient matrix and
|
|
|
|
! subroutine to allocate and fill in the coefficient matrix and
|
|
|
|
! the rhs.
|
|
|
|
! the rhs.
|
|
|
|
!
|
|
|
|
!
|
|
|
|
subroutine create_matrix(idim,a,b,t,desc_a,parts,ictxt,afmt,info)
|
|
|
|
subroutine create_matrix(idim,a,b,t,desc_a,parts,ictxt,afmt,info)
|
|
|
|
!
|
|
|
|
!
|
|
|
|
! discretize the partial diferential equation
|
|
|
|
! discretize the partial diferential equation
|
|
|
@ -499,7 +501,7 @@ contains
|
|
|
|
! loop over rows belonging to current process in a block
|
|
|
|
! loop over rows belonging to current process in a block
|
|
|
|
! distribution.
|
|
|
|
! distribution.
|
|
|
|
|
|
|
|
|
|
|
|
! icol(1)=1
|
|
|
|
! icol(1)=1
|
|
|
|
do glob_row = 1, n
|
|
|
|
do glob_row = 1, n
|
|
|
|
call parts(glob_row,n,np,prv,nv)
|
|
|
|
call parts(glob_row,n,np,prv,nv)
|
|
|
|
do inv = 1, nv
|
|
|
|
do inv = 1, nv
|
|
|
|