11
2- # # Paradiso
2+ # # Pardiso
33
44import Pardiso
55
@@ -17,10 +17,10 @@ Base.@kwdef struct PardisoJL <: SciMLLinearSolveAlgorithm
1717end
1818
1919MKLPardisoFactorize (;kwargs... ) = PardisoJL (;fact_phase= Pardiso. NUM_FACT,
20- solve_phase= Pardiso. SOLVE_ITERATIVE_REFINE,
21- kwargs... )
20+ solve_phase= Pardiso. SOLVE_ITERATIVE_REFINE,
21+ kwargs... )
2222MKLPardisoIterate (;kwargs... ) = PardisoJL (;solve_phase= Pardiso. NUM_FACT_SOLVE_REFINE,
23- kwargs... )
23+ kwargs... )
2424
2525# TODO schur complement functionality
2626
@@ -50,9 +50,7 @@ function init_cacheval(alg::PardisoJL, cache::LinearCache)
5050 matrix_type != = nothing && Pardiso. set_matrixtype! (solver, matrix_type)
5151 cache. verbose && Pardiso. set_msglvl! (solver, Pardiso. MESSAGE_LEVEL_ON)
5252
53- """
54- pass in vector of tuples like [(iparm::Int, key::Int) ...]
55- """
53+ # pass in vector of tuples like [(iparm::Int, key::Int) ...]
5654 if iparm != = nothing
5755 for i in length (iparm)
5856 Pardiso. set_iparm! (solver, iparm[i]. .. )
@@ -66,7 +64,6 @@ function init_cacheval(alg::PardisoJL, cache::LinearCache)
6664 end
6765
6866 if (fact_phase != = nothing ) | (solve_phase != = nothing )
69- # ensure phase is being changed afterwards?
7067 Pardiso. set_phase! (solver, Pardiso. ANALYSIS)
7168 Pardiso. pardiso (solver, u, A, b)
7269 end
@@ -76,12 +73,6 @@ function init_cacheval(alg::PardisoJL, cache::LinearCache)
7673 Pardiso. pardiso (solver, u, A, b)
7774 end
7875
79- """
80- use ipram/dpram to set tolerances???
81- """
82- # abstol = cache.abstol
83- # reltol = cache.reltol
84-
8576 return solver
8677end
8778
0 commit comments