mlprec/mld_cprecset.f90
 mlprec/mld_dprecset.f90
 mlprec/mld_sprecset.f90
 mlprec/mld_zprecset.f90

Fixed coarse_solve settings.
stopcriterion
Salvatore Filippone 17 years ago
parent 3b00e69be8
commit e7fe7f0bf1

@ -164,14 +164,12 @@ subroutine mld_cprecseti(p,what,val,info,ilev)
p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val
p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_ p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == 0) &
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
select case (val) select case (val)
case(mld_umf_, mld_slu_) case(mld_umf_, mld_slu_)
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_
case(mld_bjac_) p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == mld_bjac_) & case(mld_slu_dist_)
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = mld_umf_ p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
end select end select
endif endif
case(mld_coarse_sweeps_) case(mld_coarse_sweeps_)
@ -242,16 +240,14 @@ subroutine mld_cprecseti(p,what,val,info,ilev)
if (nlev_ > 1) then if (nlev_ > 1) then
p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == 0) &
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_ p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_
select case (val) select case (val)
case(mld_umf_, mld_slu_) case(mld_umf_, mld_slu_)
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_
case(mld_bjac_) p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == mld_bjac_) & case(mld_slu_dist_)
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = mld_umf_ p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
end select end select
endif endif
case(mld_coarse_subsolve_) case(mld_coarse_subsolve_)

@ -164,14 +164,12 @@ subroutine mld_dprecseti(p,what,val,info,ilev)
p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val
p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_ p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == 0) &
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
select case (val) select case (val)
case(mld_umf_, mld_slu_) case(mld_umf_, mld_slu_)
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_
case(mld_bjac_) p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == mld_bjac_) & case(mld_slu_dist_)
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = mld_umf_ p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
end select end select
endif endif
case(mld_coarse_sweeps_) case(mld_coarse_sweeps_)
@ -242,16 +240,14 @@ subroutine mld_dprecseti(p,what,val,info,ilev)
if (nlev_ > 1) then if (nlev_ > 1) then
p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == 0) &
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_ p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_
select case (val) select case (val)
case(mld_umf_, mld_slu_) case(mld_umf_, mld_slu_)
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_
case(mld_bjac_) p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == mld_bjac_) & case(mld_slu_dist_)
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = mld_umf_ p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
end select end select
endif endif
case(mld_coarse_subsolve_) case(mld_coarse_subsolve_)

@ -164,14 +164,12 @@ subroutine mld_sprecseti(p,what,val,info,ilev)
p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val
p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_ p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == 0) &
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
select case (val) select case (val)
case(mld_umf_, mld_slu_) case(mld_umf_, mld_slu_)
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_
case(mld_bjac_) p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == mld_bjac_) & case(mld_slu_dist_)
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = mld_umf_ p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
end select end select
endif endif
case(mld_coarse_sweeps_) case(mld_coarse_sweeps_)
@ -242,16 +240,14 @@ subroutine mld_sprecseti(p,what,val,info,ilev)
if (nlev_ > 1) then if (nlev_ > 1) then
p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == 0) &
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_ p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_
select case (val) select case (val)
case(mld_umf_, mld_slu_) case(mld_umf_, mld_slu_)
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_
case(mld_bjac_) p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == mld_bjac_) & case(mld_slu_dist_)
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = mld_umf_ p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
end select end select
endif endif
case(mld_coarse_subsolve_) case(mld_coarse_subsolve_)

@ -164,14 +164,12 @@ subroutine mld_zprecseti(p,what,val,info,ilev)
p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val
p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_ p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == 0) &
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
select case (val) select case (val)
case(mld_umf_, mld_slu_) case(mld_umf_, mld_slu_)
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_
case(mld_bjac_) p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == mld_bjac_) & case(mld_slu_dist_)
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = mld_umf_ p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
end select end select
endif endif
case(mld_coarse_sweeps_) case(mld_coarse_sweeps_)
@ -242,16 +240,14 @@ subroutine mld_zprecseti(p,what,val,info,ilev)
if (nlev_ > 1) then if (nlev_ > 1) then
p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val p%baseprecv(nlev_)%iprcparm(mld_coarse_solve_) = val
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == 0) &
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_ p%baseprecv(nlev_)%iprcparm(mld_smoother_type_) = mld_bjac_
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_distr_mat_
select case (val) select case (val)
case(mld_umf_, mld_slu_) case(mld_umf_, mld_slu_)
p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_ p%baseprecv(nlev_)%iprcparm(mld_coarse_mat_) = mld_repl_mat_
case(mld_bjac_) p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
if (p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) == mld_bjac_) & case(mld_slu_dist_)
& p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = mld_umf_ p%baseprecv(nlev_)%iprcparm(mld_sub_solve_) = val
end select end select
endif endif
case(mld_coarse_subsolve_) case(mld_coarse_subsolve_)

Loading…
Cancel
Save