{ "cells": [ { "cell_type": "markdown", "id": "2b51e84c", "metadata": {}, "source": [ "# Section 10 - Flight System Summary" ] }, { "cell_type": "code", "execution_count": 1, "id": "a6964d55", "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "id": "503c0c3f", "metadata": {}, "outputs": [], "source": [ "from AMAT.launcher import Launcher" ] }, { "cell_type": "code", "execution_count": 3, "id": "366a4191", "metadata": {}, "outputs": [], "source": [ "def compute_mf(m0, dV, Isp = 320, g0=9.80661):\n", " return m0*np.exp(-dV/(Isp*g0))" ] }, { "cell_type": "markdown", "id": "d9b01501", "metadata": {}, "source": [ "## Compute launch capability" ] }, { "cell_type": "code", "execution_count": 4, "id": "060a41f7", "metadata": {}, "outputs": [], "source": [ "launcher1 = Launcher('Falcon Heavy Exp. with kick',\n", " datafile='../../../launcher-data/falcon-heavy-expendable-w-star-48.csv')\n", "\n", "m10 = float(launcher1.launchMass(53.866))\n", "DV1 = 0\n", "DM1 = 0\n", "m1f = m10" ] }, { "cell_type": "markdown", "id": "1c02e26e", "metadata": {}, "source": [ "## Deep space maneuver" ] }, { "cell_type": "code", "execution_count": 5, "id": "c9d22426", "metadata": {}, "outputs": [], "source": [ "m20 = m1f\n", "DV2 = 1040\n", "m2f = compute_mf(m20, DV2)\n", "DM2 = m2f - m20" ] }, { "cell_type": "markdown", "id": "aa0101b3", "metadata": {}, "source": [ "## Cruise stage jettisson" ] }, { "cell_type": "code", "execution_count": 6, "id": "205d2633", "metadata": {}, "outputs": [], "source": [ "m30 = m2f\n", "DV3 = 0\n", "DM3 = -400\n", "m3f = m30 + DM3" ] }, { "cell_type": "markdown", "id": "66449c40", "metadata": {}, "source": [ "## Aeroshell and TPS jettisson" ] }, { "cell_type": "code", "execution_count": 7, "id": "57481949", "metadata": {}, "outputs": [], "source": [ "m40 = m3f\n", "DV4 = 0\n", "DM4 = -(0.20 + 0.20)*m40\n", "m4f = m40 + DM4" ] }, { "cell_type": "markdown", "id": "5089a824", "metadata": {}, "source": [ "## Periapsis Raise Manuever" ] }, { "cell_type": "code", "execution_count": 8, "id": "9b5cff31", "metadata": {}, "outputs": [], "source": [ "m50 = m4f\n", "DV5 = 78.7\n", "m5f = compute_mf(m50, DV5)\n", "DM5 = m5f - m50" ] }, { "cell_type": "markdown", "id": "36244772", "metadata": {}, "source": [ "## Apoapsis Correction Maneuver" ] }, { "cell_type": "code", "execution_count": 9, "id": "6644e1ac", "metadata": {}, "outputs": [], "source": [ "m60 = m5f\n", "DV6 = 123\n", "m6f = compute_mf(m60, DV6)\n", "DM6 = m6f - m60" ] }, { "cell_type": "markdown", "id": "237968e5", "metadata": {}, "source": [ "## Probe Targeting Maneuver" ] }, { "cell_type": "code", "execution_count": 10, "id": "7da32f9c", "metadata": {}, "outputs": [], "source": [ "m70 = m6f\n", "DV7 = 90\n", "m7f = compute_mf(m70, DV7)\n", "DM7 = m7f - m70" ] }, { "cell_type": "markdown", "id": "1ff33165", "metadata": {}, "source": [ "## Probe release" ] }, { "cell_type": "code", "execution_count": 11, "id": "2f134cf3", "metadata": {}, "outputs": [], "source": [ "m80 = m7f\n", "DV8 = 0\n", "DM8 = -300\n", "m8f = m80 + DM8" ] }, { "cell_type": "markdown", "id": "7ec688ae", "metadata": {}, "source": [ "## Orbiter deflection" ] }, { "cell_type": "code", "execution_count": 12, "id": "51633b55", "metadata": {}, "outputs": [], "source": [ "m90 = m8f\n", "DV9 = 90\n", "m9f = compute_mf(m90, DV9)\n", "DM9 = m9f - m90" ] }, { "cell_type": "code", "execution_count": 30, "id": "ccf9fab2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "--------------------------------------------------------------------------------\n", "Event | m0, kg | ∆V, m/s | ∆M, kg | mf, kg\n", "--------------------------------------------------------------------------------\n", "Launch capability | 5069 | 0 | 0 | 5069\n", "Deep Space Man. | 5069 | 1040 | -1430 | 3639\n", "Cruise stage jettisson | 3639 | 0 | -400 | 3239\n", "Aeroshell, TPS jettison| 3239 | 0 | -1295 | 1943\n", "Periapsis raise | 1943 | 79 | -48 | 1895\n", "Apoapsis correction | 1895 | 123 | -73 | 1822\n", "Probe Targeting | 1822 | 90 | -52 | 1771\n", "Probe Release | 1771 | 0 | -300 | 1471\n", "Orbiter Deflection | 1471 | 90 | -42 | 1429\n", "--------------------------------------------------------------------------------\n" ] } ], "source": [ "print(\"--------------------------------------------------------------------------------\")\n", "print(\"Event | m0, kg | ∆V, m/s | ∆M, kg | mf, kg\")\n", "print(\"--------------------------------------------------------------------------------\")\n", "print(\"Launch capability | \" + str(round(m10)) +\" | \"+ str(round(DV1))+\" | \"+str(round(DM1)) +\" | \"+str(round(m1f)) )\n", "print(\"Deep Space Man. | \" + str(round(m20)) +\" | \"+ str(round(DV2))+\" | \"+str(round(DM2)) +\" | \"+str(round(m2f)) )\n", "print(\"Cruise stage jettisson | \" + str(round(m30)) +\" | \"+ str(round(DV3))+\" | \"+str(round(DM3)) +\" | \"+str(round(m3f)) )\n", "print(\"Aeroshell, TPS jettison| \" + str(round(m40)) +\" | \"+ str(round(DV4))+\" | \"+str(round(DM4)) +\" | \"+str(round(m4f)) )\n", "print(\"Periapsis raise | \" + str(round(m50)) +\" | \"+ str(round(DV5))+\" | \"+str(round(DM5)) +\" | \"+str(round(m5f)) )\n", "print(\"Apoapsis correction | \" + str(round(m60)) +\" | \"+ str(round(DV6))+\" | \"+str(round(DM6)) +\" | \"+str(round(m6f)) )\n", "print(\"Probe Targeting | \" + str(round(m70)) +\" | \"+ str(round(DV7))+\" | \"+str(round(DM7)) +\" | \"+str(round(m7f)) )\n", "print(\"Probe Release | \" + str(round(m80)) +\" | \"+ str(round(DV8))+\" | \"+str(round(DM8)) +\" | \"+str(round(m8f)) )\n", "print(\"Orbiter Deflection | \" + str(round(m90)) +\" | \"+ str(round(DV9))+\" | \"+str(round(DM9)) +\" | \"+str(round(m9f)) )\n", "print(\"--------------------------------------------------------------------------------\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }