Skip to content

Commit 662073c

Browse files
committed
Fix ranges of the solution vector
1 parent cd4d3cd commit 662073c

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

src/solvers.jl

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -656,7 +656,15 @@ function iterate_until_stationarity(
656656
## solve
657657
Δx = LinearSolve.solve!(linsolve)
658658

659-
x = sol.entries - Δx.u
659+
# x = sol.entries - Δx.u ... in the entry ranges of the present unknowns
660+
x = zero(Δx.u)
661+
offset = 0
662+
for u in unknowns[p]
663+
ndofs_u = length(view(sol[u]))
664+
x_range = (offset + 1):(offset + ndofs_u)
665+
x[x_range] .= view(sol[u]) .- view(Δx.u, x_range)
666+
offset += ndofs_u
667+
end
660668

661669
fill!(residual.entries, 0)
662670
mul!(residual.entries, A.entries.cscmatrix, x)

0 commit comments

Comments
 (0)