mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 22:55:12 +00:00
Fixed level 1 initialization for additive multilevel.
This commit is contained in:
@@ -260,13 +260,6 @@ subroutine mld_dmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
!
|
||||
! Apply the base preconditioner at the finest level
|
||||
!
|
||||
call mld_baseprec_aply(alpha,baseprecv(1),x,beta,y,&
|
||||
& baseprecv(1)%base_desc,trans,work,info)
|
||||
if (info /=0) then
|
||||
call psb_errpush(4010,name,a_err='baseprec_aply')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
allocate(mlprec_wrk(1)%x2l(size(x)),mlprec_wrk(1)%y2l(size(y)), stat=info)
|
||||
if (info /= 0) then
|
||||
info=4025
|
||||
@@ -276,7 +269,15 @@ subroutine mld_dmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
end if
|
||||
|
||||
mlprec_wrk(1)%x2l(:) = x(:)
|
||||
mlprec_wrk(1)%y2l(:) = dzero
|
||||
|
||||
|
||||
call mld_baseprec_aply(alpha,baseprecv(1),x,beta,y,&
|
||||
& baseprecv(1)%base_desc,trans,work,info)
|
||||
if (info /=0) then
|
||||
call psb_errpush(4010,name,a_err='baseprec_aply')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
!
|
||||
! STEP 2
|
||||
@@ -382,7 +383,7 @@ subroutine mld_dmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
|
||||
end if
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during prolognation')
|
||||
call psb_errpush(4001,name,a_err='Error during prolongation')
|
||||
goto 9999
|
||||
end if
|
||||
end do
|
||||
|
||||
@@ -261,13 +261,6 @@ subroutine mld_zmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
!
|
||||
! Apply the base preconditioner at the finest level
|
||||
!
|
||||
call mld_baseprec_aply(alpha,baseprecv(1),x,beta,y,&
|
||||
& baseprecv(1)%base_desc,trans,work,info)
|
||||
if (info /=0) then
|
||||
call psb_errpush(4010,name,a_err='baseprec_aply')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
allocate(mlprec_wrk(1)%x2l(size(x)),mlprec_wrk(1)%y2l(size(y)), stat=info)
|
||||
if (info /= 0) then
|
||||
info=4025
|
||||
@@ -277,7 +270,15 @@ subroutine mld_zmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
end if
|
||||
|
||||
mlprec_wrk(1)%x2l(:) = x(:)
|
||||
mlprec_wrk(1)%y2l(:) = zzero
|
||||
|
||||
|
||||
call mld_baseprec_aply(alpha,baseprecv(1),x,beta,y,&
|
||||
& baseprecv(1)%base_desc,trans,work,info)
|
||||
if (info /=0) then
|
||||
call psb_errpush(4010,name,a_err='baseprec_aply')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
!
|
||||
! STEP 2
|
||||
@@ -384,7 +385,7 @@ subroutine mld_zmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
|
||||
end if
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during prolognation')
|
||||
call psb_errpush(4001,name,a_err='Error during prolongation')
|
||||
goto 9999
|
||||
end if
|
||||
end do
|
||||
|
||||
Reference in New Issue
Block a user