summaryrefslogtreecommitdiff
path: root/evaluator/lift.py
blob: 6b4363eb4dbf2e9dfcc8a4dd56ff9cfb530ca1a8 (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
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
Copyright 2019--2024 Marius PETER