.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/initialMass.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_initialMass.py: Initial Mass Calculation ======================== Example calculation of aircraft initial mass .. GENERATED FROM PYTHON SOURCE LINES 8-71 .. rst-class:: sphx-glr-script-out .. code-block:: none === BADA3 === cruiseFuelFlow: 0.698252 kg/s breguetLeducInitialMass: 52118.40 kg initMass(limited): 52118.40 kg === BADA4 === cruiseFuelFlow: 0.657323 kg/s breguetLeducInitialMass: 54041.18 kg initMass(limited): 54041.18 kg === BADAH === cruiseFuelFlow: 0.383962 kg/s breguetLeducInitialMass: 3955.88 kg initMass(limited): 2675.00 kg | .. code-block:: Python from pyBADA import atmosphere as atm from pyBADA import conversions as conv from pyBADA import trajectoryPrediction as TP from pyBADA.bada3 import Bada3Aircraft from pyBADA.bada4 import Bada4Aircraft from pyBADA.badaH import BadaHAircraft # calculate estimations for the fuel flow, and aircraft initial mass AC = Bada3Aircraft(badaVersion="DUMMY", acName="J2M") # Common inputs deltaTemp = 0 # deviation from ISA temperature [K] M = 0.7 # Mach number [-] altitude = conv.ft2m(30000) # cruise altitude [m] distance = conv.nm2m(100) # flown distance [m] payload = 80 # payload mass [% of max payload] fuelReserve = 3600 # fuel reserve [s] flightPlanInitMass = None # planned takeoff mass [kg] # Precompute atmosphere & speed inputs theta, delta, sigma = atm.atmosphereProperties(h=altitude, deltaTemp=deltaTemp) TAS = atm.mach2Tas(Mach=M, theta=theta) GS = TAS # assume no wind # Specify acName per model for model_name, ACClass, acName in [ ("BADA3", Bada3Aircraft, "J2M"), ("BADA4", Bada4Aircraft, "Dummy-TWIN-plus"), ("BADAH", BadaHAircraft, "DUMH"), ]: print(f"\n=== {model_name} ===") AC = ACClass(badaVersion="DUMMY", acName=acName) # 1) Cruise fuel flow [kg/s] cruiseFuelFlow = TP.cruiseFuelConsumption( AC=AC, altitude=altitude, M=M, deltaTemp=deltaTemp ) print(f"cruiseFuelFlow: {cruiseFuelFlow:.6f} kg/s") # 2) Distance based initial mass via Breguet–Leduc breguetInitialMass = TP.breguetLeducInitialMass( AC=AC, distance=distance, GS=GS, cruiseFuelFlow=cruiseFuelFlow, payload=payload, fuelReserve=fuelReserve, ) print(f"breguetLeducInitialMass: {breguetInitialMass:.2f} kg") # 3) Initial mass using limited by flight envelope (OEW, MTOW) initMass = TP.getInitialMass( AC=AC, distance=distance, altitude=altitude, M=M, payload=payload, fuelReserve=fuelReserve, flightPlanInitialMass=flightPlanInitMass, deltaTemp=deltaTemp, ) print(f"initMass(limited): {initMass:.2f} kg") .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.017 seconds) .. _sphx_glr_download_auto_examples_initialMass.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: initialMass.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: initialMass.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: initialMass.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_