mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 22:55:12 +00:00
Merge MLD stuf. Phase 1.
This commit is contained in:
@@ -7,23 +7,23 @@ HERE=.
|
||||
FINCLUDES=$(FMFLAG)$(LIBDIR) $(FMFLAG).
|
||||
|
||||
|
||||
MODOBJS= psb_prec_type.o psb_prec_mod.o
|
||||
MPFOBJS=psb_dbldaggrmat.o psb_zbldaggrmat.o
|
||||
MPCOBJS=psb_slud_impl.o psb_zslud_impl.o
|
||||
F90OBJS=psb_dasmatbld.o psb_dslu_bld.o psb_dumf_bld.o psb_dilu_fct.o\
|
||||
psb_dmlprc_bld.o psb_dsp_renum.o psb_dbjac_bld.o psb_dilu_bld.o \
|
||||
psb_dprecbld.o psb_dprecfree.o psb_dprecinit.o psb_dprecset.o \
|
||||
psb_dbaseprc_bld.o psb_ddiagsc_bld.o psb_dgenaggrmap.o \
|
||||
psb_dprc_aply.o psb_dmlprc_aply.o psb_dslud_bld.o\
|
||||
psb_dbaseprc_aply.o psb_dbjac_aply.o\
|
||||
psb_zasmatbld.o psb_zslu_bld.o psb_zumf_bld.o psb_zilu_fct.o\
|
||||
psb_zmlprc_bld.o psb_zsp_renum.o psb_zbjac_bld.o psb_zilu_bld.o \
|
||||
psb_zprecbld.o psb_zprecfree.o psb_zprecinit.o psb_zprecset.o \
|
||||
psb_zbaseprc_bld.o psb_zdiagsc_bld.o psb_zgenaggrmap.o \
|
||||
psb_zprc_aply.o psb_zmlprc_aply.o psb_zslud_bld.o\
|
||||
psb_zbaseprc_aply.o psb_zbjac_aply.o\
|
||||
MODOBJS=psb_prec_type.o psb_prec_mod.o
|
||||
MPFOBJS=mld_daggrmat_asb.o mld_zaggrmat_asb.o
|
||||
MPCOBJS=mld_slud_impl.o mld_zslud_impl.o
|
||||
F90OBJS=mld_dasmat_bld.o mld_dslu_bld.o mld_dumf_bld.o mld_dilu_fct.o\
|
||||
mld_dmlprec_bld.o mld_dsp_renum.o mld_dbjac_bld.o mld_dilu_bld.o \
|
||||
psb_dprecbld.o psb_dprecfree.o psb_dprecset.o psb_dprecinit.o\
|
||||
mld_dbaseprec_bld.o mld_ddiagsc_bld.o mld_daggrmap_bld.o \
|
||||
mld_dprec_aply.o mld_dmlprec_aply.o mld_dslud_bld.o\
|
||||
mld_dbaseprec_aply.o mld_dbjac_aply.o\
|
||||
mld_zasmat_bld.o mld_zslu_bld.o mld_zumf_bld.o mld_zilu_fct.o\
|
||||
mld_zmlprec_bld.o mld_zsp_renum.o mld_zbjac_bld.o mld_zilu_bld.o \
|
||||
psb_zprecbld.o psb_zprecfree.o psb_zprecset.o psb_zprecinit.o \
|
||||
mld_zbaseprec_bld.o mld_zdiagsc_bld.o mld_zaggrmap_bld.o \
|
||||
mld_zprec_aply.o mld_zmlprec_aply.o mld_zslud_bld.o\
|
||||
mld_zbaseprec_aply.o mld_zbjac_aply.o\
|
||||
$(MPFOBJS)
|
||||
COBJS=psb_slu_impl.o psb_umf_impl.o psb_zslu_impl.o psb_zumf_impl.o
|
||||
COBJS=mld_slu_impl.o mld_umf_impl.o mld_zslu_impl.o mld_zumf_impl.o
|
||||
OBJS=$(F90OBJS) $(COBJS) $(MPFOBJS) $(MPCOBJS) $(MODOBJS)
|
||||
|
||||
LIBMOD=psb_prec_mod$(.mod)
|
||||
|
||||
+2
-2
@@ -102,7 +102,7 @@ subroutine psb_dprecbld(a,desc_a,p,info,upd)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call psb_baseprc_bld(a,desc_a,p%baseprecv(1),info,iupd)
|
||||
call mld_baseprc_bld(a,desc_a,p%baseprecv(1),info,iupd)
|
||||
|
||||
else
|
||||
info=4010
|
||||
@@ -124,7 +124,7 @@ subroutine psb_dprecbld(a,desc_a,p,info,upd)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call psb_mlprc_bld(p%baseprecv(i-1)%base_a,p%baseprecv(i-1)%base_desc,&
|
||||
call mld_mlprec_bld(p%baseprecv(i-1)%base_a,p%baseprecv(i-1)%base_desc,&
|
||||
& p%baseprecv(i),info)
|
||||
if (dump_aggr) then
|
||||
call psb_csprt(90+me,p%baseprecv(i)%base_a,head='% Smoothed aggregate.')
|
||||
|
||||
+11
-6
@@ -37,7 +37,7 @@
|
||||
subroutine psb_dprecinit(p,ptype,info,nlev)
|
||||
|
||||
use psb_base_mod
|
||||
use psb_prec_mod, psb_protect_name => psb_dprecinit
|
||||
use psb_prec_mod, mld_protect_name => psb_dprecinit
|
||||
|
||||
implicit none
|
||||
type(psb_dprec_type), intent(inout) :: p
|
||||
@@ -57,7 +57,7 @@ subroutine psb_dprecinit(p,ptype,info,nlev)
|
||||
endif
|
||||
|
||||
select case(toupper(ptype(1:len_trim(ptype))))
|
||||
case ('NONE','NOPREC')
|
||||
case ('NOPREC')
|
||||
nlev_ = 1
|
||||
ilev_ = 1
|
||||
allocate(p%baseprecv(nlev_),stat=info)
|
||||
@@ -80,6 +80,7 @@ subroutine psb_dprecinit(p,ptype,info,nlev)
|
||||
if (info == 0) call psb_realloc(ifpsz,p%baseprecv(ilev_)%iprcparm,info)
|
||||
if (info == 0) call psb_realloc(dfpsz,p%baseprecv(ilev_)%dprcparm,info)
|
||||
if (info /= 0) return
|
||||
p%baseprecv(ilev_)%iprcparm(:) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(p_type_) = diag_
|
||||
p%baseprecv(ilev_)%iprcparm(f_type_) = f_none_
|
||||
p%baseprecv(ilev_)%iprcparm(restr_) = psb_none_
|
||||
@@ -105,24 +106,25 @@ subroutine psb_dprecinit(p,ptype,info,nlev)
|
||||
p%baseprecv(ilev_)%iprcparm(ilu_fill_in_) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(jac_sweeps_) = 1
|
||||
|
||||
case ('ASM','AS')
|
||||
case ('AS')
|
||||
nlev_ = 1
|
||||
ilev_ = 1
|
||||
allocate(p%baseprecv(nlev_),stat=info)
|
||||
if (info == 0) call psb_realloc(ifpsz,p%baseprecv(ilev_)%iprcparm,info)
|
||||
if (info == 0) call psb_realloc(dfpsz,p%baseprecv(ilev_)%dprcparm,info)
|
||||
if (info /= 0) return
|
||||
p%baseprecv(ilev_)%iprcparm(:) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(p_type_) = asm_
|
||||
p%baseprecv(ilev_)%iprcparm(f_type_) = f_ilu_n_
|
||||
p%baseprecv(ilev_)%iprcparm(restr_) = psb_halo_
|
||||
p%baseprecv(ilev_)%iprcparm(prol_) = psb_none_
|
||||
p%baseprecv(ilev_)%iprcparm(iren_) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(n_ovr_) = 1
|
||||
p%baseprecv(ilev_)%iprcparm(n_ovr_) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(ilu_fill_in_) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(jac_sweeps_) = 1
|
||||
|
||||
|
||||
case ('MLD', 'ML')
|
||||
case ('ML')
|
||||
|
||||
if (present(nlev)) then
|
||||
nlev_ = max(1,nlev)
|
||||
@@ -137,12 +139,13 @@ subroutine psb_dprecinit(p,ptype,info,nlev)
|
||||
if (info == 0) call psb_realloc(ifpsz,p%baseprecv(ilev_)%iprcparm,info)
|
||||
if (info == 0) call psb_realloc(dfpsz,p%baseprecv(ilev_)%dprcparm,info)
|
||||
if (info /= 0) return
|
||||
p%baseprecv(ilev_)%iprcparm(:) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(p_type_) = asm_
|
||||
p%baseprecv(ilev_)%iprcparm(f_type_) = f_ilu_n_
|
||||
p%baseprecv(ilev_)%iprcparm(restr_) = psb_halo_
|
||||
p%baseprecv(ilev_)%iprcparm(prol_) = psb_none_
|
||||
p%baseprecv(ilev_)%iprcparm(iren_) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(n_ovr_) = 1
|
||||
p%baseprecv(ilev_)%iprcparm(n_ovr_) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(ilu_fill_in_) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(jac_sweeps_) = 1
|
||||
if (nlev_ == 1) return
|
||||
@@ -151,6 +154,7 @@ subroutine psb_dprecinit(p,ptype,info,nlev)
|
||||
if (info == 0) call psb_realloc(ifpsz,p%baseprecv(ilev_)%iprcparm,info)
|
||||
if (info == 0) call psb_realloc(dfpsz,p%baseprecv(ilev_)%dprcparm,info)
|
||||
if (info /= 0) return
|
||||
p%baseprecv(ilev_)%iprcparm(:) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(p_type_) = bjac_
|
||||
p%baseprecv(ilev_)%iprcparm(restr_) = psb_none_
|
||||
p%baseprecv(ilev_)%iprcparm(prol_) = psb_none_
|
||||
@@ -171,6 +175,7 @@ subroutine psb_dprecinit(p,ptype,info,nlev)
|
||||
if (info == 0) call psb_realloc(ifpsz,p%baseprecv(ilev_)%iprcparm,info)
|
||||
if (info == 0) call psb_realloc(dfpsz,p%baseprecv(ilev_)%dprcparm,info)
|
||||
if (info /= 0) return
|
||||
p%baseprecv(ilev_)%iprcparm(:) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(p_type_) = bjac_
|
||||
p%baseprecv(ilev_)%iprcparm(restr_) = psb_none_
|
||||
p%baseprecv(ilev_)%iprcparm(prol_) = psb_none_
|
||||
|
||||
+2
-2
@@ -37,7 +37,7 @@
|
||||
subroutine psb_dprecseti(p,what,val,info,ilev)
|
||||
|
||||
use psb_base_mod
|
||||
use psb_prec_mod, psb_protect_name => psb_dprecseti
|
||||
use psb_prec_mod, mld_protect_name => psb_dprecseti
|
||||
|
||||
implicit none
|
||||
type(psb_dprec_type), intent(inout) :: p
|
||||
@@ -99,7 +99,7 @@ end subroutine psb_dprecseti
|
||||
subroutine psb_dprecsetd(p,what,val,info,ilev)
|
||||
|
||||
use psb_base_mod
|
||||
use psb_prec_mod, psb_protect_name => psb_dprecsetd
|
||||
use psb_prec_mod, mld_protect_name => psb_dprecsetd
|
||||
|
||||
implicit none
|
||||
type(psb_dprec_type), intent(inout) :: p
|
||||
|
||||
+88
-88
@@ -138,7 +138,7 @@ module psb_prec_mod
|
||||
end interface
|
||||
|
||||
interface psb_precaply
|
||||
subroutine psb_dprc_aply(prec,x,y,desc_data,info,trans,work)
|
||||
subroutine mld_dprec_aply(prec,x,y,desc_data,info,trans,work)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_desc_type),intent(in) :: desc_data
|
||||
@@ -147,8 +147,8 @@ module psb_prec_mod
|
||||
integer, intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
real(kind(0.d0)),intent(inout), optional, target :: work(:)
|
||||
end subroutine psb_dprc_aply
|
||||
subroutine psb_dprc_aply1(prec,x,desc_data,info,trans)
|
||||
end subroutine mld_dprec_aply
|
||||
subroutine mld_dprec_aply1(prec,x,desc_data,info,trans)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_desc_type),intent(in) :: desc_data
|
||||
@@ -156,8 +156,8 @@ module psb_prec_mod
|
||||
real(kind(0.d0)),intent(inout) :: x(:)
|
||||
integer, intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
end subroutine psb_dprc_aply1
|
||||
subroutine psb_zprc_aply(prec,x,y,desc_data,info,trans,work)
|
||||
end subroutine mld_dprec_aply1
|
||||
subroutine mld_zprec_aply(prec,x,y,desc_data,info,trans,work)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_desc_type),intent(in) :: desc_data
|
||||
@@ -166,8 +166,8 @@ module psb_prec_mod
|
||||
integer, intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
complex(kind(0.d0)),intent(inout), optional, target :: work(:)
|
||||
end subroutine psb_zprc_aply
|
||||
subroutine psb_zprc_aply1(prec,x,desc_data,info,trans)
|
||||
end subroutine mld_zprec_aply
|
||||
subroutine mld_zprec_aply1(prec,x,desc_data,info,trans)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_desc_type),intent(in) :: desc_data
|
||||
@@ -175,11 +175,11 @@ module psb_prec_mod
|
||||
complex(kind(0.d0)),intent(inout) :: x(:)
|
||||
integer, intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
end subroutine psb_zprc_aply1
|
||||
end subroutine mld_zprec_aply1
|
||||
end interface
|
||||
|
||||
interface psb_baseprc_bld
|
||||
subroutine psb_dbaseprc_bld(a,desc_a,p,info,upd)
|
||||
interface mld_baseprc_bld
|
||||
subroutine mld_dbaseprc_bld(a,desc_a,p,info,upd)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_dspmat_type), target :: a
|
||||
@@ -187,8 +187,8 @@ module psb_prec_mod
|
||||
type(psb_dbaseprc_type),intent(inout) :: p
|
||||
integer, intent(out) :: info
|
||||
character, intent(in), optional :: upd
|
||||
end subroutine psb_dbaseprc_bld
|
||||
subroutine psb_zbaseprc_bld(a,desc_a,p,info,upd)
|
||||
end subroutine mld_dbaseprc_bld
|
||||
subroutine mld_zbaseprc_bld(a,desc_a,p,info,upd)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_zspmat_type), target :: a
|
||||
@@ -196,31 +196,31 @@ module psb_prec_mod
|
||||
type(psb_zbaseprc_type),intent(inout) :: p
|
||||
integer, intent(out) :: info
|
||||
character, intent(in), optional :: upd
|
||||
end subroutine psb_zbaseprc_bld
|
||||
end subroutine mld_zbaseprc_bld
|
||||
end interface
|
||||
|
||||
interface psb_mlprc_bld
|
||||
subroutine psb_dmlprc_bld(a,desc_a,p,info)
|
||||
interface mld_mlprec_bld
|
||||
subroutine mld_dmlprec_bld(a,desc_a,p,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_dspmat_type), intent(inout), target :: a
|
||||
type(psb_desc_type), intent(in), target :: desc_a
|
||||
type(psb_dbaseprc_type), intent(inout), target :: p
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_dmlprc_bld
|
||||
subroutine psb_zmlprc_bld(a,desc_a,p,info)
|
||||
end subroutine mld_dmlprec_bld
|
||||
subroutine mld_zmlprec_bld(a,desc_a,p,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_zspmat_type), intent(inout), target :: a
|
||||
type(psb_desc_type), intent(in), target :: desc_a
|
||||
type(psb_zbaseprc_type), intent(inout),target :: p
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_zmlprc_bld
|
||||
end subroutine mld_zmlprec_bld
|
||||
end interface
|
||||
|
||||
|
||||
interface psb_baseprc_aply
|
||||
subroutine psb_dbaseprc_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
||||
interface mld_baseprec_aply
|
||||
subroutine mld_dbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_desc_type),intent(in) :: desc_data
|
||||
@@ -230,9 +230,9 @@ module psb_prec_mod
|
||||
character(len=1) :: trans
|
||||
real(kind(0.d0)),target :: work(:)
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_dbaseprc_aply
|
||||
end subroutine mld_dbaseprec_aply
|
||||
|
||||
subroutine psb_zbaseprc_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
||||
subroutine mld_zbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_desc_type),intent(in) :: desc_data
|
||||
@@ -242,11 +242,11 @@ module psb_prec_mod
|
||||
character(len=1) :: trans
|
||||
complex(kind(1.d0)),target :: work(:)
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_zbaseprc_aply
|
||||
end subroutine mld_zbaseprec_aply
|
||||
end interface
|
||||
|
||||
interface psb_mlprc_aply
|
||||
subroutine psb_dmlprc_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
interface mld_mlprec_aply
|
||||
subroutine mld_dmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_desc_type),intent(in) :: desc_data
|
||||
@@ -256,8 +256,8 @@ module psb_prec_mod
|
||||
character :: trans
|
||||
real(kind(0.d0)),target :: work(:)
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_dmlprc_aply
|
||||
subroutine psb_zmlprc_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
end subroutine mld_dmlprec_aply
|
||||
subroutine mld_zmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_desc_type),intent(in) :: desc_data
|
||||
@@ -267,11 +267,11 @@ module psb_prec_mod
|
||||
character :: trans
|
||||
complex(kind(0.d0)),target :: work(:)
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_zmlprc_aply
|
||||
end subroutine mld_zmlprec_aply
|
||||
end interface
|
||||
|
||||
interface psb_bjac_aply
|
||||
subroutine psb_dbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
||||
interface mld_bjac_aply
|
||||
subroutine mld_dbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
@@ -281,8 +281,8 @@ module psb_prec_mod
|
||||
character(len=1) :: trans
|
||||
real(kind(0.d0)),target :: work(:)
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_dbjac_aply
|
||||
subroutine psb_zbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
||||
end subroutine mld_dbjac_aply
|
||||
subroutine mld_zbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
@@ -292,12 +292,12 @@ module psb_prec_mod
|
||||
character(len=1) :: trans
|
||||
complex(kind(0.d0)),target :: work(:)
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_zbjac_aply
|
||||
end subroutine mld_zbjac_aply
|
||||
end interface
|
||||
|
||||
|
||||
interface psb_diagsc_bld
|
||||
subroutine psb_ddiagsc_bld(a,desc_data,p,upd,info)
|
||||
interface mld_diag_bld
|
||||
subroutine mld_ddiag_bld(a,desc_data,p,upd,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
integer, intent(out) :: info
|
||||
@@ -305,8 +305,8 @@ module psb_prec_mod
|
||||
type(psb_desc_type),intent(in) :: desc_data
|
||||
type(psb_dbaseprc_type), intent(inout) :: p
|
||||
character, intent(in) :: upd
|
||||
end subroutine psb_ddiagsc_bld
|
||||
subroutine psb_zdiagsc_bld(a,desc_data,p,upd,info)
|
||||
end subroutine mld_ddiag_bld
|
||||
subroutine mld_zdiag_bld(a,desc_data,p,upd,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
integer, intent(out) :: info
|
||||
@@ -314,11 +314,11 @@ module psb_prec_mod
|
||||
type(psb_desc_type),intent(in) :: desc_data
|
||||
type(psb_zbaseprc_type), intent(inout) :: p
|
||||
character, intent(in) :: upd
|
||||
end subroutine psb_zdiagsc_bld
|
||||
end subroutine mld_zdiag_bld
|
||||
end interface
|
||||
|
||||
interface psb_bjac_bld
|
||||
subroutine psb_dbjac_bld(a,desc_data,p,upd,info)
|
||||
interface mld_bjac_bld
|
||||
subroutine mld_dbjac_bld(a,desc_data,p,upd,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
integer, intent(out) :: info
|
||||
@@ -326,8 +326,8 @@ module psb_prec_mod
|
||||
type(psb_desc_type),intent(in) :: desc_data
|
||||
type(psb_dbaseprc_type), intent(inout) :: p
|
||||
character, intent(in) :: upd
|
||||
end subroutine psb_dbjac_bld
|
||||
subroutine psb_zbjac_bld(a,desc_data,p,upd,info)
|
||||
end subroutine mld_dbjac_bld
|
||||
subroutine mld_zbjac_bld(a,desc_data,p,upd,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
integer, intent(out) :: info
|
||||
@@ -335,11 +335,11 @@ module psb_prec_mod
|
||||
type(psb_desc_type),intent(in) :: desc_data
|
||||
type(psb_zbaseprc_type), intent(inout) :: p
|
||||
character, intent(in) :: upd
|
||||
end subroutine psb_zbjac_bld
|
||||
end subroutine mld_zbjac_bld
|
||||
end interface
|
||||
|
||||
interface psb_ilu_bld
|
||||
subroutine psb_dilu_bld(a,desc_data,p,upd,info,blck)
|
||||
interface mld_ilu_bld
|
||||
subroutine mld_dilu_bld(a,desc_data,p,upd,info,blck)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
integer, intent(out) :: info
|
||||
@@ -348,8 +348,8 @@ module psb_prec_mod
|
||||
type(psb_dbaseprc_type), intent(inout) :: p
|
||||
character, intent(in) :: upd
|
||||
type(psb_dspmat_type), intent(in), optional :: blck
|
||||
end subroutine psb_dilu_bld
|
||||
subroutine psb_zilu_bld(a,desc_data,p,upd,info,blck)
|
||||
end subroutine mld_dilu_bld
|
||||
subroutine mld_zilu_bld(a,desc_data,p,upd,info,blck)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
integer, intent(out) :: info
|
||||
@@ -358,88 +358,88 @@ module psb_prec_mod
|
||||
type(psb_zbaseprc_type), intent(inout) :: p
|
||||
character, intent(in) :: upd
|
||||
type(psb_zspmat_type), intent(in), optional :: blck
|
||||
end subroutine psb_zilu_bld
|
||||
end subroutine mld_zilu_bld
|
||||
end interface
|
||||
|
||||
interface psb_sludist_bld
|
||||
subroutine psb_dsludist_bld(a,desc_a,p,info)
|
||||
interface mld_sludist_bld
|
||||
subroutine mld_dsludist_bld(a,desc_a,p,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_dspmat_type), intent(inout) :: a
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
type(psb_dbaseprc_type), intent(inout) :: p
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_dsludist_bld
|
||||
subroutine psb_zsludist_bld(a,desc_a,p,info)
|
||||
end subroutine mld_dsludist_bld
|
||||
subroutine mld_zsludist_bld(a,desc_a,p,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_zspmat_type), intent(inout) :: a
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
type(psb_zbaseprc_type), intent(inout) :: p
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_zsludist_bld
|
||||
end subroutine mld_zsludist_bld
|
||||
end interface
|
||||
|
||||
interface psb_slu_bld
|
||||
subroutine psb_dslu_bld(a,desc_a,p,info)
|
||||
interface mld_slu_bld
|
||||
subroutine mld_dslu_bld(a,desc_a,p,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_dspmat_type), intent(inout) :: a
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
type(psb_dbaseprc_type), intent(inout) :: p
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_dslu_bld
|
||||
subroutine psb_zslu_bld(a,desc_a,p,info)
|
||||
end subroutine mld_dslu_bld
|
||||
subroutine mld_zslu_bld(a,desc_a,p,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_zspmat_type), intent(inout) :: a
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
type(psb_zbaseprc_type), intent(inout) :: p
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_zslu_bld
|
||||
end subroutine mld_zslu_bld
|
||||
end interface
|
||||
|
||||
interface psb_umf_bld
|
||||
subroutine psb_dumf_bld(a,desc_a,p,info)
|
||||
interface mld_umf_bld
|
||||
subroutine mld_dumf_bld(a,desc_a,p,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_dspmat_type), intent(inout) :: a
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
type(psb_dbaseprc_type), intent(inout) :: p
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_dumf_bld
|
||||
subroutine psb_zumf_bld(a,desc_a,p,info)
|
||||
end subroutine mld_dumf_bld
|
||||
subroutine mld_zumf_bld(a,desc_a,p,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_zspmat_type), intent(in) :: a
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
type(psb_zbaseprc_type), intent(inout) :: p
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_zumf_bld
|
||||
end subroutine mld_zumf_bld
|
||||
end interface
|
||||
|
||||
|
||||
interface psb_ilu_fct
|
||||
subroutine psb_dilu_fct(a,l,u,d,info,blck)
|
||||
interface mld_ilu_fct
|
||||
subroutine mld_dilu_fct(a,l,u,d,info,blck)
|
||||
use psb_base_mod
|
||||
integer, intent(out) :: info
|
||||
type(psb_dspmat_type),intent(in) :: a
|
||||
type(psb_dspmat_type),intent(inout) :: l,u
|
||||
type(psb_dspmat_type),intent(in), optional, target :: blck
|
||||
real(kind(1.d0)), intent(inout) :: d(:)
|
||||
end subroutine psb_dilu_fct
|
||||
subroutine psb_zilu_fct(a,l,u,d,info,blck)
|
||||
end subroutine mld_dilu_fct
|
||||
subroutine mld_zilu_fct(a,l,u,d,info,blck)
|
||||
use psb_base_mod
|
||||
integer, intent(out) :: info
|
||||
type(psb_zspmat_type),intent(in) :: a
|
||||
type(psb_zspmat_type),intent(inout) :: l,u
|
||||
type(psb_zspmat_type),intent(in), optional, target :: blck
|
||||
complex(kind(1.d0)), intent(inout) :: d(:)
|
||||
end subroutine psb_zilu_fct
|
||||
end subroutine mld_zilu_fct
|
||||
end interface
|
||||
|
||||
interface psb_asmatbld
|
||||
Subroutine psb_dasmatbld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
||||
interface mld_asmat_bld
|
||||
Subroutine mld_dasmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
integer, intent(in) :: ptype,novr
|
||||
@@ -450,8 +450,8 @@ module psb_prec_mod
|
||||
Character, Intent(in) :: upd
|
||||
integer, intent(out) :: info
|
||||
character(len=5), optional :: outfmt
|
||||
end Subroutine psb_dasmatbld
|
||||
Subroutine psb_zasmatbld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
||||
end Subroutine mld_dasmat_bld
|
||||
Subroutine mld_zasmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
integer, intent(in) :: ptype,novr
|
||||
@@ -462,11 +462,11 @@ module psb_prec_mod
|
||||
Character, Intent(in) :: upd
|
||||
integer, intent(out) :: info
|
||||
character(len=5), optional :: outfmt
|
||||
end Subroutine psb_zasmatbld
|
||||
end Subroutine mld_zasmat_bld
|
||||
end interface
|
||||
|
||||
interface psb_sp_renum
|
||||
subroutine psb_dsp_renum(a,desc_a,blck,p,atmp,info)
|
||||
interface mld_sp_renum
|
||||
subroutine mld_dsp_renum(a,desc_a,blck,p,atmp,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_dspmat_type), intent(in) :: a,blck
|
||||
@@ -474,8 +474,8 @@ module psb_prec_mod
|
||||
type(psb_dbaseprc_type), intent(inout) :: p
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_dsp_renum
|
||||
subroutine psb_zsp_renum(a,desc_a,blck,p,atmp,info)
|
||||
end subroutine mld_dsp_renum
|
||||
subroutine mld_zsp_renum(a,desc_a,blck,p,atmp,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_zspmat_type), intent(in) :: a,blck
|
||||
@@ -483,12 +483,12 @@ module psb_prec_mod
|
||||
type(psb_zbaseprc_type), intent(inout) :: p
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_zsp_renum
|
||||
end subroutine mld_zsp_renum
|
||||
end interface
|
||||
|
||||
|
||||
interface psb_genaggrmap
|
||||
subroutine psb_dgenaggrmap(aggr_type,a,desc_a,nlaggr,ilaggr,info)
|
||||
interface mld_aggrmap_bld
|
||||
subroutine mld_daggrmap_bld(aggr_type,a,desc_a,nlaggr,ilaggr,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
integer, intent(in) :: aggr_type
|
||||
@@ -496,8 +496,8 @@ module psb_prec_mod
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
integer, allocatable :: ilaggr(:),nlaggr(:)
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_dgenaggrmap
|
||||
subroutine psb_zgenaggrmap(aggr_type,a,desc_a,nlaggr,ilaggr,info)
|
||||
end subroutine mld_daggrmap_bld
|
||||
subroutine mld_zaggrmap_bld(aggr_type,a,desc_a,nlaggr,ilaggr,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
integer, intent(in) :: aggr_type
|
||||
@@ -505,11 +505,11 @@ module psb_prec_mod
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
integer, allocatable :: ilaggr(:),nlaggr(:)
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_zgenaggrmap
|
||||
end subroutine mld_zaggrmap_bld
|
||||
end interface
|
||||
|
||||
interface psb_bldaggrmat
|
||||
subroutine psb_dbldaggrmat(a,desc_a,ac,desc_ac,p,info)
|
||||
interface mld_aggrmat_asb
|
||||
subroutine mld_daggrmat_asb(a,desc_a,ac,desc_ac,p,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_dspmat_type), intent(in), target :: a
|
||||
@@ -518,8 +518,8 @@ module psb_prec_mod
|
||||
type(psb_desc_type), intent(inout) :: desc_ac
|
||||
type(psb_dbaseprc_type), intent(inout), target :: p
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_dbldaggrmat
|
||||
subroutine psb_zbldaggrmat(a,desc_a,ac,desc_ac,p,info)
|
||||
end subroutine mld_daggrmat_asb
|
||||
subroutine mld_zaggrmat_asb(a,desc_a,ac,desc_ac,p,info)
|
||||
use psb_base_mod
|
||||
use psb_prec_type
|
||||
type(psb_zspmat_type), intent(in), target :: a
|
||||
@@ -528,7 +528,7 @@ module psb_prec_mod
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
type(psb_desc_type), intent(inout) :: desc_ac
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_zbldaggrmat
|
||||
end subroutine mld_zaggrmat_asb
|
||||
end interface
|
||||
|
||||
end module psb_prec_mod
|
||||
|
||||
+6
-6
@@ -119,7 +119,7 @@ module psb_prec_type
|
||||
! as many subdomains as there are processes (except for the coarsest level where
|
||||
! we might have a replicated index space). Thus the sum apparently disappears
|
||||
! from our code, but only apparently, because it is implicit in the call
|
||||
! to psb_baseprc_aply.
|
||||
! to mld_baseprec_aply.
|
||||
!
|
||||
! A bit of description of the baseprecv(:) data structure:
|
||||
! 1. Number of levels = NLEV = size(baseprecv(:))
|
||||
@@ -859,13 +859,13 @@ contains
|
||||
|
||||
if (allocated(p%iprcparm)) then
|
||||
if (p%iprcparm(f_type_)==f_slu_) then
|
||||
call psb_dslu_free(p%iprcparm(slu_ptr_),info)
|
||||
call mld_dslu_free(p%iprcparm(slu_ptr_),info)
|
||||
end if
|
||||
if (p%iprcparm(f_type_)==f_slud_) then
|
||||
call psb_dsludist_free(p%iprcparm(slud_ptr_),info)
|
||||
call mld_dsludist_free(p%iprcparm(slud_ptr_),info)
|
||||
end if
|
||||
if (p%iprcparm(f_type_)==f_umf_) then
|
||||
call psb_dumf_free(p%iprcparm(umf_symptr_),&
|
||||
call mld_dumf_free(p%iprcparm(umf_symptr_),&
|
||||
& p%iprcparm(umf_numptr_),info)
|
||||
end if
|
||||
deallocate(p%iprcparm,stat=info)
|
||||
@@ -942,10 +942,10 @@ contains
|
||||
|
||||
if (allocated(p%iprcparm)) then
|
||||
if (p%iprcparm(f_type_)==f_slu_) then
|
||||
call psb_zslu_free(p%iprcparm(slu_ptr_),info)
|
||||
call mld_zslu_free(p%iprcparm(slu_ptr_),info)
|
||||
end if
|
||||
if (p%iprcparm(f_type_)==f_umf_) then
|
||||
call psb_zumf_free(p%iprcparm(umf_symptr_),&
|
||||
call mld_zumf_free(p%iprcparm(umf_symptr_),&
|
||||
& p%iprcparm(umf_numptr_),info)
|
||||
end if
|
||||
deallocate(p%iprcparm,stat=info)
|
||||
|
||||
+2
-2
@@ -132,7 +132,7 @@ psb_dumf_factor_(int *n, int *nnz,
|
||||
if ( *info == UMFPACK_OK ) {
|
||||
*info = 0;
|
||||
} else {
|
||||
printf("umfpack_di_symbolic() returned INFO= %d\n", *info);
|
||||
printf("umfpack_di_symbolic() error returns INFO= %d\n", *info);
|
||||
*info = -11;
|
||||
*numptr = (fptr) NULL;
|
||||
return;
|
||||
@@ -148,7 +148,7 @@ psb_dumf_factor_(int *n, int *nnz,
|
||||
*info = 0;
|
||||
*numptr = (fptr) Numeric;
|
||||
} else {
|
||||
printf("umfpack_di_numeric() returned INFO= %d\n", *info);
|
||||
printf("umfpack_di_numeric() error returns INFO= %d\n", *info);
|
||||
*info = -12;
|
||||
*numptr = (fptr) NULL;
|
||||
}
|
||||
|
||||
+2
-2
@@ -102,7 +102,7 @@ subroutine psb_zprecbld(a,desc_a,p,info,upd)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call psb_baseprc_bld(a,desc_a,p%baseprecv(1),info,iupd)
|
||||
call mld_baseprc_bld(a,desc_a,p%baseprecv(1),info,iupd)
|
||||
|
||||
else
|
||||
info=4010
|
||||
@@ -123,7 +123,7 @@ subroutine psb_zprecbld(a,desc_a,p,info,upd)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call psb_mlprc_bld(p%baseprecv(i-1)%base_a,p%baseprecv(i-1)%base_desc,&
|
||||
call mld_mlprec_bld(p%baseprecv(i-1)%base_a,p%baseprecv(i-1)%base_desc,&
|
||||
& p%baseprecv(i),info)
|
||||
if (info /= 0) then
|
||||
info=4010
|
||||
|
||||
+3
-2
@@ -37,9 +37,10 @@
|
||||
subroutine psb_zprecseti(p,what,val,info,ilev)
|
||||
|
||||
use psb_base_mod
|
||||
use psb_prec_mod, psb_protect_name => psb_zprecseti
|
||||
use psb_prec_mod, mld_protect_name => psb_zprecseti
|
||||
|
||||
implicit none
|
||||
|
||||
type(psb_zprec_type), intent(inout) :: p
|
||||
integer, intent(in) :: what
|
||||
integer, intent(in) :: val
|
||||
@@ -99,7 +100,7 @@ end subroutine psb_zprecseti
|
||||
subroutine psb_zprecsetd(p,what,val,info,ilev)
|
||||
|
||||
use psb_base_mod
|
||||
use psb_prec_mod, psb_protect_name => psb_zprecsetd
|
||||
use psb_prec_mod, mld_protect_name => psb_zprecsetd
|
||||
|
||||
implicit none
|
||||
type(psb_zprec_type), intent(inout) :: p
|
||||
|
||||
Reference in New Issue
Block a user