Skip to content

Commit 5b86cbe

Browse files
committed
solve: use result.u explicitly
1 parent c952a3c commit 5b86cbe

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/solvers.jl

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,9 @@ function solve_linear_system!(A, b, sol, soltemp, residual, linsolve, unknowns,
332332

333333
# Solve linear system
334334
push!(stats[:matrix_nnz], nnz(linsolve.A))
335-
@timeit timer "solve! call" blocked_Δx = LinearSolve.solve!(linsolve)
335+
@timeit timer "solve! call" begin
336+
blocked_Δx = LinearSolve.solve!(linsolve)
337+
end
336338

337339
# extract the solution / dismiss the lagrange multipliers
338340
@views Δx = blocked_Δx[1:length(b_unrestricted)]
@@ -341,7 +343,7 @@ function solve_linear_system!(A, b, sol, soltemp, residual, linsolve, unknowns,
341343
# Compute solution update
342344
@timeit timer "update solution" begin
343345
if length(freedofs) > 0
344-
x = sol.entries[freedofs] - Δx.u
346+
x = sol.entries[freedofs] - Δx
345347
else
346348
x = zero(Δx)
347349
offset = 0
@@ -430,15 +432,16 @@ function solve_coupled_system!(A, b, sol, residual, linsolve, unknowns, damping,
430432
SC.parameters[:initialized] = true
431433

432434
## solve
433-
Δx = LinearSolve.solve!(linsolve)
435+
result = LinearSolve.solve!(linsolve)
436+
Δx = result.u
434437

435-
# x = sol.entries - Δx.u ... in the entry ranges of the present unknowns
436-
x = zero(Δx.u)
438+
# x = sol.entries - Δx ... in the entry ranges of the present unknowns
439+
x = zero(Δx)
437440
offset = 0
438441
for u in unknowns
439442
ndofs_u = length(view(sol[u]))
440443
x_range = (offset + 1):(offset + ndofs_u)
441-
x[x_range] .= view(sol[u]) .- view(Δx.u, x_range)
444+
x[x_range] .= view(sol[u]) .- view(Δx, x_range)
442445
offset += ndofs_u
443446
end
444447

0 commit comments

Comments
 (0)