|
469 | 469 | @test !body_aero.has_distributed_va |
470 | 470 | @test body_aero.va ≈ [11.0, 0.0, 0.0] |
471 | 471 | end |
| 472 | + |
| 473 | +@testset "set_va! with omega on multi-wing body" begin |
| 474 | + wing1 = Wing(2; spanwise_distribution=UNCHANGED) |
| 475 | + add_section!(wing1, [0.0, 0.0, 0.0], [1.0, 0.0, 0.0], INVISCID) |
| 476 | + add_section!(wing1, [0.0, 1.0, 0.0], [1.0, 1.0, 0.0], INVISCID) |
| 477 | + add_section!(wing1, [0.0, 2.0, 0.0], [1.0, 2.0, 0.0], INVISCID) |
| 478 | + |
| 479 | + wing2 = Wing(2; spanwise_distribution=UNCHANGED) |
| 480 | + add_section!(wing2, [0.0, 10.0, 0.0], [1.0, 10.0, 0.0], INVISCID) |
| 481 | + add_section!(wing2, [0.0, 11.0, 0.0], [1.0, 11.0, 0.0], INVISCID) |
| 482 | + add_section!(wing2, [0.0, 12.0, 0.0], [1.0, 12.0, 0.0], INVISCID) |
| 483 | + |
| 484 | + refine!(wing1) |
| 485 | + refine!(wing2) |
| 486 | + body_aero = BodyAerodynamics([wing1, wing2]) |
| 487 | + |
| 488 | + va = [10.0, 0.0, 0.0] |
| 489 | + omega = [0.0, 0.0, 1.0] |
| 490 | + set_va!(body_aero, va, omega) |
| 491 | + |
| 492 | + for panel in body_aero.panels |
| 493 | + expected_va = va .+ (-omega × panel.control_point) |
| 494 | + @test panel.va ≈ expected_va atol=1e-12 |
| 495 | + end |
| 496 | + @test !body_aero.has_distributed_va |
| 497 | +end |
0 commit comments