@@ -21,6 +21,7 @@ function generate_initializesystem(sys::AbstractSystem;
2121 eqs_ics = Equation[]
2222 defs = copy (defaults (sys)) # copy so we don't modify sys.defaults
2323 additional_guesses = anydict (guesses)
24+ additional_initialization_eqs = Vector {Equation} (initialization_eqs)
2425 guesses = merge (get_guesses (sys), additional_guesses)
2526 idxs_diff = isdiffeq .(eqs)
2627
@@ -191,7 +192,7 @@ function generate_initializesystem(sys::AbstractSystem;
191192 defs[k] = substitute (defs[k], paramsubs)
192193 end
193194 meta = InitializationSystemMetadata (
194- anydict (u0map), anydict (pmap), additional_guesses, extra_metadata)
195+ anydict (u0map), anydict (pmap), additional_guesses, additional_initialization_eqs, extra_metadata)
195196 return NonlinearSystem (eqs_ics,
196197 vars,
197198 pars;
@@ -207,6 +208,7 @@ struct InitializationSystemMetadata
207208 u0map:: Dict{Any, Any}
208209 pmap:: Dict{Any, Any}
209210 additional_guesses:: Dict{Any, Any}
211+ additional_initialization_eqs:: Vector{Equation}
210212 extra_metadata:: NamedTuple
211213end
212214
@@ -299,6 +301,7 @@ function SciMLBase.remake_initialization_data(
299301 defs = defaults (sys)
300302 cmap, cs = get_cmap (sys)
301303 use_scc = true
304+ initialization_eqs = Equation[]
302305
303306 if SciMLBase. has_initializeprob (odefn)
304307 oldsys = odefn. initialization_data. initializeprob. f. sys
@@ -308,6 +311,7 @@ function SciMLBase.remake_initialization_data(
308311 pmap = merge (meta. pmap, pmap)
309312 merge! (guesses, meta. additional_guesses)
310313 use_scc = get (meta. extra_metadata, :use_scc , true )
314+ initialization_eqs = meta. additional_initialization_eqs
311315 end
312316 else
313317 # there is no initializeprob, so the original problem construction
@@ -348,7 +352,7 @@ function SciMLBase.remake_initialization_data(
348352 op, missing_unknowns, missing_pars = build_operating_point (
349353 u0map, pmap, defs, cmap, dvs, ps)
350354 kws = maybe_build_initialization_problem (
351- sys, op, u0map, pmap, t0, defs, guesses, missing_unknowns; use_scc)
355+ sys, op, u0map, pmap, t0, defs, guesses, missing_unknowns; use_scc, initialization_eqs )
352356 return get (kws, :initialization_data , nothing )
353357end
354358
0 commit comments