Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ss2021:project5:flugzeugsimulation:protokoll

Dies ist eine alte Version des Dokuments!


Protokoll

1. Woche: 27.05.

  • Plan für erste Wochen erstellt
  • Welche Variablen kann man verändern?
  • Festlegung der Strecke: Frankfurt-NY
  • Dauer = circa 8:30h

2. Woche: 03.06.

  • Formeln und mathematische Zusammenhänge raussuchen → Formeln

3. Woche: 10.06.

  • Klassen (Flugzeug und Welt) überarbeiten

4. Woche: 17.06.

  • Restliche mathematische Zusammenhänge herausgarbeitet → Formeln?
  • Abhängig von Höhe, Flugverlauf
  • Mindmap
  • Klassen in Einklang bringen

5. Woche: 24.06.

  • Klassen fertiggestellt
  • Was verändert sich in den Flugphasen?
  • Wie spielen die Kräfte und Anstellwinkel mit dem Auftrieb zusammen?
  • Besprechung der Darstellung

Quelle: https://de.wikipedia.org/wiki/Flugphase

Klasse Welt

 import math as m
 
 class Welt():
 
    def __init__(self):
 
        self.position = 90 # in m über NN
        self.temperatur_nn = 273,15 + 15 # in K (15 Grad) auf NN
 
        self.welt_masse = 5.97223*10**24 # Erdmasse in kg
        self.welt_radius = 6378137 # Erdradius in m
 
        self.welt_Gkonst = 6.6739*10**(-11) # Gravitationskonstante in m^3/(kg*s^2)
        self.welt_Rkonst = 287.058 # in J/kg*K (spez. Gaskonstante trockene Luft)
        self.welt_mol = 0.02896 # in kg/mol, mittlere molare Masse
 
    def temperatur(self, hoehe=12500): 
        if hoehe == 0:
            return 273.15+15 # 15 Grad Celsius
        elif hoehe < 10001:
            return self.temperatur(hoehe = 0)-(hoehe/140)
        else: # Temperatur ab 10.000m sinkt nicht mehr
            return self.temperatur(hoehe = 10000)
 
    def ortsfaktor(self, hoehe=12500):
        return self.welt_Gkonst*self.welt_masse/(self.welt_radius+hoehe)**2
 
    def schwerkraft(self, hoehe=12500, masse=200000):
        return masse*self.ortsfaktor(hoehe)
    # eigentlich von flugzeugmasse abhängig (vernachlässigbar (?))
 
    def luftdruck(self, hoehe=12500):
        if hoehe == 0:
            return 101325 # in Pa bei 15 Grad auf NN
        elif hoehe < 10001:
          #  return self.luftdruck(0)*m.exp(-hoehe*(self.welt_mol*self.ortsfaktor(hoehe)/(self.welt_Rkonst*self.temperatur(hoehe))))  
            return self.luftdruck(0)*m.exp(hoehe/-8000)
        else:
            return self.luftdruck(10000)
 
    def luftdichte(self, hoehe=12500):
        if hoehe < 10001:
            return self.luftdruck(hoehe)*self.welt_mol/(self.ortsfaktor(hoehe)*self.temperatur(hoehe))
        else:
            return self.luftdichte(10000)
 
    def widerstand(self, hoehe=12500, flaeche=361.6, v=250, widerstandsbeiwert = 0.08):
        return (1/2)*self.luftdichte(hoehe)*widerstandsbeiwert*flaeche*v**2
         # Luftwiderstandsbeiwert stromlinienförmiger Objekte (z.b. Flugzeug)
        # am besten die einzelnen parameter des flg ersetzen durch def widerstand(self, objekt=A330)

Klasse Flugzeug

import math
 
class Flugzeug():
 
    def __init__(self,v = 870,A = 361.6,m = 233000,Schub = 282.7,Turbinen = 2):
        self.v = v / 3.6
        self.A = A
        self.m = m
        self.Schub = Turbinen * Schub
 
 
    def berechne_auftrieb(self,p = 0.32):
        cA = (self.m * 9.81)/(0.5 * p * self.v**2 * self.A)
        Auftrieb = 0.5 * p * self.v**2 * self.A * cA
        return Auftrieb
 
    def Anstellwinkel(self,Fg = 2285730,p = 0.32):
        cA = Fg/(0.5 * p * self.v**2 * self.A)
        alpha = (cA-0.3)/0.19
        return round(alpha)

6. Woche: 01.07.

  • Code sammeln
  • Neue Funktion für die Höhe: abhängig von Geschwindigkeit
  • Geschwindigkeit : Abhängigkeit zur Höhe herstellen, wie ändert sich die Höhe?
ss2021/project5/flugzeugsimulation/protokoll.1625347878.txt.gz · Zuletzt geändert: 2021/07/03 23:31 von marlena02