Skip to content

Commit 6ed5790

Browse files
fix: retain u0_constructor in initializeprobmap
1 parent e5245e1 commit 6ed5790

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/systems/problem_utils.jl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -601,7 +601,7 @@ All other keyword arguments are forwarded to `InitializationProblem`.
601601
"""
602602
function maybe_build_initialization_problem(
603603
sys::AbstractSystem, op::AbstractDict, u0map, pmap, t, defs,
604-
guesses, missing_unknowns; implicit_dae = false, kwargs...)
604+
guesses, missing_unknowns; implicit_dae = false, u0_constructor = identity, kwargs...)
605605
guesses = merge(ModelingToolkit.guesses(sys), todict(guesses))
606606

607607
if t === nothing && is_time_dependent(sys)
@@ -615,7 +615,7 @@ function maybe_build_initialization_problem(
615615
if is_time_dependent(sys)
616616
all_init_syms = Set(all_symbols(initializeprob))
617617
solved_unknowns = filter(var -> var in all_init_syms, unknowns(sys))
618-
initializeprobmap = getu(initializeprob, solved_unknowns)
618+
initializeprobmap = u0_constructor getu(initializeprob, solved_unknowns)
619619
else
620620
initializeprobmap = nothing
621621
end
@@ -781,7 +781,8 @@ function process_SciMLProblem(
781781
eval_expression, eval_module, fully_determined,
782782
warn_cyclic_dependency, check_units = check_initialization_units,
783783
circular_dependency_max_cycle_length, circular_dependency_max_cycles, use_scc,
784-
force_time_independent = force_initialization_time_independent, algebraic_only, allow_incomplete)
784+
force_time_independent = force_initialization_time_independent, algebraic_only, allow_incomplete,
785+
u0_constructor)
785786

786787
kwargs = merge(kwargs, kws)
787788
end

0 commit comments

Comments
 (0)