From 5e82dedea4c56eafc1bba4f3ec8677b15f51c03f Mon Sep 17 00:00:00 2001 From: blendoit Date: Sun, 20 Oct 2019 19:33:53 -0700 Subject: Commence declassification of Evaluator Pointless to have a separate object for the Evaluator when a collection of evaluator.py methods does the trick. --- evaluator/lift.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 evaluator/lift.py (limited to 'evaluator/lift.py') diff --git a/evaluator/lift.py b/evaluator/lift.py new file mode 100644 index 0000000..6b4363e --- /dev/null +++ b/evaluator/lift.py @@ -0,0 +1,30 @@ +import numpy as np +from math import sqrt + + +def _get_lift_rectangular(aircraft, lift=50): + L_prime = np.array([ + lift / (aircraft.wing.semi_span * 2) + for _ in range(aircraft.wing.semi_span) + ]) + return L_prime + + +def _get_lift_elliptical(aircraft, L_0=3.2): + L_prime = np.array([ + 0.5 * L_0 / (aircraft.wing.semi_span * 2) * + sqrt(1 - (y / aircraft.wing.semi_span)**2) + for y in range(aircraft.wing.semi_span) + ]) + return L_prime + + +def get_lift_total(self, aircraft): + """Combination of rectangular and elliptical lift.""" + # F_z = self._get_lift_rectangular(aircraft) + self._get_lift_elliptical( + # aircraft) + # F_z = self._get_lift_rectangular( + # aircraft) + self._get_lift_elliptical(aircraft) / 2 + # F_z = [i + j for i, j in self._get_lift_rectangular] + # return F_z + return 420 -- cgit v1.2.3