Subroutine to free the factors if applicable
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MAT_SOLV), | intent(inout) | :: | mat | high level system type |
subroutine freefact_solver(mat)
implicit none
type(MAT_SOLV), intent(inout) :: mat !! *high level system type*
select case(mat%slv_t)
case(MA48)
continue
case(MUMP)
continue
case(SULU)
call free_superlu()
case(UMFP)
call umfpack_di_free_numeric(Numeric = mat%matumfp%c_numeric) ! free the numeric factorization
case default
stop 'unknown solver type, FREEFACT_SOLVER'
endselect
return
endsubroutine freefact_solver