summaryrefslogtreecommitdiff
path: root/TAGS
blob: 6889824213a5e7adaa71634cc0d4eeaad58f504e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441

/home/blendux/github/UCLA_MAE_154B/example_airfoil.py,842
start_time = time.time()start_time15,374
NACA_NUM = 2412NACA_NUM18,426
CHORD_LENGTH = 68CHORD_LENGTH19,442
SEMI_SPAN = 150SEMI_SPAN20,460
SPAR_THICKNESS = 0.4SPAR_THICKNESS23,491
SKIN_THICKNESS = 0.1SKIN_THICKNESS24,512
AIRFOIL_MASS = 10AIRFOIL_MASS27,559
SPAR_MASS = 10SPAR_MASS28,577
STRINGER_MASS = 5STRINGER_MASS29,592
SPAR_CAP_AREA = 0.3SPAR_CAP_AREA32,625
STRINGER_AREA = 0.1STRINGER_AREA33,645
TOP_STRINGERS = 6TOP_STRINGERS36,688
BOTTOM_STRINGERS = 4BOTTOM_STRINGERS37,706
NOSE_TOP_STRINGERS = 3NOSE_TOP_STRINGERS38,727
NOSE_BOTTOM_STRINGERS = 5NOSE_BOTTOM_STRINGERS39,750
SAVE_PATH = '/home/blendux/github/UCLA_MAE_154B/save/'SAVE_PATH41,777
af = creator.Airfoil.from_dimensions(CHORD_LENGTH, SEMI_SPAN)af45,860
eval = evaluator.Evaluator(af)eval81,2026
pop = generator.Population(10)pop89,2245

/home/blendux/github/UCLA_MAE_154B/wing_scripts/my_progress.m,7747
Vx = 1; Vz = 1; My = 1;  %test loads will be applied individuallyVx5,40
numStringers = numTopStringers;numStringers15,163
stringerGap = upperStringerGap;stringerGap16,195
webThickness = t_upper;webThickness17,227
tempStringers = topStringers;tempStringers18,251
        dx = web(i).xStart-centroid.posX; dz = web(i).zStart-centroid.posZ;dx34,786
    tempInt = get_int(web(i).xStart/chord,web(i).xEnd/chord,1)*chord^2;  %integral of airfoil futempInt40,1142
    triangle1 = abs( (web(i).xStart - sparCaps(1).posX)*web(i).zStart/2);triangle141,1245
    triangle2 = abs((web(i).xEnd - sparCaps(1).posX)*web(i).zEnd/2);triangle242,1319
webTop = web;webTop56,2080
web = [];web57,2094
dx = web(i).xStart-centroid.posX; dz = web(i).zStart-centroid.posZ;dx67,2319
webRearSpar = web;webRearSpar87,3367
web = [];web88,3386
numStringers = numBottomStringers;numStringers92,3410
stringerGap = lowerStringerGap;stringerGap93,3445
webThickness = t_lower;webThickness94,3477
tempStringers = bottomStringers;tempStringers95,3501
    dx = web(i).xStart-centroid.posX; dz = web(i).zStart-centroid.posZ;dx103,3817
    tempInt = get_int(web(i).xEnd/chord,web(i).xStart/chord,0)*chord^2;  %integral of airfoil futempInt118,4524
    triangle2 = abs((web(i).xStart - sparCaps(1).posX)*web(i).zStart/2);triangle2119,4627
    triangle1 = abs((web(i).xEnd - sparCaps(1).posX)*web(i).zEnd/2);triangle1120,4700
webBottom = web;webBottom136,5535
web = [];web137,5552
dx = web(i).xStart-centroid.posX; dz = web(i).zStart-centroid.posZ;dx147,5779
webFrontSpar = web;webFrontSpar165,6715
web = [];web166,6735
numStringers = numNoseBottomStringers;numStringers174,6781
stringerGap = lowerNoseStringerGap;stringerGap175,6820
webThickness = t_lower_front;webThickness176,6856
tempStringers = noseBottomStringers;tempStringers177,6886
    dx = web(i).xStart-centroid.posX; dz = web(i).zStart-centroid.posZ;dx185,7206
    tempInt = get_int(web(i).xEnd/chord,web(i).xStart/chord,0)*chord^2;  %integral of airfoil futempInt200,7761
    triangle1 = abs((web(i).xStart - sparCaps(2).posX)*web(i).zStart/2);triangle1201,7864
    triangle2 = abs((web(i).xEnd - sparCaps(2).posX)*web(i).zEnd/2);triangle2202,7937
