From 97a837f74c7ca5c53bae48364398b09d15b1509e Mon Sep 17 00:00:00 2001 From: blendoit Date: Thu, 17 Oct 2019 22:24:21 -0700 Subject: refactor stringer generating function --- evaluator/evaluator.py | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) (limited to 'evaluator/evaluator.py') diff --git a/evaluator/evaluator.py b/evaluator/evaluator.py index a668854..53fab3b 100644 --- a/evaluator/evaluator.py +++ b/evaluator/evaluator.py @@ -10,6 +10,7 @@ import os.path import numpy as np from math import sqrt import matplotlib.pyplot as plt +import concurrent.futures import logging logging.basicConfig(filename='log_eval.txt', @@ -28,24 +29,26 @@ class Evaluator: self.I_ = {'x': 0, 'z': 0, 'xz': 0} def get_lift_rectangular(aircraft, lift=50): - # L_prime = [ - # lift / (aircraft.wing.semi_span * 2) - # for x in range(aircraft.wing.semi_span) - # ] - return lift + L_prime = [ + lift / (aircraft.wing.semi_span * 2) + for x in range(aircraft.wing.semi_span) + ] + return L_prime def get_lift_elliptical(aircraft, L_0=3.2): - # L_prime = [ - # 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_0 + L_prime = [ + 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): - F_z = 100 - # F_z = [(self.get_lift_rectangular() + self.get_lift_elliptical() / 2 - # for _ in range(len(aircraft.lift_rectangular))] + F_z = [ + self.get_lift_rectangular(aircraft) + + self.get_lift_elliptical(aircraft) / 2 + for _ in range(aircraft.wing.semi_span) + ] return F_z def get_mass_distribution(self, total_mass): @@ -149,6 +152,9 @@ class Evaluator: def analysis(self): """Perform all analysis calculations and store in self.results.""" + with concurrent.futures.ProcessPoolExecutor() as executor: + f1 = executor.submit(self.get_lift_total) + for aircraft in self.aircrafts: # lift = self.get_lift_total(aircraft), # drag = self.get_drag(aircraft.wing), @@ -213,6 +219,7 @@ class Evaluator: print(".") print(f"`-- {aircraft}") print(f" |--{aircraft.wing}") + print(f" | |-- {aircraft.wing.stringers}") for spar in aircraft.wing.spars[:-1]: print(f" | |-- {spar}") print(f" | `-- {aircraft.wing.spars[-1]}") -- cgit v1.2.3