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": 15,
"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",
" derivs = np.array([state[1], u/state[2]*dmdt, -dmdt])\n",
" return derivs"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"#Explicit Method\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": 17,
"metadata": {},
"outputs": [],
"source": [
"#Implicit Method\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"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [],
"source": [
"#Initial conditions\n",
"y0= 0 # [m]\n",
"v0= 0 # [m/s]\n",
"m0= 0.25 # [kg]\n",
"mf= 0.05 # [kg]\n",
"u= 250 # [m/s]\n",
"N= 100 # Number of time steps\n",
"t= np.linspace(0,4,N) #Mass reaches .05 kg at 4 seconds, so we stop time there\n",
"dt= t[1]-t[0]\n",
"dmdt= 0.05 # [kg/s]\n",
"\n",
"#Initialize explicit solution array\n",
"simp_sol_rk= np.zeros([N,3])\n",
"\n",
"#Set explicit initial conditions\n",
"simp_sol_rk[0,0]= y0\n",
"simp_sol_rk[0,1]= v0\n",
"simp_sol_rk[0,2]= m0\n",
"\n",
"#Initialize implicit solution array\n",
"simp_sol_heun= np.zeros([N,3])\n",
"\n",
"#Set implicit initial conditions\n",
"simp_sol_heun[0,0]= y0\n",
"simp_sol_heun[0,1]= v0\n",
"simp_sol_heun[0,2]= m0\n",
"\n",
"#Solve for solution arrays\n",
"for i in range(N-1):\n",
" simp_sol_rk[i+1]= rk2_step(simp_sol_rk[i], simplerocket, dt)\n",
"for i in range(N-1):\n",
" simp_sol_heun[i+1]= heun_step(simp_sol_heun[i], simplerocket, dt)\n"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {},
"outputs": [],
"source": [
"#Solving Tsiolkovskys equation\n",
"m_Tsiolkovsky= np.linspace(m0, mf, N)\n",
"v_Tsiolkovsky= -u*np.log(m_Tsiolkovsky/m0)"
]
},
{
"cell_type": "code",
"execution_count": 140,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"It appears that all the solutions converge.\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 648x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#Compare solutions for convergence\n",
"simp_m_rk2= simp_sol_rk[:,1]\n",
"simp_v_rk2= simp_sol_rk[:,2]/m0\n",
"simp_m_heun= simp_sol_heun[:,1]\n",
"simp_v_heun= simp_sol_heun[:,2]/m0\n",
"\n",
"plt.figure(figsize=(9,6))\n",
"plt.plot(v_Tsiolkovsky, m_Tsiolkovsky/m0,linewidth=10,label='Tsiolkovsky')\n",
"plt.plot(simp_m_rk2, simp_v_rk2, color='red', label='RK2 (Explicit)')\n",
"plt.plot(simp_m_heun, simp_v_heun, 'k--', label='Heun (Implicit)')\n",
"plt.xlabel('V (m/s)')\n",
"plt.ylabel('$m_{f}$/$m_{0}$')\n",
"plt.title('Simple Rocket\\n')\n",
"plt.legend(loc='best');\n",
"\n",
"print('It appears that all the solutions converge.')"
]
},
{
"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": 108,
"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- g- c/state[2]*state[1]**2, -dmdt])\n",
" return derivs"
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {},
"outputs": [],
"source": [
"#Initial conditions are same as in question 1, just added g\n",
"y0= 0 # [m]\n",
"v0= 0 # [m/s]\n",
"m0= 0.25 # [kg]\n",
"mf= 0.05 # [kg]\n",
"u= 250 # [m/s]\n",
"g= 9.81 # [m/s^2]\n",
"N= 100 # Number of time steps\n",
"t= np.linspace(0,4,N) #Mass reaches .05 kg at 4 seconds, so we stop time there\n",
"dt= t[1]-t[0]\n",
"dmdt= 0.05 # [kg/s]\n",
"\n",
"#Initialize explicit solution array\n",
"sol_rk= np.zeros([N,3])\n",
"\n",
"#Set explicit initial conditions\n",
"sol_rk[0,0]= y0\n",
"sol_rk[0,1]= v0\n",
"sol_rk[0,2]= m0\n",
"\n",
"#Initialize implicit solution array\n",
"sol_heun= np.zeros([N,3])\n",
"\n",
"#Set implicit initial conditions\n",
"sol_heun[0,0]= y0\n",
"sol_heun[0,1]= v0\n",
"sol_heun[0,2]= m0\n",
"\n",
"#Solve for solution arrays\n",
"for i in range(N-1):\n",
" sol_rk[i+1]= rk2_step(sol_rk[i], rocket, dt)\n",
"for i in range(N-1):\n",
" sol_heun[i+1]= heun_step(sol_heun[i], rocket, dt)"
]
},
{
"cell_type": "code",
"execution_count": 139,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"We can see our two solutions are different than that of Tsiolkovsky,due to the effects of drag and gravitational forces.\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 648x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#Gather solutions\n",
"m_rk2= sol_rk[:,1]\n",
"v_rk2= sol_rk[:,2]/m0\n",
"m_heun= sol_heun[:,1]\n",
"v_heun= sol_heun[:,2]/m0\n",
"\n",
"#Plotting the solutions\n",
"plt.figure(figsize=(9,6))\n",
"plt.plot(v_Tsiolkovsky, m_Tsiolkovsky/m0,label='Tsiolkovsky')\n",
"plt.plot(m_rk2, v_rk2, color='red', label='RK2 (Explicit)')\n",
"plt.plot(m_heun, v_heun, 'k--', label='Heun (Implicit)')\n",
"plt.xlabel('V (m/s)')\n",
"plt.ylabel('$m_{f}$/$m_{0}$')\n",
"plt.title('Rocket\\n')\n",
"plt.legend(loc='best');\n",
"print('We can see our two solutions are different than that of Tsiolkovsky,'\\\n",
" 'due to the effects of drag and gravitational forces.')"
]
},
{
"cell_type": "code",
"execution_count": 154,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Runge Kutta method (Implicit method):\n",
"For the simple rocket function, the height reached was 597.576 m.\n",
"For the complex rocket function, the height reached was 425.441 m.\n",
"\n",
"Heun's method (Explicit method):\n",
"For the simple rocket function, the height reached was 597.69 m.\n",
"For the complex rocket function, the height reached was 425.443 m.\n",
"\n",
"We see that for both methods, the simple rocker height reached much higher, which was expected.\n",
"We also see that both the implicit and explicit solutions are very similar, regardless of the function used.\n"
]
}
],
"source": [
"#Compare solutions between simplerocket and rocket\n",
"simp_height_rk= simp_sol_rk[-1,0]\n",
"simp_height_heun= simp_sol_heun[-1,0]\n",
"height_rk= sol_rk[-1,0]\n",
"height_heun= sol_heun[-1,0]\n",
"print('Runge Kutta method (Implicit method):')\n",
"print('For the simple rocket function, the height reached was {:.6} m.'.format(simp_height_rk))\n",
"print('For the complex rocket function, the height reached was {:.6} m.\\n'.format(height_rk))\n",
"print('Heun\\'s method (Explicit method):')\n",
"print('For the simple rocket function, the height reached was {:.6} m.'.format(simp_height_heun))\n",
"print('For the complex rocket function, the height reached was {:.6} m.\\n'.format(height_heun))\n",
"print('We see that for both methods, the simple rocker height reached much higher, which was expected.')\n",
"print('We also see that both the implicit and explicit solutions are very similar, regardless of the function used.')"
]
},
{
"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": 261,
"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",
" #Initial conditions\n",
" y0= 0 # [m]\n",
" v0= 0 # [m/s]\n",
" m0= 0.25 # [kg]\n",
" mf= 0.05 # [kg]\n",
" g= 9.81 # [m/s^2]\n",
" u= 250 # [m/s]\n",
" N= 100 # Number of time steps\n",
" tot_time=(m0-mf)/dmdt\n",
" t= np.linspace(0,tot_time,N)\n",
" dt= t[1]-t[0]\n",
" height_desired= 300 # [m]\n",
" \n",
" #Solution array and initial solution conditions\n",
" sol= np.zeros([N, 3])\n",
" sol[0,0]= y0\n",
" sol[0,1]= v0\n",
" sol[0,2]= m0\n",
" \n",
" #Solve for solutions, find error\n",
" for i in range(N-1):\n",
" sol[i+1]= rk2_step(sol[i], rocket, dt)\n",
" height_predicted=sol[-1,0]\n",
" \n",
" error= height_desired- height_predicted\n",
" \n",
" return error"
]
},
{
"cell_type": "code",
"execution_count": 262,
"metadata": {},
"outputs": [],
"source": [
"#Function used in part a of problem 3\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": 263,
"metadata": {},
"outputs": [],
"source": [
"#Function used in part b of problem 3\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]"
]
},
{
"cell_type": "code",
"execution_count": 264,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"number of brackets: 1\n",
"\n",
"Using incremental search, the two closest mass change rates are [0.08888889] kg/s and [0.05] kg/s.\n",
"Using the modified secant method, the root of the function is 0.0587645 kg/s.\n"
]
}
],
"source": [
"masschangerate= incsearch(f_m,0.05,0.4,10)\n",
"sec_sol= mod_secant(f_m,0.001,0.05)\n",
"\n",
"print('Using incremental search, the two closest mass change rates are {} kg/s and {} kg/s.'.format(*masschangerate))\n",
"print('Using the modified secant method, the root of the function is {:.6} kg/s.'.format(sec_sol[0]))"
]
},
{
"cell_type": "code",
"execution_count": 269,
"metadata": {},
"outputs": [],
"source": [
"#Problem 3 part c\n",
"#Initial conditions\n",
"y0= 0 # [m]\n",
"v0= 0 # [m/s]\n",
"m0= 0.25 # [kg]\n",
"mf= 0.05 # [kg]\n",
"u= 250 # [m/s]\n",
"g= 9.81 # [m/s^2]\n",
"N= 100 # Number of time steps\n",
"dmdt= sec_sol[0] # [kg/s]\n",
"tot_time= (m0-mf)/dmdt\n",
"t= np.linspace(0,tot_time,N)\n",
"dt= t[1]-t[0]\n",
"height_desired= 300 # [m]\n",
"\n",
"#Initialize solution array\n",
"final_sol= np.zeros([N,3])\n",
"\n",
"#Set initial conditions\n",
"final_sol[0,0]= y0\n",
"final_sol[0,1]= v0\n",
"final_sol[0,2]= m0\n",
"\n",
"#Solve\n",
"for i in range(N-1):\n",
" final_sol[i+1]= rk2_step(final_sol[i], rocket, dt)"
]
},
{
"cell_type": "code",
"execution_count": 293,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The rocket detonates at a height of 300 m after 3.40341 seconds of flight.\n"
]
},
{
"data": {
"image/png": "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njlz5gBw6qmnUqdOnW32Dxs2jPPOO4+FCxfy/fff07Zt22L7jzjiCBokmDepc+fOAPzwww/b7HN3/vWvf/Hmm2+yZMkSNmzYUNQ8DHz11VdpxZ6OyPMbOnRowv1nnnkmY8eOZe7cuRQUFBRLGgH69euXcM64zp078+KLLyZ8fiIisaZNm8YDDzwQXf/73/+e9v/oiqSkqTqIzAY9YgQ8/nhw10C6IrNBT5hQLpMblqefw1FiW7YMZtb55ptvgORJU6zly5en/Qf5/fffA0EH60Tq169PmzZt+P777xMmTcnuVmvatCnANp3Bly1bxuymS/wAACAASURBVPHHH8/bb7+dNKY1a9akFXs6Snp+nTp1Ii8vj40bN7JixQq23377YvszfX4iIrEWL17M2WefHV0/+eSTGTZsWA4jSk5JU3URmQ16//3h8svTa3GKzAZ93nnlH18Zc3c+/DCYGnDvvfcGoKAgGCz+6KOPpnXr1inrZzK2U6R1J1FrSnyZROIvs5Vk+PDhvP322xx66KFce+21dOnShebNm1OnTh02b95MvXTunMxAOs8vlUyfn4hIxJYtWzjllFNYvXo1EHxJu+eee7L+f1TelDRVNxs3BuMrpaOcZ4MuT88//zwrV66kdu3a0Vvo27dvz5dffsm5557L0UcfXWbnahdesoy0ZMXbuHEjP/74I8A2rUyZ+vXXX3nhhReoVasWzz33HM2bNy+2f+HChaU6fiLt2rXjyy+/5JtvvqFXr17b7F+8eDGFhYXUr18/2qonIlIWrrvuOt59910AateuzdSpU2nWrFmOo0pOXxGrE/dgMK90L8+V82zQ5WXlypVccsklAOTn50cvF/Xt2xcIOm5nItJBe2tkYuM4PXr0AGDq1KkJy0yePBl3Z9dddy110rR69WoKCwtp0qTJNgkTwGOPPZa0bknPI5nI83v44YcT7p84cSIAv/vd74p1rhcRKY3Zs2dz0003RdfHjBnDwQcfnMOISqakqTp56y0ImzjTVo6zQZe1wsJCnn32WQ488EAWLlxI586due2226L7zz77bNq3b8/kyZMZPXo06xMkj59++mk0CYiIJDqff/55wvMOHjyY9u3bs2jRIkaNGlVswMYFCxYwevRoAC677LJSP8cddtiBFi1asGrVqm0GzXzppZf461//mrRuSc8jmT/84Q80adKEuXPnRu/Oi3jzzTf5+9//DqDR10WkzCxfvpxTTz012j2gV69e/PnPf85xVCXT18bqZPz4YHbneHl5QZ+n2Hl5IiKzQR92WMXEmKZbbrmFSZMmAcHlr+XLl/PBBx+watUqAI477jjuvfdeWrRoEa3TuHFjnn/+efr378/111/PXXfdxT777MOOO+7IsmXLWLRoEYsXL+bggw8u1snwqKOOomHDhjz11FN0796dXXbZhVq1anHsscdy7LHHUr9+faZNm0bfvn0ZN24cTz/9NAceeCC//PILb7zxBps3b+b0008v1pExW7Vq1eLKK6/ksssu49RTT+Wuu+6iY8eO/Pe//+W9997jL3/5S7FvZrEGDhzIG2+8wamnnsrvf//7aEvVrbfemrIP14477sgjjzzCSSedxEUXXcQDDzzAb3/7W3744QfeeustCgsLueqqq+jTp0+pn5+ISGFhIfn5+dFuDa1bt+aRRx6pGv0jkw3gpEclH9wy3s8/u9ert+1glQ0buu+3n/s//xksGzXatky9ekH9SiAyQGPkYWbeuHFjb9eunffq1ctHjRrln3zyScpjrFq1ym+66SY/+OCDvWnTpl63bl1v27atH3LIIX711Vf7xx9/vE2d119/3Xv27OnNmjVzM0s42OXixYv9j3/8o3fs2NHr1q3rzZo18+7du/ujjz66zWjg7iUPmjlx4kQHPD8/f5t906dP90MOOcSbNm3qTZo08f/7v//zRx991N09+trEKygo8DFjxnjnzp2jo3sTM9hlqhHB3YOBOk877TRv06aN16lTx1u2bOl9+vTx559/PmH5yOCWEydOTLi/pOefjAa3FKnexo0bV+z//AsvvJDrkIohxeCW5lWsP0tl07VrV583b15aZT///HP22GOP8gnk9tvhmmuK+jNFWpduuKFoNuiCgsSzQTdsGMwaXcazQYtko1z/TkQkp9577z0OPfTQaN/Lyy67rFg3i8rAzN53966J9lWBtjApUXwH8EaNoBLMBi0iIhKxevVqTj755GjCdNBBB3FjJZwUPhUlTdXBW28FHbrz8oKxl66/vnLMBi0iIkLQFejss89m0aJFQDD47dSpU4tNL1UVKGmqDiIdwBO1LiUT3+oU6RAuIiJSxu6//36mTZsWXX/ggQfYeeedcxhRdpQ0VQe1agV9mlK1LiUTaXUaNy44joiISBmaP38+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Q8DdamUSEZGa4JdffmHgwIGsX78egN13353JkyfX2AEsUzH3rIcrEqBr164+b968XIchIiKSsYKCAvr3789LL70EQOPGjfn3v//NnnvumePIcsfM3nf3hI03SiNFRERqqNGjR0cTJoDJkyfX6ISpJEqaREREaqCnn36aG2+8Mbo+atQojj/++BxGVPkpaRIREalhFixYwBlnFM11f9RRRzFmzJgcRlQ1KGkSERGpQVatWsWAAQNYty4Y+7lTp05MmTKFWrVqlVBTlDSJiIjUEAUFBQwZMoSFCxcC0LBhQ2bOnEnLli1LqCmgpElERKTGuPrqq3nxxRej65MmTWKfffbJYURVi5ImERGRGmDatGncfPPN0fVRo0YxePA2s4lJCkqaREREqrn58+czbNiw6Hrfvn3V8TsLSppERESqsZ9//pkBAwZER/zebbfd1PE7S0qaREREqqktW7YwePBgFi9eDAQjfs+cOZPmzZvnNrAqSkmTiIhINXXxxRfzxhtvAGBmPPbYYxrxuxSUNImIiFRD9913H//4xz+i62PGjOHYY4/NYURVn5ImERGRambu3Lmcf/750fXBgwfzl7/8JYcRVQ9KmkRERKqRb7/9luOPP54tW7YAsO+++zJx4kTMLMeRVX1KmkRERKqJdevWMWDAAJYvXw7Adtttx8yZM2nUqFGOI6selDSJiIhUA4WFhZxxxhl8/PHHANSpU4fp06fToUOHHEdWfShpEhERqQauvfZann766ej63XffTffu3XMYUfWjpElERKSKe+KJJ4qN8H3xxRdz1lln5TCi6klJk4iISBU2b948hg4dGl0/6qijuO2223IXUDWmpElERKSK+v777xkwYAAbN24E4De/+Q2PP/44tWvXznFk1ZOSJhERkSpo/fr1DBgwgB9++AGA5s2bM2vWLE2RUo6UNImIiFQxhYWF5Ofn8/777wNQq1Ytpk+fzm677ZbjyKo3JU0iIiJVzOjRo5k+fXp0fcKECfTq1SuHEdUMSppERESqkMcee4wbbrghun7hhRdyzjnn5DCimkNJk4iISBXxzjvvFBtKoE+fPtx+++05jKhmUdIkIiJSBSxatIgBAwawadMmAPbcc0/dKVfBlDSJiIhUcqtXr6Z///7ROeVat27NrFmzaNasWY4jq1mUNImIiFRiW7ZsYfDgwSxYsACAunXrMnPm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p3PuuecGWJlIYshzpkmio5kmESlux44d48EHH+Shhx4iI+Pnf8+NHDmS8ePHk5SUFGB1IqVLYWeaREQkYFu3buWGG25gxYqfH4NZo0YNpkyZwlVXXRVgZSKJJ27vnhMRKe1effVVLrnkkmyBqWvXrqxfv16BSSQACk0iIjFm//793HjjjaSkpLBv3z4AypYty7hx41i4cCFnn312wBWKJCadnhMRiSErVqxg4MCBfPXVV5G2hg0bMm3aNNq3b5/PSBEpbpppEhGJAceOHeOBBx6gU6dO2QLTwIEDWbdunQKTSAzQTJOISMA2b97MoEGD+PDDDyNt1apV47nnnuP6668PsDIRyUozTSIiAXF3nnnmGVq2bJktMHXp0oX169crMInEGIUmEZEA7Nixgx49enDnnXeSnh56bnj58uUZP3487777LvXr1w+4QhHJSafnRERKkLszbdo07rzzTn788cdIe/PmzfnHP/5BixYtAqxORPKjmSYRkRLy3Xffcd111zFw4MBIYDIzRo0axapVqxSYRGKcZppERErAjBkzGDJkCLt37460NWjQgBdffJHOnTsHWJmIREszTSIixWj37t0MGDCAvn37ZgtMt99+O+vXr1dgEokjmmkSESkmM2fOZOjQoXz33XeRtrPPPpvnn3+eHj16BFiZiBSGZppERIrY999/T0pKCn369MkWmAYNGsSGDRsUmETilGaaRESKiLvzyiuvMHz48Gyn4s466ywmTZpEr169AqxORE6VZppERIrAN998w9VXX03//v2zBaabb76ZjRs3KjCJlAKaaRIROQUZGRlMmjSJ0aNHc+DAgUh7vXr1mDRpEr/61a8CrE5EipJmmkRECmnz5s1069aNIUOGZAtMQ4cOZcOGDQpMIqWMZppERArop59+4tFHH2XcuHEcOXIk0n7++eczefJkOnXqFGB1IlJcFJpERApg2bJl3HbbbWzatCnSVrZsWUaNGsUDDzxAxYoVA6xORIqTQpOISBT27t3LmDFjmDRpUrb2tm3bMmnSJD0CRSQB6JomEZF8uDsvvfQSTZo0yRaYkpOTefLJJ1mxYoUCk0iC0EyTiEgeNm3axNChQ3nvvfeytV9zzTU89dRT1KtXL5jCRCQQmmkSEcnh4MGD3HvvvbRo0SJbYKpXrx6zZ89m9uzZCkwiCUgzTSIiYe7OrFmzGDly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\n",
"text/plain": [
"<Figure size 648x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#Plot the explosion height\n",
"plt.figure(figsize=(9,6))\n",
"plt.plot(t, final_sol[:,0],'k')\n",
"plt.plot(t[-1],height_desired,'r*',markersize=30,label='Detonation')\n",
"plt.xlabel('Time(s)')\n",
"plt.ylabel('Height (m)')\n",
"plt.legend(loc='best')\n",
"plt.title('Height of Rocket Versus Time\\n');\n",
"\n",
"print('The rocket detonates at a height of 300 m after {:.6} seconds of flight.'.format(t[-1]))"
]
},
{
"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
}