mld2p4-2:


			
			
				stopcriterion
			
			
		
Salvatore Filippone 14 years ago
parent d003d7dfa8
commit 94f7c95083

@ -49,12 +49,8 @@ module mld_z_umf_solver
use mld_z_prec_type
type, extends(mld_z_base_solver_type) :: mld_z_umf_solver_type
!!$ type(psb_dspmat_type) :: l, u
!!$ real(psb_dpk_), allocatable :: d(:)
type(c_ptr) :: symbolic=c_null_ptr, numeric=c_null_ptr
integer(c_long_long) :: symbsize=0, numsize=0
!!$ integer :: fact_type, fill_in
!!$ real(psb_dpk_) :: thresh
contains
procedure, pass(sv) :: build => z_umf_solver_bld
procedure, pass(sv) :: apply => z_umf_solver_apply
@ -231,7 +227,7 @@ contains
nrow_a = acsc%get_nrows()
nztota = acsc%get_nzeros()
! Fix the entres to call C-base UMFPACK.
acsc%ia(:) = acsc%ia(:) - 1
acsc%ia(:) = acsc%ia(:) - 1
acsc%icp(:) = acsc%icp(:) - 1
info = mld_zumf_fact(nrow_a,nztota,acsc%val,&
& acsc%ia,acsc%icp,sv%symbolic,sv%numeric,&

@ -73,6 +73,7 @@ subroutine mld_zmlprec_bld(a,desc_a,p,info)
use mld_z_as_smoother
use mld_z_diag_solver
use mld_z_ilu_solver
use mld_z_umf_solver
Implicit None
@ -358,6 +359,8 @@ subroutine mld_zmlprec_bld(a,desc_a,p,info)
& p%precv(i)%prec%rprcparm(mld_sub_iluthrs_),info)
case(mld_diag_scale_)
allocate(mld_z_diag_solver_type :: p%precv(i)%sm%sv, stat=info)
case(mld_umf_)
allocate(mld_z_umf_solver_type :: p%precv(i)%sm%sv, stat=info)
case default
info = -1
end select

Loading…
Cancel
Save