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