*ARCHIVED* development moved to aircraft-studio.
spar placement
Changed files
creator.py
@@ -32,6 +32,7 @@
32
32
from math import sin, cos, atan, sqrt
33
33
import bisect as bi
34
34
import matplotlib.pyplot as plt
35
Added:
from matplotlib.figure import Figure
35
36
36
37
37
38
class Airfoil:
@@ -235,7 +236,7 @@
235
236
x = [airfoil.x[spar_x]]
236
237
z = [airfoil.z[spar_x]]
237
238
# Spar lower coordinates
238
Removed:
spar_x = bi.bisect_left(airfoil.x[::-1], loc) - 1
239
Added:
spar_x = bi.bisect_left(airfoil.x[::-1], loc)
239
240
x += [airfoil.x[-spar_x]]
240
241
z += [airfoil.z[-spar_x]]
241
242
self.x.append(x)
@@ -361,6 +362,7 @@
361
362
def plot_geom(airfoil):
362
363
"""This function plots the airfoil's + sub-components' geometry."""
363
364
365
Added:
fig = Figure()
364
366
# Plot chord
365
367
x_chord = [0, airfoil.chord]
366
368
y_chord = [0, 0]
@@ -379,7 +381,7 @@
379
381
for _ in range(len(airfoil.spar.x)):
380
382
x = (airfoil.spar.x[_])
381
383
y = (airfoil.spar.z[_])
382
Removed:
plt.plot(x, y, '-', color='b')
384
Added:
plt.plot(x, y, '-', color='y', linewidth='4')
383
385
except AttributeError:
384
386
print('No spars to plot.')
385
387
# Plot stringers
gui.py
@@ -17,21 +17,41 @@
17
17
import tkinter as tk
18
18
import tkinter.ttk as ttk
19
19
20
Added:
from matplotlib.backends.backend_tkagg import (
21
Added:
FigureCanvasTkAgg, NavigationToolbar2Tk)
22
Added:
from matplotlib.figure import Figure
20
23
21
Removed:
def main():
22
Removed:
root = tk.Tk()
23
Removed:
root.title('MAE 154B - Airfoil Design, Evaluation, Optimization')
24
Removed:
root.geometry('1000x400')
24
Added:
import numpy as np
25
25
26
Removed:
frame = ttk.Frame(root).grid(row=0, column=0)
27
Removed:
ttk.Label(frame, text='NACA Number').grid(row=0, sticky='W')
28
Removed:
ttk.Entry(frame).grid(row=0, column=1)
29
Removed:
ttk.Label(frame, text='Chord Length').grid(row=1, sticky='W')
30
Removed:
ttk.Entry(frame).grid(row=1, column=1)
31
26
32
Removed:
root.mainloop()
33
Removed:
return None
27
Added:
root = tk.Tk()
28
Added:
root.wm_title('MAE 154B - Airfoil Design, Evaluation, Optimization')
29
Added:
# root.geometry('1000x400')
34
30
31
Added:
# # User inputs
32
Added:
# l_naca = ttk.Label(root, text='NACA Number')
33
Added:
# e_naca = ttk.Entry(root)
34
Added:
# l_chord = ttk.Label(root, text='Chord Length')
35
Added:
# e_chord = ttk.Entry(root)
36
Added:
# # Graph window
35
37
36
Removed:
if __name__ == '__main__':
37
Removed:
main()
38
Added:
fig = Figure()
39
Added:
t = np.arange(0, 3, .01)
40
Added:
fig.add_subplot(111).plot(t, 2 * np.sin(2 * np.pi * t))
41
Added:
42
Added:
canvas = FigureCanvasTkAgg(fig, master=root) # A tk.DrawingArea.
43
Added:
canvas.draw()
44
Added:
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
45
Added:
46
Added:
toolbar = NavigationToolbar2Tk(canvas, root)
47
Added:
toolbar.update()
48
Added:
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
49
Added:
50
Added:
51
Added:
# # Layout
52
Added:
# l_naca.grid(row=0, sticky='W')
53
Added:
# e_naca.grid(row=0, column=1)
54
Added:
# l_chord.grid(row=1, sticky='W')
55
Added:
# e_chord.grid(row=1, column=1)
56
Added:
57
Added:
root.mainloop()
main.py
@@ -72,8 +72,8 @@
72
72
# Create spar instance
73
73
af.spar = creator.Spar()
74
74
# Define the spar coordinates and mass, stored in single spar object
75
Removed:
af.spar.add_coord(af, 0.20)
76
Removed:
af.spar.add_coord(af, 0.65)
75
Added:
af.spar.add_coord(af, 0.23)
76
Added:
af.spar.add_coord(af, 0.57)
77
77
# Automatically adds spar caps for every previously defined
78
78
af.spar.add_spar_caps(SPAR_CAP_AREA)
79
79
af.spar.add_mass(SPAR_MASS)
@@ -104,8 +104,8 @@
104
104
eval.analysis(1, 1)
105
105
eval.info_print(2)
106
106
eval.info_save(SAVE_PATH, _)
107
Removed:
evaluator.plot_geom(eval)
108
Removed:
evaluator.plot_lift(eval)
107
Added:
# evaluator.plot_geom(eval)
108
Added:
# evaluator.plot_lift(eval)
109
109
110
110
pop = generator.Population(10)
111
111