|
|
@ -713,22 +713,25 @@ contains
|
|
|
|
end subroutine mld_c_apply1v
|
|
|
|
end subroutine mld_c_apply1v
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
subroutine mld_c_dump(prec,info,istart,iend,prefix,head,ac,rp,smoother,solver,tprol,&
|
|
|
|
subroutine mld_c_dump(prec,info,istart,iend,iproc,prefix,head,&
|
|
|
|
|
|
|
|
& ac,rp,smoother,solver,tprol,&
|
|
|
|
& global_num)
|
|
|
|
& global_num)
|
|
|
|
|
|
|
|
|
|
|
|
implicit none
|
|
|
|
implicit none
|
|
|
|
class(mld_cprec_type), intent(in) :: prec
|
|
|
|
class(mld_cprec_type), intent(in) :: prec
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
integer(psb_ipk_), intent(in), optional :: istart, iend
|
|
|
|
integer(psb_ipk_), intent(in), optional :: istart, iend, iproc
|
|
|
|
character(len=*), intent(in), optional :: prefix, head
|
|
|
|
character(len=*), intent(in), optional :: prefix, head
|
|
|
|
logical, optional, intent(in) :: smoother, solver,ac, rp, tprol, global_num
|
|
|
|
logical, optional, intent(in) :: smoother, solver,ac, rp, tprol, global_num
|
|
|
|
integer(psb_ipk_) :: i, j, il1, iln, lev
|
|
|
|
integer(psb_ipk_) :: i, j, il1, iln, lev
|
|
|
|
integer(psb_ipk_) :: icontxt,iam, np
|
|
|
|
integer(psb_ipk_) :: icontxt, iam, np, iproc_
|
|
|
|
character(len=80) :: prefix_
|
|
|
|
character(len=80) :: prefix_
|
|
|
|
character(len=120) :: fname ! len should be at least 20 more than
|
|
|
|
character(len=120) :: fname ! len should be at least 20 more than
|
|
|
|
! len of prefix_
|
|
|
|
! len of prefix_
|
|
|
|
|
|
|
|
|
|
|
|
info = 0
|
|
|
|
info = 0
|
|
|
|
|
|
|
|
icontxt = prec%ictxt
|
|
|
|
|
|
|
|
call psb_info(icontxt,iam,np)
|
|
|
|
|
|
|
|
|
|
|
|
iln = size(prec%precv)
|
|
|
|
iln = size(prec%precv)
|
|
|
|
if (present(istart)) then
|
|
|
|
if (present(istart)) then
|
|
|
@ -739,13 +742,18 @@ contains
|
|
|
|
if (present(iend)) then
|
|
|
|
if (present(iend)) then
|
|
|
|
iln = min(iln, iend)
|
|
|
|
iln = min(iln, iend)
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
|
|
|
|
iproc_ = -1
|
|
|
|
|
|
|
|
if (present(iproc)) then
|
|
|
|
|
|
|
|
iproc_ = iproc
|
|
|
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ((iproc_ == -1).or.(iproc_==iam)) then
|
|
|
|
do lev=il1, iln
|
|
|
|
do lev=il1, iln
|
|
|
|
call prec%precv(lev)%dump(lev,info,prefix=prefix,head=head,&
|
|
|
|
call prec%precv(lev)%dump(lev,info,prefix=prefix,head=head,&
|
|
|
|
& ac=ac,smoother=smoother,solver=solver,rp=rp,tprol=tprol, &
|
|
|
|
& ac=ac,smoother=smoother,solver=solver,rp=rp,tprol=tprol, &
|
|
|
|
& global_num=global_num)
|
|
|
|
& global_num=global_num)
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|
|
|
|
|
end if
|
|
|
|
end subroutine mld_c_dump
|
|
|
|
end subroutine mld_c_dump
|
|
|
|
|
|
|
|
|
|
|
|
subroutine mld_c_cnv(prec,info,amold,vmold,imold)
|
|
|
|
subroutine mld_c_cnv(prec,info,amold,vmold,imold)
|
|
|
|