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_project3/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.
745 lines (745 sloc)
220 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": 586, | |
"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": 587, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def simplerocket(state,dmdt=0.05, u=250, mo=0.25):\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-g-c/mv^2) -dmdt]^T\n", | |
" '''\n", | |
" g = 9.81\n", | |
" derivs = np.array([state[1], (u/state[2])*dmdt, -dmdt])\n", | |
" \n", | |
" return derivs\n", | |
"\n", | |
"\n", | |
"#dstate = np.zeros(np.shape(state))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 588, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def eulerstep(state, rhs, dt):\n", | |
" '''Update a state to the next time increment using 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", | |
" next_state = state + rhs(state) * dt\n", | |
" return next_state" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 589, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"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": [ | |
"N = 25\n", | |
"T = 4\n", | |
"t = np.linspace(0, T, N)\n", | |
"dt = T/N\n", | |
"vo = 0\n", | |
"yo = 0\n", | |
"mo = 0.25\n", | |
"u = 250\n", | |
"num_sol = np.zeros([N,3])\n", | |
"num_sol[0,0] = yo\n", | |
"num_sol[0,1] = vo\n", | |
"num_sol[0,2] = mo\n", | |
"\n", | |
"\n", | |
"\n", | |
"for i in range(N-1):\n", | |
" num_sol[i+1] = eulerstep(num_sol[i], simplerocket, dt)\n", | |
"mf_mo = num_sol[:,2]/mo\n", | |
"dv = num_sol[N-1,1] - num_sol[0,1]\n", | |
"v_f = -u*np.log(mf_mo)\n", | |
"\n", | |
"\n", | |
"plt.plot(mf_mo,num_sol[:,1],'o')\n", | |
"plt.plot(mf_mo,v_f)\n", | |
"plt.title('Euler mf/mo vs Velocity')\n", | |
"plt.xlabel('mf/mo')\n", | |
"plt.ylabel('Velocity (m/s)');" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 590, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"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" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 591, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"536.9299581820546\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": [ | |
"num_heun = np.zeros([N,3])\n", | |
"num_heun[0,0] = yo\n", | |
"num_heun[0,1] = vo\n", | |
"num_heun[0,2] = mo\n", | |
"\n", | |
"for i in range(N-1):\n", | |
" num_heun[i+1] = heun_step(num_heun[i], simplerocket, dt)\n", | |
"\n", | |
"dv = num_heun[N-1,1] - num_heun[0,1]\n", | |
"\n", | |
"h_exp = num_heun[N-1,0]\n", | |
"print(h_exp)\n", | |
"mf_mo2 = num_heun[:,2]/mo\n", | |
"plt.plot(mf_mo2,v_f)\n", | |
"plt.plot(mf_mo2,num_heun[:,1], 'o')\n", | |
"plt.xlabel('mf/mo')\n", | |
"plt.ylabel('Velocity (m/s)')\n", | |
"plt.title('Heun mf/mo vs Velocity');" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 592, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"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": [ | |
"plt.plot(mf_mo,num_sol[:,1],'*')\n", | |
"plt.plot(mf_mo2,num_heun[:,1], 'o')\n", | |
"plt.plot(mf_mo,v_f)\n", | |
"plt.xlabel('mf/mo')\n", | |
"plt.ylabel('Velocity (m/s)')\n", | |
"plt.title('Heun and Euler mf/mo vs Velocity');" | |
] | |
}, | |
{ | |
"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": 593, | |
"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", | |
" derivs = np.array([state[1], (u/state[2])*dmdt-9.81-(c/state[2])*(state[1])**2, -dmdt])\n", | |
" return derivs" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 594, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"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": [ | |
"N = 25\n", | |
"T = 4\n", | |
"t = np.linspace(0, T, N)\n", | |
"dt = T/N\n", | |
"vo = 0\n", | |
"yo = 0\n", | |
"mo = 0.25\n", | |
"u = 250\n", | |
"num_sol = np.zeros([N,3])\n", | |
"num_sol[0,0] = yo\n", | |
"num_sol[0,1] = vo\n", | |
"num_sol[0,2] = mo\n", | |
"\n", | |
"\n", | |
"\n", | |
"for i in range(N-1):\n", | |
" num_sol[i+1] = eulerstep(num_sol[i], rocket, dt)\n", | |
"mf_mo = num_sol[:,2]/mo\n", | |
"dv = num_sol[N-1,1] - num_sol[0,1]\n", | |
"v_f = -u*np.log(mf_mo)\n", | |
"\n", | |
"\n", | |
"plt.plot(mf_mo,num_sol[:,1],'--')\n", | |
"plt.plot(mf_mo,v_f)\n", | |
"plt.title('Euler mf/mo vs Velocity')\n", | |
"plt.xlabel('mf/mo')\n", | |
"plt.ylabel('Velocity (m/s)');" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 595, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"389.7482637058418\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": [ | |
"num_heun = np.zeros([N,3])\n", | |
"num_heun[0,0] = yo\n", | |
"num_heun[0,1] = vo\n", | |
"num_heun[0,2] = mo\n", | |
"\n", | |
"for i in range(N-1):\n", | |
" num_heun[i+1] = heun_step(num_heun[i],rocket, dt)\n", | |
"\n", | |
"dv = num_heun[N-1,1] - num_heun[0,1]\n", | |
"\n", | |
"\n", | |
"mf_mo2 = num_heun[:,2]/mo\n", | |
"H_exp = num_heun[N-1,0]\n", | |
"print(H_exp)\n", | |
"plt.plot(mf_mo2,v_f)\n", | |
"plt.plot(mf_mo2,num_heun[:,1], '--')\n", | |
"plt.xlabel('mf/mo')\n", | |
"plt.ylabel('Velocity (m/s)')\n", | |
"plt.title('Heun mf/mo vs Velocity');" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 596, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"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": [ | |
"plt.plot(mf_mo,num_sol[:,1],'--')\n", | |
"plt.plot(mf_mo,num_heun[:,1], 'o')\n", | |
"plt.plot(mf_mo,v_f)\n", | |
"plt.xlabel('mf/mo')\n", | |
"plt.ylabel('Velocity (m/s)')\n", | |
"plt.title('Heun and Euler mf/mo vs Velocity');" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Answer Question 2\n", | |
"As we can see from both graphical representations of the rocket and simplerocket functions, both the euler and heun integration methods converge onto each other perfectly, which of course the heun integration converges with less steps taken. In terms of convergence to the Tsiolkovsky equation, the simplerocket function converges perfectly, which means his equation does not account for gravity or drag, and since the rocket equation does this explains why it does not converge and actually underestimates results. The height from the simplerocket equation at the end of the 4 seconds is 596 meters and the height using the rocket function at this time is 424.5 meters when number of steps \"N\" is equal to 1000." | |
] | |
}, | |
{ | |
"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": 474, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def incsearch(func,xmin,xmax,ns=50):\n", | |
" x = np.linspace(xmin,xmax,ns)\n", | |
" f = func(x)\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": 477, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def mod_secant(func,dx,x0,es=0.0001,maxit=50):\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": 565, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"-0.0026944361318328447\n", | |
"number of brackets: 3\n", | |
"\n", | |
"[[0.0759519 0.20430862 0.23026052]\n", | |
" [0.0752505 0.20360721 0.22955912]]\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": [ | |
"N = 220\n", | |
"def f_m(var,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", | |
" def rocket(state,dmdt=var, u=250,c=0.18e-3):\n", | |
" derivs = np.array([state[1], (u/state[2])*dmdt-9.81-(c/state[2])*(state[1])**2, -dmdt])\n", | |
" return derivs\n", | |
" def eulerstep(state, rhs, dt):\n", | |
" next_state = state + rhs(state) * dt\n", | |
" return next_state\n", | |
" N=100\n", | |
" T = 0.2/var\n", | |
" t = np.linspace(0, T, N)\n", | |
" dt = T/N\n", | |
" vo = 0\n", | |
" yo = 0\n", | |
" mo = 0.25\n", | |
" u = 250\n", | |
" num_sol = np.zeros([N,3])\n", | |
" num_sol[0,0] = yo\n", | |
" num_sol[0,1] = vo\n", | |
" num_sol[0,2] = mo\n", | |
" for i in range(N-1):\n", | |
" num_sol[i+1] = eulerstep(num_sol[i], rocket, dt)\n", | |
" H_exp = num_sol[N-1,0]\n", | |
" error = H_exp - 300\n", | |
" return error\n", | |
"print(f_m(0.075555))\n", | |
"#dmdt = np.linspace(0.01,0.4,N)\n", | |
"#print(f_m(dmdt))\n", | |
"O = []\n", | |
"def f_m2(dmdt):\n", | |
" for x in np.nditer(dmdt):\n", | |
" P = f_m(x)\n", | |
" O.append(P)\n", | |
" Err = np.array(C)\n", | |
" return Err\n", | |
"plt.plot(dmdt,f_m2(dmdt)[0:N])\n", | |
"\n", | |
"#Err = [f_m(elem) for elem in dmdt]\n", | |
"#P = np.array([f_m(elem) for elem in dmdt])\n", | |
"Q = 500\n", | |
"xb = incsearch(lambda x: f_m2(x)[0:Q],0.05,0.4,ns=Q)\n", | |
"soln = 0.07555\n", | |
"print(xb)\n", | |
"plt.plot(soln, f_m(soln), 'o')\n", | |
"#print(f_m2(xb))\n", | |
"#plt.plot(xb[:,0], f_m2(xb[:,0]))\n", | |
"plt.xlabel('dmdt')\n", | |
"plt.ylabel('Error')\n", | |
"plt.title('Height Error vs dmdt');" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Answer 3a\n", | |
"According to the incsearch function there is a root at dmdt = 0.7555, this value will give us a rocket that will expend all of its fuel exactly as it reaches an altitude of 300 meters." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 603, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"0.07555415063614908\n" | |
] | |
} | |
], | |
"source": [ | |
"D,out = mod_secant(f_m,0.0001,0.05,es=0.000001)\n", | |
"print(D)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Answer 3B\n", | |
"As we can see using the secant method, we get 0.07555 again, proving that this answer is the correct dmdt to create a rocket that expends its fuel at 300 meters in altitude." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 559, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"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": [ | |
"def rocket(state,dmdt=0.07555, u=250,c=0.18e-3):\n", | |
" derivs = np.array([state[1], (u/state[2])*dmdt-9.81-(c/state[2])*(state[1])**2, -dmdt])\n", | |
" return derivs\n", | |
"def eulerstep(state, rhs, dt):\n", | |
" next_state = state + rhs(state) * dt\n", | |
" return next_state\n", | |
"N=100\n", | |
"T = 0.2/0.07555\n", | |
"t = np.linspace(0, T, N)\n", | |
"dt = T/N\n", | |
"vo = 0\n", | |
"yo = 0\n", | |
"mo = 0.25\n", | |
"u = 250\n", | |
"num_sol = np.zeros([N,3])\n", | |
"num_sol[0,0] = yo\n", | |
"num_sol[0,1] = vo\n", | |
"num_sol[0,2] = mo\n", | |
"for i in range(N-1):\n", | |
" num_sol[i+1] = eulerstep(num_sol[i], rocket, dt)\n", | |
"T_det = np.array([0.2/0.07555])\n", | |
"y_det = np.array([num_sol[N-1,0]])\n", | |
"plt.plot(t, num_sol[:,0])\n", | |
"plt.plot(T_det, num_sol[N-1,0],'*')\n", | |
"plt.xlabel('Time (s)')\n", | |
"plt.ylabel('Height (m)')\n", | |
"plt.title('Height vs Time Before Detonation');" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"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>" | |
] | |
}, | |
{ | |
"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 | |
} |