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) !! Subroutine to free the factors if applicable implicit none type(MAT_SOLV), intent(inout) :: mat !! *high level system type* select case(mat%slv_t) case(MA48) #if WITH_MA48 continue #else stop 'MA48_LIB not defined' #endif 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