Skip to content

Commit 61c3434

Browse files
committed
replace wing_aero with body_aero
1 parent f09b178 commit 61c3434

File tree

6 files changed

+80
-80
lines changed

6 files changed

+80
-80
lines changed

examples/ram_air_kite.jl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ using DataFrames
1010

1111
# Create wing geometry
1212
wing = KiteWing("data/ram_air_kite_body.obj", "data/ram_air_kite_foil.dat")
13-
wing_aero = BodyAerodynamics([wing])
13+
body_aero = BodyAerodynamics([wing])
1414

1515
# Create solvers
1616
VSM = Solver(
@@ -33,11 +33,11 @@ vel_app = [
3333
sin(side_slip),
3434
sin(aoa_rad)
3535
] * v_a
36-
wing_aero.va = vel_app
36+
body_aero.va = vel_app
3737

3838
# Plotting geometry
3939
plot_geometry(
40-
wing_aero,
40+
body_aero,
4141
"";
4242
data_type=".svg",
4343
save_path="",
@@ -48,10 +48,10 @@ plot_geometry(
4848
)
4949

5050
# Solving and plotting distributions
51-
@time results = solve(VSM, wing_aero)
52-
@time results = solve(VSM, wing_aero)
51+
@time results = solve(VSM, body_aero)
52+
@time results = solve(VSM, body_aero)
5353

54-
CAD_y_coordinates = [panel.aerodynamic_center[2] for panel in wing_aero.panels]
54+
CAD_y_coordinates = [panel.aerodynamic_center[2] for panel in body_aero.panels]
5555

5656
plot_distribution(
5757
[CAD_y_coordinates],
@@ -65,7 +65,7 @@ plot_distribution(
6565

6666
plot_polars(
6767
[VSM],
68-
[wing_aero],
68+
[body_aero],
6969
[
7070
"VSM from Ram Air Kite OBJ and DAT file",
7171
];

examples/stall_model.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ CAD_wing = Wing(n_panels; spanwise_panel_distribution)
3838
for rib in rib_list
3939
add_section!(CAD_wing, rib[1], rib[2], rib[3])
4040
end
41-
wing_aero_CAD_19ribs = BodyAerodynamics([CAD_wing])
41+
body_aero_CAD_19ribs = BodyAerodynamics([CAD_wing])
4242

4343
# Create solvers
4444
VSM = Solver(
@@ -61,11 +61,11 @@ vel_app = [
6161
sin(side_slip),
6262
sin(aoa_rad)
6363
] * v_a
64-
wing_aero_CAD_19ribs.va = vel_app
64+
body_aero_CAD_19ribs.va = vel_app
6565

6666
# # Plotting geometry
6767
# plot_geometry(
68-
# wing_aero_CAD_19ribs,
68+
# body_aero_CAD_19ribs,
6969
# "";
7070
# data_type=".svg",
7171
# save_path="",
@@ -76,11 +76,11 @@ wing_aero_CAD_19ribs.va = vel_app
7676
# )
7777

7878
# Solving and plotting distributions
79-
results = solve(VSM, wing_aero_CAD_19ribs)
80-
@time results_with_stall = solve(VSM_with_stall_correction, wing_aero_CAD_19ribs)
81-
@time results_with_stall = solve(VSM_with_stall_correction, wing_aero_CAD_19ribs)
79+
results = solve(VSM, body_aero_CAD_19ribs)
80+
@time results_with_stall = solve(VSM_with_stall_correction, body_aero_CAD_19ribs)
81+
@time results_with_stall = solve(VSM_with_stall_correction, body_aero_CAD_19ribs)
8282

83-
CAD_y_coordinates = [panel.aerodynamic_center[2] for panel in wing_aero_CAD_19ribs.panels]
83+
CAD_y_coordinates = [panel.aerodynamic_center[2] for panel in body_aero_CAD_19ribs.panels]
8484

8585
plot_distribution(
8686
[CAD_y_coordinates, CAD_y_coordinates],
@@ -105,7 +105,7 @@ path_cfd_lebesque = joinpath(
105105

106106
plot_polars(
107107
[VSM, VSM_with_stall_correction],
108-
[wing_aero_CAD_19ribs, wing_aero_CAD_19ribs],
108+
[body_aero_CAD_19ribs, body_aero_CAD_19ribs],
109109
[
110110
"VSM CAD 19ribs",
111111
"VSM CAD 19ribs , with stall correction",

src/plotting.jl

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -143,25 +143,25 @@ function set_axes_equal!(ax; zoom=1.8)
143143
end
144144

145145
"""
146-
create_geometry_plot(wing_aero::BodyAerodynamics, title, view_elevation, view_azimuth; zoom=1.8)
146+
create_geometry_plot(body_aero::BodyAerodynamics, title, view_elevation, view_azimuth; zoom=1.8)
147147
148148
Create a 3D plot of wing geometry including panels and filaments.
149149
150150
# Arguments
151-
- wing_aero: struct of type BodyAerodynamics
151+
- body_aero: struct of type BodyAerodynamics
152152
- title: plot title
153153
- view_elevation: initial view elevation angle [°]
154154
- view_azimuth: initial view azimuth angle [°]
155155
156156
# Keyword arguments
157157
- zoom: zoom factor (default: 1.8)
158158
"""
159-
function create_geometry_plot(wing_aero::BodyAerodynamics, title, view_elevation, view_azimuth;
159+
function create_geometry_plot(body_aero::BodyAerodynamics, title, view_elevation, view_azimuth;
160160
zoom=1.8)
161161
set_plot_style(28)
162162

163-
panels = wing_aero.panels
164-
va = isa(wing_aero.va, Tuple) ? wing_aero.va[1] : wing_aero.va
163+
panels = body_aero.panels
164+
va = isa(body_aero.va, Tuple) ? body_aero.va[1] : body_aero.va
165165

166166
# Extract geometric data
167167
corner_points = [panel.corner_points for panel in panels]
@@ -241,15 +241,15 @@ function create_geometry_plot(wing_aero::BodyAerodynamics, title, view_elevation
241241
end
242242

243243
"""
244-
plot_geometry(wing_aero::BodyAerodynamics, title;
244+
plot_geometry(body_aero::BodyAerodynamics, title;
245245
data_type=".pdf", save_path=nothing,
246246
is_save=false, is_show=false,
247247
view_elevation=15, view_azimuth=-120)
248248
249249
Plot wing geometry from different viewpoints and optionally save/show plots.
250250
251251
# Arguments:
252-
- `wing_aero`: struct of type BodyAerodynamics
252+
- `body_aero`: struct of type BodyAerodynamics
253253
- title: plot title
254254
255255
# Keyword arguments:
@@ -261,7 +261,7 @@ Plot wing geometry from different viewpoints and optionally save/show plots.
261261
- `view_azimuth`: initial view azimuth angle (default: -120) [°]
262262
263263
"""
264-
function plot_geometry(wing_aero::BodyAerodynamics, title;
264+
function plot_geometry(body_aero::BodyAerodynamics, title;
265265
data_type=".pdf",
266266
save_path=nothing,
267267
is_save=false,
@@ -272,28 +272,28 @@ function plot_geometry(wing_aero::BodyAerodynamics, title;
272272
if is_save
273273
plt.ioff()
274274
# Angled view
275-
fig = create_geometry_plot(wing_aero, "$(title)_angled_view", 15, -120)
275+
fig = create_geometry_plot(body_aero, "$(title)_angled_view", 15, -120)
276276
save_plot(fig, save_path, "$(title)_angled_view", data_type=data_type)
277277

278278
# Top view
279-
fig = create_geometry_plot(wing_aero, "$(title)_top_view", 90, 0)
279+
fig = create_geometry_plot(body_aero, "$(title)_top_view", 90, 0)
280280
save_plot(fig, save_path, "$(title)_top_view", data_type=data_type)
281281

282282
# Front view
283-
fig = create_geometry_plot(wing_aero, "$(title)_front_view", 0, 0)
283+
fig = create_geometry_plot(body_aero, "$(title)_front_view", 0, 0)
284284
save_plot(fig, save_path, "$(title)_front_view", data_type=data_type)
285285

286286
# Side view
287-
fig = create_geometry_plot(wing_aero, "$(title)_side_view", 0, -90)
287+
fig = create_geometry_plot(body_aero, "$(title)_side_view", 0, -90)
288288
save_plot(fig, save_path, "$(title)_side_view", data_type=data_type)
289289
end
290290

291291
if is_show
292292
plt.ion()
293-
fig = create_geometry_plot(wing_aero, title, view_elevation, view_azimuth)
293+
fig = create_geometry_plot(body_aero, title, view_elevation, view_azimuth)
294294
plt.display(fig)
295295
else
296-
fig = create_geometry_plot(wing_aero, title, view_elevation, view_azimuth)
296+
fig = create_geometry_plot(body_aero, title, view_elevation, view_azimuth)
297297
end
298298
fig
299299
end
@@ -467,15 +467,15 @@ function plot_distribution(y_coordinates_list, results_list, label_list;
467467
end
468468

469469
"""
470-
generate_polar_data(solver, wing_aero::BodyAerodynamics, angle_range;
470+
generate_polar_data(solver, body_aero::BodyAerodynamics, angle_range;
471471
angle_type="angle_of_attack", angle_of_attack=0.0,
472472
side_slip=0.0, v_a=10.0)
473473
474474
Generate polar data for aerodynamic analysis over a range of angles.
475475
476476
# Arguments
477477
- `solver`: Aerodynamic solver object
478-
- `wing_aero`: Wing aerodynamics struct
478+
- `body_aero`: Wing aerodynamics struct
479479
- `angle_range`: Range of angles to analyze
480480
481481
# Keyword arguments
@@ -489,14 +489,14 @@ Generate polar data for aerodynamic analysis over a range of angles.
489489
"""
490490
function generate_polar_data(
491491
solver,
492-
wing_aero::BodyAerodynamics,
492+
body_aero::BodyAerodynamics,
493493
angle_range;
494494
angle_type="angle_of_attack",
495495
angle_of_attack=0.0,
496496
side_slip=0.0,
497497
v_a=10.0
498498
)
499-
n_panels = length(wing_aero.panels)
499+
n_panels = length(body_aero.panels)
500500
n_angles = length(angle_range)
501501

502502
# Initialize arrays
@@ -528,7 +528,7 @@ function generate_polar_data(
528528

529529
# Update inflow conditions
530530
set_va!(
531-
wing_aero,
531+
body_aero,
532532
[
533533
cos(α) * cos(β),
534534
sin(β),
@@ -537,7 +537,7 @@ function generate_polar_data(
537537
)
538538

539539
# Solve and store results
540-
results = solve(solver, wing_aero, gamma_distribution[i, :])
540+
results = solve(solver, body_aero, gamma_distribution[i, :])
541541

542542
cl[i] = results["cl"]
543543
cd[i] = results["cd"]
@@ -568,7 +568,7 @@ function generate_polar_data(
568568
end
569569

570570
"""
571-
plot_polars(solver_list, wing_aero_list, label_list;
571+
plot_polars(solver_list, body_aero_list, label_list;
572572
literature_path_list=String[], angle_range=range(0, 20, 2), angle_type="angle_of_attack",
573573
angle_of_attack=0.0, side_slip=0.0, v_a=10.0,
574574
title="polar", data_type=".pdf", save_path=nothing,
@@ -578,7 +578,7 @@ Plot polar data comparing different solvers and configurations.
578578
579579
# Arguments
580580
- `solver_list`: List of aerodynamic solvers
581-
- `wing_aero_list`: List of wing aerodynamics objects
581+
- `body_aero_list`: List of wing aerodynamics objects
582582
- `label_list`: List of labels for each configuration
583583
584584
# Keyword arguments
@@ -596,7 +596,7 @@ Plot polar data comparing different solvers and configurations.
596596
"""
597597
function plot_polars(
598598
solver_list,
599-
wing_aero_list,
599+
body_aero_list,
600600
label_list;
601601
literature_path_list=String[],
602602
angle_range=range(0, 20, 2),
@@ -611,18 +611,18 @@ function plot_polars(
611611
is_show=true
612612
)
613613
# Validate inputs
614-
total_cases = length(wing_aero_list) + length(literature_path_list)
615-
if total_cases != length(label_list) || length(solver_list) != length(wing_aero_list)
614+
total_cases = length(body_aero_list) + length(literature_path_list)
615+
if total_cases != length(label_list) || length(solver_list) != length(body_aero_list)
616616
throw(ArgumentError("Mismatch in number of solvers ($(length(solver_list))), " *
617617
"cases ($total_cases), and labels ($(length(label_list)))"))
618618
end
619619
main_title = replace(title, " " => "_")
620620

621621
# Generate polar data
622622
polar_data_list = []
623-
for (i, (solver, wing_aero)) in enumerate(zip(solver_list, wing_aero_list))
623+
for (i, (solver, body_aero)) in enumerate(zip(solver_list, body_aero_list))
624624
polar_data, rey = generate_polar_data(
625-
solver, wing_aero, angle_range;
625+
solver, body_aero, angle_range;
626626
angle_type,
627627
angle_of_attack,
628628
side_slip,

src/solver.jl

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,17 @@ struct Solver
5555
end
5656

5757
"""
58-
solve(solver::Solver, wing_aero::BodyAerodynamics, gamma_distribution=nothing)
58+
solve(solver::Solver, body_aero::BodyAerodynamics, gamma_distribution=nothing)
5959
6060
Main solving routine for the aerodynamic model.
6161
"""
62-
function solve(solver::Solver, wing_aero::BodyAerodynamics, gamma_distribution=nothing)
63-
isnothing(wing_aero.panels[1].va) && throw(ArgumentError("Inflow conditions are not set, use set_va!(wing_aero, va)"))
62+
function solve(solver::Solver, body_aero::BodyAerodynamics, gamma_distribution=nothing)
63+
isnothing(body_aero.panels[1].va) && throw(ArgumentError("Inflow conditions are not set, use set_va!(body_aero, va)"))
6464

6565
# Initialize variables
66-
panels = wing_aero.panels
66+
panels = body_aero.panels
6767
n_panels = length(panels)
68-
alpha_array = wing_aero.alpha_array
68+
alpha_array = body_aero.alpha_array
6969
relaxation_factor = solver.relaxation_factor
7070

7171
# Preallocate arrays
@@ -90,7 +90,7 @@ function solve(solver::Solver, wing_aero::BodyAerodynamics, gamma_distribution=n
9090

9191
# Calculate AIC matrices
9292
AIC_x, AIC_y, AIC_z = calculate_AIC_matrices(
93-
wing_aero,
93+
body_aero,
9494
solver.aerodynamic_model_type,
9595
solver.core_radius_fraction,
9696
va_norm_array,
@@ -100,7 +100,7 @@ function solve(solver::Solver, wing_aero::BodyAerodynamics, gamma_distribution=n
100100
# Initialize gamma distribution
101101
gamma_initial = if isnothing(gamma_distribution)
102102
if solver.type_initial_gamma_distribution == "elliptic"
103-
calculate_circulation_distribution_elliptical_wing(wing_aero)
103+
calculate_circulation_distribution_elliptical_wing(body_aero)
104104
else
105105
zeros(n_panels)
106106
end
@@ -114,7 +114,7 @@ function solve(solver::Solver, wing_aero::BodyAerodynamics, gamma_distribution=n
114114
# Run main iteration loop
115115
converged, gamma_new, alpha_array, v_a_array = gamma_loop(
116116
solver,
117-
wing_aero,
117+
body_aero,
118118
gamma_initial,
119119
AIC_x,
120120
AIC_y,
@@ -132,7 +132,7 @@ function solve(solver::Solver, wing_aero::BodyAerodynamics, gamma_distribution=n
132132
@warn "Running again with half the relaxation_factor = $(relaxation_factor/2)"
133133
converged, gamma_new, alpha_array, v_a_array = gamma_loop(
134134
solver,
135-
wing_aero,
135+
body_aero,
136136
gamma_initial,
137137
AIC_x,
138138
AIC_y,
@@ -149,7 +149,7 @@ function solve(solver::Solver, wing_aero::BodyAerodynamics, gamma_distribution=n
149149

150150
# Calculate final results
151151
results = calculate_results(
152-
wing_aero,
152+
body_aero,
153153
gamma_new,
154154
solver.density,
155155
solver.aerodynamic_model_type,
@@ -181,7 +181,7 @@ Main iteration loop for calculating circulation distribution.
181181
"""
182182
function gamma_loop(
183183
solver::Solver,
184-
wing_aero::BodyAerodynamics,
184+
body_aero::BodyAerodynamics,
185185
gamma_new::Vector{Float64},
186186
AIC_x::Matrix{Float64},
187187
AIC_y::Matrix{Float64},
@@ -195,8 +195,8 @@ function gamma_loop(
195195
relaxation_factor::Float64
196196
)
197197
converged = false
198-
alpha_array = wing_aero.alpha_array
199-
v_a_array = wing_aero.v_a_array
198+
alpha_array = body_aero.alpha_array
199+
v_a_array = body_aero.v_a_array
200200

201201
iters = 0
202202
for i in 1:solver.max_iterations

test/runtests.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ println("Running tests...")
66
include("test_bound_filament.jl")
77
include("test_panel.jl")
88
include("test_semi_infinite_filament.jl")
9-
include("test_wing_aerodynamics.jl")
9+
include("test_body_aerodynamics.jl")
1010
include("test_kite_geometry.jl")
1111
include("test_wing_geometry.jl")
1212
include("test_plotting.jl")

0 commit comments

Comments
 (0)