|
|
@ -681,20 +681,20 @@ program psb_d_pde3d
|
|
|
|
call prec%set('inv_thresh', parms%inv_thresh, info)
|
|
|
|
call prec%set('inv_thresh', parms%inv_thresh, info)
|
|
|
|
call prec%set('inv_fillin', parms%inv_fill, info)
|
|
|
|
call prec%set('inv_fillin', parms%inv_fill, info)
|
|
|
|
call prec%set('ilut_scale', parms%ilut_scale, info)
|
|
|
|
call prec%set('ilut_scale', parms%ilut_scale, info)
|
|
|
|
|
|
|
|
call prec%set('ainv_alg', parms%orth_alg, info)
|
|
|
|
case ("INVK")
|
|
|
|
case ("INVK")
|
|
|
|
call prec%set('sub_fillin', parms%fill, info)
|
|
|
|
call prec%set('sub_fillin', parms%fill, info)
|
|
|
|
call prec%set('inv_fillin', parms%inv_fill, info)
|
|
|
|
call prec%set('inv_fillin', parms%inv_fill, info)
|
|
|
|
|
|
|
|
call prec%set('ilut_scale', parms%ilut_scale, info)
|
|
|
|
case ("INVT")
|
|
|
|
case ("INVT")
|
|
|
|
call prec%set('sub_fillin', parms%fill, info)
|
|
|
|
call prec%set('sub_fillin', parms%fill, info)
|
|
|
|
call prec%set('inv_fillin', parms%inv_fill, info)
|
|
|
|
call prec%set('inv_fillin', parms%inv_fill, info)
|
|
|
|
call prec%set('sub_iluthrs', parms%thresh, info)
|
|
|
|
call prec%set('sub_iluthrs', parms%thresh, info)
|
|
|
|
call prec%set('inv_thresh', parms%inv_thresh, info)
|
|
|
|
call prec%set('inv_thresh', parms%inv_thresh, info)
|
|
|
|
|
|
|
|
call prec%set('ilut_scale', parms%ilut_scale, info)
|
|
|
|
case default
|
|
|
|
case default
|
|
|
|
! Do nothing, use default setting in the init routine
|
|
|
|
! Do nothing, use default setting in the init routine
|
|
|
|
end select
|
|
|
|
end select
|
|
|
|
select case (psb_toupper(parms%orth_alg))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end select
|
|
|
|
|
|
|
|
else
|
|
|
|
else
|
|
|
|
! nothing to set for NONE or DIAG preconditioner
|
|
|
|
! nothing to set for NONE or DIAG preconditioner
|
|
|
|
end if
|
|
|
|
end if
|
|
|
@ -884,27 +884,29 @@ contains
|
|
|
|
if( psb_toupper(ptype) == "BJAC" ) then
|
|
|
|
if( psb_toupper(ptype) == "BJAC" ) then
|
|
|
|
write(psb_out_unit,'("Block subsolver : ",a)') parms%alg
|
|
|
|
write(psb_out_unit,'("Block subsolver : ",a)') parms%alg
|
|
|
|
select case (psb_toupper(parms%alg))
|
|
|
|
select case (psb_toupper(parms%alg))
|
|
|
|
case ('ILU')
|
|
|
|
case ('ILU')
|
|
|
|
write(psb_out_unit,'("Fill in : ",i0)') parms%fill
|
|
|
|
write(psb_out_unit,'("Fill in : ",i0)') parms%fill
|
|
|
|
write(psb_out_unit,'("MILU : ",a)') parms%ilu_alg
|
|
|
|
write(psb_out_unit,'("MILU : ",a)') parms%ilu_alg
|
|
|
|
case ('ILUT')
|
|
|
|
case ('ILUT')
|
|
|
|
write(psb_out_unit,'("Fill in : ",i0)') parms%fill
|
|
|
|
write(psb_out_unit,'("Fill in : ",i0)') parms%fill
|
|
|
|
write(psb_out_unit,'("Threshold : ",es12.5)') parms%thresh
|
|
|
|
write(psb_out_unit,'("Threshold : ",es12.5)') parms%thresh
|
|
|
|
write(psb_out_unit,'("Scaling : ",a)') parms%ilut_scale
|
|
|
|
write(psb_out_unit,'("Scaling : ",a)') parms%ilut_scale
|
|
|
|
case ('INVK')
|
|
|
|
case ('INVK')
|
|
|
|
write(psb_out_unit,'("Fill in : ",i0)') parms%fill
|
|
|
|
write(psb_out_unit,'("Fill in : ",i0)') parms%fill
|
|
|
|
write(psb_out_unit,'("Invese Fill in : ",i0)') parms%inv_fill
|
|
|
|
write(psb_out_unit,'("Invese Fill in : ",i0)') parms%inv_fill
|
|
|
|
case ('INVT')
|
|
|
|
write(psb_out_unit,'("Scaling : ",a)') parms%ilut_scale
|
|
|
|
write(psb_out_unit,'("Fill in : ",i0)') parms%fill
|
|
|
|
case ('INVT')
|
|
|
|
write(psb_out_unit,'("Threshold : ",es12.5)') parms%thresh
|
|
|
|
write(psb_out_unit,'("Fill in : ",i0)') parms%fill
|
|
|
|
write(psb_out_unit,'("Invese Fill in : ",i0)') parms%inv_fill
|
|
|
|
write(psb_out_unit,'("Threshold : ",es12.5)') parms%thresh
|
|
|
|
write(psb_out_unit,'("Inverse Threshold : ",es12.5)') parms%inv_thresh
|
|
|
|
write(psb_out_unit,'("Invese Fill in : ",i0)') parms%inv_fill
|
|
|
|
case ('AINV','AORTH')
|
|
|
|
write(psb_out_unit,'("Inverse Threshold : ",es12.5)') parms%inv_thresh
|
|
|
|
write(psb_out_unit,'("Inverse Threshold : ",es12.5)') parms%inv_thresh
|
|
|
|
write(psb_out_unit,'("Scaling : ",a)') parms%ilut_scale
|
|
|
|
write(psb_out_unit,'("Invese Fill in : ",i0)') parms%inv_fill
|
|
|
|
case ('AINV','AORTH')
|
|
|
|
write(psb_out_unit,'("Orthogonalization : ",a)') parms%orth_alg
|
|
|
|
write(psb_out_unit,'("Inverse Threshold : ",es12.5)') parms%inv_thresh
|
|
|
|
write(psb_out_unit,'("Scaling : ",a)') parms%ilut_scale
|
|
|
|
write(psb_out_unit,'("Invese Fill in : ",i0)') parms%inv_fill
|
|
|
|
case default
|
|
|
|
write(psb_out_unit,'("Orthogonalization : ",a)') parms%orth_alg
|
|
|
|
|
|
|
|
write(psb_out_unit,'("Scaling : ",a)') parms%ilut_scale
|
|
|
|
|
|
|
|
case default
|
|
|
|
write(psb_out_unit,'("Unknown diagonal solver")')
|
|
|
|
write(psb_out_unit,'("Unknown diagonal solver")')
|
|
|
|
end select
|
|
|
|
end select
|
|
|
|
end if
|
|
|
|
end if
|
|
|
@ -937,6 +939,7 @@ contains
|
|
|
|
call psb_bcast(ctxt,parms%thresh)
|
|
|
|
call psb_bcast(ctxt,parms%thresh)
|
|
|
|
call psb_bcast(ctxt,parms%inv_thresh)
|
|
|
|
call psb_bcast(ctxt,parms%inv_thresh)
|
|
|
|
call psb_bcast(ctxt,parms%orth_alg)
|
|
|
|
call psb_bcast(ctxt,parms%orth_alg)
|
|
|
|
|
|
|
|
call psb_bcast(ctxt,parms%ilut_scale)
|
|
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|