Skip to content

Commit 997da8d

Browse files
fix: handle underdetermined systems in GetUpdatedU0
1 parent bc01882 commit 997da8d

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/systems/problem_utils.jl

+6-3
Original file line numberDiff line numberDiff line change
@@ -834,10 +834,13 @@ struct GetUpdatedU0{GA, GIU}
834834
end
835835

836836
function GetUpdatedU0(sys::AbstractSystem, initsys::AbstractSystem)
837-
algevaridxs = BitVector(is_alg_equation.(equations(sys)))
838-
algevars = unknowns(sys)[algevaridxs]
837+
dvs = unknowns(sys)
838+
eqs = equations(sys)
839+
algevaridxs = BitVector(is_alg_equation.(eqs))
840+
append!(algevaridxs, falses(length(dvs) - length(eqs)))
841+
algevars = dvs[algevaridxs]
839842
get_algevars = getu(initsys, algevars)
840-
get_initial_unknowns = getu(sys, Initial.(unknowns(sys)))
843+
get_initial_unknowns = getu(sys, Initial.(dvs))
841844
return GetUpdatedU0(algevaridxs, get_algevars, get_initial_unknowns)
842845
end
843846

0 commit comments

Comments
 (0)