@@ -255,11 +255,11 @@ function get_analysis_variable(var, name, iv; perturb = true)
255255 if perturb
256256 name = Symbol (:d_ , name)
257257 end
258- if Symbolics . isarraysymbolic (var)
258+ if symbolic_type (var) == ArraySymbolic ( )
259259 T = Array{eltype (symtype (var)), ndims (var)}
260260 pvar = unwrap (only (@variables $ name (iv):: T ))
261261 pvar = setmetadata (pvar, Symbolics. ArrayShapeCtx, Symbolics. shape (var))
262- default = zeros (symtype (var), size (var))
262+ default = zeros (eltype ( symtype (var) ), size (var))
263263 else
264264 T = symtype (var)
265265 pvar = unwrap (only (@variables $ name (iv):: T ))
@@ -429,7 +429,7 @@ function apply_transformation(tf::PerturbOutput, sys::AbstractSystem)
429429 ap_ivar = ap_var (ap. input)
430430 new_var, new_def = get_analysis_variable (ap_ivar, nameof (ap), get_iv (sys))
431431 for outsys in ap. outputs
432- push! (ap_sys_eqs, ap_var (outsys) ~ ap_ivar + new_var)
432+ push! (ap_sys_eqs, ap_var (outsys) ~ ap_ivar + wrap ( new_var) )
433433 end
434434 # add variable
435435 unks = copy (get_unknowns (ap_sys))
@@ -446,7 +446,7 @@ function apply_transformation(tf::PerturbOutput, sys::AbstractSystem)
446446 out_var, out_def = get_analysis_variable (
447447 ap_ivar, nameof (ap), get_iv (sys); perturb = false )
448448 defs[out_var] = out_def
449- push! (ap_sys_eqs, out_var ~ ap_ivar + new_var)
449+ push! (ap_sys_eqs, out_var ~ ap_ivar + wrap ( new_var) )
450450 push! (unks, out_var)
451451
452452 return ap_sys, (new_var, out_var)
@@ -526,11 +526,11 @@ function apply_transformation(cst::ComplementarySensitivityTransform, sys::Abstr
526526 # but comp sensitivity wants `output + du ~ input`. Thus, `du ~ -_du`.
527527 eqs = copy (get_eqs (sys))
528528 @set! sys. eqs = eqs
529- push! (eqs, du ~ - _du)
529+ push! (eqs, du ~ - wrap ( _du) )
530530
531531 defs = copy (get_defaults (sys))
532532 @set! sys. defaults = defs
533- defs[du] = - _du
533+ defs[du] = - wrap ( _du)
534534 return sys, (du, u)
535535end
536536
0 commit comments