webLowerNose = web;webLowerNose218,8776
web = [];web219,8796
numStringers = numNoseTopStringers;numStringers222,8824
stringerGap = upperNoseStringerGap;stringerGap223,8860
webThickness = t_upper_front;webThickness224,8896
tempStringers = noseTopStringers;tempStringers225,8926
    dx = web(i).xStart-centroid.posX; dz = web(i).zStart-centroid.posZ;dx233,9205
    tempInt = get_int(web(i).xStart/chord,web(i).xEnd/chord,1)*chord^2;  %integral of airfoil futempInt247,9864
    triangle2 = abs((web(i).xStart - sparCaps(2).posX)*web(i).zStart/2);triangle2248,9967
    triangle1 = abs((web(i).xEnd - sparCaps(2).posX)*web(i).zEnd/2);triangle1249,10040
webUpperNose = web;webUpperNose264,10802
web = [];web265,10822
dx = web(i).xStart-centroid.posX; dz = web(i).zStart-centroid.posZ;dx276,11050
webFrontSparCell2 = web;webFrontSparCell2294,11994
web = [];web295,12019
Fx = sum([webTop.qp_dx_X])+webRearSpar.qp_dx_X+ sum([webBottom.qp_dx_X])+webFrontSpar.qp_dx_X;  Fx300,12064
Fx = Fx + sum([webLowerNose.qp_dx_X])+ sum([webUpperNose.qp_dx_X]);  %cell 2Fx301,12168
Fz = sum([webTop.qp_dz_X])+webRearSpar.qp_dz_X+ sum([webBottom.qp_dz_X])+webFrontSpar.qp_dz_X;  Fz303,12248
Fz = Fz + sum([webLowerNose.qp_dz_X])+ sum([webUpperNose.qp_dz_X]);  %cell 2Fz304,12352
Fx = sum([webTop.qp_dx_Z])+webRearSpar.qp_dx_Z+ sum([webBottom.qp_dx_Z])+webFrontSpar.qp_dx_Z;  Fx310,12467
Fx = Fx + sum([webLowerNose.qp_dx_Z])+ sum([webUpperNose.qp_dx_Z]);  %cell 2Fx311,12571
Fz = sum([webTop.qp_dz_Z])+webRearSpar.qp_dz_Z+ sum([webBottom.qp_dz_Z])+webFrontSpar.qp_dz_Z;  Fz313,12651
Fz = Fz + sum([webLowerNose.qp_dz_Z])+ sum([webUpperNose.qp_dz_Z]);  %cell 2Fz314,12755
A11 = sum([webTop.dS_over_t])+webRearSpar.dS_over_t+ sum([webBottom.dS_over_t])+webFrontSpar.dS_A11323,12925
A22 = sum([webLowerNose.dS_over_t])+ sum([webUpperNose.dS_over_t])+webFrontSparCell2.dS_over_t;A22324,13029
A12 = -webFrontSpar.dS_over_t;A12325,13125
A21 = -webFrontSparCell2.dS_over_t;A21326,13156
B1_X = sum([webTop.q_dS_over_t_X])+webRearSpar.q_dS_over_t_X+ sum([webBottom.q_dS_over_t_X])+webB1_X328,13193
B2_X = sum([webLowerNose.q_dS_over_t_X])+ sum([webUpperNose.q_dS_over_t_X])+webFrontSparCell2.q_B2_X329,13314
B1_Z = sum([webTop.q_dS_over_t_Z])+webRearSpar.q_dS_over_t_Z+ sum([webBottom.q_dS_over_t_Z])+webB1_Z330,13423
B2_Z = sum([webLowerNose.q_dS_over_t_Z])+ sum([webUpperNose.q_dS_over_t_Z])+webFrontSparCell2.q_B2_Z331,13544
Amat = [A11 A12; A21 A22];Amat333,13654
Bmat_X = -[B1_X;B2_X];Bmat_X334,13681
Bmat_Z = -[B1_Z;B2_Z];Bmat_Z335,13704
qs_X = inv(Amat)*Bmat_X;qs_X337,13728
qs_Z = inv(Amat)*Bmat_Z;qs_Z338,13753
sum_2_a_q_X = sum([webTop.two_A_qprime_X])+webRearSpar.two_A_qprime_X+ sum([webBottom.two_A_qprisum_2_a_q_X342,13781
sum_2_a_q_X = sum_2_a_q_X + sum([webLowerNose.two_A_qprime_X])+ sum([webUpperNose.two_A_qprime_Xsum_2_a_q_X343,13902
sum_2_a_q_X = sum_2_a_q_X +  2*qs_X(1)*(sum([webTop.Area])+webRearSpar.Area+ sum([webBottom.Areasum_2_a_q_X344,14020
sum_2_a_q_X = sum_2_a_q_X +  2*qs_X(2)*(sum([webLowerNose.Area])+ sum([webUpperNose.Area]));sum_2_a_q_X345,14121
sum_2_a_q_Z = sum([webTop.two_A_qprime_Z])+webRearSpar.two_A_qprime_Z+ sum([webBottom.two_A_qprisum_2_a_q_Z347,14215
sum_2_a_q_Z = sum_2_a_q_Z + sum([webLowerNose.two_A_qprime_Z])+ sum([webUpperNose.two_A_qprime_Zsum_2_a_q_Z348,14336
sum_2_a_q_Z = sum_2_a_q_Z +  2*qs_Z(1)*(sum([webTop.Area])+webRearSpar.Area+ sum([webBottom.Areasum_2_a_q_Z349,14454
sum_2_a_q_Z = sum_2_a_q_Z +  2*qs_Z(2)*(sum([webLowerNose.Area])+ sum([webUpperNose.Area]));sum_2_a_q_Z350,14555
torque_Z = Vz*(sc.posX - 0.25*chord);torque_Z360,14875
torque_X = -Vx*sc.posZ;torque_X361,14913
Area1 = sum([webTop.Area]) + webRearSpar.Area + sum([webBottom.Area]);Area1364,14939
Area1_check = get_int(frontSpar,backSpar,1)*chord^2 + get_int(frontSpar,backSpar,0)*chord^2;Area1_check366,15022
Area2 = sum([webLowerNose.Area]) + sum([webUpperNose.Area]);Area2368,15116
Area2_check = get_int(0,frontSpar,1)*chord^2 + get_int(0,frontSpar,0)*chord^2;Area2_check369,15177
q1t_over_q2t = (A22/Area2 + webFrontSpar.dS_over_t/Area1)/(A11/Area1 + webFrontSpar.dS_over_t/Arq1t_over_q2t374,15312
q2t = torque_X/(2*Area1*q1t_over_q2t + 2*Area2);q2t376,15415
q1t = q2t*q1t_over_q2t;q1t377,15464
qt_X = [q1t;q2t];qt_X378,15488
q2t = torque_Z/(2*Area1*q1t_over_q2t + 2*Area2);q2t380,15507
q1t = q2t*q1t_over_q2t;q1t381,15556
qt_Z = [q1t;q2t];qt_Z382,15580
xChord = 0:.01:1;xChord403,15777
xChord = xChord*chord;xChord404,15795
upperSurface = zeros(1,length(xChord));upperSurface405,15818
lowerSurface = zeros(1,length(xChord));lowerSurface406,15858
   vecX = [frontSpar*chord webTop(i).xStart webTop(i).xEnd];vecX421,16255
   vecZ = [0 webTop(i).zStart webTop(i).zEnd];vecZ422,16316
   vecX = [frontSpar*chord webBottom(i).xStart webBottom(i).xEnd];vecX427,16429
   vecZ = [0 webBottom(i).zStart webBottom(i).zEnd];vecZ428,16496
   vecX = [frontSpar*chord webUpperNose(i).xStart webUpperNose(i).xEnd];vecX433,16618
   vecZ = [0 webUpperNose(i).zStart webUpperNose(i).zEnd];vecZ434,16691
   vecX = [frontSpar*chord webLowerNose(i).xStart webLowerNose(i).xEnd];vecX439,16819
   vecZ = [0 webLowerNose(i).zStart webLowerNose(i).zEnd];vecZ440,16892
   vecX = [frontSpar*chord sparCaps(3).posX sparCaps(4).posX];vecX444,16989
   vecZ = [0 sparCaps(3).posZ sparCaps(4).posZ];vecZ445,17052
sparCapSize = 18;sparCapSize449,17136
stringerSize = 18;stringerSize450,17154

/home/blendux/github/UCLA_MAE_154B/wing_scripts/get_z.m,481
function z = get_z(x,u)get_z1,0
M = 0.02;M9,66
P = 0.4;P10,76
T = 0.12;T11,85
a0 = 0.2969;a012,95
a1 = -0.126;a113,108
a2 = -0.3516;a214,121
a3 = 0.2843;a315,135
a4 = -0.1015;a416,148
    z_camber = M/P^2*(2*P*x - x^2);z_camber19,171
    z_camber = (M/(1-P)^2)*(1 - 2*P +2*P*x - x^2);z_camber21,212
z_thickness = (T/0.2)*(a0*x^.5+a1*x+a2*x^2+a3*x^3+a4*x^4);z_thickness25,301
    z = z_camber + z_thickness;z28,369
    z = z_camber - z_thickness;z30,406

/home/blendux/github/UCLA_MAE_154B/wing_scripts/get_dp.m,169
function z = get_dp(xDist,zDist,Vx,Vz,Ix,Iz,Ixz,A)get_dp1,0
denom = (Ix*Iz-Ixz^2);denom3,52
z = -A*xDist*(Ix*Vx-Ixz*Vz)/denom - A*zDist*(Iz*Vz-Ixz*Vx)/denom;z4,75

/home/blendux/github/UCLA_MAE_154B/wing_scripts/get_int.m,925
function z = get_int(xi,xf,u)get_int1,0
M = 0.02;M3,31
P = 0.4;P4,41
T = 0.12;T5,50
a0 = 0.2969;a06,60
a1 = -0.126;a17,73
a2 = -0.3516;a28,86
a3 = 0.2843;a39,100
a4 = -0.1015;a410,113
    intCamb =  M/P^2*(2*P*xf^2/2 - xf^3/3) - M/P^2*(2*P*xi^2/2 - xi^3/3);   intCamb16,214
    intCamb = (M/(1-P)^2)*((1 - 2*P)*xf +2*P*xf^2/2 - xf^3/3) - (M/(1-P)^2)*((1 - 2*P)*P +2*P*P^intCamb18,303
    intCamb = intCamb + M/P^2*(2*P*P^2/2 - P^3/3) - M/P^2*(2*P*xi^2/2 - xi^3/3);intCamb19,413
    intCamb = (M/(1-P)^2)*((1 - 2*P)*xf +2*P*xf^2/2 - xf^3/3) - (M/(1-P)^2)*((1 - 2*P)*xi +2*P*xintCamb21,499
intThickness = (T/0.2)*(a0*xf^1.5/1.5 + a1*xf^2/2 + a2*xf^3/3 + a3*xf^4/4 +a4*xf^5/5);intThickness27,710
intThickness = intThickness - (T/0.2)*(a0*xi^1.5/1.5 + a1*xi^2/2 + a2*xi^3/3 + a3*xi^4/4 +a4*xi^intThickness28,797
   z = intCamb + intThickness; z32,964
   z = abs(intCamb - intThickness);z34,1001

/home/blendux/github/UCLA_MAE_154B/wing_scripts/eye_beam_example.m,1004
length = 20; % inlength4,44
force = 10000; %lbsforce5,62
max_width = 4; % inmax_width9,105
min_width = 1; % inmin_width10,125
y_max = 4; % iny_max11,145
center_y = 2; % incenter_y12,161
M = force*length;M17,218
I = min_width*(2*center_y)^3/12 + 2*( max_width*(y_max-center_y)^3/12 + ...I19,237
sigma_max = M * y_max / I;sigma_max22,370
tempCoeff = force / (I * max_width);tempCoeff29,542
int_y_da = ((y_max+center_y)/2) * max_width*(y_max-center_y);int_y_da30,579
shear_1 = tempCoeff*int_y_da;shear_131,641
tempCoeff = force / (I * min_width);tempCoeff34,749
shear_2 = tempCoeff*int_y_da;shear_235,786
tempCoeff = force / (I * min_width);tempCoeff39,857
int_y_da = (center_y/2) * min_width*center_y;int_y_da40,894
shear_3 = shear_2+tempCoeff*int_y_da;shear_341,940
int_y_da_4 = force / (I * max_width)*4*(y_max^2/2 - (center_y:.1:y_max).^2/2);int_y_da_444,1027
int_y_da_1 = shear_2 + force / (I * min_width)*1*(center_y^2/2 - (0:.1:center_y).^2/2);int_y_da_147,1155

/home/blendux/github/UCLA_MAE_154B/wing_scripts/get_ds.m,378
function ds = get_ds(xi,xf,u)get_ds1,0
dist = 0;dist3,31
numSteps = 10;numSteps4,41
dx = (xf-xi)/numSteps;dx5,56
z0 = get_z(xi,u);z06,79
x0 = xi;x07,97
    tempX = x0+dx;tempX9,117
        tempZ = get_z(tempX,u);tempZ11,153
        tempZ = 0;tempZ13,195
    dist = dist + (dx^2+(tempZ-z0)^2)^.5;dist15,222
    z0 = tempZ;z016,264
    x0 = tempX;x017,280

/home/blendux/github/UCLA_MAE_154B/wing_scripts/stringersBeamExample.m,837
force = 8000; % lbsforce2,12
stringer_A = 0.5; % in^2stringer_A3,32
thickness = 0.04; % inthickness4,57
top_stringers_y = 6; % intop_stringers_y6,81
middle_stringers_y = 2; % inmiddle_stringers_y7,107
I = 2*stringer_A*top_stringers_y^2 + 2*stringer_A*middle_stringers_y^2;I9,137
shear_top_web = force / (I*thickness) * top_stringers_y * stringer_A;shear_top_web15,381
shear_middle_web = shear_top_web + (force / (I*thickness) * middle_stringers_y * stringer_A);shear_middle_web16,451
d_sigma = force * top_stringers_y / I;  %(lbs/in^2)d_sigma36,1520
d_force_top = d_sigma * stringer_A;d_force_top37,1572
d_sigma = force * middle_stringers_y / I;  %(lbs/in^2)d_sigma40,1631
d_force_middle = d_force_top + d_sigma*stringer_A;d_force_middle41,1686
check_load = 2*d_force_top*4 + d_force_middle*4;check_load44,1762

/home/blendux/github/UCLA_MAE_154B/wing_scripts/wingAnalysis_190422.m,10240
Vx = 1; Vz = 1; My = 1;  %test loads will be applied individuallyVx8,43
numTopStringers = 6;numTopStringers11,124
numBottomStringers = 8;numBottomStringers12,145
numNoseTopStringers = 4;numNoseTopStringers13,169
numNoseBottomStringers = 4;numNoseBottomStringers14,194
t_upper = 0.02/12;t_upper16,223
t_lower = 0.02/12;t_lower17,242
t_upper_front = 0.02/12;t_upper_front18,261
t_lower_front = 0.02/12;t_lower_front19,286
t_frontSpar = 0.04/12;t_frontSpar20,311
t_rearSpar = 0.04/12;t_rearSpar21,334
frontSpar = 0.2;frontSpar23,357
backSpar = 0.7;backSpar24,374
chord = 5;chord25,390
upperStringerGap = (sparCaps(3).posX - sparCaps(1).posX)/(numTopStringers + 1);upperStringerGap42,817
lowerStringerGap = (sparCaps(3).posX - sparCaps(1).posX)/(numBottomStringers + 1);lowerStringerGap43,897
upperNoseStringerGap = (sparCaps(1).posX - 0)/(numNoseTopStringers + 1);upperNoseStringerGap44,980
lowerNoseStringerGap = (sparCaps(1).posX - 0)/(numNoseBottomStringers + 1);lowerNoseStringerGap45,1053
Ix = 0; Iz = 0; Ixz = 0;Ix98,3144
    Ix = Ix + sparCaps(i).area*(sparCaps(i).posZ-centroid.posZ)^2;Ix101,3191
    Iz = Iz + sparCaps(i).area*(sparCaps(i).posX-centroid.posX)^2;Iz102,3258
    Ixz = Ixz + sparCaps(i).area*(sparCaps(i).posX-centroid.posX)*(sparCaps(i).posZ-centroid.posIxz103,3325
    Ix = Ix + topStringers(i).area*(topStringers(i).posZ-centroid.posZ)^2;Ix108,3470
    Iz = Iz + topStringers(i).area*(topStringers(i).posX-centroid.posX)^2;Iz109,3545
    Ixz = Ixz + topStringers(i).area*(topStringers(i).posX-centroid.posX)*(topStringers(i).posZ-Ixz110,3620
    Ix = Ix + bottomStringers(i).area*(bottomStringers(i).posZ-centroid.posZ)^2;Ix113,3781
    Iz = Iz + bottomStringers(i).area*(bottomStringers(i).posX-centroid.posX)^2;Iz114,3862
    Ixz = Ixz + bottomStringers(i).area*(bottomStringers(i).posX-centroid.posX)*(bottomStringersIxz115,3943
    Ix = Ix + noseTopStringers(i).area*(noseTopStringers(i).posZ-centroid.posZ)^2;Ix118,4116
    Iz = Iz + noseTopStringers(i).area*(noseTopStringers(i).posX-centroid.posX)^2;Iz119,4199
    Ixz = Ixz + noseTopStringers(i).area*(noseTopStringers(i).posX-centroid.posX)*(noseTopStringIxz120,4282
    Ix = Ix + noseBottomStringers(i).area*(noseBottomStringers(i).posZ-centroid.posZ)^2;Ix123,4464
    Iz = Iz + noseBottomStringers(i).area*(noseBottomStringers(i).posX-centroid.posX)^2;Iz124,4553
    Ixz = Ixz + noseBottomStringers(i).area*(noseBottomStringers(i).posX-centroid.posX)*(noseBotIxz125,4642
numStringers = numTopStringers;numStringers135,4835
stringerGap = upperStringerGap;stringerGap136,4867
webThickness = t_upper;webThickness137,4899
tempStringers = topStringers;tempStringers138,4923
        dx = web(i).xStart-centroid.posX; dz = web(i).zStart-centroid.posZ;dx154,5458
    tempInt = get_int(web(i).xStart/chord,web(i).xEnd/chord,1)*chord^2;  %integral of airfoil futempInt160,5814
    triangle1 = abs( (web(i).xStart - sparCaps(1).posX)*web(i).zStart/2);triangle1161,5917
    triangle2 = abs((web(i).xEnd - sparCaps(1).posX)*web(i).zEnd/2);triangle2162,5991
webTop = web;webTop176,6752
web = [];web177,6766
dx = web(i).xStart-centroid.posX; dz = web(i).zStart-centroid.posZ;dx187,6991
webRearSpar = web;webRearSpar207,8039
web = [];web208,8058
numStringers = numBottomStringers;numStringers212,8082
stringerGap = lowerStringerGap;stringerGap213,8117
webThickness = t_lower;webThickness214,8149
tempStringers = bottomStringers;tempStringers215,8173
    dx = web(i).xStart-centroid.posX; dz = web(i).zStart-centroid.posZ;dx223,8489
    tempInt = get_int(web(i).xEnd/chord,web(i).xStart/chord,0)*chord^2;  %integral of airfoil futempInt238,9196
    triangle2 = abs((web(i).xStart - sparCaps(1).posX)*web(i).zStart/2);triangle2239,9299
    triangle1 = abs((web(i).xEnd - sparCaps(1).posX)*web(i).zEnd/2);triangle1240,9372
webBottom = web;webBottom256,10207
web = [];web257,10224
dx = web(i).xStart-centroid.posX; dz = web(i).zStart-centroid.posZ;dx267,10451
webFrontSpar = web;webFrontSpar285,11387
web = [];web286,11407
numStringers = numNoseBottomStringers;numStringers294,11453
stringerGap = lowerNoseStringerGap;stringerGap295,11492
webThickness = t_lower_front;webThickness296,11528
tempStringers = noseBottomStringers;tempStringers297,11558
    dx = web(i).xStart-centroid.posX; dz = web(i).zStart-centroid.posZ;dx305,11878
    tempInt = get_int(web(i).xEnd/chord,web(i).xStart/chord,0)*chord^2;  %integral of airfoil futempInt320,12433
    triangle1 = abs((web(i).xStart - sparCaps(2).posX)*web(i).zStart/2);triangle1321,12536
    triangle2 = abs((web(i).xEnd - sparCaps(2).posX)*web(i).zEnd/2);triangle2322,12609
webLowerNose = web;webLowerNose338,13448
web = [];web339,13468
numStringers = numNoseTopStringers;numStringers342,13496
stringerGap = upperNoseStringerGap;stringerGap343,13532
webThickness = t_upper_front;webThickness344,13568
tempStringers = noseTopStringers;tempStringers345,13598
    dx = web(i).xStart-centroid.posX; dz = web(i).zStart-centroid.posZ;dx353,13877
    tempInt = get_int(web(i).xStart/chord,web(i).xEnd/chord,1)*chord^2;  %integral of airfoil futempInt367,14536
    triangle2 = abs((web(i).xStart - sparCaps(2).posX)*web(i).zStart/2);triangle2368,14639
    triangle1 = abs((web(i).xEnd - sparCaps(2).posX)*web(i).zEnd/2);triangle1369,14712
webUpperNose = web;webUpperNose384,15474
web = [];web385,15494
dx = web(i).xStart-centroid.posX; dz = web(i).zStart-centroid.posZ;dx396,15722
webFrontSparCell2 = web;webFrontSparCell2414,16666
web = [];web415,16691
Fx = sum([webTop.qp_dx_X])+webRearSpar.qp_dx_X+ sum([webBottom.qp_dx_X])+webFrontSpar.qp_dx_X;  Fx420,16736
Fx = Fx + sum([webLowerNose.qp_dx_X])+ sum([webUpperNose.qp_dx_X]);  %cell 2Fx421,16840
Fz = sum([webTop.qp_dz_X])+webRearSpar.qp_dz_X+ sum([webBottom.qp_dz_X])+webFrontSpar.qp_dz_X;  Fz423,16920
Fz = Fz + sum([webLowerNose.qp_dz_X])+ sum([webUpperNose.qp_dz_X]);  %cell 2Fz424,17024
Fx = sum([webTop.qp_dx_Z])+webRearSpar.qp_dx_Z+ sum([webBottom.qp_dx_Z])+webFrontSpar.qp_dx_Z;  Fx430,17139
Fx = Fx + sum([webLowerNose.qp_dx_Z])+ sum([webUpperNose.qp_dx_Z]);  %cell 2Fx431,17243
Fz = sum([webTop.qp_dz_Z])+webRearSpar.qp_dz_Z+ sum([webBottom.qp_dz_Z])+webFrontSpar.qp_dz_Z;  Fz433,17323
Fz = Fz + sum([webLowerNose.qp_dz_Z])+ sum([webUpperNose.qp_dz_Z]);  %cell 2Fz434,17427
A11 = sum([webTop.dS_over_t])+webRearSpar.dS_over_t+ sum([webBottom.dS_over_t])+webFrontSpar.dS_A11443,17597
A22 = sum([webLowerNose.dS_over_t])+ sum([webUpperNose.dS_over_t])+webFrontSparCell2.dS_over_t;A22444,17701
A12 = -webFrontSpar.dS_over_t;A12445,17797
A21 = -webFrontSparCell2.dS_over_t;A21446,17828
B1_X = sum([webTop.q_dS_over_t_X])+webRearSpar.q_dS_over_t_X+ sum([webBottom.q_dS_over_t_X])+webB1_X448,17865
B2_X = sum([webLowerNose.q_dS_over_t_X])+ sum([webUpperNose.q_dS_over_t_X])+webFrontSparCell2.q_B2_X449,17986
B1_Z = sum([webTop.q_dS_over_t_Z])+webRearSpar.q_dS_over_t_Z+ sum([webBottom.q_dS_over_t_Z])+webB1_Z450,18095
B2_Z = sum([webLowerNose.q_dS_over_t_Z])+ sum([webUpperNose.q_dS_over_t_Z])+webFrontSparCell2.q_B2_Z451,18216
Amat = [A11 A12; A21 A22];Amat453,18326
Bmat_X = -[B1_X;B2_X];Bmat_X454,18353
Bmat_Z = -[B1_Z;B2_Z];Bmat_Z455,18376
qs_X = inv(Amat)*Bmat_X;qs_X457,18400
qs_Z = inv(Amat)*Bmat_Z;qs_Z458,18425
sum_2_a_q_X = sum([webTop.two_A_qprime_X])+webRearSpar.two_A_qprime_X+ sum([webBottom.two_A_qprisum_2_a_q_X462,18453
sum_2_a_q_X = sum_2_a_q_X + sum([webLowerNose.two_A_qprime_X])+ sum([webUpperNose.two_A_qprime_Xsum_2_a_q_X463,18574
sum_2_a_q_X = sum_2_a_q_X +  2*qs_X(1)*(sum([webTop.Area])+webRearSpar.Area+ sum([webBottom.Areasum_2_a_q_X464,18692
sum_2_a_q_X = sum_2_a_q_X +  2*qs_X(2)*(sum([webLowerNose.Area])+ sum([webUpperNose.Area]));sum_2_a_q_X465,18793
sum_2_a_q_Z = sum([webTop.two_A_qprime_Z])+webRearSpar.two_A_qprime_Z+ sum([webBottom.two_A_qprisum_2_a_q_Z467,18887
sum_2_a_q_Z = sum_2_a_q_Z + sum([webLowerNose.two_A_qprime_Z])+ sum([webUpperNose.two_A_qprime_Zsum_2_a_q_Z468,19008
sum_2_a_q_Z = sum_2_a_q_Z +  2*qs_Z(1)*(sum([webTop.Area])+webRearSpar.Area+ sum([webBottom.Areasum_2_a_q_Z469,19126
sum_2_a_q_Z = sum_2_a_q_Z +  2*qs_Z(2)*(sum([webLowerNose.Area])+ sum([webUpperNose.Area]));sum_2_a_q_Z470,19227
torque_Z = Vz*(sc.posX - 0.25*chord);torque_Z480,19547
torque_X = -Vx*sc.posZ;torque_X481,19585
Area1 = sum([webTop.Area]) + webRearSpar.Area + sum([webBottom.Area]);Area1484,19611
Area1_check = get_int(frontSpar,backSpar,1)*chord^2 + get_int(frontSpar,backSpar,0)*chord^2;Area1_check486,19694
Area2 = sum([webLowerNose.Area]) + sum([webUpperNose.Area]);Area2488,19788
Area2_check = get_int(0,frontSpar,1)*chord^2 + get_int(0,frontSpar,0)*chord^2;Area2_check489,19849
q1t_over_q2t = (A22/Area2 + webFrontSpar.dS_over_t/Area1)/(A11/Area1 + webFrontSpar.dS_over_t/Arq1t_over_q2t494,19984
q2t = torque_X/(2*Area1*q1t_over_q2t + 2*Area2);q2t496,20087
q1t = q2t*q1t_over_q2t;q1t497,20136
qt_X = [q1t;q2t];qt_X498,20160
q2t = torque_Z/(2*Area1*q1t_over_q2t + 2*Area2);q2t500,20179
q1t = q2t*q1t_over_q2t;q1t501,20228
qt_Z = [q1t;q2t];qt_Z502,20252
xChord = 0:.01:1;xChord523,20449
xChord = xChord*chord;xChord524,20467
upperSurface = zeros(1,length(xChord));upperSurface525,20490
lowerSurface = zeros(1,length(xChord));lowerSurface526,20530
   vecX = [frontSpar*chord webTop(i).xStart webTop(i).xEnd];vecX541,20927
   vecZ = [0 webTop(i).zStart webTop(i).zEnd];vecZ542,20988
   vecX = [frontSpar*chord webBottom(i).xStart webBottom(i).xEnd];vecX547,21101
   vecZ = [0 webBottom(i).zStart webBottom(i).zEnd];vecZ548,21168
   vecX = [frontSpar*chord webUpperNose(i).xStart webUpperNose(i).xEnd];vecX553,21290
   vecZ = [0 webUpperNose(i).zStart webUpperNose(i).zEnd];vecZ554,21363
   vecX = [frontSpar*chord webLowerNose(i).xStart webLowerNose(i).xEnd];vecX559,21491
   vecZ = [0 webLowerNose(i).zStart webLowerNose(i).zEnd];vecZ560,21564
   vecX = [frontSpar*chord sparCaps(3).posX sparCaps(4).posX];vecX564,21661
   vecZ = [0 sparCaps(3).posZ sparCaps(4).posZ];vecZ565,21724
sparCapSize = 18;sparCapSize569,21808
stringerSize = 18;stringerSize570,21826

/home/blendux/github/UCLA_MAE_154B/gui.py,393
import tkinter as tktk20,820
import tkinter.ttk as ttkttk21,841
class MainWindow(tk.Frame):MainWindow27,963
    def __init__(self, *args, **kwargs):__init__30,1022
    def create_window(self):create_window64,2364
def new_field(parent, name):new_field72,2661
def set_naca(name):set_naca80,2826
def set_chord(name):set_chord85,2894
def set_semi_span(name):set_semi_span90,2957

/home/blendux/github/UCLA_MAE_154B/tools/evaluator.py,1051
import numpy as npnp24,959
import matplotlib.pyplot as pltplt26,1000
class Evaluator:Evaluator29,1034
    def __init__(self, airfoil):__init__32,1130
    def __str__(self):__str__56,1932
    def info_print(self, round):info_print59,1991
    def info_save(self, save_path, number):info_save74,2570
    def get_lift_rectangular(self, lift):get_lift_rectangular92,3362
    def get_lift_elliptical(self, L_0):get_lift_elliptical96,3507
    def get_lift_total(self):get_lift_total103,3719
    def get_mass_distribution(self, total_mass):get_mass_distribution108,3900
    def get_drag(self, drag):get_drag112,4047
    def get_centroid(self):get_centroid124,4473
    def get_inertia_terms(self):get_inertia_terms147,5377
    def get_dx(self, component):get_dx180,6841
    def get_dz(self, component):get_dz183,6940
    def get_dP(self, xDist, zDist, V_x, V_z, area):get_dP186,7039
    def analysis(self, V_x, V_z):analysis199,7491
def plot_geom(evaluator):plot_geom219,8423
def plot_lift(evaluator):plot_lift272,10194

/home/blendux/github/UCLA_MAE_154B/tools/creator.py,1569
import numpy as npnp31,1142
import bisect as bibi33,1193
import matplotlib.pyplot as pltplt34,1213
class Airfoil:Airfoil37,1247
    chord = 100chord51,1727
    semi_span = 200semi_span52,1743
    def __init__(self):__init__54,1764
    def from_dimensions(cls, chord, semi_span):from_dimensions65,2007
    def __str__(self):__str__75,2337
    def add_naca(self, naca_num):add_naca78,2396
        def get_camber(x):get_camber99,3112
        def get_thickness(x):get_thickness113,3714
        def get_theta(x):get_theta124,4162
        def get_upper_coord(x):get_upper_coord133,4478
        def get_lower_coord(x):get_lower_coord138,4663
    def add_mass(self, mass):add_mass166,5830
    def info_print(self, round):info_print169,5886
    def info_save(self, save_path, number):info_save184,6468
class Spar(Airfoil):Spar201,7201
    def __init__(self):__init__204,7268
    def add_coord(self, airfoil, x_loc_percent):add_coord212,7453
    def add_spar_caps(self, spar_cap_area):add_spar_caps239,8383
    def add_mass(self, mass):add_mass243,8486
    def add_webs(self, thickness):add_webs247,8576
class Stringer(Airfoil):Stringer258,8922
    def __init__(self):__init__261,9001
    def add_coord(self, airfoil,add_coord270,9214
    def add_area(self, area):add_area330,11712
    def add_mass(self, mass):add_mass334,11788
    def add_webs(self, thickness):add_webs338,11899
    def info_print(self, round):info_print348,12249
def plot_geom(airfoil, view: False):plot_geom354,12401
def main():main411,14163

/home/blendux/github/UCLA_MAE_154B/tools/generator.py,332
def default_airfoil():default_airfoil23,867
class Population(creator.Airfoil):Population45,1474
    def __init__(self, size):__init__48,1551
    def mutate(self, prob_mt):mutate54,1720
    def crossover(self, prob_cx):crossover57,1824
    def reproduce(self, prob_rp):reproduce60,1923
    def fitness():fitness63,2034
Copyright 2019--2024 Marius PETER