@@ -70,9 +70,9 @@ function dolinsolve(precs::P, linsolve; A = nothing, linu = nothing, b = nothing
70
70
du = nothing , u = nothing , p = nothing , t = nothing ,
71
71
weight = nothing , cachedata = nothing ,
72
72
reltol = nothing ) where {P}
73
- A != = nothing && (linsolve = LinearSolve . set_A (linsolve, A) )
74
- b != = nothing && (linsolve = LinearSolve . set_b (linsolve, b) )
75
- linu != = nothing && (linsolve = LinearSolve . set_u (linsolve, linu) )
73
+ A != = nothing && (linsolve. A = A )
74
+ b != = nothing && (linsolve. b = b )
75
+ linu != = nothing && (linsolve. u = linu)
76
76
77
77
Plprev = linsolve. Pl isa LinearSolve. ComposePreconditioner ? linsolve. Pl. outer :
78
78
linsolve. Pl
@@ -86,13 +86,14 @@ function dolinsolve(precs::P, linsolve; A = nothing, linu = nothing, b = nothing
86
86
(linsolve. Pr isa Diagonal ? linsolve. Pr. diag : linsolve. Pr. inner. diag) :
87
87
weight
88
88
Pl, Pr = wrapprecs (_Pl, _Pr, _weight)
89
- linsolve = LinearSolve. set_prec (linsolve, Pl, Pr)
89
+ linsolve. Pl = Pl
90
+ linsolve. Pr = Pr
90
91
end
91
92
92
93
linres = if reltol === nothing
93
- solve (linsolve)
94
+ solve! (linsolve)
94
95
else
95
- solve (linsolve; reltol)
96
+ solve! (linsolve; reltol)
96
97
end
97
98
98
99
return linres
0 commit comments