Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
compmech-project03/CompMech03-IVPs_project.ipynb
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
983 lines (983 sloc)
195 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Initial Value Problems - Project\n", | |
"\n", | |
"![Initial condition of firework with FBD and sum of momentum](../images/firework.png)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We are going to end this module with a __bang__ by looking at the flight path of a firework. Shown above is the initial condition of a firework, the _Freedom Flyer_ in (a), its final height where it detonates in (b), the applied forces in the __Free Body Diagram (FBD)__ in (c), and the __momentum__ of the firework $m\\mathbf{v}$ and the propellent $dm \\mathbf{u}$ in (d). \n", | |
"\n", | |
"The resulting equation of motion is that the acceleration is proportional to the speed of the propellent and the mass rate change $\\frac{dm}{dt}$ as such\n", | |
"\n", | |
"$$\\begin{equation}\n", | |
"m\\frac{dv}{dt} = u\\frac{dm}{dt} -mg - cv^2.~~~~~~~~(1)\n", | |
"\\end{equation}$$\n", | |
"\n", | |
"If we assume that the acceleration and the propellent momentum are much greater than the forces of gravity and drag, then the equation is simplified to the conservation of momentum. A further simplification is that the speed of the propellant is constant, $u=constant$, then the equation can be integrated to obtain an analytical rocket equation solution of [Tsiolkovsky](https://www.math24.net/rocket-motion/) [1,2], \n", | |
"\n", | |
"$$\\begin{equation}\n", | |
"m\\frac{dv}{dt} = u\\frac{dm}{dt}~~~~~(2.a)\n", | |
"\\end{equation}$$\n", | |
"\n", | |
"$$\\begin{equation}\n", | |
"\\frac{m_{f}}{m_{0}}=e^{-\\Delta v / u},~~~~~(2.b) \n", | |
"\\end{equation}$$\n", | |
"\n", | |
"where $m_f$ and $m_0$ are the mass at beginning and end of flight, $u$ is the speed of the propellent, and $\\Delta v=v_{final}-v_{initial}$ is the change in speed of the rocket from beginning to end of flight. Equation 2.b only relates the final velocity to the change in mass and propellent speed. When you integrate Eqn 2.a, you will have to compare the velocity as a function of mass loss. \n", | |
"\n", | |
"Your first objective is to integrate a numerical model that converges to equation (2.b), the Tsiolkovsky equation. Next, you will add drag and gravity and compare the results _between equations (1) and (2)_. Finally, you will vary the mass change rate to achieve the desired detonation height. \n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"1. Create a `simplerocket` function that returns the velocity, $v$, the acceleration, $a$, and the mass rate change $\\frac{dm}{dt}$, as a function of the $state = [position,~velocity,~mass] = [y,~v,~m]$ using eqn (2.a). Where the mass rate change $\\frac{dm}{dt}$ and the propellent speed $u$ are constants. The average velocity of gun powder propellent used in firework rockets is $u=250$ m/s [3,4]. \n", | |
"\n", | |
"$\\frac{d~state}{dt} = f(state)$\n", | |
"\n", | |
"$\\left[\\begin{array}{c} v\\\\a\\\\ \\frac{dm}{dt} \\end{array}\\right] = \\left[\\begin{array}{c} v\\\\ \\frac{u}{m}\\frac{dm}{dt} \\\\ \\frac{dm}{dt} \\end{array}\\right]$\n", | |
"\n", | |
"Use [two integration methods](../notebooks/03_Get_Oscillations.ipynb) to integrate the `simplerocket` function, one explicit method and one implicit method. Demonstrate that the solutions converge to equation (2.b) the Tsiolkovsky equation. Use an initial state of y=0 m, v=0 m/s, and m=0.25 kg. \n", | |
"\n", | |
"Integrate the function until mass, $m_{f}=0.05~kg$, using a mass rate change of $\\frac{dm}{dt}=0.05$ kg/s. \n", | |
"\n", | |
"_Hint: your integrated solution will have a current mass that you can use to create $\\frac{m_{f}}{m_{0}}$ by dividing state[2]/(initial mass), then your plot of velocity(t) vs mass(t)/mass(0) should match Tsiolkovsky's_" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 221, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"import matplotlib.pyplot as plt\n", | |
"%matplotlib inline\n", | |
"plt.rcParams.update({'font.size': 22})\n", | |
"plt.rcParams['lines.linewidth'] = 3" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 222, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def simplerocket(state,dmdt=0.05, u=250):\n", | |
" '''Computes the right-hand side of the differential equation\n", | |
" for the acceleration of a rocket, without drag or gravity, in SI units.\n", | |
" \n", | |
" Arguments\n", | |
" ---------- \n", | |
" state : array of three dependent variables [y v m]^T\n", | |
" dmdt : mass rate change of rocket in kilograms/s default set to 0.05 kg/s\n", | |
" u : speed of propellent expelled (default is 250 m/s)\n", | |
" \n", | |
" Returns\n", | |
" -------\n", | |
" derivs: array of three derivatives [v (u/m*dmdt -dmdt]^T\n", | |
" '''\n", | |
" \n", | |
" dstate = np.zeros(np.shape(state))\n", | |
" derivs=np.array([state[1],(u/state[2])*(dmdt),-dmdt])\n", | |
" return derivs\n", | |
" return dstate\n", | |
" " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 223, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The solutions converge as shown by the graph below.\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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M4LGjBnzKLns119/tevZs6fr1KlTy73++uvRrVq1igaAAQMGhEyZMqXczp07i4WFhZk4ODikWth2zZo1xaKiokzr168fVbVq1TgA2LRpk31AQEDROnXqRPv7+19O+chWYmIiduzYYWNpaZnpY1z79u2z7tSpk1tERITZlClTbvr5+T1MLnN3d49r3rx5+O7du4stX768+LBhw1INfD969KjVqVOnbJycnOI/+OCD8Jz0JVFe0PmOg4h4iMhCETkvIuHa7byILBCRqvkRJFFh896wwTiyKBwzQn3gHPb8f9PrJZ5ibOwYNPApgz+27NJjhERkrB4+fGiamJgoVapUiUmbNABAnTp1nrq6umb53M2jR49MN2zYUAIAFixYEJScNACAvb190sqVK4MsLCzUkSNH7I4cOaLzVHH//vtvEW9v76rnzp2z/vjjj4O3bNlyPWXSAABz584t+fTpU5PGjRtHpkwaAOD999+P7Nq16yOlFGbNmlUq+XiFChUSmjRpEvn06VOTVatWOaQ9788//+wIAD179nz25T04ONgMABo3bhyVdpyHqakp2rRpE502tpTWrFlj/84773jExMSYrFq16mrKpCGZr6/vAwBYtmzZC4vozps3zwkAevXq9dDcPFc3cIhyRafEQUT6QLNGwyAA1QDYabdqAIYAOCMiH+ZxjESFkomFOcbMW4J/P72Hj682g12KRaZPVLiPdqdbwXPsIJy/wbvWRJR9bm5ucY6OjgmnT5+28fX1LXfu3LkiOWln//79RePi4sTZ2Tm2RYsWj9OWV6lSJb5x48aRALB79+4MxxOkZ8+ePTZNmzateu/evSIzZ84Mmj9//p306h0+fNgWAHr16vXC1LQA4OPj8wgAjh49mur8vXv3fgQAq1evTvW40s2bN80OHTpkb21tnfThhx8+m862YcOGT0QEP/74o9Ps2bNL6LLOxLRp00r27t3b1crKKunPP/+83LNnz3TvGLRr1y7K1dX16blz56xTjiUJDQ012bJlS3EzMzPl6+v7KL33EhWUbF/4IlIPwDJoko3NAFYCuApAAFQC0A+aWZeWicgFpdTxvA+XqPCxK+OE+T/tw5CDx/HFom7Y7HYNSSYATJLwX9ElqLH0F7xl9SnWDhuBEva5XpuJyOjo43EfY2Zqaoply5Zd79u3b+UFCxaUXrBgQWlHR8eE2rVr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UTqYOGQteWrB6iJilUGdemnqFmR7yRy1++hMa+W//Pp8xhpHVowlTkO5voB87DMRmQFgFIAQAG8ppS7oI448Zij9lRVDusaIiCgdTByyoJS6BeAUAAsAXdKWi0hTaOYrDwZwpKDbS+F97f54prXyWT5+PqOMIyvGEicM5PoC8q/PRGQagDEAwqD5EhygjzjymqH0VzYYzDVGREQZ0PcKdMawAeiM5yuruqY47gTgvLZseJr3TIXm1vvUPGqvFjSzj5imOW4GzV/8ErXve/tl66902t+P7K2ErHMchbW/jOn6yo8+A/C19j1hALzyM47C2l/Gdo1x48aNG7cXN86qlA1KqY0ishjAYABnRWQ3gHhoZhCxA7AFwII0bysDwEO7z4v2XABsBhAqIpcB3IZm6sRXoJnSMAnAp0qpnbn+wLmU1/0lInUALEpxyFO7nyIin6Q4b6pVb3MYR4EzkP5ygZFcX0De9pmItAPwufblFQC+IoJ0XFRKTcuDOAqcgfSXC4zoGiMiohcxccgmpdQQETkIYCiApgBMoflr3EoAi5VSSfncXgCAeQDqQzPIsTY0f527DeAHAAuVUidz+PHyXB73lx2ABukcd0vnWH7GkW8MoL+M6voC8rTPiqf4d13tlp4DAKalPVgIr7Gc9pfRXWNERJSaKGXoU5ATEREREZG+cXA0ERERERFliYkDERERERFliYkDERERERFliYkDERERERFliYkDERERERFliYkDERERERFliYkDERERERFliYkDkRETEVMROSsiQSJSJMVxFxFRInKjAGLoqD3Xx/l9LiIiItIfJg5Exm0wgBoAJiqlYvURgFJqE4ATACaJSPGs6hMREZFxYuJAZKRExAbAJADXAfyk53C+AlAcwHg9x0FERET5hIkDkfH6EJov6z8qpRL1HMt2AMEA+otIUT3HQkRERPmAiQNRPtM+/6+0/+4jIidE5LGIBIvIChEpqS2zFJFJInJZRJ6KyE0RmSwi5hk0PUS71+lug4jYi8hebVxbRMQqRZmIiI+InBaRGBF5KCKbROQVbexKRH5M26Y2cVkDwB5AD13iISIiIuPAxIGogIjIdABLAIQC2AFAAegHYLf2saM9AHwBnAewF4AjNI/+LEynLTcAngCuKKVu6BBDBQAHATQHsAhAR6VUTIoqS7RbDQCHAOwG8AqAowDqZtH8bu2+fXbjISIiIuNhpu8AiAqRDwHUUkr9BwAi4gDgCIBXtftwAJWUUhHa8loAjkPz+M9kpVRQiraaafdHsntyEakJzSNFZQB8qpSakab8PQADtHG8qZQ6pT1uAmA6gE+yOMU/0CRDTUTETCmVkN3YiIiIyPDxjgNRwZmQnDQAgFIqDMD32peeAHySkwZt+RlovugLgKZp2qql3f+HbBCRlgD8AZQA0CNt0qA1TLuflZw0aONIgubOx63MzqGUCgdwD4AtgCrZiYuIiIiMBxMHooKzI51jV7T7oJRJRQqB2n3ZNMedtPuQrE4qIn0A/AkgEUBLpdS6dOqYAWikfbk2bblSKh7Ab1mdC5rHsACgVDbqEhERkRHho0pEBed2OseiMylLWW6Z5ri9dh+ZxTnLA/gBmkeIWimljmZQrwSAIgCSkPGdhaAMjqeUHE+xbNQlIiIiI8I7DkQFRPvIT0YyK0tPuHZvl0W9B9Dc6RAAc0UkO1/oVQbHsxNjcjxh2ahLRERERoSJA5FxeqDdO2ZRLw6aWY62APAGsFdESqRTLwRALDQ/Eypk0JZLNuJKjudBprWIiIjI6DBxIDJOyYOXPbOqqJSKA9AFwC8AagPYLyKl09SJh2ZWJADonrYN7VoSnTI7j3aWqNLQPK50JbO6REREZHyYOBAZp33afcPsVNZOjdoTwEoA1QEcEJHyaarN1+4/0U4FC+DZdKzfAKiYxWm8oXkkyt8AVrImIiKiPMbEgcgIKaWuA/gXQBURqZTN9yQB6A9gAQB3AH+nfK9S6jdoEgsHAMdFZJeIrAVwEZqpWhdrq8ZlcIoW2v1WHT8OERERGQEmDkTGa5F23zu7b1AavgBmAKgETfLgnqLKAACDoVm9+nUAb0OzVoQ3gLvaOo/StisipgB6AIhAOtO5EhERkfETpTKaQIWIDJmIFIVmitRIAG75/XiQiOwG8CaAztq7EynL2kFzp2GWUiqrFaaJiIjICPGOA5GRUko9BvAlNHcOsn3XITMiUl1ErNMcMxeRz6FJGh5Cs5p1Wl9As/jblLyIg4iIiAwP7zgQGTHtI0KnoVkQzl0pFZvL9lYD6ADNrE13oFnI7RVoVq6OBdBRKbU9zXs6ANgEYJhSaj6IiIjopcTEgYieEZE20IxzqAPNmgxmAO4BOADgW6XUWT2GR0RERHrExIGIiIiIiLLEMQ5ERERERJQlJg5ERERERJQlJg5ERERERJQlJg5ERERERJQlJg5ERERERJSl/wMYiIKowq57RgAAAABJRU5ErkJggg==\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"#set initial conditions\n", | |
"y_0 = 0\n", | |
"v_0 = 0\n", | |
"m_0 = .25\n", | |
"\n", | |
"\n", | |
"m_f = .05\n", | |
"dmdt = .05\n", | |
"N = 500\n", | |
"dt = 4/N\n", | |
"\n", | |
"#initialize array\n", | |
"num_sol_heun = np.zeros([N,3])\n", | |
"num_sol_euler = np.zeros([N,3])\n", | |
"\n", | |
"#IC's\n", | |
"num_sol_heun[0,0] = y_0\n", | |
"num_sol_heun[0,1] = v_0\n", | |
"num_sol_heun[0,2] = m_0\n", | |
"\n", | |
"num_sol_euler[0,0] = y_0\n", | |
"num_sol_euler[0,1] = v_0\n", | |
"num_sol_euler[0,2] = m_0\n", | |
"\n", | |
"for i in range(N-1):\n", | |
" num_sol_heun[i+1] = heun_step(num_sol_heun[i],simplerocket,dt)\n", | |
"for i in range(N-1):\n", | |
" num_sol_euler[i+1] = euler_step(num_sol_euler[i],simplerocket,dt)\n", | |
"\n", | |
"m=num_sol_euler[:,2] \n", | |
" \n", | |
"plt.plot(m,num_sol_heun[:,1],'b',label='Heun\\'s Method (implicit)');\n", | |
"plt.plot(m,num_sol_euler[:,1],'r--',label='Euler\\'s Method (explicit)');\n", | |
"plt.plot(m,-np.log(m/0.25)*250,'g-',label='Tsiolkovsky')\n", | |
"plt.xlabel('m(kg)')\n", | |
"plt.ylabel('Velocity(m/s)')\n", | |
"plt.grid(True);\n", | |
"plt.legend(loc='center left', bbox_to_anchor=(1,0.5));\n", | |
"print('The solutions converge as shown by the graph below.')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 224, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[0.00000000e+00 0.00000000e+00 3.20000000e-03 9.60512821e-03\n", | |
" 1.92205293e-02 3.20513644e-02 4.81028115e-02 6.73800651e-02\n", | |
" 8.98883364e-02 1.15632854e-01 1.44618862e-01 1.76851624e-01\n", | |
" 2.12336418e-01 2.51078541e-01 2.93083307e-01 3.38356046e-01\n", | |
" 3.86902108e-01 4.38726859e-01 4.93835682e-01 5.52233979e-01\n", | |
" 6.13927168e-01 6.78920688e-01 7.47219992e-01 8.18830555e-01\n", | |
" 8.93757868e-01 9.72007439e-01 1.05358480e+00 1.13849549e+00\n", | |
" 1.22674508e+00 1.31833915e+00 1.41328331e+00 1.51158317e+00\n", | |
" 1.61324437e+00 1.71827258e+00 1.82667347e+00 1.93845274e+00\n", | |
" 2.05361610e+00 2.17216929e+00 2.29411807e+00 2.41946821e+00\n", | |
" 2.54822551e+00 2.68039577e+00 2.81598484e+00 2.95499856e+00\n", | |
" 3.09744282e+00 3.24332350e+00 3.39264652e+00 3.54541782e+00\n", | |
" 3.70164335e+00 3.86132909e+00 4.02448103e+00 4.19110520e+00\n", | |
" 4.36120762e+00 4.53479437e+00 4.71187152e+00 4.89244517e+00\n", | |
" 5.07652145e+00 5.26410650e+00 5.45520649e+00 5.64982760e+00\n", | |
" 5.84797605e+00 6.04965807e+00 6.25487992e+00 6.46364786e+00\n", | |
" 6.67596820e+00 6.89184726e+00 7.11129139e+00 7.33430694e+00\n", | |
" 7.56090031e+00 7.79107790e+00 8.02484617e+00 8.26221155e+00\n", | |
" 8.50318054e+00 8.74775964e+00 8.99595537e+00 9.24777429e+00\n", | |
" 9.50322298e+00 9.76230802e+00 1.00250361e+01 1.02914137e+01\n", | |
" 1.05614477e+01 1.08351447e+01 1.11125114e+01 1.13935546e+01\n", | |
" 1.16782810e+01 1.19666975e+01 1.22588108e+01 1.25546278e+01\n", | |
" 1.28541554e+01 1.31574004e+01 1.34643699e+01 1.37750707e+01\n", | |
" 1.40895098e+01 1.44076943e+01 1.47296310e+01 1.50553272e+01\n", | |
" 1.53847899e+01 1.57180261e+01 1.60550431e+01 1.63958479e+01\n", | |
" 1.67404478e+01 1.70888500e+01 1.74410618e+01 1.77970903e+01\n", | |
" 1.81569429e+01 1.85206269e+01 1.88881497e+01 1.92595186e+01\n", | |
" 1.96347411e+01 2.00138246e+01 2.03967766e+01 2.07836046e+01\n", | |
" 2.11743160e+01 2.15689185e+01 2.19674196e+01 2.23698270e+01\n", | |
" 2.27761483e+01 2.31863912e+01 2.36005633e+01 2.40186724e+01\n", | |
" 2.44407263e+01 2.48667328e+01 2.52966996e+01 2.57306348e+01\n", | |
" 2.61685460e+01 2.66104413e+01 2.70563287e+01 2.75062160e+01\n", | |
" 2.79601114e+01 2.84180228e+01 2.88799584e+01 2.93459262e+01\n", | |
" 2.98159344e+01 3.02899912e+01 3.07681049e+01 3.12502835e+01\n", | |
" 3.17365355e+01 3.22268691e+01 3.27212927e+01 3.32198146e+01\n", | |
" 3.37224433e+01 3.42291873e+01 3.47400549e+01 3.52550548e+01\n", | |
" 3.57741955e+01 3.62974855e+01 3.68249336e+01 3.73565483e+01\n", | |
" 3.78923384e+01 3.84323126e+01 3.89764796e+01 3.95248484e+01\n", | |
" 4.00774276e+01 4.06342263e+01 4.11952533e+01 4.17605176e+01\n", | |
" 4.23300282e+01 4.29037941e+01 4.34818244e+01 4.40641282e+01\n", | |
" 4.46507146e+01 4.52415929e+01 4.58367723e+01 4.64362620e+01\n", | |
" 4.70400714e+01 4.76482097e+01 4.82606865e+01 4.88775111e+01\n", | |
" 4.94986930e+01 5.01242417e+01 5.07541668e+01 5.13884778e+01\n", | |
" 5.20271845e+01 5.26702964e+01 5.33178233e+01 5.39697750e+01\n", | |
" 5.46261614e+01 5.52869921e+01 5.59522772e+01 5.66220266e+01\n", | |
" 5.72962502e+01 5.79749582e+01 5.86581605e+01 5.93458674e+01\n", | |
" 6.00380889e+01 6.07348353e+01 6.14361169e+01 6.21419439e+01\n", | |
" 6.28523267e+01 6.35672757e+01 6.42868014e+01 6.50109142e+01\n", | |
" 6.57396248e+01 6.64729436e+01 6.72108814e+01 6.79534488e+01\n", | |
" 6.87006566e+01 6.94525155e+01 7.02090364e+01 7.09702303e+01\n", | |
" 7.17361080e+01 7.25066805e+01 7.32819589e+01 7.40619543e+01\n", | |
" 7.48466778e+01 7.56361406e+01 7.64303541e+01 7.72293294e+01\n", | |
" 7.80330780e+01 7.88416113e+01 7.96549408e+01 8.04730780e+01\n", | |
" 8.12960344e+01 8.21238218e+01 8.29564517e+01 8.37939361e+01\n", | |
" 8.46362866e+01 8.54835152e+01 8.63356337e+01 8.71926542e+01\n", | |
" 8.80545887e+01 8.89214493e+01 8.97932482e+01 9.06699976e+01\n", | |
" 9.15517098e+01 9.24383971e+01 9.33300719e+01 9.42267467e+01\n", | |
" 9.51284341e+01 9.60351465e+01 9.69468968e+01 9.78636976e+01\n", | |
" 9.87855616e+01 9.97125018e+01 1.00644531e+02 1.01581662e+02\n", | |
" 1.02523909e+02 1.03471283e+02 1.04423799e+02 1.05381470e+02\n", | |
" 1.06344309e+02 1.07312328e+02 1.08285543e+02 1.09263966e+02\n", | |
" 1.10247611e+02 1.11236492e+02 1.12230622e+02 1.13230015e+02\n", | |
" 1.14234685e+02 1.15244646e+02 1.16259912e+02 1.17280498e+02\n", | |
" 1.18306416e+02 1.19337683e+02 1.20374311e+02 1.21416315e+02\n", | |
" 1.22463711e+02 1.23516512e+02 1.24574732e+02 1.25638388e+02\n", | |
" 1.26707493e+02 1.27782063e+02 1.28862112e+02 1.29947656e+02\n", | |
" 1.31038709e+02 1.32135287e+02 1.33237405e+02 1.34345079e+02\n", | |
" 1.35458324e+02 1.36577156e+02 1.37701589e+02 1.38831641e+02\n", | |
" 1.39967327e+02 1.41108662e+02 1.42255663e+02 1.43408346e+02\n", | |
" 1.44566726e+02 1.45730822e+02 1.46900647e+02 1.48076220e+02\n", | |
" 1.49257557e+02 1.50444674e+02 1.51637588e+02 1.52836315e+02\n", | |
" 1.54040874e+02 1.55251281e+02 1.56467553e+02 1.57689707e+02\n", | |
" 1.58917761e+02 1.60151732e+02 1.61391638e+02 1.62637496e+02\n", | |
" 1.63889325e+02 1.65147141e+02 1.66410964e+02 1.67680810e+02\n", | |
" 1.68956699e+02 1.70238648e+02 1.71526677e+02 1.72820803e+02\n", | |
" 1.74121045e+02 1.75427422e+02 1.76739953e+02 1.78058657e+02\n", | |
" 1.79383553e+02 1.80714660e+02 1.82051997e+02 1.83395585e+02\n", | |
" 1.84745442e+02 1.86101588e+02 1.87464044e+02 1.88832828e+02\n", | |
" 1.90207962e+02 1.91589466e+02 1.92977359e+02 1.94371662e+02\n", | |
" 1.95772396e+02 1.97179582e+02 1.98593240e+02 2.00013392e+02\n", | |
" 2.01440059e+02 2.02873261e+02 2.04313021e+02 2.05759360e+02\n", | |
" 2.07212299e+02 2.08671861e+02 2.10138067e+02 2.11610941e+02\n", | |
" 2.13090503e+02 2.14576776e+02 2.16069784e+02 2.17569548e+02\n", | |
" 2.19076092e+02 2.20589438e+02 2.22109611e+02 2.23636633e+02\n", | |
" 2.25170528e+02 2.26711319e+02 2.28259030e+02 2.29813687e+02\n", | |
" 2.31375311e+02 2.32943929e+02 2.34519565e+02 2.36102242e+02\n", | |
" 2.37691987e+02 2.39288824e+02 2.40892778e+02 2.42503875e+02\n", | |
" 2.44122141e+02 2.45747601e+02 2.47380281e+02 2.49020208e+02\n", | |
" 2.50667407e+02 2.52321905e+02 2.53983730e+02 2.55652907e+02\n", | |
" 2.57329465e+02 2.59013430e+02 2.60704830e+02 2.62403692e+02\n", | |
" 2.64110046e+02 2.65823918e+02 2.67545337e+02 2.69274332e+02\n", | |
" 2.71010931e+02 2.72755164e+02 2.74507060e+02 2.76266648e+02\n", | |
" 2.78033959e+02 2.79809021e+02 2.81591865e+02 2.83382522e+02\n", | |
" 2.85181022e+02 2.86987396e+02 2.88801675e+02 2.90623890e+02\n", | |
" 2.92454074e+02 2.94292258e+02 2.96138474e+02 2.97992754e+02\n", | |
" 2.99855131e+02 3.01725639e+02 3.03604310e+02 3.05491178e+02\n", | |
" 3.07386276e+02 3.09289638e+02 3.11201299e+02 3.13121294e+02\n", | |
" 3.15049657e+02 3.16986423e+02 3.18931628e+02 3.20885307e+02\n", | |
" 3.22847498e+02 3.24818235e+02 3.26797556e+02 3.28785497e+02\n", | |
" 3.30782097e+02 3.32787392e+02 3.34801421e+02 3.36824222e+02\n", | |
" 3.38855833e+02 3.40896294e+02 3.42945644e+02 3.45003922e+02\n", | |
" 3.47071169e+02 3.49147425e+02 3.51232731e+02 3.53327127e+02\n", | |
" 3.55430657e+02 3.57543360e+02 3.59665280e+02 3.61796459e+02\n", | |
" 3.63936941e+02 3.66086768e+02 3.68245985e+02 3.70414636e+02\n", | |
" 3.72592766e+02 3.74780419e+02 3.76977642e+02 3.79184481e+02\n", | |
" 3.81400981e+02 3.83627190e+02 3.85863154e+02 3.88108923e+02\n", | |
" 3.90364544e+02 3.92630066e+02 3.94905539e+02 3.97191011e+02\n", | |
" 3.99486534e+02 4.01792157e+02 4.04107933e+02 4.06433913e+02\n", | |
" 4.08770149e+02 4.11116695e+02 4.13473603e+02 4.15840928e+02\n", | |
" 4.18218724e+02 4.20607047e+02 4.23005951e+02 4.25415494e+02\n", | |
" 4.27835732e+02 4.30266723e+02 4.32708524e+02 4.35161195e+02\n", | |
" 4.37624795e+02 4.40099385e+02 4.42585023e+02 4.45081773e+02\n", | |
" 4.47589696e+02 4.50108855e+02 4.52639314e+02 4.55181136e+02\n", | |
" 4.57734386e+02 4.60299131e+02 4.62875437e+02 4.65463370e+02\n", | |
" 4.68063000e+02 4.70674394e+02 4.73297622e+02 4.75932756e+02\n", | |
" 4.78579865e+02 4.81239022e+02 4.83910301e+02 4.86593775e+02\n", | |
" 4.89289518e+02 4.91997608e+02 4.94718120e+02 4.97451131e+02\n", | |
" 5.00196722e+02 5.02954970e+02 5.05725958e+02 5.08509766e+02\n", | |
" 5.11306477e+02 5.14116175e+02 5.16938945e+02 5.19774873e+02\n", | |
" 5.22624046e+02 5.25486553e+02 5.28362482e+02 5.31251924e+02\n", | |
" 5.34154973e+02 5.37071719e+02 5.40002259e+02 5.42946688e+02\n", | |
" 5.45905103e+02 5.48877602e+02 5.51864286e+02 5.54865255e+02\n", | |
" 5.57880613e+02 5.60910464e+02 5.63954913e+02 5.67014068e+02\n", | |
" 5.70088038e+02 5.73176933e+02 5.76280866e+02 5.79399950e+02\n", | |
" 5.82534302e+02 5.85684038e+02 5.88849278e+02 5.92030143e+02]\n" | |
] | |
} | |
], | |
"source": [ | |
"height=num_sol_euler[:,0] \n", | |
"print(height)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 225, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The height achieved when mass reaches 0.05 is 592.0301427862775 m\n" | |
] | |
} | |
], | |
"source": [ | |
"print('The height achieved when mass reaches 0.05 is', height[499],'m')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 226, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The solutions converge as shown by the graph below.\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"#Graph for 3c (time vs height)\n", | |
"t=np.linspace(0,100,500)\n", | |
"\n", | |
"plt.plot(t,num_sol_heun[:,0],'b',label='Heun\\'s Method (implicit)');\n", | |
"plt.plot(t,num_sol_euler[:,0],'r--',label='Euler\\'s Method (explicit)');\n", | |
"\n", | |
"plt.xlabel('time(s)')\n", | |
"plt.ylabel('Height(m)')\n", | |
"plt.grid(True);\n", | |
"plt.legend(loc='center left', bbox_to_anchor=(1,0.5));\n", | |
"print('The solutions converge as shown by the graph below.')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"2. You should have a converged solution for integrating `simplerocket`. Now, create a more relastic function, `rocket` that incorporates gravity and drag and returns the velocity, $v$, the acceleration, $a$, and the mass rate change $\\frac{dm}{dt}$, as a function of the $state = [position,~velocity,~mass] = [y,~v,~m]$ using eqn (1). Where the mass rate change $\\frac{dm}{dt}$ and the propellent speed $u$ are constants. The average velocity of gun powder propellent used in firework rockets is $u=250$ m/s [3,4]. \n", | |
"\n", | |
"$\\frac{d~state}{dt} = f(state)$\n", | |
"\n", | |
"$\\left[\\begin{array}{c} v\\\\a\\\\ \\frac{dm}{dt} \\end{array}\\right] = \n", | |
"\\left[\\begin{array}{c} v\\\\ \\frac{u}{m}\\frac{dm}{dt}-g-\\frac{c}{m}v^2 \\\\ \\frac{dm}{dt} \\end{array}\\right]$\n", | |
"\n", | |
"Use [two integration methods](../notebooks/03_Get_Oscillations.ipynb) to integrate the `rocket` function, one explicit method and one implicit method. Demonstrate that the solutions converge to equation (2.b) the Tsiolkovsky equation. Use an initial state of y=0 m, v=0 m/s, and m=0.25 kg. \n", | |
"\n", | |
"Integrate the function until mass, $m_{f}=0.05~kg$, using a mass rate change of $\\frac{dm}{dt}=0.05$ kg/s, . \n", | |
"\n", | |
"Compare solutions between the `simplerocket` and `rocket` integration, what is the height reached when the mass reaches $m_{f} = 0.05~kg?$\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 211, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def rocket(state,dmdt=0.05, u=250,c=0.18e-3):\n", | |
" '''Computes the right-hand side of the differential equation\n", | |
" for the acceleration of a rocket, with drag, in SI units.\n", | |
" \n", | |
" Arguments\n", | |
" ---------- \n", | |
" state : array of three dependent variables [y v m]^T\n", | |
" dmdt : mass rate change of rocket in kilograms/s default set to 0.05 kg/s\n", | |
" u : speed of propellent expelled (default is 250 m/s)\n", | |
" c : drag constant for a rocket set to 0.18e-3 kg/m\n", | |
" Returns\n", | |
" -------\n", | |
" derivs: array of three derivatives [v (u/m*dmdt-g-c/mv^2) -dmdt]^T\n", | |
" '''\n", | |
" dstate = np.zeros(np.shape(state))\n", | |
" derivs=np.array([state[1],(u/state[2])*(dmdt)-9.81-((c/state[2])*((state[1])**2)),-dmdt])\n", | |
" return derivs\n", | |
" return dstate" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 212, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The solutions converge as shown by the graph below.\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"#set initial conditions\n", | |
"y_0 = 0\n", | |
"v_0 = 0\n", | |
"m_0 = .25\n", | |
"\n", | |
"\n", | |
"m_f = .05\n", | |
"dmdt = 0.05\n", | |
"N = 500\n", | |
"dt = 4/N\n", | |
"\n", | |
"#initialize array\n", | |
"num_sol_heun = np.zeros([N,3])\n", | |
"num_sol_euler = np.zeros([N,3])\n", | |
"\n", | |
"#IC's\n", | |
"num_sol_heun[0,0] = y_0\n", | |
"num_sol_heun[0,1] = v_0\n", | |
"num_sol_heun[0,2] = m_0\n", | |
"\n", | |
"num_sol_euler[0,0] = y_0\n", | |
"num_sol_euler[0,1] = v_0\n", | |
"num_sol_euler[0,2] = m_0\n", | |
"\n", | |
"for i in range(N-1):\n", | |
" num_sol_heun[i+1] = heun_step(num_sol_heun[i],rocket,dt)\n", | |
"for i in range(N-1):\n", | |
" num_sol_euler[i+1] = euler_step(num_sol_euler[i],rocket,dt)\n", | |
"\n", | |
"m=num_sol_euler[:,2] \n", | |
" \n", | |
"plt.plot(m,num_sol_heun[:,1],'b',label='Heun\\'s Method (implicit)');\n", | |
"plt.plot(m,num_sol_euler[:,1],'r--',label='Euler\\'s Method (explicit)');\n", | |
"plt.plot(m,-np.log(m/0.25)*250,'g-',label='Tsiolkovsky')\n", | |
"plt.xlabel('m(kg)')\n", | |
"plt.ylabel('Velocity(m/s)')\n", | |
"plt.grid(True);\n", | |
"plt.legend(loc='center left', bbox_to_anchor=(1,0.5));\n", | |
"print('The solutions converge as shown by the graph below.')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 213, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[0.00000000e+00 0.00000000e+00 2.57216000e-03 7.72160343e-03\n", | |
" 1.54534606e-02 2.57728686e-02 3.86849713e-02 5.41949195e-02\n", | |
" 7.23078706e-02 9.30289887e-02 1.16363445e-01 1.42316416e-01\n", | |
" 1.70893088e-01 2.02098649e-01 2.35938299e-01 2.72417240e-01\n", | |
" 3.11540684e-01 3.53313847e-01 3.97741953e-01 4.44830232e-01\n", | |
" 4.94583920e-01 5.47008260e-01 6.02108500e-01 6.59889897e-01\n", | |
" 7.20357712e-01 7.83517213e-01 8.49373675e-01 9.17932376e-01\n", | |
" 9.89198605e-01 1.06317765e+00 1.13987482e+00 1.21929541e+00\n", | |
" 1.30144473e+00 1.38632811e+00 1.47395086e+00 1.56431831e+00\n", | |
" 1.65743580e+00 1.75330866e+00 1.85194225e+00 1.95334191e+00\n", | |
" 2.05751301e+00 2.16446090e+00 2.27419096e+00 2.38670856e+00\n", | |
" 2.50201907e+00 2.62012789e+00 2.74104041e+00 2.86476202e+00\n", | |
" 2.99129813e+00 3.12065414e+00 3.25283546e+00 3.38784752e+00\n", | |
" 3.52569573e+00 3.66638552e+00 3.80992233e+00 3.95631159e+00\n", | |
" 4.10555876e+00 4.25766927e+00 4.41264858e+00 4.57050215e+00\n", | |
" 4.73123544e+00 4.89485391e+00 5.06136305e+00 5.23076833e+00\n", | |
" 5.40307522e+00 5.57828923e+00 5.75641582e+00 5.93746052e+00\n", | |
" 6.12142880e+00 6.30832618e+00 6.49815816e+00 6.69093026e+00\n", | |
" 6.88664799e+00 7.08531687e+00 7.28694244e+00 7.49153021e+00\n", | |
" 7.69908572e+00 7.90961451e+00 8.12312211e+00 8.33961408e+00\n", | |
" 8.55909596e+00 8.78157330e+00 9.00705165e+00 9.23553658e+00\n", | |
" 9.46703365e+00 9.70154842e+00 9.93908646e+00 1.01796533e+01\n", | |
" 1.04232546e+01 1.06698959e+01 1.09195828e+01 1.11723209e+01\n", | |
" 1.14281157e+01 1.16869728e+01 1.19488978e+01 1.22138964e+01\n", | |
" 1.24819742e+01 1.27531366e+01 1.30273894e+01 1.33047381e+01\n", | |
" 1.35851883e+01 1.38687457e+01 1.41554159e+01 1.44452045e+01\n", | |
" 1.47381170e+01 1.50341592e+01 1.53333366e+01 1.56356548e+01\n", | |
" 1.59411196e+01 1.62497364e+01 1.65615110e+01 1.68764489e+01\n", | |
" 1.71945558e+01 1.75158373e+01 1.78402991e+01 1.81679468e+01\n", | |
" 1.84987859e+01 1.88328223e+01 1.91700614e+01 1.95105089e+01\n", | |
" 1.98541705e+01 2.02010518e+01 2.05511585e+01 2.09044961e+01\n", | |
" 2.12610703e+01 2.16208867e+01 2.19839511e+01 2.23502690e+01\n", | |
" 2.27198460e+01 2.30926878e+01 2.34688001e+01 2.38481885e+01\n", | |
" 2.42308585e+01 2.46168160e+01 2.50060664e+01 2.53986154e+01\n", | |
" 2.57944687e+01 2.61936318e+01 2.65961105e+01 2.70019103e+01\n", | |
" 2.74110369e+01 2.78234959e+01 2.82392930e+01 2.86584336e+01\n", | |
" 2.90809236e+01 2.95067684e+01 2.99359737e+01 3.03685452e+01\n", | |
" 3.08044884e+01 3.12438090e+01 3.16865125e+01 3.21326045e+01\n", | |
" 3.25820907e+01 3.30349767e+01 3.34912681e+01 3.39509704e+01\n", | |
" 3.44140892e+01 3.48806301e+01 3.53505988e+01 3.58240008e+01\n", | |
" 3.63008416e+01 3.67811268e+01 3.72648621e+01 3.77520529e+01\n", | |
" 3.82427049e+01 3.87368235e+01 3.92344144e+01 3.97354830e+01\n", | |
" 4.02400349e+01 4.07480757e+01 4.12596109e+01 4.17746459e+01\n", | |
" 4.22931864e+01 4.28152378e+01 4.33408057e+01 4.38698954e+01\n", | |
" 4.44025127e+01 4.49386628e+01 4.54783513e+01 4.60215838e+01\n", | |
" 4.65683656e+01 4.71187022e+01 4.76725990e+01 4.82300616e+01\n", | |
" 4.87910953e+01 4.93557057e+01 4.99238980e+01 5.04956778e+01\n", | |
" 5.10710504e+01 5.16500213e+01 5.22325958e+01 5.28187793e+01\n", | |
" 5.34085773e+01 5.40019950e+01 5.45990378e+01 5.51997111e+01\n", | |
" 5.58040203e+01 5.64119705e+01 5.70235673e+01 5.76388158e+01\n", | |
" 5.82577214e+01 5.88802894e+01 5.95065250e+01 6.01364336e+01\n", | |
" 6.07700203e+01 6.14072905e+01 6.20482493e+01 6.26929020e+01\n", | |
" 6.33412538e+01 6.39933100e+01 6.46490756e+01 6.53085559e+01\n", | |
" 6.59717561e+01 6.66386812e+01 6.73093365e+01 6.79837270e+01\n", | |
" 6.86618580e+01 6.93437344e+01 7.00293614e+01 7.07187440e+01\n", | |
" 7.14118873e+01 7.21087964e+01 7.28094763e+01 7.35139320e+01\n", | |
" 7.42221685e+01 7.49341908e+01 7.56500038e+01 7.63696126e+01\n", | |
" 7.70930220e+01 7.78202370e+01 7.85512625e+01 7.92861034e+01\n", | |
" 8.00247646e+01 8.07672510e+01 8.15135672e+01 8.22637183e+01\n", | |
" 8.30177090e+01 8.37755442e+01 8.45372284e+01 8.53027666e+01\n", | |
" 8.60721635e+01 8.68454238e+01 8.76225521e+01 8.84035532e+01\n", | |
" 8.91884318e+01 8.99771924e+01 9.07698397e+01 9.15663783e+01\n", | |
" 9.23668127e+01 9.31711476e+01 9.39793875e+01 9.47915368e+01\n", | |
" 9.56076002e+01 9.64275820e+01 9.72514867e+01 9.80793188e+01\n", | |
" 9.89110826e+01 9.97467826e+01 1.00586423e+02 1.01430008e+02\n", | |
" 1.02277543e+02 1.03129031e+02 1.03984477e+02 1.04843884e+02\n", | |
" 1.05707258e+02 1.06574603e+02 1.07445922e+02 1.08321219e+02\n", | |
" 1.09200500e+02 1.10083767e+02 1.10971025e+02 1.11862279e+02\n", | |
" 1.12757531e+02 1.13656787e+02 1.14560050e+02 1.15467323e+02\n", | |
" 1.16378611e+02 1.17293919e+02 1.18213248e+02 1.19136604e+02\n", | |
" 1.20063991e+02 1.20995411e+02 1.21930869e+02 1.22870368e+02\n", | |
" 1.23813912e+02 1.24761505e+02 1.25713151e+02 1.26668852e+02\n", | |
" 1.27628613e+02 1.28592436e+02 1.29560326e+02 1.30532286e+02\n", | |
" 1.31508319e+02 1.32488429e+02 1.33472619e+02 1.34460893e+02\n", | |
" 1.35453252e+02 1.36449702e+02 1.37450245e+02 1.38454884e+02\n", | |
" 1.39463623e+02 1.40476464e+02 1.41493411e+02 1.42514466e+02\n", | |
" 1.43539633e+02 1.44568915e+02 1.45602314e+02 1.46639834e+02\n", | |
" 1.47681477e+02 1.48727246e+02 1.49777143e+02 1.50831172e+02\n", | |
" 1.51889336e+02 1.52951636e+02 1.54018076e+02 1.55088658e+02\n", | |
" 1.56163385e+02 1.57242259e+02 1.58325282e+02 1.59412457e+02\n", | |
" 1.60503787e+02 1.61599273e+02 1.62698918e+02 1.63802725e+02\n", | |
" 1.64910694e+02 1.66022829e+02 1.67139132e+02 1.68259604e+02\n", | |
" 1.69384248e+02 1.70513066e+02 1.71646059e+02 1.72783229e+02\n", | |
" 1.73924579e+02 1.75070110e+02 1.76219823e+02 1.77373721e+02\n", | |
" 1.78531805e+02 1.79694076e+02 1.80860536e+02 1.82031188e+02\n", | |
" 1.83206031e+02 1.84385067e+02 1.85568299e+02 1.86755726e+02\n", | |
" 1.87947351e+02 1.89143174e+02 1.90343197e+02 1.91547420e+02\n", | |
" 1.92755845e+02 1.93968473e+02 1.95185304e+02 1.96406339e+02\n", | |
" 1.97631580e+02 1.98861027e+02 2.00094680e+02 2.01332541e+02\n", | |
" 2.02574609e+02 2.03820886e+02 2.05071371e+02 2.06326066e+02\n", | |
" 2.07584970e+02 2.08848085e+02 2.10115409e+02 2.11386943e+02\n", | |
" 2.12662688e+02 2.13942643e+02 2.15226809e+02 2.16515184e+02\n", | |
" 2.17807770e+02 2.19104566e+02 2.20405572e+02 2.21710787e+02\n", | |
" 2.23020211e+02 2.24333843e+02 2.25651683e+02 2.26973731e+02\n", | |
" 2.28299986e+02 2.29630447e+02 2.30965112e+02 2.32303983e+02\n", | |
" 2.33647057e+02 2.34994333e+02 2.36345811e+02 2.37701489e+02\n", | |
" 2.39061366e+02 2.40425441e+02 2.41793713e+02 2.43166180e+02\n", | |
" 2.44542841e+02 2.45923694e+02 2.47308737e+02 2.48697970e+02\n", | |
" 2.50091389e+02 2.51488994e+02 2.52890782e+02 2.54296751e+02\n", | |
" 2.55706900e+02 2.57121226e+02 2.58539727e+02 2.59962401e+02\n", | |
" 2.61389246e+02 2.62820258e+02 2.64255435e+02 2.65694776e+02\n", | |
" 2.67138277e+02 2.68585935e+02 2.70037748e+02 2.71493712e+02\n", | |
" 2.72953826e+02 2.74418085e+02 2.75886487e+02 2.77359027e+02\n", | |
" 2.78835704e+02 2.80316514e+02 2.81801453e+02 2.83290517e+02\n", | |
" 2.84783704e+02 2.86281008e+02 2.87782427e+02 2.89287957e+02\n", | |
" 2.90797593e+02 2.92311331e+02 2.93829168e+02 2.95351099e+02\n", | |
" 2.96877120e+02 2.98407227e+02 2.99941414e+02 3.01479677e+02\n", | |
" 3.03022012e+02 3.04568414e+02 3.06118877e+02 3.07673398e+02\n", | |
" 3.09231971e+02 3.10794590e+02 3.12361251e+02 3.13931948e+02\n", | |
" 3.15506677e+02 3.17085430e+02 3.18668203e+02 3.20254991e+02\n", | |
" 3.21845786e+02 3.23440584e+02 3.25039378e+02 3.26642163e+02\n", | |
" 3.28248931e+02 3.29859678e+02 3.31474396e+02 3.33093079e+02\n", | |
" 3.34715720e+02 3.36342313e+02 3.37972851e+02 3.39607327e+02\n", | |
" 3.41245734e+02 3.42888066e+02 3.44534314e+02 3.46184472e+02\n", | |
" 3.47838532e+02 3.49496487e+02 3.51158329e+02 3.52824050e+02\n", | |
" 3.54493643e+02 3.56167100e+02 3.57844412e+02 3.59525573e+02\n", | |
" 3.61210572e+02 3.62899403e+02 3.64592056e+02 3.66288524e+02\n", | |
" 3.67988797e+02 3.69692867e+02 3.71400724e+02 3.73112361e+02\n", | |
" 3.74827767e+02 3.76546934e+02 3.78269853e+02 3.79996513e+02\n", | |
" 3.81726905e+02 3.83461020e+02 3.85198849e+02 3.86940380e+02\n", | |
" 3.88685604e+02 3.90434512e+02 3.92187092e+02 3.93943335e+02\n", | |
" 3.95703230e+02 3.97466766e+02 3.99233933e+02 4.01004720e+02\n", | |
" 4.02779117e+02 4.04557111e+02 4.06338693e+02 4.08123850e+02\n", | |
" 4.09912571e+02 4.11704846e+02 4.13500661e+02 4.15300006e+02\n", | |
" 4.17102869e+02 4.18909238e+02 4.20719100e+02 4.22532443e+02]\n" | |
] | |
} | |
], | |
"source": [ | |
"height=num_sol_euler[:,0] \n", | |
"print(height)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 214, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The height achieved when mass reaches 0.05 is 422.5324432279 m\n" | |
] | |
} | |
], | |
"source": [ | |
"print('The height achieved when mass reaches 0.05 is', height[499],'m')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 215, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#This solution seems to make sense as the combined affects of gravity and drag influence the ability of the rocket to\n", | |
"#reach a higher height. As shown in problem 1, when neglecting drag and gravity the projected height is even higher\n", | |
"#by about 170m." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 220, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The solutions converge as shown by the graph below.\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"#Graph for 3c (time vs height)\n", | |
"t=np.linspace(0,100,500)\n", | |
"\n", | |
"plt.plot(t,num_sol_heun[:,0],'b',label='Heun\\'s Method (implicit)');\n", | |
"plt.plot(t,num_sol_euler[:,0],'r--',label='Euler\\'s Method (explicit)');\n", | |
"\n", | |
"plt.xlabel('time(s)')\n", | |
"plt.ylabel('Height(m)')\n", | |
"plt.grid(True);\n", | |
"plt.legend(loc='center left', bbox_to_anchor=(1,0.5));\n", | |
"print('The solutions converge as shown by the graph below.')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"3. Solve for the mass change rate that results in detonation at a height of 300 meters. Create a function `f_dm` that returns the final height of the firework when it reaches $m_{f}=0.05~kg$. The inputs should be \n", | |
"\n", | |
"$f_{m}= f_{m}(\\frac{dm}{dt},~parameters)$\n", | |
"\n", | |
"where $\\frac{dm}{dt}$ is the variable we are using to find a root and $parameters$ are the known values, `m0=0.25, c=0.18e-3, u=250`. When $f_{m}(\\frac{dm}{dt}) = 0$, we have found the correct root. \n", | |
"\n", | |
"Plot the height as a function of time and use a star to denote detonation at the correct height with a `'*'`-marker\n", | |
"\n", | |
"Approach the solution in two steps, use the incremental search [`incsearch`](../notebooks/04_Getting_to_the_root.ipynb) with 5-10 sub-intervals _we want to limit the number of times we call the function_. Then, use the modified secant method to find the true root of the function.\n", | |
"\n", | |
"a. Use the incremental search to find the two closest mass change rates within the interval $\\frac{dm}{dt}=0.05-0.4~kg/s.$\n", | |
"\n", | |
"b. Use the modified secant method to find the root of the function $f_{m}$.\n", | |
"\n", | |
"c. Plot your solution for the height as a function of time and indicate the detonation with a `*`-marker." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 195, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def f_m(dmdt,m0=0.25, c=0.18e-3, u=250):\n", | |
" ''' define a function f_m(dmdt) that returns \n", | |
" height_desired-height_predicted[-1]\n", | |
" here, the time span is based upon the value of dmdt\n", | |
" \n", | |
" arguments:\n", | |
" ---------\n", | |
" dmdt: the unknown mass change rate\n", | |
" m0: the known initial mass\n", | |
" c: the known drag in kg/m\n", | |
" u: the known speed of the propellent\n", | |
" \n", | |
" returns:\n", | |
" --------\n", | |
" error: the difference between height_desired and height_predicted[-1]\n", | |
" when f_m(dmdt)= 0, the correct mass change rate was chosen\n", | |
" '''\n", | |
" \n", | |
" return error" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 196, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#Problem 3a\n", | |
"def rk2_step(state, rhs, dt):\n", | |
" '''Update a state to the next time increment using modified Euler's method.\n", | |
" \n", | |
" Arguments\n", | |
" ---------\n", | |
" state : array of dependent variables\n", | |
" rhs : function that computes the RHS of the DiffEq\n", | |
" dt : float, time increment\n", | |
" \n", | |
" Returns\n", | |
" -------\n", | |
" next_state : array, updated after one time increment'''\n", | |
" \n", | |
" mid_state = state + rhs(state) * dt*0.5 \n", | |
" next_state = state + rhs(mid_state)*dt\n", | |
" \n", | |
" return next_state" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 238, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"number of brackets: 1\n", | |
"\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"array([[0.10833333],\n", | |
" [0.05 ]])" | |
] | |
}, | |
"execution_count": 238, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"def f_dm(dmdt,m0=0.25, c=0.18e-3, u=250):\n", | |
" ''' define a function f_m(dmdt) that returns \n", | |
" height_desired-height_predicted[-1]\n", | |
" here, the time span is based upon the value of dmdt\n", | |
" \n", | |
" arguments:\n", | |
" ---------\n", | |
" dmdt: the unknown mass change rate\n", | |
" m0: the known initial mass\n", | |
" c: the known drag in kg/m\n", | |
" u: the known speed of the propellent\n", | |
" \n", | |
" returns:\n", | |
" --------\n", | |
" error: the difference between height_desired and height_predicted[-1]\n", | |
" when f_m(dmdt)= 0, the correct mass change rate was chosen\n", | |
" '''\n", | |
" \n", | |
" mf = 0.05\n", | |
" dm = m0-mf\n", | |
" T = dm/dmdt\n", | |
" g = 9.81\n", | |
" dt = T/100\n", | |
" \n", | |
" N = 100\n", | |
"\n", | |
" #create the time interval for our specifications\n", | |
" t = np.linspace(0, T, N)\n", | |
"\n", | |
" #set initial conditions of position and velocity\n", | |
" y0 = 0\n", | |
" v0 = 0\n", | |
"\n", | |
" #initialize solution array\n", | |
" num_sol = np.zeros([N,3])\n", | |
"\n", | |
" #initialize first variables using our set initial conditions\n", | |
" num_sol[0,0] = y0\n", | |
" num_sol[0,1] = v0\n", | |
" num_sol[0,2] = m0\n", | |
"\n", | |
" #solve and write to our solution array\n", | |
" for i in range(N-1):\n", | |
" num_sol[i+1] = rk2_step(num_sol[i], rocket, dt)\n", | |
" \n", | |
" error = num_sol[-1,0]-300\n", | |
" \n", | |
" return error\n", | |
"\n", | |
"def incsearch(func,xmin,xmax,ns=50):\n", | |
" '''incsearch: incremental search root locator\n", | |
" xb = incsearch(func,xmin,xmax,ns):\n", | |
" finds brackets of x that contain sign changes\n", | |
" of a function on an interval\n", | |
" arguments:\n", | |
" ---------\n", | |
" func = name of function\n", | |
" xmin, xmax = endpoints of interval\n", | |
" ns = number of subintervals (default = 50)\n", | |
" returns:\n", | |
" ---------\n", | |
" xb(k,1) is the lower bound of the kth sign change\n", | |
" xb(k,2) is the upper bound of the kth sign change\n", | |
" If no brackets found, xb = [].'''\n", | |
" x = np.linspace(xmin,xmax,ns)\n", | |
" f = np.zeros(ns)\n", | |
" for i in range(ns):\n", | |
" f[i] = func(x[i])\n", | |
" sign_f = np.sign(f)\n", | |
" delta_sign_f = sign_f[1:]-sign_f[0:-1]\n", | |
" i_zeros = np.nonzero(delta_sign_f!=0)\n", | |
" nb = len(i_zeros[0])\n", | |
" xb = np.block([[ x[i_zeros[0]+1]],[x[i_zeros[0]] ]] )\n", | |
"\n", | |
" \n", | |
" if nb==0:\n", | |
" print('no brackets found\\n')\n", | |
" print('check interval or increase ns\\n')\n", | |
" else:\n", | |
" print('number of brackets: {}\\n'.format(nb))\n", | |
" return xb\n", | |
"\n", | |
"incsearch(lambda x: f_dm(x), 0.05, 0.4, ns=7)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 209, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#Problem 3b\n", | |
"def mod_secant(func,dx,x0,es=0.0001,maxit=50):\n", | |
" '''mod_secant: Modified secant root location zeroes\n", | |
" root,[fx,ea,iter]=mod_secant(func,dfunc,xr,es,maxit,p1,p2,...):\n", | |
" uses modified secant method to find the root of func\n", | |
" arguments:\n", | |
" ----------\n", | |
" func = name of function\n", | |
" dx = perturbation fraction\n", | |
" xr = initial guess\n", | |
" es = desired relative error (default = 0.0001 )\n", | |
" maxit = maximum allowable iterations (default = 50)\n", | |
" p1,p2,... = additional parameters used by function\n", | |
" returns:\n", | |
" --------\n", | |
" root = real root\n", | |
" fx = func evaluated at root\n", | |
" ea = approximate relative error ( )\n", | |
" iter = number of iterations'''\n", | |
"\n", | |
" iter = 0;\n", | |
" xr=x0\n", | |
" for iter in range(0,maxit):\n", | |
" xrold = xr;\n", | |
" dfunc=(func(xr+dx)-func(xr))/dx;\n", | |
" xr = xr - func(xr)/dfunc;\n", | |
" if xr != 0:\n", | |
" ea = abs((xr - xrold)/xr) * 100;\n", | |
" else:\n", | |
" ea = abs((xr - xrold)/1) * 100;\n", | |
" if ea <= es:\n", | |
" break\n", | |
" return xr,[func(xr),ea,iter]\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 236, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:26: RuntimeWarning: divide by zero encountered in double_scalars\n", | |
"/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:28: RuntimeWarning: invalid value encountered in double_scalars\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"(inf, [-300.0, nan, 49])" | |
] | |
}, | |
"execution_count": 236, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"mod_secant(f_dm,0.05,1)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 192, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#Problem 3c shown above in problems 1&2" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## References\n", | |
"\n", | |
"1. Math 24 _Rocket Motion_. <https://www.math24.net/rocket-motion/\\>\n", | |
"\n", | |
"2. Kasdin and Paley. _Engineering Dynamics_. [ch 6-Linear Momentum of a Multiparticle System pp234-235](https://www.jstor.org/stable/j.ctvcm4ggj.9) Princeton University Press \n", | |
"\n", | |
"3. <https://en.wikipedia.org/wiki/Specific_impulse>\n", | |
"\n", | |
"4. <https://www.apogeerockets.com/Rocket_Motors/Estes_Motors/13mm_Motors/Estes_13mm_1_4A3-3T>" | |
] | |
} | |
], | |
"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.7.3" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |