Skip to content

Commit 61645e6

Browse files
committed
add second benchmark
1 parent 1c434e3 commit 61645e6

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

examples/bench.jl

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@ using LinearAlgebra
22
using ControlPlots
33
using VortexStepMethod
44

5-
plot = true
5+
using Pkg
6+
7+
if !("CSV" keys(Pkg.project().dependencies))
8+
using TestEnv
9+
TestEnv.activate()
10+
end
611

712
# Step 1: Define wing parameters
813
n_panels = 20 # Number of panels
@@ -39,9 +44,38 @@ vsm_solver = Solver(aerodynamic_model_type=VSM)
3944

4045
# Step 5: Solve using both methods
4146
results_vsm = solve(vsm_solver, wa)
47+
println("Rectangular wing:")
4248
@time results_vsm = solve(vsm_solver, wa)
4349
# time Python: 32.0 ms Ryzen 7950x
4450
# time Julia: 0.6 ms Ryzen 7950x
4551
# 0.8 ms laptop, performance mode, battery
4652

53+
# Create wing geometry
54+
wing = KiteWing("data/ram_air_kite_body.obj", "data/ram_air_kite_foil.dat")
55+
body_aero = BodyAerodynamics([wing])
56+
57+
# Create solvers
58+
VSM_solver = Solver(
59+
aerodynamic_model_type=VSM,
60+
is_with_artificial_damping=false
61+
)
62+
63+
# Setting velocity conditions
64+
v_a = 15.0
65+
aoa = 15.0
66+
side_slip = 0.0
67+
yaw_rate = 0.0
68+
aoa_rad = deg2rad(aoa)
69+
vel_app = [
70+
cos(aoa_rad) * cos(side_slip),
71+
sin(side_slip),
72+
sin(aoa_rad)
73+
] * v_a
74+
set_va!(body_aero, vel_app)
75+
76+
# Solving and plotting distributions
77+
results = solve(VSM_solver, body_aero)
78+
println("RAM-air kite:")
79+
@time results = solve(VSM_solver, body_aero)
80+
4781
nothing

0 commit comments

Comments
 (0)