Skip to content

Commit ccfed45

Browse files
fix: fix array variable handling in get_analysis_variable
1 parent 469eda8 commit ccfed45

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/systems/analysis_points.jl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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)
535535
end
536536

0 commit comments

Comments
 (0)