diff options
Diffstat (limited to 'evaluator.py')
-rw-r--r-- | evaluator.py | 29 |
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() |