diff --git a/mlprec/mld_dmlprec_aply.f90 b/mlprec/mld_dmlprec_aply.f90 index a5ed4018..64fc6685 100644 --- a/mlprec/mld_dmlprec_aply.f90 +++ b/mlprec/mld_dmlprec_aply.f90 @@ -909,14 +909,27 @@ subroutine mld_dmlprec_aply_vect(alpha,p,x,beta,y,desc_data,trans,work,info) end if level = 1 do level = 1, nlev - nc2l = p%precv(level)%base_desc%get_local_cols() - nr2l = p%precv(level)%base_desc%get_local_rows() - call mlprec_wrk(level)%vx2l%bld(nc2l,mold=x%v) - call mlprec_wrk(level)%vy2l%bld(nc2l,mold=x%v) -!!$ if (p%precv(level)%parms%ml_type == mld_twoside_smooth_) then - call mlprec_wrk(level)%vtx%bld(nc2l,mold=x%v) - call mlprec_wrk(level)%vty%bld(nc2l,mold=x%v) -!!$ end if + if (.false.) then + nc2l = p%precv(level)%base_desc%get_local_cols() + nr2l = p%precv(level)%base_desc%get_local_rows() + call mlprec_wrk(level)%vx2l%bld(nc2l,mold=x%v) + call mlprec_wrk(level)%vy2l%bld(nc2l,mold=x%v) + call mlprec_wrk(level)%vtx%bld(nc2l,mold=x%v) + call mlprec_wrk(level)%vty%bld(nc2l,mold=x%v) + else + call psb_geasb(mlprec_wrk(level)%vx2l,& + & p%precv(level)%base_desc,& + & info,scratch=.true.,mold=x%v) + call psb_geasb(mlprec_wrk(level)%vy2l,& + & p%precv(level)%base_desc,& + & info,scratch=.true.,mold=x%v) + call psb_geasb(mlprec_wrk(level)%vtx,& + & p%precv(level)%base_desc,& + & info,scratch=.true.,mold=x%v) + call psb_geasb(mlprec_wrk(level)%vty,& + & p%precv(level)%base_desc,& + & info,scratch=.true.,mold=x%v) + end if if (psb_errstatus_fatal()) then info=psb_err_alloc_request_ call psb_errpush(info,name,i_err=(/2*nc2l,0,0,0,0/),& diff --git a/tests/pdegen/runs/ppde.inp b/tests/pdegen/runs/ppde.inp index 23b8a572..fcd3cc66 100644 --- a/tests/pdegen/runs/ppde.inp +++ b/tests/pdegen/runs/ppde.inp @@ -1,9 +1,9 @@ BICGSTAB ! Iterative method: BiCGSTAB BiCG CGS RGMRES BiCGSTABL CG CSR ! Storage format CSR COO JAD -100 ! IDIM; domain size is idim**3 +080 ! IDIM; domain size is idim**3 2 ! ISTOPC 0100 ! ITMAX -01 ! ITRACE +-1 ! ITRACE 30 ! IRST (restart for RGMRES and BiCGSTABL) 1.d-9 ! EPS 3L-M-RAS-I-D4 ! Longer descriptive name for preconditioner (up to 20 chars) @@ -16,7 +16,7 @@ ILU ! Subdomain solver DSCALE ILU MILU ILUT UMF SLU 1.d-5 ! Threshold T for ILU(T,P) 1 ! Smoother/Jacobi sweeps BJAC ! Smoother type JACOBI BJAC AS; ignored for non-ML -2 ! Number of levels in a multilevel preconditioner +3 ! Number of levels in a multilevel preconditioner MINENERGY ! Kind of aggregation: SMOOTHED, NONSMOOTHED DEC ! Type of aggregation DEC SYMDEC GLB MULT ! Type of multilevel correction: ADD MULT