|
|
@ -222,7 +222,8 @@ subroutine amg_cmlprec_aply_vect(alpha,p,x,beta,y,desc_data,trans,work,info)
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
|
|
! Local variables
|
|
|
|
! Local variables
|
|
|
|
integer(psb_ipk_) :: ictxt, np, me
|
|
|
|
type(psb_ctxt_type) :: ctxt
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: np, me
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: nlev, nc2l, level, isweep, err_act
|
|
|
|
integer(psb_ipk_) :: nlev, nc2l, level, isweep, err_act
|
|
|
|
character(len=20) :: name
|
|
|
|
character(len=20) :: name
|
|
|
@ -237,8 +238,8 @@ subroutine amg_cmlprec_aply_vect(alpha,p,x,beta,y,desc_data,trans,work,info)
|
|
|
|
debug_unit = psb_get_debug_unit()
|
|
|
|
debug_unit = psb_get_debug_unit()
|
|
|
|
debug_level = psb_get_debug_level()
|
|
|
|
debug_level = psb_get_debug_level()
|
|
|
|
|
|
|
|
|
|
|
|
ictxt = desc_data%get_context()
|
|
|
|
ctxt = desc_data%get_context()
|
|
|
|
call psb_info(ictxt, me, np)
|
|
|
|
call psb_info(ctxt, me, np)
|
|
|
|
|
|
|
|
|
|
|
|
if (debug_level >= psb_debug_inner_) &
|
|
|
|
if (debug_level >= psb_debug_inner_) &
|
|
|
|
& write(debug_unit,*) me,' ',trim(name),&
|
|
|
|
& write(debug_unit,*) me,' ',trim(name),&
|
|
|
@ -365,7 +366,8 @@ contains
|
|
|
|
type(psb_c_vect_type), pointer :: current
|
|
|
|
type(psb_c_vect_type), pointer :: current
|
|
|
|
integer(psb_ipk_) :: sweeps_post, sweeps_pre
|
|
|
|
integer(psb_ipk_) :: sweeps_post, sweeps_pre
|
|
|
|
! Local variables
|
|
|
|
! Local variables
|
|
|
|
integer(psb_ipk_) :: ictxt,np,me
|
|
|
|
type(psb_ctxt_type) :: ctxt
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: np, me
|
|
|
|
integer(psb_ipk_) :: i, err_act
|
|
|
|
integer(psb_ipk_) :: i, err_act
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: nlev, ilev, sweeps
|
|
|
|
integer(psb_ipk_) :: nlev, ilev, sweeps
|
|
|
@ -385,8 +387,8 @@ contains
|
|
|
|
& a_err='wrong call level to inner_ml')
|
|
|
|
& a_err='wrong call level to inner_ml')
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
ictxt = p%precv(level)%base_desc%get_context()
|
|
|
|
ctxt = p%precv(level)%base_desc%get_context()
|
|
|
|
call psb_info(ictxt, me, np)
|
|
|
|
call psb_info(ctxt, me, np)
|
|
|
|
|
|
|
|
|
|
|
|
if(debug_level > 1) then
|
|
|
|
if(debug_level > 1) then
|
|
|
|
write(debug_unit,*) me,' Start inner_ml_aply at level ',level, info
|
|
|
|
write(debug_unit,*) me,' Start inner_ml_aply at level ',level, info
|
|
|
@ -450,7 +452,8 @@ contains
|
|
|
|
type(psb_c_vect_type), pointer :: current
|
|
|
|
type(psb_c_vect_type), pointer :: current
|
|
|
|
integer(psb_ipk_) :: sweeps_post, sweeps_pre
|
|
|
|
integer(psb_ipk_) :: sweeps_post, sweeps_pre
|
|
|
|
! Local variables
|
|
|
|
! Local variables
|
|
|
|
integer(psb_ipk_) :: ictxt,np,me
|
|
|
|
type(psb_ctxt_type) :: ctxt
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: np, me
|
|
|
|
integer(psb_ipk_) :: i, err_act, k
|
|
|
|
integer(psb_ipk_) :: i, err_act, k
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: nlev, ilev, sweeps
|
|
|
|
integer(psb_ipk_) :: nlev, ilev, sweeps
|
|
|
@ -470,8 +473,8 @@ contains
|
|
|
|
& a_err='wrong call level to inner_add')
|
|
|
|
& a_err='wrong call level to inner_add')
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
ictxt = p%precv(level)%base_desc%get_context()
|
|
|
|
ctxt = p%precv(level)%base_desc%get_context()
|
|
|
|
call psb_info(ictxt, me, np)
|
|
|
|
call psb_info(ctxt, me, np)
|
|
|
|
|
|
|
|
|
|
|
|
if(debug_level > 1) then
|
|
|
|
if(debug_level > 1) then
|
|
|
|
write(debug_unit,*) me,' inner_add at level ',level
|
|
|
|
write(debug_unit,*) me,' inner_add at level ',level
|
|
|
@ -578,7 +581,8 @@ contains
|
|
|
|
type(psb_c_vect_type), pointer :: current
|
|
|
|
type(psb_c_vect_type), pointer :: current
|
|
|
|
integer(psb_ipk_) :: sweeps_post, sweeps_pre
|
|
|
|
integer(psb_ipk_) :: sweeps_post, sweeps_pre
|
|
|
|
! Local variables
|
|
|
|
! Local variables
|
|
|
|
integer(psb_ipk_) :: ictxt,np,me
|
|
|
|
type(psb_ctxt_type) :: ctxt
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: np, me
|
|
|
|
integer(psb_ipk_) :: i, err_act
|
|
|
|
integer(psb_ipk_) :: i, err_act
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: nlev, ilev, sweeps
|
|
|
|
integer(psb_ipk_) :: nlev, ilev, sweeps
|
|
|
@ -596,8 +600,8 @@ contains
|
|
|
|
& a_err='wrong call level to inner_mult')
|
|
|
|
& a_err='wrong call level to inner_mult')
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
ictxt = p%precv(level)%base_desc%get_context()
|
|
|
|
ctxt = p%precv(level)%base_desc%get_context()
|
|
|
|
call psb_info(ictxt, me, np)
|
|
|
|
call psb_info(ctxt, me, np)
|
|
|
|
|
|
|
|
|
|
|
|
if(debug_level > 1) then
|
|
|
|
if(debug_level > 1) then
|
|
|
|
write(debug_unit,*) me,' inner_mult at level ',level
|
|
|
|
write(debug_unit,*) me,' inner_mult at level ',level
|
|
|
@ -802,7 +806,8 @@ contains
|
|
|
|
type(psb_c_vect_type), pointer :: current
|
|
|
|
type(psb_c_vect_type), pointer :: current
|
|
|
|
integer(psb_ipk_) :: sweeps_post, sweeps_pre
|
|
|
|
integer(psb_ipk_) :: sweeps_post, sweeps_pre
|
|
|
|
! Local variables
|
|
|
|
! Local variables
|
|
|
|
integer(psb_ipk_) :: ictxt,np,me
|
|
|
|
type(psb_ctxt_type) :: ctxt
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: np, me
|
|
|
|
integer(psb_ipk_) :: i, err_act
|
|
|
|
integer(psb_ipk_) :: i, err_act
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: nlev, ilev, sweeps
|
|
|
|
integer(psb_ipk_) :: nlev, ilev, sweeps
|
|
|
@ -822,8 +827,8 @@ contains
|
|
|
|
& a_err='wrong call level to inner_add')
|
|
|
|
& a_err='wrong call level to inner_add')
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
ictxt = p%precv(level)%base_desc%get_context()
|
|
|
|
ctxt = p%precv(level)%base_desc%get_context()
|
|
|
|
call psb_info(ictxt, me, np)
|
|
|
|
call psb_info(ctxt, me, np)
|
|
|
|
|
|
|
|
|
|
|
|
if(debug_level > 1) then
|
|
|
|
if(debug_level > 1) then
|
|
|
|
write(debug_unit,*) me,name,' start at level ',level
|
|
|
|
write(debug_unit,*) me,name,' start at level ',level
|
|
|
@ -1166,7 +1171,8 @@ subroutine amg_cmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
|
|
! Local variables
|
|
|
|
! Local variables
|
|
|
|
integer(psb_ipk_) :: ictxt, np, me
|
|
|
|
type(psb_ctxt_type) :: ctxt
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: np, me
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit, nlev,nc2l,nr2l,level
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit, nlev,nc2l,nr2l,level
|
|
|
|
character(len=20) :: name
|
|
|
|
character(len=20) :: name
|
|
|
@ -1182,8 +1188,8 @@ subroutine amg_cmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
|
|
|
|
debug_unit = psb_get_debug_unit()
|
|
|
|
debug_unit = psb_get_debug_unit()
|
|
|
|
debug_level = psb_get_debug_level()
|
|
|
|
debug_level = psb_get_debug_level()
|
|
|
|
|
|
|
|
|
|
|
|
ictxt = desc_data%get_context()
|
|
|
|
ctxt = desc_data%get_context()
|
|
|
|
call psb_info(ictxt, me, np)
|
|
|
|
call psb_info(ctxt, me, np)
|
|
|
|
|
|
|
|
|
|
|
|
if (debug_level >= psb_debug_inner_) &
|
|
|
|
if (debug_level >= psb_debug_inner_) &
|
|
|
|
& write(debug_unit,*) me,' ',trim(name),&
|
|
|
|
& write(debug_unit,*) me,' ',trim(name),&
|
|
|
@ -1285,7 +1291,8 @@ contains
|
|
|
|
type(psb_c_vect_type), pointer :: current
|
|
|
|
type(psb_c_vect_type), pointer :: current
|
|
|
|
integer(psb_ipk_) :: sweeps_post, sweeps_pre
|
|
|
|
integer(psb_ipk_) :: sweeps_post, sweeps_pre
|
|
|
|
! Local variables
|
|
|
|
! Local variables
|
|
|
|
integer(psb_ipk_) :: ictxt,np,me
|
|
|
|
type(psb_ctxt_type) :: ctxt
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: np, me
|
|
|
|
integer(psb_ipk_) :: i, err_act
|
|
|
|
integer(psb_ipk_) :: i, err_act
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: nlev, ilev, sweeps
|
|
|
|
integer(psb_ipk_) :: nlev, ilev, sweeps
|
|
|
@ -1305,8 +1312,8 @@ contains
|
|
|
|
& a_err='wrong call level to inner_ml')
|
|
|
|
& a_err='wrong call level to inner_ml')
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
ictxt = p%precv(level)%base_desc%get_context()
|
|
|
|
ctxt = p%precv(level)%base_desc%get_context()
|
|
|
|
call psb_info(ictxt, me, np)
|
|
|
|
call psb_info(ctxt, me, np)
|
|
|
|
|
|
|
|
|
|
|
|
if(debug_level > 1) then
|
|
|
|
if(debug_level > 1) then
|
|
|
|
write(debug_unit,*) me,' inner_ml_aply at level ',level
|
|
|
|
write(debug_unit,*) me,' inner_ml_aply at level ',level
|
|
|
@ -1368,7 +1375,8 @@ contains
|
|
|
|
type(psb_c_vect_type), pointer :: current
|
|
|
|
type(psb_c_vect_type), pointer :: current
|
|
|
|
integer(psb_ipk_) :: sweeps_post, sweeps_pre
|
|
|
|
integer(psb_ipk_) :: sweeps_post, sweeps_pre
|
|
|
|
! Local variables
|
|
|
|
! Local variables
|
|
|
|
integer(psb_ipk_) :: ictxt,np,me
|
|
|
|
type(psb_ctxt_type) :: ctxt
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: np, me
|
|
|
|
integer(psb_ipk_) :: i, err_act
|
|
|
|
integer(psb_ipk_) :: i, err_act
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: nlev, ilev, sweeps
|
|
|
|
integer(psb_ipk_) :: nlev, ilev, sweeps
|
|
|
@ -1388,8 +1396,8 @@ contains
|
|
|
|
& a_err='wrong call level to inner_add')
|
|
|
|
& a_err='wrong call level to inner_add')
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
ictxt = p%precv(level)%base_desc%get_context()
|
|
|
|
ctxt = p%precv(level)%base_desc%get_context()
|
|
|
|
call psb_info(ictxt, me, np)
|
|
|
|
call psb_info(ctxt, me, np)
|
|
|
|
|
|
|
|
|
|
|
|
if(debug_level > 1) then
|
|
|
|
if(debug_level > 1) then
|
|
|
|
write(debug_unit,*) me,' inner_add at level ',level
|
|
|
|
write(debug_unit,*) me,' inner_add at level ',level
|
|
|
@ -1472,7 +1480,8 @@ contains
|
|
|
|
type(psb_c_vect_type), pointer :: current
|
|
|
|
type(psb_c_vect_type), pointer :: current
|
|
|
|
integer(psb_ipk_) :: sweeps_post, sweeps_pre
|
|
|
|
integer(psb_ipk_) :: sweeps_post, sweeps_pre
|
|
|
|
! Local variables
|
|
|
|
! Local variables
|
|
|
|
integer(psb_ipk_) :: ictxt,np,me
|
|
|
|
type(psb_ctxt_type) :: ctxt
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: np, me
|
|
|
|
integer(psb_ipk_) :: i, err_act
|
|
|
|
integer(psb_ipk_) :: i, err_act
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: debug_level, debug_unit
|
|
|
|
integer(psb_ipk_) :: nlev, ilev, sweeps
|
|
|
|
integer(psb_ipk_) :: nlev, ilev, sweeps
|
|
|
@ -1492,8 +1501,8 @@ contains
|
|
|
|
& a_err='wrong call level to inner_mult')
|
|
|
|
& a_err='wrong call level to inner_mult')
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
ictxt = p%precv(level)%base_desc%get_context()
|
|
|
|
ctxt = p%precv(level)%base_desc%get_context()
|
|
|
|
call psb_info(ictxt, me, np)
|
|
|
|
call psb_info(ctxt, me, np)
|
|
|
|
|
|
|
|
|
|
|
|
if(debug_level > 1) then
|
|
|
|
if(debug_level > 1) then
|
|
|
|
write(debug_unit,*) me,' inner_mult at level ',level
|
|
|
|
write(debug_unit,*) me,' inner_mult at level ',level
|
|
|
|