summaryrefslogtreecommitdiff
path: root/evaluator.py
diff options
context:
space:
mode:
Diffstat (limited to 'evaluator.py')
-rw-r--r--evaluator.py29
1 files changed, 27 insertions, 2 deletions
diff --git a/evaluator.py b/evaluator.py
index f4768e1..a734c78 100644
--- a/evaluator.py
+++ b/evaluator.py
@@ -15,6 +15,8 @@
from math import sin, cos, atan, sqrt
+# All of these functions take integer arguments and return lists.
+
def get_total_mass(*component):
total_mass = float()
@@ -23,16 +25,39 @@ def get_total_mass(*component):
return total_mass
-def lift_rectangular(lift, semi_span):
+def get_lift_rectangular(lift, semi_span):
L_prime = lift / (semi_span * 2)
return L_prime
-def lift_elliptical(L_0, y, semi_span):
+def get_lift_elliptical(L_0, y, semi_span):
L_prime = L_0 * sqrt(1 - (y / semi_span) ** 2)
return L_prime
+def get_lift(rectangular, elliptical):
+ F_z = (rectangular + elliptical) / 2
+ return F_z
+
+
+def get_mass_distribution(airfoil, total_mass):
+ F_z = [total_mass / airfoil.semi_span
+ for x in range(0, airfoil.semi_span)]
+ return F_z
+
+
+def get_drag(airfoil, drag):
+ # Transform semi-span integer into list
+ semi_span = [x for x in range(0, airfoil.semi_span)]
+ cutoff = round(0.8 * airfoil.semi_span)
+
+ F_x = [drag for x in semi_span[0:cutoff]]
+ F_x.extend([1.25 * drag for x in semi_span[cutoff:]])
+ # for x in semi_span[cutoff:]:
+ # drag_distribution.append(1.25 * drag)
+ return F_x
+
+
def get_centroid(airfoil):
area = airfoil.stringer.area
numerator = float()
Copyright 2019--2024 Marius PETER