Skip to content

Commit 85bda52

Browse files
committed
Fix issue found by Copilot related to set_va!
1 parent 73814df commit 85bda52

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/body_aerodynamics.jl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,10 @@ function Base.getproperty(obj::BodyAerodynamics, sym::Symbol)
129129
end
130130

131131
function Base.setproperty!(obj::BodyAerodynamics, sym::Symbol, val)
132-
if sym === :va || sym === :omega
132+
if sym === :va
133133
set_va!(obj, val)
134+
elseif sym === :omega
135+
set_va!(obj, obj._va, val)
134136
else
135137
setfield!(obj, sym, val)
136138
end
@@ -1041,6 +1043,7 @@ Set velocity array and update wake filaments.
10411043
function set_va!(body_aero::BodyAerodynamics, va::AbstractVector, omega=zeros(MVec3))
10421044
n_panels = length(body_aero.panels)
10431045
va_distribution = zeros(n_panels, 3)
1046+
body_aero.omega .= omega
10441047

10451048
if all(iszero, omega)
10461049
va_distribution .= repeat(reshape(va, 1, 3), n_panels)

test/body_aerodynamics/test_body_aerodynamics.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -493,6 +493,17 @@ end
493493
expected_va = va .+ (-omega × panel.control_point)
494494
@test panel.va expected_va atol=1e-12
495495
end
496+
@test body_aero.omega omega
496497
@test body_aero.has_distributed_va
497498
@test_throws ArgumentError body_aero.va
499+
500+
new_omega = [0.0, 0.0, 2.0]
501+
reference_va = copy(body_aero._va)
502+
body_aero.omega = new_omega
503+
504+
for panel in body_aero.panels
505+
expected_va = reference_va .+ (-new_omega × panel.control_point)
506+
@test panel.va expected_va atol=1e-12
507+
end
508+
@test body_aero.omega new_omega
498509
end

0 commit comments

Comments
 (0)