956
956
# #############
957
957
958
958
"""
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)
960
960
961
961
Take 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.
962
962
"""
@@ -965,6 +965,7 @@ function get_u0_p(sys,
965
965
parammap = nothing ;
966
966
t0 = nothing ,
967
967
tofloat = true ,
968
+ use_union = true ,
968
969
symbolic_u0 = false )
969
970
dvs = unknowns (sys)
970
971
ps = parameters (sys; initial_parameters = true )
@@ -1002,19 +1003,19 @@ function get_u0_p(sys,
1002
1003
end
1003
1004
1004
1005
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 )
1006
1007
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 )
1008
1009
end
1009
- p = varmap_to_vars (parammap, ps; defaults = defs, tofloat)
1010
+ p = varmap_to_vars (parammap, ps; defaults = defs, tofloat, use_union )
1010
1011
p = p === nothing ? SciMLBase. NullParameters () : p
1011
1012
t0 != = nothing && delete! (defs, get_iv (sys))
1012
1013
u0, p, defs
1013
1014
end
1014
1015
1015
1016
function get_u0 (
1016
1017
sys, u0map, parammap = nothing ; symbolic_u0 = false ,
1017
- toterm = default_toterm, t0 = nothing )
1018
+ toterm = default_toterm, t0 = nothing , use_union = true )
1018
1019
dvs = unknowns (sys)
1019
1020
ps = parameters (sys)
1020
1021
defs = defaults (sys)
@@ -1037,9 +1038,9 @@ function get_u0(
1037
1038
defs = mergedefaults (defs, obsmap, u0map, dvs)
1038
1039
if symbolic_u0
1039
1040
u0 = varmap_to_vars (
1040
- u0map, dvs; defaults = defs, tofloat = false , toterm)
1041
+ u0map, dvs; defaults = defs, tofloat = false , use_union = false , toterm)
1041
1042
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)
1043
1044
end
1044
1045
t0 != = nothing && delete! (defs, get_iv (sys))
1045
1046
return u0, defs
0 commit comments