Skip to content

Commit e526022

Browse files
fix: retain u0_constructor in initializeprobmap
1 parent 83d8a34 commit e526022

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/systems/problem_utils.jl

+4-3
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
@@ -779,7 +779,8 @@ function process_SciMLProblem(
779779
eval_expression, eval_module, fully_determined,
780780
warn_cyclic_dependency, check_units = check_initialization_units,
781781
circular_dependency_max_cycle_length, circular_dependency_max_cycles, use_scc,
782-
force_time_independent = force_initialization_time_independent, algebraic_only, allow_incomplete)
782+
force_time_independent = force_initialization_time_independent, algebraic_only, allow_incomplete,
783+
u0_constructor)
783784

784785
kwargs = merge(kwargs, kws)
785786
end

0 commit comments

Comments
 (0)