{ "cells": [ { "cell_type": "markdown", "id": "5bbf2610", "metadata": {}, "source": [ "# Section 5.3 - Mars SmallSat Constellation - Deflection Maneuvers" ] }, { "cell_type": "code", "execution_count": 1, "id": "b569c934", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from AMAT.maneuver import ProbeProbeDeflection\n", "from AMAT.maneuver import ProbeOrbiterDeflection" ] }, { "cell_type": "code", "execution_count": 2, "id": "c0baf7d4", "metadata": {}, "outputs": [], "source": [ "deflection1 = ProbeProbeDeflection(arrivalPlanet=\"MARS\",\n", " v_inf_vec_icrf_kms=np.array([ 2.23930484, 1.20086474, -0.73683366]),\n", " rp_probe1=(3389.5+52)*1e3, psi_probe1=1.5*np.pi, h_EI_probe1=120e3,\n", " rp_probe2=(3389.5+52)*1e3, psi_probe2=1.375*np.pi, h_EI_probe2=120e3,\n", " r_dv_rp=481)\n", "\n", "deflection2 = ProbeProbeDeflection(arrivalPlanet=\"MARS\",\n", " v_inf_vec_icrf_kms=np.array([ 2.23930484, 1.20086474, -0.73683366]),\n", " rp_probe1=(3389.5+52)*1e3, psi_probe1=1.375*np.pi, h_EI_probe1=120e3,\n", " rp_probe2=(3389.5+52)*1e3, psi_probe2=1.25*np.pi, h_EI_probe2=120e3,\n", " r_dv_rp=414)\n", "\n", "deflection3 = ProbeProbeDeflection(arrivalPlanet=\"MARS\",\n", " v_inf_vec_icrf_kms=np.array([ 2.23930484, 1.20086474, -0.73683366]),\n", " rp_probe1=(3389.5+52)*1e3, psi_probe1=1.25*np.pi, h_EI_probe1=120e3,\n", " rp_probe2=(3389.5+52)*1e3, psi_probe2=1.125*np.pi, h_EI_probe2=120e3,\n", " r_dv_rp=346)\n", "\n", "deflection4 = ProbeProbeDeflection(arrivalPlanet=\"MARS\",\n", " v_inf_vec_icrf_kms=np.array([ 2.23930484, 1.20086474, -0.73683366]),\n", " rp_probe1=(3389.5+52)*1e3, psi_probe1=1.125*np.pi, h_EI_probe1=120e3,\n", " rp_probe2=(3389.5+52)*1e3, psi_probe2=np.pi, h_EI_probe2=120e3,\n", " r_dv_rp=278)\n", "\n", "deflection5 = ProbeOrbiterDeflection(arrivalPlanet=\"MARS\",\n", " v_inf_vec_icrf_kms=np.array([ 2.23930484, 1.20086474, -0.73683366]),\n", " rp_probe=(3389.5+52)*1e3, psi_probe=np.pi, h_EI_probe=120e3,\n", " rp_space=(3389.5+250)*1e3, psi_space=np.pi,\n", " r_dv_rp=210)" ] }, { "cell_type": "code", "execution_count": 3, "id": "a0e24b36", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Deflection Maneuver #1\n", "Divert manuever DV: [0.50172394 0.76333674 4.54282315] m/s\n", "Divert manuever DV magnitude: 4.634 m/s\n", "---------------------------------\n", "Deflection Maneuver #2\n", "Divert manuever DV: [1.38318623 2.65307886 4.47180516] m/s\n", "Divert manuever DV magnitude: 5.38 m/s\n", "---------------------------------\n", "Deflection Maneuver #3\n", "Divert manuever DV: [2.35903472 4.80111454 3.57218211] m/s\n", "Divert manuever DV magnitude: 6.432 m/s\n", "---------------------------------\n", "Deflection Maneuver #4\n", "Divert manuever DV: [3.36281421 7.08473581 1.55925957] m/s\n", "Divert manuever DV magnitude: 7.996 m/s\n", "---------------------------------\n", "Deflection Maneuver #5\n", "Divert manuever DV: [ 0.02474457 -0.01157163 0.95082094] m/s\n", "Divert manuever DV magnitude: 0.951 m/s\n", "---------------------------------\n" ] } ], "source": [ "print('Deflection Maneuver #1')\n", "print(\"Divert manuever DV: \"+str(deflection1.dv_maneuver_vec)+ \" m/s\")\n", "print(\"Divert manuever DV magnitude: \"+str(round(deflection1.dv_maneuver_mag,3))+ \" m/s\")\n", "print('---------------------------------')\n", "print('Deflection Maneuver #2')\n", "print(\"Divert manuever DV: \"+str(deflection2.dv_maneuver_vec)+ \" m/s\")\n", "print(\"Divert manuever DV magnitude: \"+str(round(deflection2.dv_maneuver_mag,3))+ \" m/s\")\n", "print('---------------------------------')\n", "print('Deflection Maneuver #3')\n", "print(\"Divert manuever DV: \"+str(deflection3.dv_maneuver_vec)+ \" m/s\")\n", "print(\"Divert manuever DV magnitude: \"+str(round(deflection3.dv_maneuver_mag,3))+ \" m/s\")\n", "print('---------------------------------')\n", "print('Deflection Maneuver #4')\n", "print(\"Divert manuever DV: \"+str(deflection4.dv_maneuver_vec)+ \" m/s\")\n", "print(\"Divert manuever DV magnitude: \"+str(round(deflection4.dv_maneuver_mag,3))+ \" m/s\")\n", "print('---------------------------------')\n", "print('Deflection Maneuver #5')\n", "print(\"Divert manuever DV: \"+str(deflection5.dv_maneuver_vec)+ \" m/s\")\n", "print(\"Divert manuever DV magnitude: \"+str(round(deflection5.dv_maneuver_mag,3))+ \" m/s\")\n", "print('---------------------------------')" ] }, { "cell_type": "code", "execution_count": 4, "id": "010582f4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "TOF from probe release to atm. entry interface: 7.002802 days\n", "TOF from probe release to atm. entry interface: 6.013292 days\n", "TOF from probe release to atm. entry interface: 5.009726 days\n", "TOF from probe release to atm. entry interface: 4.00719 days\n", "TOF from probe release to atm. entry interface: 3.006257 days\n" ] } ], "source": [ "print(\"TOF from probe release to atm. entry interface: \"+str(round(deflection1.TOF_probe1,6))+ \" days\")\n", "print(\"TOF from probe release to atm. entry interface: \"+str(round(deflection2.TOF_probe1,6))+ \" days\")\n", "print(\"TOF from probe release to atm. entry interface: \"+str(round(deflection3.TOF_probe1,6))+ \" days\")\n", "print(\"TOF from probe release to atm. entry interface: \"+str(round(deflection4.TOF_probe1,6))+ \" days\")\n", "print(\"TOF from probe release to atm. entry interface: \"+str(round(deflection5.TOF_probe,6))+ \" days\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.9.16" } }, "nbformat": 4, "nbformat_minor": 5 }