Optimisation Calculation

Example of BADA4 and BADAH optimum speed and altitude calculation

BADA4 Optimum Speed and Altitude:
EconMach =  0.786
EconMach_precomputed =  0.7864553781649994
MRC =  0.715
MRC_precomputed =  0.7148916115931497
LRC =  0.748
LRC_precomputed =  0.7483447003614483
MEC =  0.605
MEC_precomputed =  0.6046258001683559
optAlt = 36417.322834646
optAlt_precomputed =  36358.049180327864

BADAH Optimum Speed and Altitude:
MRC =  67.4
MRC_precomputed =  67.4006818433
LRC =  67.4
LRC_precomputed =  67.4006818433
MEC =  32.29
MEC_precomputed =  32.290089681

from pyBADA import atmosphere as atm
from pyBADA import conversions as conv

from pyBADA.bada4 import Bada4Aircraft
from pyBADA.badaH import BadaHAircraft

badaVersion = "DUMMY"

# initialization of BADA4
AC = Bada4Aircraft(badaVersion=badaVersion, acName="Dummy-TWIN")
print("BADA4 Optimum Speed and Altitude:")

# BADA4
if AC.BADAFamily.BADA4:
    mass = AC.MTOW  # [kg] AC weight
    h = conv.ft2m(33000)  # [m] AC flight altitdue
    DeltaTemp = 0  # [K] temperature deviation from ISA
    cI = 50  # [kg min^-1] cost index
    wS = 0  # [m s^-1] longitudinal wind speed

    [theta, delta, sigma] = atm.atmosphereProperties(
        h=h, DeltaTemp=DeltaTemp
    )  # atmosphere properties

    # Economic Mach Cruise Speed
    econMach = AC.OPT.econMach(
        theta=theta, delta=delta, mass=mass, DeltaTemp=DeltaTemp, cI=cI, wS=wS
    )
    print("EconMach = ", econMach)

    CCI = AC.OPT.CCI(theta=theta, delta=delta, cI=cI)
    CW = AC.OPT.CW(mass=mass, delta=delta)
    econMach_precomputed = AC.OPT.getOPTParam("ECON", CW, CCI)
    print("EconMach_precomputed = ", econMach_precomputed)

    # Maximum Range Cruise (MRC) Mach speed
    MRC = AC.OPT.MRC(
        theta=theta, delta=delta, mass=mass, DeltaTemp=DeltaTemp, wS=wS
    )
    print("MRC = ", MRC)

    MRC_precomputed = AC.OPT.getOPTParam("MRC", CW)
    print("MRC_precomputed = ", MRC_precomputed)

    # Long Range Cruise (LRC) Mach speed
    LRC = AC.OPT.LRC(
        theta=theta, delta=delta, mass=mass, DeltaTemp=DeltaTemp, wS=wS
    )
    print("LRC = ", LRC)

    LRC_precomputed = AC.OPT.getOPTParam("LRC", CW)
    print("LRC_precomputed = ", LRC_precomputed)

    # Maximum Endurance Cruise (MEC) Mach speed
    MEC = AC.OPT.MEC(
        theta=theta, delta=delta, mass=mass, DeltaTemp=DeltaTemp, wS=wS
    )
    print("MEC = ", MEC)

    MEC_precomputed = AC.OPT.getOPTParam("MEC", CW)
    print("MEC_precomputed = ", MEC_precomputed)

    # optimum flight altitude at given M speed
    M = MRC
    optAlt = AC.OPT.optAltitude(M=M, mass=mass, DeltaTemp=DeltaTemp)
    print("optAlt =", optAlt)

    optAlt_precomputed = AC.OPT.getOPTParam("OPTALT", M, mass)
    print("optAlt_precomputed = ", optAlt_precomputed)

# initialization of BADAH
AC = BadaHAircraft(badaVersion=badaVersion, acName="DUMH")
print("\nBADAH Optimum Speed and Altitude:")

# BADAH
if AC.BADAFamily.BADAH:
    mass = 1600  # [kg] AC weight
    Hp = 14000  # [ft] AC flight altitude
    h = conv.ft2m(Hp)  # [m] AC flight altitude
    DeltaTemp = 20  # [K] temperature deviation from ISA
    wS = 0  # [m s^-1] longitudinal wind speed

    [theta, delta, sigma] = atm.atmosphereProperties(
        h=h, DeltaTemp=DeltaTemp
    )  # atmoshpere properties

    # Maximum Range Cruise (MRC) Mach speed
    MRC = AC.OPT.MRC(h=h, mass=mass, DeltaTemp=DeltaTemp, wS=wS)
    # print("MRC = ", conv.ms2kt(MRC))
    print("MRC = ", (MRC))

    MRC_precomputed = AC.OPT.getOPTParam("MRC", Hp, mass, DeltaTemp)
    print("MRC_precomputed = ", conv.kt2ms(MRC_precomputed))

    # Long Range Cruise (LRC) Mach speed
    LRC = AC.OPT.LRC(h=h, mass=mass, DeltaTemp=DeltaTemp, wS=wS)
    print("LRC = ", (LRC))

    LRC_precomputed = AC.OPT.getOPTParam("LRC", Hp, mass, DeltaTemp)
    print("LRC_precomputed = ", conv.kt2ms(LRC_precomputed))

    # Maximum Endurance Cruise (MEC) Mach speed
    MEC = AC.OPT.MEC(h=h, mass=mass, DeltaTemp=DeltaTemp, wS=wS)
    print("MEC = ", (MEC))

    MEC_precomputed = AC.OPT.getOPTParam("MEC", Hp, mass, DeltaTemp)
    print("MEC_precomputed = ", conv.kt2ms(MEC_precomputed))

Total running time of the script: (0 minutes 0.278 seconds)

Gallery generated by Sphinx-Gallery