mld2p4-2:

mlprec/mld_z_umf_solver.f90
 mlprec/mld_zmlprec_bld.f90

Fixed UMFPACK interfacing for double complex.
This commit is contained in:
Salvatore Filippone
2011-01-07 10:09:32 +00:00
parent d003d7dfa8
commit 94f7c95083
2 changed files with 4 additions and 5 deletions
+1 -5
View File
@@ -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,&
+3
View File
@@ -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