From 19d33fae2cf3e26c0b23403a86e1b40b446b49a4 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Sun, 5 May 2019 18:59:22 +0100 Subject: [PATCH] Updates for new linmap internal structure. --- Makefile | 18 ++--- mkdir.sh | 20 ------ mlprec/impl/level/mld_c_base_onelev_dump.f90 | 14 ++-- mlprec/impl/level/mld_d_base_onelev_dump.f90 | 14 ++-- mlprec/impl/level/mld_s_base_onelev_dump.f90 | 14 ++-- mlprec/impl/level/mld_z_base_onelev_dump.f90 | 14 ++-- mlprec/impl/mld_c_hierarchy_bld.f90 | 4 +- mlprec/impl/mld_cmlprec_aply.f90 | 71 ++++++++++---------- mlprec/impl/mld_d_hierarchy_bld.f90 | 4 +- mlprec/impl/mld_dmlprec_aply.f90 | 71 ++++++++++---------- mlprec/impl/mld_s_hierarchy_bld.f90 | 4 +- mlprec/impl/mld_smlprec_aply.f90 | 71 ++++++++++---------- mlprec/impl/mld_z_hierarchy_bld.f90 | 4 +- mlprec/impl/mld_zmlprec_aply.f90 | 71 ++++++++++---------- mlprec/mld_c_prec_type.f90 | 8 +-- mlprec/mld_d_prec_type.f90 | 8 +-- mlprec/mld_s_prec_type.f90 | 8 +-- mlprec/mld_z_prec_type.f90 | 8 +-- 18 files changed, 197 insertions(+), 229 deletions(-) delete mode 100755 mkdir.sh diff --git a/Makefile b/Makefile index ed0992cf..cee4e8db 100644 --- a/Makefile +++ b/Makefile @@ -16,21 +16,21 @@ mlp: cd mlprec && $(MAKE) all install: all - $(SHELL) ./mkdir.sh $(INSTALL_LIBDIR) &&\ + mkdir -p $(INSTALL_LIBDIR) &&\ $(INSTALL_DATA) lib/*.a $(INSTALL_LIBDIR) - $(SHELL) ./mkdir.sh $(INSTALL_INCLUDEDIR) &&\ + mkdir -p $(INSTALL_INCLUDEDIR) &&\ $(INSTALL_DATA) Make.inc $(INSTALL_INCLUDEDIR)/Make.inc.mld2p4 - $(SHELL) ./mkdir.sh $(INSTALL_INCLUDEDIR) && \ + mkdir -p $(INSTALL_INCLUDEDIR) && \ $(INSTALL_DATA) include/*.h $(INSTALL_INCLUDEDIR) - $(SHELL) ./mkdir.sh $(INSTALL_MODULESDIR) && \ + mkdir -p $(INSTALL_MODULESDIR) && \ $(INSTALL_DATA) modules/*$(.mod) $(INSTALL_MODULESDIR) - $(SHELL) ./mkdir.sh $(INSTALL_DOCSDIR) && \ + mkdir -p $(INSTALL_DOCSDIR) && \ /bin/cp -fr docs/*pdf docs/html $(INSTALL_DOCSDIR) - $(SHELL) ./mkdir.sh $(INSTALL_DOCSDIR) && \ + mkdir -p $(INSTALL_DOCSDIR) && \ $(INSTALL_DATA) README LICENSE $(INSTALL_DOCSDIR) - $(SHELL) ./mkdir.sh $(INSTALL_SAMPLESDIR) && \ - ./mkdir.sh $(INSTALL_SAMPLESDIR)/simple &&\ - ./mkdir.sh $(INSTALL_SAMPLESDIR)/advanced && \ + mkdir -p $(INSTALL_SAMPLESDIR) && \ + mkdir -p $(INSTALL_SAMPLESDIR)/simple &&\ + mkdir -p $(INSTALL_SAMPLESDIR)/advanced && \ (cd examples; /bin/cp -fr pdegen fileread $(INSTALL_SAMPLESDIR)/simple ) && \ (cd tests; /bin/cp -fr pdegen fileread $(INSTALL_SAMPLESDIR)/advanced ) cleanlib: diff --git a/mkdir.sh b/mkdir.sh deleted file mode 100755 index 0a9820ea..00000000 --- a/mkdir.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -dir=$1; - -dir_cmp=`echo $dir | sed 's./. /.g'` -if [ ! -d $dir ] -then - path='' - for cmp in $dir_cmp ; do - path="$path$cmp"; - if [ ! -d $path ] ; then - mkdir $path; rc=$?; - if [ $rc != 0 ] ; then - echo "Error while making directory $path " - exit 1 - fi - fi - done -fi - \ No newline at end of file diff --git a/mlprec/impl/level/mld_c_base_onelev_dump.f90 b/mlprec/impl/level/mld_c_base_onelev_dump.f90 index 1fa45bb2..3982f61b 100644 --- a/mlprec/impl/level/mld_c_base_onelev_dump.f90 +++ b/mlprec/impl/level/mld_c_base_onelev_dump.f90 @@ -102,17 +102,17 @@ subroutine mld_c_base_onelev_dump(lv,level,info,prefix,head,ac,rp,& call lv%ac%print(fname,head=head,iv=ivr) end if if (rp_) then - ivr = lv%map%p_desc_X%get_global_indices(owned=.false.) - ivc = lv%map%p_desc_Y%get_global_indices(owned=.false.) + ivr = lv%map%p_desc_U%get_global_indices(owned=.false.) + ivc = lv%map%p_desc_V%get_global_indices(owned=.false.) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_r.mtx' - call lv%map%map_X2Y%print(fname,head=head,ivr=ivc,ivc=ivr) + call lv%map%mat_U2V%print(fname,head=head,ivr=ivc,ivc=ivr) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_p.mtx' - call lv%map%map_Y2X%print(fname,head=head,ivr=ivr,ivc=ivc) + call lv%map%mat_V2U%print(fname,head=head,ivr=ivr,ivc=ivc) end if if (tprol_) then ! Tentative prolongator is stored with column indices already ! in global numbering, so only IVR is needed. - ivr = lv%map%p_desc_X%get_global_indices(owned=.false.) + ivr = lv%map%p_desc_U%get_global_indices(owned=.false.) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx' ! ! This is not implemented yet. @@ -127,9 +127,9 @@ subroutine mld_c_base_onelev_dump(lv,level,info,prefix,head,ac,rp,& end if if (rp_) then write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_r.mtx' - call lv%map%map_X2Y%print(fname,head=head) + call lv%map%mat_U2V%print(fname,head=head) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_p.mtx' - call lv%map%map_Y2X%print(fname,head=head) + call lv%map%mat_V2U%print(fname,head=head) end if if (tprol_) then write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx' diff --git a/mlprec/impl/level/mld_d_base_onelev_dump.f90 b/mlprec/impl/level/mld_d_base_onelev_dump.f90 index 5522de4e..e77a2705 100644 --- a/mlprec/impl/level/mld_d_base_onelev_dump.f90 +++ b/mlprec/impl/level/mld_d_base_onelev_dump.f90 @@ -102,17 +102,17 @@ subroutine mld_d_base_onelev_dump(lv,level,info,prefix,head,ac,rp,& call lv%ac%print(fname,head=head,iv=ivr) end if if (rp_) then - ivr = lv%map%p_desc_X%get_global_indices(owned=.false.) - ivc = lv%map%p_desc_Y%get_global_indices(owned=.false.) + ivr = lv%map%p_desc_U%get_global_indices(owned=.false.) + ivc = lv%map%p_desc_V%get_global_indices(owned=.false.) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_r.mtx' - call lv%map%map_X2Y%print(fname,head=head,ivr=ivc,ivc=ivr) + call lv%map%mat_U2V%print(fname,head=head,ivr=ivc,ivc=ivr) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_p.mtx' - call lv%map%map_Y2X%print(fname,head=head,ivr=ivr,ivc=ivc) + call lv%map%mat_V2U%print(fname,head=head,ivr=ivr,ivc=ivc) end if if (tprol_) then ! Tentative prolongator is stored with column indices already ! in global numbering, so only IVR is needed. - ivr = lv%map%p_desc_X%get_global_indices(owned=.false.) + ivr = lv%map%p_desc_U%get_global_indices(owned=.false.) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx' ! ! This is not implemented yet. @@ -127,9 +127,9 @@ subroutine mld_d_base_onelev_dump(lv,level,info,prefix,head,ac,rp,& end if if (rp_) then write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_r.mtx' - call lv%map%map_X2Y%print(fname,head=head) + call lv%map%mat_U2V%print(fname,head=head) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_p.mtx' - call lv%map%map_Y2X%print(fname,head=head) + call lv%map%mat_V2U%print(fname,head=head) end if if (tprol_) then write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx' diff --git a/mlprec/impl/level/mld_s_base_onelev_dump.f90 b/mlprec/impl/level/mld_s_base_onelev_dump.f90 index 08792813..53778479 100644 --- a/mlprec/impl/level/mld_s_base_onelev_dump.f90 +++ b/mlprec/impl/level/mld_s_base_onelev_dump.f90 @@ -102,17 +102,17 @@ subroutine mld_s_base_onelev_dump(lv,level,info,prefix,head,ac,rp,& call lv%ac%print(fname,head=head,iv=ivr) end if if (rp_) then - ivr = lv%map%p_desc_X%get_global_indices(owned=.false.) - ivc = lv%map%p_desc_Y%get_global_indices(owned=.false.) + ivr = lv%map%p_desc_U%get_global_indices(owned=.false.) + ivc = lv%map%p_desc_V%get_global_indices(owned=.false.) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_r.mtx' - call lv%map%map_X2Y%print(fname,head=head,ivr=ivc,ivc=ivr) + call lv%map%mat_U2V%print(fname,head=head,ivr=ivc,ivc=ivr) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_p.mtx' - call lv%map%map_Y2X%print(fname,head=head,ivr=ivr,ivc=ivc) + call lv%map%mat_V2U%print(fname,head=head,ivr=ivr,ivc=ivc) end if if (tprol_) then ! Tentative prolongator is stored with column indices already ! in global numbering, so only IVR is needed. - ivr = lv%map%p_desc_X%get_global_indices(owned=.false.) + ivr = lv%map%p_desc_U%get_global_indices(owned=.false.) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx' ! ! This is not implemented yet. @@ -127,9 +127,9 @@ subroutine mld_s_base_onelev_dump(lv,level,info,prefix,head,ac,rp,& end if if (rp_) then write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_r.mtx' - call lv%map%map_X2Y%print(fname,head=head) + call lv%map%mat_U2V%print(fname,head=head) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_p.mtx' - call lv%map%map_Y2X%print(fname,head=head) + call lv%map%mat_V2U%print(fname,head=head) end if if (tprol_) then write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx' diff --git a/mlprec/impl/level/mld_z_base_onelev_dump.f90 b/mlprec/impl/level/mld_z_base_onelev_dump.f90 index 8e96b373..b2f5e6d7 100644 --- a/mlprec/impl/level/mld_z_base_onelev_dump.f90 +++ b/mlprec/impl/level/mld_z_base_onelev_dump.f90 @@ -102,17 +102,17 @@ subroutine mld_z_base_onelev_dump(lv,level,info,prefix,head,ac,rp,& call lv%ac%print(fname,head=head,iv=ivr) end if if (rp_) then - ivr = lv%map%p_desc_X%get_global_indices(owned=.false.) - ivc = lv%map%p_desc_Y%get_global_indices(owned=.false.) + ivr = lv%map%p_desc_U%get_global_indices(owned=.false.) + ivc = lv%map%p_desc_V%get_global_indices(owned=.false.) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_r.mtx' - call lv%map%map_X2Y%print(fname,head=head,ivr=ivc,ivc=ivr) + call lv%map%mat_U2V%print(fname,head=head,ivr=ivc,ivc=ivr) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_p.mtx' - call lv%map%map_Y2X%print(fname,head=head,ivr=ivr,ivc=ivc) + call lv%map%mat_V2U%print(fname,head=head,ivr=ivr,ivc=ivc) end if if (tprol_) then ! Tentative prolongator is stored with column indices already ! in global numbering, so only IVR is needed. - ivr = lv%map%p_desc_X%get_global_indices(owned=.false.) + ivr = lv%map%p_desc_U%get_global_indices(owned=.false.) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx' ! ! This is not implemented yet. @@ -127,9 +127,9 @@ subroutine mld_z_base_onelev_dump(lv,level,info,prefix,head,ac,rp,& end if if (rp_) then write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_r.mtx' - call lv%map%map_X2Y%print(fname,head=head) + call lv%map%mat_U2V%print(fname,head=head) write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_p.mtx' - call lv%map%map_Y2X%print(fname,head=head) + call lv%map%mat_V2U%print(fname,head=head) end if if (tprol_) then write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx' diff --git a/mlprec/impl/mld_c_hierarchy_bld.f90 b/mlprec/impl/mld_c_hierarchy_bld.f90 index a16dd024..bbe76cbd 100644 --- a/mlprec/impl/mld_c_hierarchy_bld.f90 +++ b/mlprec/impl/mld_c_hierarchy_bld.f90 @@ -441,8 +441,8 @@ subroutine mld_c_hierarchy_bld(a,desc_a,prec,info) do i=2, iszv prec%precv(i)%base_a => prec%precv(i)%ac prec%precv(i)%base_desc => prec%precv(i)%desc_ac - prec%precv(i)%map%p_desc_X => prec%precv(i-1)%base_desc - prec%precv(i)%map%p_desc_Y => prec%precv(i)%base_desc + prec%precv(i)%map%p_desc_U => prec%precv(i-1)%base_desc + prec%precv(i)%map%p_desc_V => prec%precv(i)%base_desc end do end if diff --git a/mlprec/impl/mld_cmlprec_aply.f90 b/mlprec/impl/mld_cmlprec_aply.f90 index 13bc063e..99d31691 100644 --- a/mlprec/impl/mld_cmlprec_aply.f90 +++ b/mlprec/impl/mld_cmlprec_aply.f90 @@ -520,9 +520,9 @@ contains if (level < nlev) then ! Apply the restriction - call psb_map_X2Y(cone,vx2l,& + call p%precv(level+1)%map%map_U2V(cone,vx2l,& & czero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + & info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -540,9 +540,9 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(cone,p%precv(level+1)%wrk%vy2l,& - & cone,vy2l,& - & p%precv(level+1)%map,info,work=work,& + call p%precv(level+1)%map%map_V2U(cone,& + & p%precv(level+1)%wrk%vy2l, cone,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -653,9 +653,9 @@ contains & a_err='Error during residue') goto 9999 end if - call psb_map_X2Y(cone,vty,& + call p%precv(level+1)%map%map_U2V(cone,vty,& & czero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + & info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -664,9 +664,9 @@ contains end if else ! Shortcut: just transfer x2l. - call psb_map_X2Y(cone,vx2l,& + call p%precv(level+1)%map%map_U2V(cone,vx2l,& & czero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + & info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -680,9 +680,9 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(cone,p%precv(level+1)%wrk%vy2l,& - & cone,vy2l,& - & p%precv(level+1)%map,info,work=work,& + call p%precv(level+1)%map%map_V2U(cone,& + & p%precv(level+1)%wrk%vy2l,cone,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -697,9 +697,9 @@ contains if (info == psb_success_) call psb_spmm(-cone,base_a,& & vy2l,cone,vty,& & base_desc,info,work=work,trans=trans) - if (info == psb_success_) call psb_map_X2Y(cone,vty,& - & czero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + if (info == psb_success_) & + & call p%precv(level+1)%map%map_U2V(cone,vty,& + & czero,p%precv(level+1)%wrk%vx2l,info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -709,9 +709,9 @@ contains call inner_ml_aply(level+1,p,trans,work,info) - if (info == psb_success_) call psb_map_Y2X(cone,p%precv(level+1)%wrk%vy2l,& - & cone,vy2l,& - & p%precv(level+1)%map,info,work=work,& + if (info == psb_success_) call p%precv(level+1)%map%map_V2U(cone, & + & p%precv(level+1)%wrk%vy2l,cone,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then @@ -889,9 +889,9 @@ contains end if ! Apply the restriction - call psb_map_X2Y(cone,vty,& + call p%precv(level + 1)%map%map_U2V(cone,vty,& & czero,p%precv(level + 1)%wrk%vx2l,& - & p%precv(level + 1)%map,info,work=work,& + &info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then @@ -925,9 +925,9 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(cone,p%precv(level+1)%wrk%vy2l,& - & cone,vy2l,& - & p%precv(level+1)%map,info,work=work,& + call p%precv(level+1)%map%map_V2U(cone,& + & p%precv(level+1)%wrk%vy2l,cone,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then @@ -1415,9 +1415,9 @@ contains if (level < nlev) then ! Apply the restriction - call psb_map_X2Y(cone,mlwrk(level)%x2l,& + call p%precv(level+1)%map%map_U2V(cone,mlwrk(level)%x2l,& & czero,mlwrk(level+1)%x2l,& - & p%precv(level+1)%map,info,work=work) + & info,work=work) mlwrk(level+1)%y2l(:) = czero if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -1435,9 +1435,9 @@ contains ! ! Apply the prolongator and add correction. ! - call psb_map_Y2X(cone,mlwrk(level+1)%y2l,& - & cone,mlwrk(level)%y2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_V2U(cone,& + & mlwrk(level+1)%y2l,cone,mlwrk(level)%y2l,& + & info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during prolongation') @@ -1555,9 +1555,8 @@ contains & a_err='Error during residue') goto 9999 end if - call psb_map_X2Y(cone,mlwrk(level)%ty,& - & czero,mlwrk(level+1)%x2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_U2V(cone,mlwrk(level)%ty,& + & czero,mlwrk(level+1)%x2l,info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during restriction') @@ -1565,9 +1564,8 @@ contains end if else ! Shortcut: just transfer x2l. - call psb_map_X2Y(cone,mlwrk(level)%x2l,& - & czero,mlwrk(level+1)%x2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_U2V(cone,mlwrk(level)%x2l,& + & czero,mlwrk(level+1)%x2l,info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during restriction') @@ -1595,9 +1593,8 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(cone,mlwrk(level+1)%y2l,& - & cone,mlwrk(level)%y2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_V2U(cone,mlwrk(level+1)%y2l,& + & cone,mlwrk(level)%y2l,info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during prolongation') diff --git a/mlprec/impl/mld_d_hierarchy_bld.f90 b/mlprec/impl/mld_d_hierarchy_bld.f90 index 57cbfc05..5de53b30 100644 --- a/mlprec/impl/mld_d_hierarchy_bld.f90 +++ b/mlprec/impl/mld_d_hierarchy_bld.f90 @@ -441,8 +441,8 @@ subroutine mld_d_hierarchy_bld(a,desc_a,prec,info) do i=2, iszv prec%precv(i)%base_a => prec%precv(i)%ac prec%precv(i)%base_desc => prec%precv(i)%desc_ac - prec%precv(i)%map%p_desc_X => prec%precv(i-1)%base_desc - prec%precv(i)%map%p_desc_Y => prec%precv(i)%base_desc + prec%precv(i)%map%p_desc_U => prec%precv(i-1)%base_desc + prec%precv(i)%map%p_desc_V => prec%precv(i)%base_desc end do end if diff --git a/mlprec/impl/mld_dmlprec_aply.f90 b/mlprec/impl/mld_dmlprec_aply.f90 index 488712fd..753c83b9 100644 --- a/mlprec/impl/mld_dmlprec_aply.f90 +++ b/mlprec/impl/mld_dmlprec_aply.f90 @@ -520,9 +520,9 @@ contains if (level < nlev) then ! Apply the restriction - call psb_map_X2Y(done,vx2l,& + call p%precv(level+1)%map%map_U2V(done,vx2l,& & dzero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + & info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -540,9 +540,9 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(done,p%precv(level+1)%wrk%vy2l,& - & done,vy2l,& - & p%precv(level+1)%map,info,work=work,& + call p%precv(level+1)%map%map_V2U(done,& + & p%precv(level+1)%wrk%vy2l, done,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -653,9 +653,9 @@ contains & a_err='Error during residue') goto 9999 end if - call psb_map_X2Y(done,vty,& + call p%precv(level+1)%map%map_U2V(done,vty,& & dzero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + & info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -664,9 +664,9 @@ contains end if else ! Shortcut: just transfer x2l. - call psb_map_X2Y(done,vx2l,& + call p%precv(level+1)%map%map_U2V(done,vx2l,& & dzero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + & info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -680,9 +680,9 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(done,p%precv(level+1)%wrk%vy2l,& - & done,vy2l,& - & p%precv(level+1)%map,info,work=work,& + call p%precv(level+1)%map%map_V2U(done,& + & p%precv(level+1)%wrk%vy2l,done,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -697,9 +697,9 @@ contains if (info == psb_success_) call psb_spmm(-done,base_a,& & vy2l,done,vty,& & base_desc,info,work=work,trans=trans) - if (info == psb_success_) call psb_map_X2Y(done,vty,& - & dzero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + if (info == psb_success_) & + & call p%precv(level+1)%map%map_U2V(done,vty,& + & dzero,p%precv(level+1)%wrk%vx2l,info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -709,9 +709,9 @@ contains call inner_ml_aply(level+1,p,trans,work,info) - if (info == psb_success_) call psb_map_Y2X(done,p%precv(level+1)%wrk%vy2l,& - & done,vy2l,& - & p%precv(level+1)%map,info,work=work,& + if (info == psb_success_) call p%precv(level+1)%map%map_V2U(done, & + & p%precv(level+1)%wrk%vy2l,done,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then @@ -889,9 +889,9 @@ contains end if ! Apply the restriction - call psb_map_X2Y(done,vty,& + call p%precv(level + 1)%map%map_U2V(done,vty,& & dzero,p%precv(level + 1)%wrk%vx2l,& - & p%precv(level + 1)%map,info,work=work,& + &info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then @@ -925,9 +925,9 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(done,p%precv(level+1)%wrk%vy2l,& - & done,vy2l,& - & p%precv(level+1)%map,info,work=work,& + call p%precv(level+1)%map%map_V2U(done,& + & p%precv(level+1)%wrk%vy2l,done,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then @@ -1415,9 +1415,9 @@ contains if (level < nlev) then ! Apply the restriction - call psb_map_X2Y(done,mlwrk(level)%x2l,& + call p%precv(level+1)%map%map_U2V(done,mlwrk(level)%x2l,& & dzero,mlwrk(level+1)%x2l,& - & p%precv(level+1)%map,info,work=work) + & info,work=work) mlwrk(level+1)%y2l(:) = dzero if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -1435,9 +1435,9 @@ contains ! ! Apply the prolongator and add correction. ! - call psb_map_Y2X(done,mlwrk(level+1)%y2l,& - & done,mlwrk(level)%y2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_V2U(done,& + & mlwrk(level+1)%y2l,done,mlwrk(level)%y2l,& + & info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during prolongation') @@ -1555,9 +1555,8 @@ contains & a_err='Error during residue') goto 9999 end if - call psb_map_X2Y(done,mlwrk(level)%ty,& - & dzero,mlwrk(level+1)%x2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_U2V(done,mlwrk(level)%ty,& + & dzero,mlwrk(level+1)%x2l,info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during restriction') @@ -1565,9 +1564,8 @@ contains end if else ! Shortcut: just transfer x2l. - call psb_map_X2Y(done,mlwrk(level)%x2l,& - & dzero,mlwrk(level+1)%x2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_U2V(done,mlwrk(level)%x2l,& + & dzero,mlwrk(level+1)%x2l,info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during restriction') @@ -1595,9 +1593,8 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(done,mlwrk(level+1)%y2l,& - & done,mlwrk(level)%y2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_V2U(done,mlwrk(level+1)%y2l,& + & done,mlwrk(level)%y2l,info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during prolongation') diff --git a/mlprec/impl/mld_s_hierarchy_bld.f90 b/mlprec/impl/mld_s_hierarchy_bld.f90 index f25fc9c5..d54271f4 100644 --- a/mlprec/impl/mld_s_hierarchy_bld.f90 +++ b/mlprec/impl/mld_s_hierarchy_bld.f90 @@ -441,8 +441,8 @@ subroutine mld_s_hierarchy_bld(a,desc_a,prec,info) do i=2, iszv prec%precv(i)%base_a => prec%precv(i)%ac prec%precv(i)%base_desc => prec%precv(i)%desc_ac - prec%precv(i)%map%p_desc_X => prec%precv(i-1)%base_desc - prec%precv(i)%map%p_desc_Y => prec%precv(i)%base_desc + prec%precv(i)%map%p_desc_U => prec%precv(i-1)%base_desc + prec%precv(i)%map%p_desc_V => prec%precv(i)%base_desc end do end if diff --git a/mlprec/impl/mld_smlprec_aply.f90 b/mlprec/impl/mld_smlprec_aply.f90 index ed5cf037..cb51f56d 100644 --- a/mlprec/impl/mld_smlprec_aply.f90 +++ b/mlprec/impl/mld_smlprec_aply.f90 @@ -520,9 +520,9 @@ contains if (level < nlev) then ! Apply the restriction - call psb_map_X2Y(sone,vx2l,& + call p%precv(level+1)%map%map_U2V(sone,vx2l,& & szero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + & info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -540,9 +540,9 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(sone,p%precv(level+1)%wrk%vy2l,& - & sone,vy2l,& - & p%precv(level+1)%map,info,work=work,& + call p%precv(level+1)%map%map_V2U(sone,& + & p%precv(level+1)%wrk%vy2l, sone,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -653,9 +653,9 @@ contains & a_err='Error during residue') goto 9999 end if - call psb_map_X2Y(sone,vty,& + call p%precv(level+1)%map%map_U2V(sone,vty,& & szero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + & info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -664,9 +664,9 @@ contains end if else ! Shortcut: just transfer x2l. - call psb_map_X2Y(sone,vx2l,& + call p%precv(level+1)%map%map_U2V(sone,vx2l,& & szero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + & info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -680,9 +680,9 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(sone,p%precv(level+1)%wrk%vy2l,& - & sone,vy2l,& - & p%precv(level+1)%map,info,work=work,& + call p%precv(level+1)%map%map_V2U(sone,& + & p%precv(level+1)%wrk%vy2l,sone,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -697,9 +697,9 @@ contains if (info == psb_success_) call psb_spmm(-sone,base_a,& & vy2l,sone,vty,& & base_desc,info,work=work,trans=trans) - if (info == psb_success_) call psb_map_X2Y(sone,vty,& - & szero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + if (info == psb_success_) & + & call p%precv(level+1)%map%map_U2V(sone,vty,& + & szero,p%precv(level+1)%wrk%vx2l,info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -709,9 +709,9 @@ contains call inner_ml_aply(level+1,p,trans,work,info) - if (info == psb_success_) call psb_map_Y2X(sone,p%precv(level+1)%wrk%vy2l,& - & sone,vy2l,& - & p%precv(level+1)%map,info,work=work,& + if (info == psb_success_) call p%precv(level+1)%map%map_V2U(sone, & + & p%precv(level+1)%wrk%vy2l,sone,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then @@ -889,9 +889,9 @@ contains end if ! Apply the restriction - call psb_map_X2Y(sone,vty,& + call p%precv(level + 1)%map%map_U2V(sone,vty,& & szero,p%precv(level + 1)%wrk%vx2l,& - & p%precv(level + 1)%map,info,work=work,& + &info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then @@ -925,9 +925,9 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(sone,p%precv(level+1)%wrk%vy2l,& - & sone,vy2l,& - & p%precv(level+1)%map,info,work=work,& + call p%precv(level+1)%map%map_V2U(sone,& + & p%precv(level+1)%wrk%vy2l,sone,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then @@ -1415,9 +1415,9 @@ contains if (level < nlev) then ! Apply the restriction - call psb_map_X2Y(sone,mlwrk(level)%x2l,& + call p%precv(level+1)%map%map_U2V(sone,mlwrk(level)%x2l,& & szero,mlwrk(level+1)%x2l,& - & p%precv(level+1)%map,info,work=work) + & info,work=work) mlwrk(level+1)%y2l(:) = szero if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -1435,9 +1435,9 @@ contains ! ! Apply the prolongator and add correction. ! - call psb_map_Y2X(sone,mlwrk(level+1)%y2l,& - & sone,mlwrk(level)%y2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_V2U(sone,& + & mlwrk(level+1)%y2l,sone,mlwrk(level)%y2l,& + & info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during prolongation') @@ -1555,9 +1555,8 @@ contains & a_err='Error during residue') goto 9999 end if - call psb_map_X2Y(sone,mlwrk(level)%ty,& - & szero,mlwrk(level+1)%x2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_U2V(sone,mlwrk(level)%ty,& + & szero,mlwrk(level+1)%x2l,info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during restriction') @@ -1565,9 +1564,8 @@ contains end if else ! Shortcut: just transfer x2l. - call psb_map_X2Y(sone,mlwrk(level)%x2l,& - & szero,mlwrk(level+1)%x2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_U2V(sone,mlwrk(level)%x2l,& + & szero,mlwrk(level+1)%x2l,info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during restriction') @@ -1595,9 +1593,8 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(sone,mlwrk(level+1)%y2l,& - & sone,mlwrk(level)%y2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_V2U(sone,mlwrk(level+1)%y2l,& + & sone,mlwrk(level)%y2l,info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during prolongation') diff --git a/mlprec/impl/mld_z_hierarchy_bld.f90 b/mlprec/impl/mld_z_hierarchy_bld.f90 index 40d0b2ec..3d6cb52a 100644 --- a/mlprec/impl/mld_z_hierarchy_bld.f90 +++ b/mlprec/impl/mld_z_hierarchy_bld.f90 @@ -441,8 +441,8 @@ subroutine mld_z_hierarchy_bld(a,desc_a,prec,info) do i=2, iszv prec%precv(i)%base_a => prec%precv(i)%ac prec%precv(i)%base_desc => prec%precv(i)%desc_ac - prec%precv(i)%map%p_desc_X => prec%precv(i-1)%base_desc - prec%precv(i)%map%p_desc_Y => prec%precv(i)%base_desc + prec%precv(i)%map%p_desc_U => prec%precv(i-1)%base_desc + prec%precv(i)%map%p_desc_V => prec%precv(i)%base_desc end do end if diff --git a/mlprec/impl/mld_zmlprec_aply.f90 b/mlprec/impl/mld_zmlprec_aply.f90 index 3eefd665..ed2fb88d 100644 --- a/mlprec/impl/mld_zmlprec_aply.f90 +++ b/mlprec/impl/mld_zmlprec_aply.f90 @@ -520,9 +520,9 @@ contains if (level < nlev) then ! Apply the restriction - call psb_map_X2Y(zone,vx2l,& + call p%precv(level+1)%map%map_U2V(zone,vx2l,& & zzero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + & info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -540,9 +540,9 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(zone,p%precv(level+1)%wrk%vy2l,& - & zone,vy2l,& - & p%precv(level+1)%map,info,work=work,& + call p%precv(level+1)%map%map_V2U(zone,& + & p%precv(level+1)%wrk%vy2l, zone,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -653,9 +653,9 @@ contains & a_err='Error during residue') goto 9999 end if - call psb_map_X2Y(zone,vty,& + call p%precv(level+1)%map%map_U2V(zone,vty,& & zzero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + & info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -664,9 +664,9 @@ contains end if else ! Shortcut: just transfer x2l. - call psb_map_X2Y(zone,vx2l,& + call p%precv(level+1)%map%map_U2V(zone,vx2l,& & zzero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + & info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -680,9 +680,9 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(zone,p%precv(level+1)%wrk%vy2l,& - & zone,vy2l,& - & p%precv(level+1)%map,info,work=work,& + call p%precv(level+1)%map%map_V2U(zone,& + & p%precv(level+1)%wrk%vy2l,zone,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -697,9 +697,9 @@ contains if (info == psb_success_) call psb_spmm(-zone,base_a,& & vy2l,zone,vty,& & base_desc,info,work=work,trans=trans) - if (info == psb_success_) call psb_map_X2Y(zone,vty,& - & zzero,p%precv(level+1)%wrk%vx2l,& - & p%precv(level+1)%map,info,work=work,& + if (info == psb_success_) & + & call p%precv(level+1)%map%map_U2V(zone,vty,& + & zzero,p%precv(level+1)%wrk%vx2l,info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -709,9 +709,9 @@ contains call inner_ml_aply(level+1,p,trans,work,info) - if (info == psb_success_) call psb_map_Y2X(zone,p%precv(level+1)%wrk%vy2l,& - & zone,vy2l,& - & p%precv(level+1)%map,info,work=work,& + if (info == psb_success_) call p%precv(level+1)%map%map_V2U(zone, & + & p%precv(level+1)%wrk%vy2l,zone,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then @@ -889,9 +889,9 @@ contains end if ! Apply the restriction - call psb_map_X2Y(zone,vty,& + call p%precv(level + 1)%map%map_U2V(zone,vty,& & zzero,p%precv(level + 1)%wrk%vx2l,& - & p%precv(level + 1)%map,info,work=work,& + &info,work=work,& & vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1)) if (info /= psb_success_) then @@ -925,9 +925,9 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(zone,p%precv(level+1)%wrk%vy2l,& - & zone,vy2l,& - & p%precv(level+1)%map,info,work=work,& + call p%precv(level+1)%map%map_V2U(zone,& + & p%precv(level+1)%wrk%vy2l,zone,vy2l,& + & info,work=work,& & vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1)) if (info /= psb_success_) then @@ -1415,9 +1415,9 @@ contains if (level < nlev) then ! Apply the restriction - call psb_map_X2Y(zone,mlwrk(level)%x2l,& + call p%precv(level+1)%map%map_U2V(zone,mlwrk(level)%x2l,& & zzero,mlwrk(level+1)%x2l,& - & p%precv(level+1)%map,info,work=work) + & info,work=work) mlwrk(level+1)%y2l(:) = zzero if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& @@ -1435,9 +1435,9 @@ contains ! ! Apply the prolongator and add correction. ! - call psb_map_Y2X(zone,mlwrk(level+1)%y2l,& - & zone,mlwrk(level)%y2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_V2U(zone,& + & mlwrk(level+1)%y2l,zone,mlwrk(level)%y2l,& + & info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during prolongation') @@ -1555,9 +1555,8 @@ contains & a_err='Error during residue') goto 9999 end if - call psb_map_X2Y(zone,mlwrk(level)%ty,& - & zzero,mlwrk(level+1)%x2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_U2V(zone,mlwrk(level)%ty,& + & zzero,mlwrk(level+1)%x2l,info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during restriction') @@ -1565,9 +1564,8 @@ contains end if else ! Shortcut: just transfer x2l. - call psb_map_X2Y(zone,mlwrk(level)%x2l,& - & zzero,mlwrk(level+1)%x2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_U2V(zone,mlwrk(level)%x2l,& + & zzero,mlwrk(level+1)%x2l,info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during restriction') @@ -1595,9 +1593,8 @@ contains ! ! Apply the prolongator ! - call psb_map_Y2X(zone,mlwrk(level+1)%y2l,& - & zone,mlwrk(level)%y2l,& - & p%precv(level+1)%map,info,work=work) + call p%precv(level+1)%map%map_V2U(zone,mlwrk(level+1)%y2l,& + & zone,mlwrk(level)%y2l,info,work=work) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,& & a_err='Error during prolongation') diff --git a/mlprec/mld_c_prec_type.f90 b/mlprec/mld_c_prec_type.f90 index 8c848786..17bee31a 100644 --- a/mlprec/mld_c_prec_type.f90 +++ b/mlprec/mld_c_prec_type.f90 @@ -810,8 +810,8 @@ contains if (info == psb_success_) then pout%precv(lev)%base_a => pout%precv(lev)%ac pout%precv(lev)%base_desc => pout%precv(lev)%desc_ac - pout%precv(lev)%map%p_desc_X => pout%precv(lev-1)%base_desc - pout%precv(lev)%map%p_desc_Y => pout%precv(lev)%base_desc + pout%precv(lev)%map%p_desc_U => pout%precv(lev-1)%base_desc + pout%precv(lev)%map%p_desc_V => pout%precv(lev)%base_desc end if end do end if @@ -851,8 +851,8 @@ contains do i=2, size(b%precv) b%precv(i)%base_a => b%precv(i)%ac b%precv(i)%base_desc => b%precv(i)%desc_ac - b%precv(i)%map%p_desc_X => b%precv(i-1)%base_desc - b%precv(i)%map%p_desc_Y => b%precv(i)%base_desc + b%precv(i)%map%p_desc_U => b%precv(i-1)%base_desc + b%precv(i)%map%p_desc_V => b%precv(i)%base_desc end do else diff --git a/mlprec/mld_d_prec_type.f90 b/mlprec/mld_d_prec_type.f90 index b8c96eb5..6ae95835 100644 --- a/mlprec/mld_d_prec_type.f90 +++ b/mlprec/mld_d_prec_type.f90 @@ -810,8 +810,8 @@ contains if (info == psb_success_) then pout%precv(lev)%base_a => pout%precv(lev)%ac pout%precv(lev)%base_desc => pout%precv(lev)%desc_ac - pout%precv(lev)%map%p_desc_X => pout%precv(lev-1)%base_desc - pout%precv(lev)%map%p_desc_Y => pout%precv(lev)%base_desc + pout%precv(lev)%map%p_desc_U => pout%precv(lev-1)%base_desc + pout%precv(lev)%map%p_desc_V => pout%precv(lev)%base_desc end if end do end if @@ -851,8 +851,8 @@ contains do i=2, size(b%precv) b%precv(i)%base_a => b%precv(i)%ac b%precv(i)%base_desc => b%precv(i)%desc_ac - b%precv(i)%map%p_desc_X => b%precv(i-1)%base_desc - b%precv(i)%map%p_desc_Y => b%precv(i)%base_desc + b%precv(i)%map%p_desc_U => b%precv(i-1)%base_desc + b%precv(i)%map%p_desc_V => b%precv(i)%base_desc end do else diff --git a/mlprec/mld_s_prec_type.f90 b/mlprec/mld_s_prec_type.f90 index d9a15d36..0e0fed32 100644 --- a/mlprec/mld_s_prec_type.f90 +++ b/mlprec/mld_s_prec_type.f90 @@ -810,8 +810,8 @@ contains if (info == psb_success_) then pout%precv(lev)%base_a => pout%precv(lev)%ac pout%precv(lev)%base_desc => pout%precv(lev)%desc_ac - pout%precv(lev)%map%p_desc_X => pout%precv(lev-1)%base_desc - pout%precv(lev)%map%p_desc_Y => pout%precv(lev)%base_desc + pout%precv(lev)%map%p_desc_U => pout%precv(lev-1)%base_desc + pout%precv(lev)%map%p_desc_V => pout%precv(lev)%base_desc end if end do end if @@ -851,8 +851,8 @@ contains do i=2, size(b%precv) b%precv(i)%base_a => b%precv(i)%ac b%precv(i)%base_desc => b%precv(i)%desc_ac - b%precv(i)%map%p_desc_X => b%precv(i-1)%base_desc - b%precv(i)%map%p_desc_Y => b%precv(i)%base_desc + b%precv(i)%map%p_desc_U => b%precv(i-1)%base_desc + b%precv(i)%map%p_desc_V => b%precv(i)%base_desc end do else diff --git a/mlprec/mld_z_prec_type.f90 b/mlprec/mld_z_prec_type.f90 index 8f9a2877..8e948d86 100644 --- a/mlprec/mld_z_prec_type.f90 +++ b/mlprec/mld_z_prec_type.f90 @@ -810,8 +810,8 @@ contains if (info == psb_success_) then pout%precv(lev)%base_a => pout%precv(lev)%ac pout%precv(lev)%base_desc => pout%precv(lev)%desc_ac - pout%precv(lev)%map%p_desc_X => pout%precv(lev-1)%base_desc - pout%precv(lev)%map%p_desc_Y => pout%precv(lev)%base_desc + pout%precv(lev)%map%p_desc_U => pout%precv(lev-1)%base_desc + pout%precv(lev)%map%p_desc_V => pout%precv(lev)%base_desc end if end do end if @@ -851,8 +851,8 @@ contains do i=2, size(b%precv) b%precv(i)%base_a => b%precv(i)%ac b%precv(i)%base_desc => b%precv(i)%desc_ac - b%precv(i)%map%p_desc_X => b%precv(i-1)%base_desc - b%precv(i)%map%p_desc_Y => b%precv(i)%base_desc + b%precv(i)%map%p_desc_U => b%precv(i-1)%base_desc + b%precv(i)%map%p_desc_V => b%precv(i)%base_desc end do else