*** empty log message ***

psblas3-type-indexed
Salvatore Filippone 17 years ago
parent 7a03e1d410
commit 6c069d7a12

@ -62,8 +62,8 @@
! !
! In this sample program the index space of the discretized ! In this sample program the index space of the discretized
! computational domain is first numbered sequentially in a standard way, ! computational domain is first numbered sequentially in a standard way,
! then the corresponding vector is distributed according to an HPF BLOCK ! then the corresponding vector is distributed according to a BLOCK
! distribution directive. ! data distribution.
! !
! Boundary conditions are set in a very simple way, by adding ! Boundary conditions are set in a very simple way, by adding
! equations of the form ! equations of the form
@ -78,7 +78,7 @@ program ppde
implicit none implicit none
! input parameters ! input parameters
character :: cmethd*10, ptype*10, afmt*5 character :: kmethd*10, ptype*10, afmt*5
integer :: idim integer :: idim
! miscellaneous ! miscellaneous
@ -122,7 +122,7 @@ program ppde
! !
! get parameters ! get parameters
! !
call get_parms(ictxt,cmethd,ptype,afmt,idim,istopc,itmax,itrace,irst) call get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst)
! !
! allocate and fill in the coefficient matrix, rhs and initial guess ! allocate and fill in the coefficient matrix, rhs and initial guess
@ -169,11 +169,11 @@ program ppde
! !
! iterative method parameters ! iterative method parameters
! !
if(iam == psb_root_) write(*,'("Calling iterative method ",a)')cmethd if(iam == psb_root_) write(*,'("Calling iterative method ",a)')kmethd
call psb_barrier(ictxt) call psb_barrier(ictxt)
t1 = psb_wtime() t1 = psb_wtime()
eps = 1.d-9 eps = 1.d-9
call psb_krylov(cmethd,a,prec,b,x,eps,desc_a,info,& call psb_krylov(kmethd,a,prec,b,x,eps,desc_a,info,&
& itmax=itmax,iter=iter,err=err,itrace=itrace,istop=istopc,irst=irst) & itmax=itmax,iter=iter,err=err,itrace=itrace,istop=istopc,irst=irst)
if(info.ne.0) then if(info.ne.0) then
@ -222,9 +222,9 @@ contains
! !
! get iteration parameters from the command line ! get iteration parameters from the command line
! !
subroutine get_parms(ictxt,cmethd,ptype,afmt,idim,istopc,itmax,itrace,irst) subroutine get_parms(ictxt,kmethd,ptype,afmt,idim,istopc,itmax,itrace,irst)
integer :: ictxt integer :: ictxt
character(len=10) :: cmethd, ptype character(len=10) :: kmethd, ptype
character(len=5) :: afmt character(len=5) :: afmt
integer :: idim, istopc,itmax,itrace,irst integer :: idim, istopc,itmax,itrace,irst
integer :: iargc, np, iam integer :: iargc, np, iam
@ -236,12 +236,12 @@ contains
if (iam==0) then if (iam==0) then
read(*,*) ip read(*,*) ip
if (ip.ge.3) then if (ip.ge.3) then
read(*,*) cmethd read(*,*) kmethd
read(*,*) ptype read(*,*) ptype
read(*,*) afmt read(*,*) afmt
! broadcast parameters to all processors ! broadcast parameters to all processors
call psb_bcast(ictxt,cmethd) call psb_bcast(ictxt,kmethd)
call psb_bcast(ictxt,afmt) call psb_bcast(ictxt,afmt)
call psb_bcast(ictxt,ptype) call psb_bcast(ictxt,ptype)
@ -281,7 +281,7 @@ contains
write(*,'("Number of processors : ",i0)')np write(*,'("Number of processors : ",i0)')np
write(*,'("Data distribution : BLOCK")') write(*,'("Data distribution : BLOCK")')
write(*,'("Preconditioner : ",a)') ptype write(*,'("Preconditioner : ",a)') ptype
write(*,'("Iterative method : ",a)') cmethd write(*,'("Iterative method : ",a)') kmethd
write(*,'(" ")') write(*,'(" ")')
else else
! wrong number of parameter, print an error message and exit ! wrong number of parameter, print an error message and exit
@ -290,7 +290,7 @@ contains
stop 1 stop 1
endif endif
else else
call psb_bcast(ictxt,cmethd) call psb_bcast(ictxt,kmethd)
call psb_bcast(ictxt,afmt) call psb_bcast(ictxt,afmt)
call psb_bcast(ictxt,ptype) call psb_bcast(ictxt,ptype)
call psb_bcast(ictxt,intbuf(1:5)) call psb_bcast(ictxt,intbuf(1:5))

Loading…
Cancel
Save