956956# #############
957957
958958"""
959- u0, p, defs = get_u0_p(sys, u0map, parammap; tofloat=true)
959+ u0, p, defs = get_u0_p(sys, u0map, parammap; use_union=true, tofloat=true)
960960
961961Take dictionaries with initial conditions and parameters and convert them to numeric arrays `u0` and `p`. Also return the merged dictionary `defs` containing the entire operating point.
962962"""
@@ -965,6 +965,7 @@ function get_u0_p(sys,
965965 parammap = nothing ;
966966 t0 = nothing ,
967967 tofloat = true ,
968+ use_union = true ,
968969 symbolic_u0 = false )
969970 dvs = unknowns (sys)
970971 ps = parameters (sys; initial_parameters = true )
@@ -1002,19 +1003,19 @@ function get_u0_p(sys,
10021003 end
10031004
10041005 if symbolic_u0
1005- u0 = varmap_to_vars (u0map, dvs; defaults = defs, tofloat = false )
1006+ u0 = varmap_to_vars (u0map, dvs; defaults = defs, tofloat = false , use_union = false )
10061007 else
1007- u0 = varmap_to_vars (u0map, dvs; defaults = defs, tofloat = true )
1008+ u0 = varmap_to_vars (u0map, dvs; defaults = defs, tofloat = true , use_union )
10081009 end
1009- p = varmap_to_vars (parammap, ps; defaults = defs, tofloat)
1010+ p = varmap_to_vars (parammap, ps; defaults = defs, tofloat, use_union )
10101011 p = p === nothing ? SciMLBase. NullParameters () : p
10111012 t0 != = nothing && delete! (defs, get_iv (sys))
10121013 u0, p, defs
10131014end
10141015
10151016function get_u0 (
10161017 sys, u0map, parammap = nothing ; symbolic_u0 = false ,
1017- toterm = default_toterm, t0 = nothing )
1018+ toterm = default_toterm, t0 = nothing , use_union = true )
10181019 dvs = unknowns (sys)
10191020 ps = parameters (sys)
10201021 defs = defaults (sys)
@@ -1037,9 +1038,9 @@ function get_u0(
10371038 defs = mergedefaults (defs, obsmap, u0map, dvs)
10381039 if symbolic_u0
10391040 u0 = varmap_to_vars (
1040- u0map, dvs; defaults = defs, tofloat = false , toterm)
1041+ u0map, dvs; defaults = defs, tofloat = false , use_union = false , toterm)
10411042 else
1042- u0 = varmap_to_vars (u0map, dvs; defaults = defs, tofloat = true , toterm)
1043+ u0 = varmap_to_vars (u0map, dvs; defaults = defs, tofloat = true , use_union, toterm)
10431044 end
10441045 t0 != = nothing && delete! (defs, get_iv (sys))
10451046 return u0, defs
0 commit comments