Skip to content
Permalink
master
Switch branches/tags

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?
Go to file
 
 
Cannot retrieve contributors at this time
{
"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": 1,
"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": 176,
"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*dmdt/m -dmdt]^T\n",
" '''\n",
" g=9.81\n",
" \n",
" derivs = np.array([state[1], u*dmdt/state[2], -dmdt])\n",
"\n",
" #dstate = np.zeros(np.shape(state))\n",
" return derivs\n",
"\n",
"\n",
"def rk2_step(state, rhs, dt):\n",
" '''Update a state to the next time increment using modified Euler's method: explicit\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\n",
"\n",
"\n",
"def heun_step(state,rhs,dt,etol=0.000001,maxiters = 100):\n",
" '''Update a state to the next time increment using the implicit Heun'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",
" etol : tolerance in error for each time step corrector\n",
" maxiters: maximum number of iterations each time step can take\n",
" \n",
" Returns\n",
" -------\n",
" next_state : array, updated after one time increment'''\n",
" e=1\n",
" eps=np.finfo('float64').eps\n",
" next_state = state + rhs(state)*dt\n",
" ################### New iterative correction #########################\n",
" for n in range(0,maxiters):\n",
" next_state_old = next_state\n",
" next_state = state + (rhs(state)+rhs(next_state))/2*dt\n",
" e=np.sum(np.abs(next_state-next_state_old)/np.abs(next_state+eps))\n",
" if e<etol:\n",
" break\n",
" ############### end of iterative correction #########################\n",
" return next_state\n"
]
},
{
"cell_type": "code",
"execution_count": 177,
"metadata": {},
"outputs": [],
"source": [
"#Set conditions we are studying, four seconds of airtime divided into 100 slices\n",
"T = 4\n",
"dt = T/100\n",
"N = round(T/dt)\n",
"\n",
"#create the time interval for our specifications\n",
"t = np.linspace(0, T, N)\n",
"\n",
"#set initial conditions of position, velocity, and mass\n",
"y0 = 0\n",
"v0 = 0\n",
"m0 = 0.25\n",
"\n",
"#initialize solution arrays for implicit and explicit methods\n",
"explicit_num_sol = np.zeros([N,3])\n",
"implicit_num_sol = np.zeros([N,3])\n",
"\n",
"#initialize first variables using our set initial conditions\n",
"explicit_num_sol[0,0] = y0\n",
"explicit_num_sol[0,1] = v0\n",
"explicit_num_sol[0,2] = m0\n",
"\n",
"implicit_num_sol[0,0] = y0\n",
"implicit_num_sol[0,1] = v0\n",
"implicit_num_sol[0,2] = m0\n",
"\n",
"\n",
"#solve using two different methods, and write to our solution arrays\n",
"for i in range(N-1):\n",
" explicit_num_sol[i+1] = rk2_step(explicit_num_sol[i], simplerocket, dt)\n",
" \n",
"for i in range(N-1):\n",
" implicit_num_sol[i+1] = heun_step(implicit_num_sol[i], simplerocket, dt)\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 178,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"All three solutions appear to converge.\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": [
"#create a new interval with the mass \n",
"m = explicit_num_sol[:,2]\n",
"\n",
"\n",
"#plot our solutions against the Tsiolkovsky equation for a changing mass \n",
"plt.plot(m, explicit_num_sol[:,1], label = 'Explicit')\n",
"plt.plot(m, implicit_num_sol[:,1], label = 'Implicit')\n",
"plt.plot(m, -np.log(m/0.25)*250,':', color=(0.5,0.9,0.9), label = 'Tsiolkovsky')\n",
"plt.xlabel('m (kg)')\n",
"plt.ylabel('Velocity (m/s)')\n",
"plt.legend();\n",
"\n",
"print('All three solutions appear to converge.')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"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": 179,
"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",
" g=9.81\n",
" \n",
" derivs = np.array([state[1], u*dmdt/state[2]-g-(c*state[1]**2)/(state[2]), -dmdt])\n",
" \n",
" #dstate = np.zeros(np.shape(state))\n",
" return derivs"
]
},
{
"cell_type": "code",
"execution_count": 180,
"metadata": {},
"outputs": [],
"source": [
"#Set conditions we are studying, four seconds of airtime divided into 100 slices\n",
"T = 4\n",
"dt = T/100\n",
"N = round(T/dt)\n",
"\n",
"#create the time interval for our specifications\n",
"t = np.linspace(0, T, N)\n",
"\n",
"#set initial conditions of position, velocity, and mass\n",
"y0 = 0\n",
"v0 = 0\n",
"m0 = 0.25\n",
"\n",
"#initialize solution arrays for implicit and explicit methods\n",
"explicit_num_sol2 = np.zeros([N,3])\n",
"implicit_num_sol2 = np.zeros([N,3])\n",
"\n",
"#initialize first variables using our set initial conditions\n",
"explicit_num_sol2[0,0] = y0\n",
"explicit_num_sol2[0,1] = v0\n",
"explicit_num_sol2[0,2] = m0\n",
"\n",
"implicit_num_sol2[0,0] = y0\n",
"implicit_num_sol2[0,1] = v0\n",
"implicit_num_sol2[0,2] = m0\n",
"\n",
"\n",
"#solve using two different methods, and write to our solution arrays\n",
"for i in range(N-1):\n",
" explicit_num_sol2[i+1] = rk2_step(explicit_num_sol2[i], rocket, dt)\n",
" \n",
"for i in range(N-1):\n",
" implicit_num_sol2[i+1] = heun_step(implicit_num_sol2[i], rocket, dt)\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 181,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Our two solutions converge, but they are significantly slower then the Tsiolkovsky equation because they include drag and gravitational forces on the rocket.\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": [
"#create a new interval with the mass \n",
"m2 = explicit_num_sol2[:,2]\n",
"\n",
"\n",
"#plot our solutions against the Tsiolkovsky equation for a changing mass \n",
"plt.plot(m2, explicit_num_sol2[:,1],'o', label = 'Explicit')\n",
"plt.plot(m2, implicit_num_sol2[:,1], label = 'Implicit')\n",
"plt.plot(m2, -np.log(m/0.25)*250,':', color=(0.5,0.9,0.9), label = 'Tsiolkovsky')\n",
"plt.xlabel('m (kg)')\n",
"plt.ylabel('Velocity (m/s)')\n",
"plt.legend();\n",
"\n",
"print('Our two solutions converge, but they are significantly slower then the Tsiolkovsky equation because \\\n",
"they include drag and gravitational forces on the rocket.')\n"
]
},
{
"cell_type": "code",
"execution_count": 182,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The final rocket height using the simple model was 581.6835868965701 \n",
" Incorporating drag and gravity produced a final height of 416.3832739937029\n"
]
},
{
"data": {
"image/png": "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7bdNrrZbXAsWLODEiRNERUVRq1YtAgICgJwtfK5du0azZs3yPH86nY7vvvuOAQMG8O677zJv3jxat26NpmnExsZy+PBhJk+eXODWKBYWFixevJgKFSowd+5c2rdvz7Zt2wwLGBX3fvTu3ZulS5cyYcIEtm7damhMTpgwgfr16xvy/fzzz0DOishCCCFEeZeemcX4ndY0zHiNEOvlnHbx5Sn/B7PlXXkgPZzikWdjY0NERAQjR47kyJEj/PDDD9jY2DBmzBj27dtHlSpVSnwOW1tbwsLCWLFiBe3bt+fo0aOsWbOGEydO0LRp0yI1atetW8eAAQO4evUq3377LV9//TU//li4xZxsbGx46aWXSEtLMzlcct68eSxZsoTBgwdja2vLnj17+O677zhw4AB169blzTff5Pjx4/Tu3bvQ8d5PrVu3Zs+ePTRo0IDw8HB2795NkyZNWLRoUZH3iBw4cCC///47r732GhUqVGD79u1s3LiRCxcu0LJlS7744gtee+21Uo1f3/ifNm0a1apV46effuKnn36ievXqfPjhh+zevdvkHNTu3btz5MgRxowZg729PT/++CNbt27l5s2bvPLKKwwYMOCe59Y0jTlz5jBx4kRiY2Np3769Ue97ce7Hc889x/z582nQoAE///wzX3/9NV9//bXR6AGAZcuWYWlpyciRI4t554QQQoiyY37Un/x1JY0fs315ns+oM+QLc4dUpmiF6VUR+WvVqpWKjo4uVN6YmBiTew0K84iKiqJDhw74+/sTFRVl7nAemDNnzlC3bl1at25dov1FzWnYsGEsW7aM0NBQhg0bZu5wRBH8/vvvNG3alL59+xZ5jqj8DBVCCFHWnE5KofsXO8jMymlTTevVmBf8apg3KDPQNO2AUqqVqTTp4RTiEePt7c1rr73Gzp07iYyMNHc44hHzwQcfYG1tzccff2zuUIQQQogSyc7K4t11RwyNzebVK/J/rU3vv/0okwanEI+gyZMn4+npybvvvmvuUMQj5ODBg6xbt45XX32VunVl5T4hhBDl229rZzLy7Lt4aZewtND4uE8TLCwe7T03TZFFg4R4BDk7O+fZDkOI+61ly5ZGKwoLIYQQ5dXV87HUO/45Dpbp+FkcZ03juTR8zNncYZVJ0uAUj6yAgIBCrQwryp6lS5eydOlSc4chhBBCiEfUlg0rGaBugQYX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UC+88EK+efTXFhsbmyftp59+UoByc3NTqampea6jZcuWClADBw5U6enphrT4+HhVp04dBaj33nvPqNzevXuVpaWlsrKyUkuWLMlzzmPHjqkTJ04YPm/dulUBqlOnToZj4eHhysnJSdna2qpVq1blqSMsLEwBysvLS/36669GaTt27FCOjo7K1tZWnT592iitWrVqClAJCQkm7tQ/Ll++rABVsWJFlZWVVWBeUTLyM1QIIcT99J/wE0r39kale3ujajj5J3XmSuq9CwmllFJAtMqnvVQWeziL4p07728rpU7pDyqlLmqa9goQBQRrmjZHKZVdCuXuqybLmjyoU5W634N+L9X6OnTokG+ai4sL169fNzrWtm1bpk6dyqRJkxgwYAAbNmxg8ODBZGdns2jRIurUqZNvfZMnT6ZRo0aGzzY2NsydO5ewsDD279/P7t27adOmTbGu4/bt23z00UdAzlBZX19fo3RN0wq81tKk39KkYcOGRSp36dIlIiIieP3117GxseHrr7/OM081KiqKgwcP4uLiwoIFC4xWv/X29ubTTz/lueeeY86cOUyePNnQy/nvf/+brKwsJk2aZLJ3MPf3YkpoaCgvv/wyjo6OhIeH4+/vnydPSEgIAEuWLOGJJ4z/StmuXTsmTZrEO++8w1dffcWMGTMKd1NyqVy5Mh4eHiQlJREbG0vt2rWLXIcQQgghzOvPgxE8sSsEL+1FEpU7b3drQPVKJVuXQ+Qotw1OTdO8AB8gA1h9d7pSarumaWeBaoAvsKck5cSDVdC2KPktyvPOO++wY8cOwsPDadq0KcnJyYwcOZLAwMACz2VquKaLiwvPPvssK1euJCoqqtgNzujoaC5fvoyXlxfdunUrVh2lJSkpCcAwD7Mg+vmiubm6urJ3715atmyZJ2379u0A9OrVy+T2ID179sTd3Z1Lly5x6NAhWrduTWZmJtu2bQPgpZdeKtK1AHzwwQdMmTIFnU7Hpk2bTDZOL168yMGDB3F1daVTp04m69E3UkuyEFKlSpVISkri4sWL0uAUQgghypnMW2lYb3yV9haJhNtMZLbrO7zg+4y5w3polMUGZwdN05oCjsBFYBew1URPY4s778eUUvktD7mfnIZjC/5pOBa3nHiAirMtin4+Z61atUhOTqZRo0Z8/vnnBZapWLFivvsn6uc55l4kpqji4+MBSjwPtDQkJycD4OzsfM+8+n04s7KySExMZOfOnVy7do2BAweyd+/ePI1W/QI7phqqerVq1eLSpUuGvElJSaSnp2Nra1vkOaXbt29n27ZtODg4sHPnTqpXr24y319//QXAtWvX7rkq76VLl4oUQ276e3p3z7sQQgghyr6fwr6jR9ZZ0AA0Bj/3DBYWmrnDemiUxQanqeUzj2uaNlAplXvcpv432/gC6tIvM5r7t+DilrvvSntY6qNo/fr1hoVtEhMTOXv2bIl7nDTt4fiBo29Y37hx4555796H848//qBTp06cOnWKUaNGsXq18eAAdWd2fUH3Sp+nNDRp0gSlFIcPH2b8+PF8++23eRYjAsjKyln3q2LFivTq1avAOk0thFRY+nvq6upa7DqEEEII8eCdvPg3bx3yZEn2B8y0/pKLDYbSrpb5OwoeJmWpwXkYOEDOirHxgDPQEvgQaAb8rGlaS6XU2Tv5He+8pxZQZ8qdd6dcx4pbTpRxR48eZdy4cdjY2NC/f39WrlxJYGAge/bsMdkYgZweqeTkZFxcXPKkxcXFAVC1atVix6TT6YCcBpu5eXjkLOl95cqVIpetX78+y5Yto3PnzqxZs4adO3fSrl07Q7qXlxfwT4+iKbGxsUDO9ir6eOzs7EhPTyc+Pt5wrwqjUqVKrFmzhm7durFu3Tp69+7N2rVrsbOzM8qn7/m0s7Nj6dKlha6/qPT3VH+PhRBCCFH2ZWUrJqw5QkZWNoepwzse8/kusN29C4oiKTP7TSqlPldKzVFKHVdKpSqlziulfgSeBPYBHvyz2A/c6fQmZ1XNoihuuX8q0LSX7+zZGV2SYXii9KSmpjJgwABu3rzJjBkzWL58OR06dODAgQN5tsi428qVK/McS05OZuPGjQBFHtqbm4+PD25ubiQmJhIeHl7segBDo7mg/SwLop97efz48WKV79Spk6GXcPLkyUZp+nmQGzZsMAzdze3HH3/k0qVLuLi40KJFzqh2a2trOnbsCOTsfVlUFStWZOvWrbRv355NmzbRo0cPUlON/46k0+lo2LAhFy5cYNeuXUWqv7D3+/Lly1y6dImKFSsWOKRYCCGEEGXLkl2x/JaQMx3G2lLj4/4+95yCI4quzDQ486OUygA+vvMx9+zdv++8O5I/fdrfuY4Vt1zumL5SSrVSSrVyd3cvoBrxoIwZM4aYmBiee+45xo8fj4WFBStXrsTDw4PZs2ezfv36fMtOnTqVmJgYw+fMzEzGjRtHcnIyPj4+tG3btthxWVtbG/Z/HD58OL/++qtRulKKqKgok420u7m7u2NjY8PFixe5du1akWPRr4ZbksVxPvroIywtLdm+fTuRkZGG4wEBAbRo0YLk5GTGjh1LRkaGIS0hIYE33ngDgFdffdWot/m9997D0tKSGTNmsGLFijzni4mJKbB32MnJic2bN/P0008TERFBt27d8gwZnjZtGgCDBw/m559/zlNHRkYGGzZs4JdffjE6ru+Jzf1smKK/n/7+/lhYlPkfqUIIIYQA4mNP8cWWY4bPr3WsSz1PGdx4P5SlIbUFOXHnvVquY3F33gsah6dfSSQu17HilhMP0PTp0wscAjl48GCefvppAJYvX86yZcuoXr06oaGhhjyPPfYYK1asoFu3bowYMYIWLVrkGbbp7e2Nj48PzZs3p2PHjri4uLB3717OnDmDm5sby5cvL/G1vP7668TExLB48WJ8fX1p1aoVderU4erVqxw/fpyEhARiY2NNDuvNzdramh49evD999/TokUL2rRpg729PW5ubkyfPv2ecdSsWZOmTZty5MgRYmNji9Ub16hRI4YOHUpoaCghISGGRqymaXz77bd06tSJ//73v0RGRtKmTRvS0tKIiIggLS2Np59+Ok/PqJ+fHwsWLGD06NEMHTqUqVOn0rJlS27dusXp06c5duwYK1asKHDRJXt7e3744QcGDBjADz/8QOfOnQkPDzfMp+zbty8zZ84kODiYLl26UL9+ferVq4e1tTWJiYmcOHGCGzdusGjRIlq3bm2ot3fv3uzatYuBAwfy9NNPG76fTz75xGiupr4Re685okIIIYQoG7JvZ3J75SDWWKQzUXuZ21VaMCpAVpm/b/LboLMsvQA/cobAXsl1rPqdY7cA+3zKJdzJ06ak5fJ7+fj43Hsn1Dtk0/J70+l06s69L/D12WefKaWUiomJUQ4ODsrKykrt2rXLZJ3BwcEKUL6+viojI0MppVRsbKwClE6nU5mZmWratGmqXr16ytbWVrm7u6shQ4ao2NhYk/XpY7ibv7+/AlRkZKTJcmFhYapHjx7K3d1dWVtbK09PT9W2bVs1c+ZMdfPmTUO+0NBQBaigoKA8dVy+fFm9+OKLysvLS1lZWRmuobAWLlyoADVlypQC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z5+fRo0aMXbs2OuuvdUznPXr148ekVy+fPl1z1jGdoptSEgIU6dOJUOGDDz++ONx+t4AKlWqFP3nkydP3vKagwcP0r179+jPMmvWrDRs2JCvv/46xnuvXr2a9u3bU6hQIfz8/MiZMyf33Xcf7733HoGBgbHKt3XrVgoWLIjL5WLIkCE3tf/666888sgj5M6dG19fX/Lly0f79u3Zvn37ddf1798/+pcGbrf7us/6xim2OXLkoHnz5uzcufO6n0MRERFJWkFnT5FnxZsAlHQdo3+2pbSpWsDhVHIjTamVFGX9+vX07NmTokWL0qhRI/bs2cNff/1F06ZNWbx4MZs3b+bVV1+lTp06NG3alLVr1zJ//nzWrVvHtm3byJ49+033DAsLo1GjRmzbto2GDRty7733snz5csaOHcvChQtZuXIluXPnTlDusLAw2rRpw08//YSXlxc1a9akUKFCnDx5km3btrFkyRJeeumlGO/RrFkz0qVLx8KFC8mdOzfNmjWLbitdunSscqxcuZLAwEAaN25MhgwZ4vx9XLhwIfrPt/pMVq1aRfPmzblw4QLFihWjdevWnDlzhuXLl7N06VJ+//13pk6delO/wYMHM3DgQKy1VKhQgdq1axMcHMzu3bsZNGgQjRs35v77748x2+LFi2ndujUhISHMnDmT9u3bX9fes2dPPvvsM3x8fKhWrRoFChRgz549fPXVV8ydO5cff/yRpk2bAnDvvffSsWNHvvzyS4wxdOzYMfo+Xl5eN71348aNmTdvHvPmzYtxmrKIiIgknoGLjpE+/Ane8Z7FRZOBEp3GYYym0iY71lp9JeCratWqNrZ27NgR62vTqsKFC1vALl269LrznTp1soAF7CeffHJd2xtvvGEBW7JkSRsQEGBXrFgR3XblyhX7wAMPWMC+//771/VbunRp9D1Llixpjx49Gt0WFBRkGzVqZAHbpk2b6/odOHDAArZw4cK3zX/gwIHrzr/88svR77Nz587r2iIiIuy8efOuOzdw4EAL2IEDB94yc7169W5679h4++23LWAHDBhwy/ar31vkXw03Gz9+vAVsuXLlrMfjua7t8uXLNn/+/Bawffr0sW63O7pt8+bNNkeOHBawkydPvq7ft99+awGbKVMmu2DBgpve8++//77uv83nn39uAfvcc89Fn/viiy+sj4+PzZIly00/O9Za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\n",
"text/plain": [
"<Figure size 1080x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(15,10))\n",
"\n",
"#plot our solutions against each other\n",
"plt.plot(t, explicit_num_sol[:,0], label = 'Explicit (Simple rocket)')\n",
"plt.plot(t, implicit_num_sol[:,0],':', label = 'Implicit (Simple rocket)')\n",
"plt.plot(t, explicit_num_sol2[:,0], label = 'Explicit (Rocket)')\n",
"plt.plot(t, implicit_num_sol2[:,0],':', label = 'Implicit (Rocket)')\n",
"plt.xlabel('Time (s)')\n",
"plt.ylabel('Height (m)')\n",
"plt.legend();\n",
"\n",
"print('The final rocket height using the simple model was ',explicit_num_sol[-1,0],'\\n',\\\n",
" 'Incorporating drag and gravity produced a final height of ', explicit_num_sol2[-1,0])"
]
},
{
"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": 184,
"metadata": {},
"outputs": [],
"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"
]
},
{
"cell_type": "code",
"execution_count": 185,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"number of brackets: 1\n",
"\n"
]
}
],
"source": [
"inc_solution = incsearch(lambda x: f_dm(x), 0.05, 0.4, ns=10)"
]
},
{
"cell_type": "code",
"execution_count": 186,
"metadata": {},
"outputs": [],
"source": [
"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]"
]
},
{
"cell_type": "code",
"execution_count": 187,
"metadata": {},
"outputs": [],
"source": [
"secant_solution = mod_secant(f_dm,0.01,0.05)"
]
},
{
"cell_type": "code",
"execution_count": 213,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" Using the incremental search function produced bounds of 0.05 and 0.089 kg/s.\n",
" The modified secant method gave an exact solution of 0.0581769 kg/s.\n",
"\n"
]
}
],
"source": [
"print('\\n Using the incremental search function produced bounds of ', inc_solution[1,0], 'and',\\\n",
" np.round(inc_solution[0,0],3), 'kg/s.\\n', 'The modified secant method gave an exact solution of',\\\n",
" np.round(secant_solution[0],7), 'kg/s.\\n')\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 211,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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JiZfz8fkjF5pUvmGj48PXbt2JT4+nrp16/Lrr7/y5JNPejqsfKVEiRLUr18/3yYJ3bp1o2/fvgAsWbIk28erWbMm9evXzxdJpFLe6plnnmHz5s2A5XN60aJFVK5c2cNR5Q5NmlS+U7ZsWd544w0A5s+f7/A23alTp4iKiqJx48YEBARQsmRJbr75Zl5//XWuXbuWqq0xhueffx6wDGJMOZYm7W2WP//8k+HDh3Pdddfh7+9P2bJlufPOO1mwYIHDWFPerjl+/DhDhgwhKCgIf39/goODGTt2LFeuXEnX7/z587z33nuEh4dTt25dSpQoQUBAAE2bNuXll1/m8uXLqdpHR0djjOHPP/8EIDg4ONX7sN2uy2xM0549e+jfvz81atTA39+fChUqEBoaymeffeaw/YABAzDGEB0dzf79+4mIiKBy5cr4+/tTv359Jk+ebH/sOKeEhIQA2N9rSmvXrqVTp05UqFCBokWLUqNGDSIjI/n5558dHsvZmKasvC93fo+UKihWrFjB1KlT7fsvvvhivl1XzhVecXvOGFMEaA2EAi2BWkB54ATwDTBDRDY66BcNRGZw6H0iUj+D80YAw4AbAV/gF2AOMEtEcvaT3oP+OXeFEQt3MCOiKZVKFfN0ODkiNDSUcuXKcfr0aWJjY7n//vvtdbt27aJjx4789ddfBAUF0bZtW5KTk/nuu+944oknWLt2LZ9++ilFixYFIDIykp07d/Ljjz9y00030aRJE/uxUv75u+++o2PHjpw9e5bg4GC6devGqVOniIuLY+PGjaxbt465c+dijEkX7+HDh2nWrBkiwu233865c+fYvHkzkydPZu/evaxatSpV+x9//JEhQ4ZQqVIlrr/+ekJCQjh16hTfffcdUVFRrFq1iri4OIoVs/x91q1bl8jISJYuXcrFixfp0aMHAQEB9uOl/LMzq1atolevXly9epUbbriBO+64gyNHjrB+/Xo+++wzoqKiePHFFx323blzJyNHjqRChQrceeedHD9+nM2bNzN27FiOHDnCW2+9len5XXXu3DkA/P39U5WPGzeOSZMm4ePjQ6tWrahevTo//fQT8+bNY/HixSxdupTOnTu7dS533perv0dKFRS///47AwYMsO937tyZsWPHei6gvCAiHn8BdwFiff0NrAE+BnalKH/BQb9oa91m65/Tvl7J4JwzrX0v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td4Stspo7TmvmKepMPHx8aF8+fKZrjivlFJK5bSTJ08SFhZmT5jq1q3LggULNGFykd6eU0oppQqBxMREevfuzcGDBwEd+J0VmjQppZRShcDo0aP56quv7Pvz58/Xgd9u0qRJKaWUKuDmzJnD9OnT7fsvvPACXbt29WBE+ZMmTUoppVQB9u233zJ06FD7fo8ePXj22Wc9GFH+pUmTUkopVUAdPXqU7t272ydWbty4MdHR0TrjdxbpT00ppZQqgC5fvkx4eDh///03YJkrcOXKlQQEBHg4svxLkyallFKqgBERBg0ahG0eQV9fX5YsWUJwcLCHI8vfNGlSSimlCphJkyaxcOFC+/706dNp166dByMqGDRpUkoppQqQlStX8swzz9j3hwwZwvDhwz0YUcGhSZNSSilVQOzatYu+ffva99u2bctbb72FMcaDURUcmjQppZRSBcCJEycICwvj4sWLAAQHB7NkyRKKFCni4cgKDk2alFJKqXzu6tWrdO/ePdUSKatXr6ZChQqeDayA0aRJKaWUysdEhKFDh7J582YAjDHExMToEim5QJMmpZRSKh+bOnUq0dHR9v3JkycTFhbmuYAKME2alFJKqXxq1apVjBkzxr4/cOBARo8e7cGICjZNmpRSSql86McffyQiIgIRAeCOO+5g1qxZ+qRcLtKkSSmllMpnjh8/zr333pvqSblPPvkEf39/D0dWsGnSpJRSSuUjly9fpmvXrhw+fBiAwMBAVq9eTcWKFT0cWcGnSZNSSimVTyQnJxMZGcl3330HgI+PD4sWLdIn5fKIJk1KKaVUPjF+/HiWLFli358+fTqdOnXyYESFiyZNSimlVD4wd+5cXn75Zfv+iBEjGDFihAcjKnw0aVJKKaW8XFxcHA8//LB9v1OnTrz++usejKhw0qRJKaWU8mK//fYb3bt359q1awA0btyYRYsW4efn5+HICh9NmpRSSikvdfLkSUJDQzl9+jQAlStXZs2aNQQGBno4ssJJkyallFLKC125coXw8HD2798PQLFixVi1ahU1a9b0cGSFl9tJkzGmojGmgzHmAWPMCGNMX+t+lpdSNsYUMca0N8a8Zoz51hjztzEmwRhz1Biz1BjTNpP+EcaYTcaYf40xF4wx8caYR4wxGb6/rPZTSimlclNycjIDBw5ky5YtwH+L8LZo0cLDkRVuLt0QNcYE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SE5O5vHHH2fEiBHae0kkyrTSJCISZc45Zs6cyVlnnVUkYOrVqxdr1qzhxhtvVMAkEgMUNImIRNHWrVsZMGAA6enpZGVlAVC9enWmTJnCkiVL9LC3SAzR7TkRkShwzvH3v/+d2267jb179xbkp6Wl8dxzz3HOOedEsXciEohWmkREImzHjh1cc801DBs2rCBgMjNuv/12MjIyFDCJxCitNImIRNCCBQtIT09n165dBXmpqak8++yz9O3bN4o9E5GyaKVJRCQCdu3axbXXXsvQoUOLBEy33HILa9euVcAkUgVopUlEJIyccyxYsICxY8eyc+fOgvzTTjuNOXPmcMkll0SxdyJSHlppEhEJk23btnHVVVdx7bXXFgmYbr75Zr744gsFTCJVjFaaRERCzDnH3LlzmTBhAvv27SvIb968OU888QQDBw6MYu9EpKK00iQiEkLff/89AwYM4KabbioSMI0ePZqvvvpKAZNIFaaVJhGREMjNzWX69On88Y9/LNikEqBVq1bMmTOHiy66KIq9E5FQUNAkIlJJa9asYdSoUaxataogz8wYN24cf/nLX6hbt24UeycioaKgSUSkgrKyspg8eTIPPvggubm5BfmdOnVizpw59OjRI4q9E5FQU9AkIlIB77zzDrfddhvfffddQV5SUhL33nsvd955JzVr1oxi70QkHBQ0iYiUw7Zt25gwYQIvvfRSkfw+ffowa9Ys2rdvH6WeiUi46e05EZEg5ObmMmPGDDp06FAkYDrxxBOZM2cOH374oQImkTinlSYRkTKsWLGC9PR0MjIyiuSPGDGChx56iMaNG0epZyISSVppEhEpwe7duxk9ejTnnXdekYCpXbt2LF68mLlz5ypgEkkgCppERIrJy8vjySefpH379syaNQvnHAC1atXiz3/+M2vWrNG+SyIJSLfnREQKWbFiBb/73e9YsWJFkfzLL7+c6dOn07p16yj1TESiTStNIiLAjh07uPnmm+nRo0eRgCk1NZXXXnuNf/zjHwqYRBKcgiYRSWjZ2dlMnz6ddu3a8dRTTxXk16xZk3vuuYd169Zx5ZVXYmZR7KWIxALdnhORhPXuu+8yadIk1q9fXyT/iiuuYNq0aZx++ulR6pmIxCIFTSKScDZs2MDtt9/O22+/XSS/bdu2PProowwYMCBKPRORWKbbcyKSMPbs2cOECRPo3LlzkYApOTmZqVOn8sUXXyhgEpESaaVJROLesWPHmDFjBpMnT2bv3r0F+WbGyJEjmTJlCqecckoUeygiVUGVX2kys2fMzJVybCjl3GFm9i8z+9nMDprZKjO7zcyq/LiICDjnePnll0lLS2PSpElFAqY+ffqQkZHBnDlzFDCJSFDiaaXpEyAzQP62QJXNbAaQDhwBFgPZQH/gcaC/mQ1xzuWGqa8iEmbLly/njjvu4JNPPimS37p1a6ZOncrVV1+tN+JEpFziKWia45x7JpiKZnY1XsC0HejjnNvo5zcBPgQGA2OBR8PTVREJl6+//po//OEPvPLKK0XyTzzxRO69917S09NJSkqKUu9EpCpL1NtQv/fTu/MDJgDn3L+BW/0f/0u36USqjm3btjFmzBg6duxYJGCqUaMGEydOJDMzk4kTJypgEpEKi6eVpqCYWXPgXOAYsKB4uXPuIzPbCpwKnAd8Gtkeikh57Nu3j4ceeohp06aRlZVVpOzaa69lypQptGnTJkq9E5F4Ek9B04VmdiZQD/g3sBT4wDmXV6ze2X76lXPucAltrcQLms5GQZNITMrKyuKxxx5j6tSpRR7wBrjwwguZOnUq3bp1i1LvRCQexVPQdGOAvHVmdp1z7otCea389IdS2vqxWF0RiRHHjh3jySefZPLkyWzbVvQ9jzPPPJOpU6dy6aWX6iFvEQm5eHhm53NgHNARb5WpGfAfwBogDVhkZqcWql/PTw+V0uZBP00ObVdFpKJycnJ4+umnad++Penp6UUCptNPP53nn3+ezz77jMsuu0wBk4iERZVfaXLOPVIs6xDwlpl9AHyE91zS7/HehgPI/9fUVfR3mtktwC0ALVq0qGgzIhKE3Nxc5s+fz5///GcyM4vuKtKsWTP+9Kc/MXLkSGrUqBGlHopIooiHlaaAnHPHgPv8HwcWKjrgp/UoWX7ZgUCFzrlZzrmuzrmuJ598cuU6KiIB5ebm8uKLL9K5c2dGjBhRJGBq2LAhDzzwAJmZmYwePVoBk4hERJVfaSpD/m7ghW/Pfe+nqaWcd1qxuiISIfnB0pQpU1i/fn2RsgYNGnDHHXcwbtw4kpN191xEIiveg6aGfnqwUN5nftrRzGqX8AZdt2J1RSTMcnJymD9/PlOmTOGbb74pUpaSksLEiROZMGECDRo0iFIPRSTRxXvQNNRPV+ZnOOc2m9lq4BxgCDC38Alm1hdojrdb+LII9VMkYR07doy5c+dy//338+233xYpS05OZty4cUyaNImTTjopSj0UEfFU6aDJzM7CC3DeKfydODOrjvdG3Tg/a1qxU+/D29hyqpl96pzL9M9rDPzVr3N/gD2eRCREsrKymD17Ng899BBbtmwpUla/fn3Gjx/PhAkTOPHEE6PUQxGRoqp00AS0BF4F9pjZN8AWvG0COuNtPZCH96mU9wqf5JxbaGYz8T6Z8oWZLeKXD/amAK/hfbhXREJs3759zJw5k2nTprFz584iZQ0aNGDChAmMHz9et+FEJOZU9aBpDd5HdbvjPdh9Nt5WAluAp4EZzrmMQCc659LNbClwG9AXOAHvwfGngJlaZRIJra1btzJt2jSeeOIJDh48WKSsSZMmTJo0iTFjxpCSkhKlHoqIlK5KB03Oue+ACZU4/wXghdD1SESKW79+PQ8++CDz5s0jOzu7SFmLFi246667GDlyJLVr145SD0VEglOlgyYRiU3OOZYsWcLDDz/MW2+9dVx5Wload955J8OHD9ceSyJSZShoEpGQyc7O5qWXXuLhhx/ms8+O37GjV69e3H333Vx++eVUqxa3e+uKSJxS0CQilbZ7925mz57NjBkzjnsTzsy44ooruOuuu+jVq1eUeigiUnkKmkSkwr788kumT5/OvHnzOHy46D6xtWrV4qabbmLixIm0a9cuSj0UEQkdBU0iUi45OTm8+eabPP744yxevPi48saNGzN27FhuvfVWGjVqFIUeioiEh4ImEQnKzp07mTNnDn/729/48ccfjys/++yzGT9+PNdddx1JSUlR6KGISHgpaBKREjnnWL58OTNnzuTFF1/k2LFjRcqrVavG4MGDGT9+PBdccAFmFqWeioiEn4ImETnO/v37mTdvHk888QRr1649rrxRo0aMGjWKMWPGkJqaGoUeiohEnoImEQG8VaVVq1Yxe/ZsXnjhBQ4dOnRcne7duzN27FiGDBlCrVq1otBLEZHoUdAkkuD27NnDvHnzePLJJwOuKtWpU4frr7+eMWPG0LVr1yj0UEQkNihoEklAubm5fPjhhzz11FO88sorHD169Lg6nTp1YsyYMdxwww3Ur18/Cr0UEYktCppEEsjGjRt59tlnmTt3Lps3bz6uvE6dOgwdOpRRo0bRs2dPPdgtIlKIgiaROLd3714W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\n",
"text/plain": [
"<Figure size 648x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"def rocket2(state,dmdt=0.0581769, 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",
" g=9.81\n",
" \n",
" derivs = np.array([state[1], u*dmdt/state[2]-g-(c*state[1]**2)/(state[2]), -dmdt])\n",
" \n",
" #dstate = np.zeros(np.shape(state))\n",
" return derivs\n",
"\n",
"#Set conditions we are studying, four seconds of airtime divided into 100 slices\n",
"dm=0.2\n",
"dmdt=0.0581769\n",
"T=dm/dmdt\n",
"N = 100\n",
"dt = T/N\n",
"\n",
"#create the time interval for our specifications\n",
"t = np.linspace(0, T, N)\n",
"\n",
"#set initial conditions of position, velocity, and mass\n",
"y0 = 0\n",
"v0 = 0\n",
"m0 = 0.25\n",
"\n",
"#initialize solution array\n",
"final_num_sol = np.zeros([N,3])\n",
"\n",
"#initialize first variables using our set initial conditions\n",
"final_num_sol[0,0] = y0\n",
"final_num_sol[0,1] = v0\n",
"final_num_sol[0,2] = m0\n",
"\n",
"for i in range(N-1):\n",
" final_num_sol[i+1] = rk2_step(final_num_sol[i], rocket2, dt)\n",
"\n",
"plt.figure(figsize=(9,6))\n",
"plt.plot(t[:90], final_num_sol[:90,0],'k', label = 'dm/dt = 0.05818')\n",
"plt.plot(3.1, 300,'*', label = 'Detonation Point')\n",
"plt.xlabel('Time (s)')\n",
"plt.ylabel('Height (m)')\n",
"plt.legend();\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"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
}