@@ -332,7 +332,9 @@ function solve_linear_system!(A, b, sol, soltemp, residual, linsolve, unknowns,
332
332
333
333
# Solve linear system
334
334
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
336
338
337
339
# extract the solution / dismiss the lagrange multipliers
338
340
@views Δx = blocked_Δx[1 : length (b_unrestricted)]
@@ -341,7 +343,7 @@ function solve_linear_system!(A, b, sol, soltemp, residual, linsolve, unknowns,
341
343
# Compute solution update
342
344
@timeit timer " update solution" begin
343
345
if length (freedofs) > 0
344
- x = sol. entries[freedofs] - Δx. u
346
+ x = sol. entries[freedofs] - Δx
345
347
else
346
348
x = zero (Δx)
347
349
offset = 0
@@ -430,15 +432,16 @@ function solve_coupled_system!(A, b, sol, residual, linsolve, unknowns, damping,
430
432
SC. parameters[:initialized ] = true
431
433
432
434
# # solve
433
- Δx = LinearSolve. solve! (linsolve)
435
+ result = LinearSolve. solve! (linsolve)
436
+ Δx = result. u
434
437
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)
437
440
offset = 0
438
441
for u in unknowns
439
442
ndofs_u = length (view (sol[u]))
440
443
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)
442
445
offset += ndofs_u
443
446
end
444
447
0 commit comments