diff --git a/01_Getting-started-project.ipynb b/01_Getting-started-project.ipynb new file mode 100644 index 0000000..b0aa438 --- /dev/null +++ b/01_Getting-started-project.ipynb @@ -0,0 +1,510 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Computational Mechanics Project #01 - Heat Transfer in Forensic Science\n", + "\n", + "We can use our current skillset for a macabre application. We can predict the time of death based upon the current temperature and change in temperature of a corpse. \n", + "\n", + "Forensic scientists use Newton's law of cooling to determine the time elapsed since the loss of life, \n", + "\n", + "$\\frac{dT}{dt} = -K(T-T_a)$,\n", + "\n", + "where $T$ is the current temperature, $T_a$ is the ambient temperature, $t$ is the elapsed time in hours, and $K$ is an empirical constant. \n", + "\n", + "Suppose the temperature of the corpse is 85$^o$F at 11:00 am. Then, 2 hours later the temperature is 74$^{o}$F. \n", + "\n", + "Assume ambient temperature is a constant 65$^{o}$F.\n", + "\n", + "1. Use Python to calculate $K$ using a finite difference approximation, $\\frac{dT}{dt} \\approx \\frac{T(t+\\Delta t)-T(t)}{\\Delta t}$. " + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.6111111111111112\n" + ] + } + ], + "source": [ + "T1 = 85 \n", + "T2 = 74\n", + "T_a = 65\n", + "t1 = 0\n", + "t2 = 2\n", + "\n", + "x = ((T2-T1)/(t2-t1))\n", + "\n", + "K = -(x)/(T2-T_a)\n", + "\n", + "print(K)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2. Change your work from problem 1 to create a function that accepts the temperature at two times, ambient temperature, and the time elapsed to return $K$. " + ] + }, + { + "cell_type": "code", + "execution_count": 131, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.6111111111111112\n" + ] + } + ], + "source": [ + "def measure_K(Temp_t1,Temp_t2,Temp_ambient,delta_t):\n", + " x = ((Temp_t2-Temp_t1)/delta_t)\n", + " K = -(x)/(Temp_t2-Temp_ambient)\n", + " print(K)\n", + "\n", + "measure_K(85,74,65,2)" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "' Determine the value of K based upon temperature of corpse \\n when discovered, Temp_t1\\n after time, delta_t, Temp_t2\\n with ambient temperature, Temp_ambient\\n Arguments\\n ---------\\n your inputs...\\n \\n Returns\\n -------\\n your outputs...\\n \\n '" + ] + }, + "execution_count": 132, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " ''' Determine the value of K based upon temperature of corpse \n", + " when discovered, Temp_t1\n", + " after time, delta_t, Temp_t2\n", + " with ambient temperature, Temp_ambient\n", + " Arguments\n", + " ---------\n", + " your inputs...\n", + " \n", + " Returns\n", + " -------\n", + " your outputs...\n", + " \n", + " '''\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3. A first-order thermal system has the following analytical solution, \n", + "\n", + " $T(t) =T_a+(T(0)-T_a)e^{-Kt}$\n", + "\n", + " where $T(0)$ is the temperature of the corpse at t=0 hours i.e. at the time of discovery and $T_a$ is a constant ambient temperature. \n", + "\n", + " a. Show that an Euler integration converges to the analytical solution as the time step is decreased. Use the constant $K$ derived above and the initial temperature, T(0) = 85$^o$F. \n", + "\n", + " b. What is the final temperature as t$\\rightarrow\\infty$?\n", + " \n", + " c. At what time was the corpse 98.6$^{o}$F? i.e. what was the time of death?" + ] + }, + { + "cell_type": "code", + "execution_count": 180, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Current temp numerical [85. 78.56725146 74.20351561 71.24332053 69.23523498 67.8730249\n", + " 66.94895256 66.32209648 65.89686077 65.60839678 65.4127136 65.27996946\n", + " 65.1899208 65.12883517 65.08739695 65.05928682 65.04021796 65.02728236\n", + " 65.01850733 65.01255468]\n", + "Current temp analytical [85. 79.49921988 75.51136886 72.62033242 70.52444376 69.00500624\n", + " 67.90347331 67.10490489 66.52597394 66.10627159 65.80200375 65.58142144\n", + " 65.42150786 65.30557676 65.22153123 65.1606015 65.11642982 65.08440708\n", + " 65.06119184 65.0443617 ]\n" + ] + }, + { + "data": { + "text/plain": [ + "'Final temperature as T aproaches infinite is 65 degrees fahrenheit'" + ] + }, + "execution_count": 180, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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H//4RwYOHMjixYsREZ577jkefvhh/v73w3OXxcXFMWTIEGbPns3YsWN58803GT9+PBdffDFPPvkkjz76KOnpR3Y+3rVrF9dffz1ffvklqamp7NmzB4COHTvy5ZdfEh4ezqeffspdd93ld1yo2sZ+8/nQv21TYlx92FU0j6+3fs2Zp5wZ6pCMMZV4/PHHmTXLM9jm1q1by4bRLq3n7927N/PmeaYWzszMZMKECWRnZ1NUVERq6rEjOF933XU8/PDDjB07lhdffJFnn322wusvXryYM888s+xciYmJgGdI76uuuor169cjImVPJXWBJQgfTkp0ktqoHznF4Xz000eWIIwJUCB/6QfDggUL+PTTT/nmm2+IiYlhyJAhFBQUEBERUTYMdumQ2QCTJ0/m1ltvZcyYMSxYsID777//mHMOGDCALVu28MUXX+ByuSqdV1pVfQ65fc899zB06FBmzZrFli1bfM5qV1tZG4QPIsKAU08ilm7MXj871OEYYyqxf/9+EhISiImJYe3atSxevLjS41NSPCPIvvzyy36Pu/LKK7nsssu45ppryrb5G5q7f//+fPHFF2zevBmgrIqp/LWOnh+itgtqghCRW0RktYj8ICJviEi0iDwiImtFZKWIzBKReD9lt4jIKhFZISLHN0TrCejXNonwonR+3PUjm/durunLG2OqYPTo0WXDZt9zzz3069evwuPvv/9+Lr74YgYNGkTTpk39Hnf55Zezd+/eI+aVvvrqq5k0aVJZI3WpZs2aMX36dMaNG0ePHj3Kpjy94447mDp1KgMGDPA7TWltFbThvkUkBVgIdFbVfBF5G88McVnAZ95pRR8CUNU7fZTfAqSrasCdEU5kuO+jbd1ziH6PvEZW9ESeOPsJbjy94nejjWmo6vNw3zNmzOD9998vm1O6rqttw32HA04RCQdigCxV/URVS7z7FwOtgxzDcTkpMYY2TdrRJOJkq2YypgGaPHkyU6ZM4Z577gl1KCETtAShqtuAR4FfgGxgv6p+ctRh1wL/83cK4BMRWSoiE/1dR0QmikiGiGTs2rWrOkIv069tEpHF6Xy++XMOFh2s1nMbY2q3J554gg0bNnDaaaeFOpSQCVqCEJEE4AIgFUgGYkXkinL77wZKgNf8nGKAqvYCzgZ+JyI+XyVS1emqmq6q6c2aNavWe+jfLgkp7E2hq5D5m20S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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "'''A'''\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "import numpy as np\n", + "time_passed=10\n", + "N=20\n", + "t=np.linspace(0,time_passed,N)\n", + "dt=t[1]-t[0]\n", + "Temp_t1 = 85 \n", + "Temp_t2 = 74\n", + "Temp_ambient = 65\n", + "delta_t=2\n", + "x = ((Temp_t2-Temp_t1)/delta_t)\n", + "K = -(x)/(Temp_t2-Temp_ambient)\n", + "\n", + "T_numerical=np.zeros(len(t))\n", + "T_numerical[0]=Temp_t1\n", + "\n", + "for i in range(1,len(t)):\n", + " T_numerical[i]=T_numerical[i-1]+(-K*(T_numerical[i-1]-Temp_ambient)*dt)\n", + " \n", + "print('Current temp numerical',T_numerical)\n", + "\n", + "T_analytical=np.zeros(len(t))\n", + "T_analytical=Temp_ambient+(np.exp(-K*(t))*(Temp_t1-Temp_ambient))\n", + "T_analytical[0]=Temp_t1\n", + "print('Current temp analytical',T_analytical)\n", + "\n", + "plt.plot(t,T_numerical,'o-',label='Eulers Method')\n", + "plt.plot(t,T_analytical,'g-',label='analytical')\n", + "plt.legend()\n", + "plt.xlabel('time in hours')\n", + "plt.ylabel('temperature in Fahrenheit')\n", + "\n", + "'''B'''\n", + "'''Final temperature as T aproaches infinite is 65 degrees fahrenheit'''" + ] + }, + { + "cell_type": "code", + "execution_count": 182, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 85. 85.65373173 86.32883171 87.02599841 87.74595311\n", + " 88.48944067 89.2572303 90.05011635 90.86891914 91.7144858\n", + " 92.58769115 93.4894386 94.42066109 95.38232207 96.37541647\n", + " 97.40097173 98.46004889 99.55374366 100.68318759 101.84954918]\n" + ] + }, + { + "data": { + "text/plain": [ + "'Becomes 98.6 degrees fahrenheight at roughly 0.84 hours before the initial time'" + ] + }, + "execution_count": 182, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "time_passed=1\n", + "N=20\n", + "r=np.linspace(0,time_passed,N)\n", + "\n", + "'''C'''\n", + "T_a1=Temp_ambient+(np.exp(K*(r))*(Temp_t1-Temp_ambient))\n", + "print(T_a1)\n", + "\n", + "plt.plot(r,T_a1,'o-',label='Reverse')\n", + "plt.legend()\n", + "plt.xlabel('time in hours before 11 AM')\n", + "plt.ylabel('temperature in Fahrenheit')\n", + "'''Becomes 98.6 degrees fahrenheight at roughly 0.84 hours before the initial time'''" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#D_h1 = 1\n", + "#t_1=[]\n", + "#for j in range(0,2,D_h1):\n", + "# t_1.append(j)\n", + "#print(t_1)\n", + "\n", + "#T_1=[85]\n", + "#i1 = 0\n", + "#for i1 in t_1:\n", + "# T_i = T_1[-1] + (-K*(T_1[-1]-T_a))*(D_h1)\n", + "# T_1.append(T_i)\n", + "# i1=i1+1\n", + "#T_1.pop(len(T_1)-1)\n", + "#print(T_1)\n", + "#\n", + "#plt.plot(t_1,T_1,'o-',label='Eulers Method')\n", + "#plt.plot(,,'g-',label='analytical')\n", + "#plt.legend()\n", + "#plt.xlabel('time')\n", + "#plt.ylabel('temperature')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "4. Now that we have a working numerical model, we can look at the results if the\n", + "ambient temperature is not constant i.e. T_a=f(t). We can use the weather to improve our estimate for time of death. Consider the following Temperature for the day in question. \n", + "\n", + " |time| Temp ($^o$F)|\n", + " |---|---|\n", + " |8am|55|\n", + " |9am|58|\n", + " |10am|60|\n", + " |11am|65|\n", + " |noon|66|\n", + " |1pm|67|\n", + "\n", + " a. Create a function that returns the current temperature based upon the time (0 hours=11am, 65$^{o}$F) \n", + " *Plot the function $T_a$ vs time. Does it look correct? Is there a better way to get $T_a(t)$?\n", + "\n", + " b. Modify the Euler approximation solution to account for changes in temperature at each hour. \n", + " Compare the new nonlinear Euler approximation to the linear analytical model. \n", + " At what time was the corpse 98.6$^{o}$F? i.e. what was the time of death? \n", + " \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 200, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "At 2 hours before/after 11 AM the ambient temperature is 67\n" + ] + }, + { + "data": { + "text/plain": [ + "'The graph is correct based on the provided values. However if more data points were used through consistant analytical like data the graph would be more accurate. This is compared to the current graph using only 6 points of time'" + ] + }, + "execution_count": 200, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "'''A'''\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "import numpy as np\n", + "\n", + "T_n=np.array([55,58,60,65,66,67])\n", + "t=np.array([-3,-2,-1,0,1,2])\n", + "T_nVSt=([55,-3],[58,-2],[60,-1],[65,0],[66,1],[67,2])\n", + "\n", + "def T_a(t):\n", + " for pair in T_nVSt:\n", + " if (pair[1]==t):\n", + " print('At',t,'hours before/after 11 AM the ambient temperature is',pair[0])\n", + " return pair[0]\n", + "T_a(2)\n", + "\n", + "plt.plot(t,T_n,)\n", + "plt.title('Ambient temperature vs time')\n", + "plt.xlabel('time before and after 11 AM')\n", + "plt.ylabel('ambient temperature in fahrenheit')\n", + "\n", + "'''The graph is correct based on the provided values. However if more data points were used through consistant analytical like data the graph would be more accurate. This is compared to the current graph using only 6 points of time'''" + ] + }, + { + "cell_type": "code", + "execution_count": 214, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Current numerical temperature [ 85. -32.94444444 -97.8117284 -123.03789438 -132.84807004\n", + " -136.66313835 -138.14677602 -138.72374623 -138.94812353 -139.03538137\n", + " -139.06931498 -139.08251138 -139.08764331 -139.08963907 -139.09041519\n", + " -139.09071702 -139.0908344 -139.09088004 -139.09089779 -139.0909047\n", + " -139.09090738]\n", + "Current analytical temperature [85. 76.76945466 72.30234691 69.87783543 68.56193793 67.84773788\n", + " 67.4601076 67.24972224 67.13553612 67.07356189 67.03992553 67.02166948\n", + " 67.01176106 67.00638328 67.00346451 67.00188035 67.00102056 67.00055391\n", + " 67.00030063 67.00016317 67.00008856]\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Temperature in Fahrenheit')" + ] + }, + "execution_count": 214, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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VZWnn36akSNHFnn85cH6wgKSmrUiQhuw8tefKzoUU8l468l8lUU9Wb169Rg8eDDXXnvtSZXnBw4coGnTpkRHRzN//nx++SVwT9tnnnkm27dv56233gq5Ah6gc+fObN68ueA/7XfffdfvegcOHKBFixZERETw+uuvB60UDuT9998nPz+fTZs2sXnz5lMyipEjR/L0008XZGrLli0rcpvR0dHk5OQUuWzYsGF88MEH7N69G4B9+/YFPZ/+zJ07l3379pGVlcW0adM4++yzQ96uNyNo0qQJhw8fPqlFWv369Tl06FDBdNu2bVm6dCkAH374YcB4Ro4cyXPPPVdwjOvXr+fIkSPFOqayZBkI0DLWQ3R+a9bvW1PRoZhKJrVHAo9c3JWEWA+Cc+fxyMVdy+RB0/Hjx7NixQrGjRtXMO/yyy9nyZIl9O7dmzfffJPOnTsH3cZll13G2WefTaNG/lrD++fxeHj22WcZNWoUAwYMoFmzZgVFRb5uuukmXn31Vfr168f69etPuQMKRWJiIoMGDeK8887j+eefP+kuBuC+++4jJyeHbt26kZyczH333VfkNidMmEC3bt1OqUQvvCwpKYm//vWvjBgxgm7dujF8+HB27txZrPgHDBjA73//e1JSUvjNb35D7969Q95ubGws119/PV27diU1NbWgyAucJs433nhjQSX6Aw88wC233MLAgQML7mD8ue6660hKSqJnz54kJydzww03VGjrrGo1Jnrv3r21JANK5ecrp02+gOxaX5J1z0F7SrmaW7NmDWeccUZFh1Emzj//fG677TaGDRtWrHSHDx+mXr16qCp//OMf6dix40mtuozTCmvJkiU888wzFR1KmfF37YvIUlXtXZLt2R0IEBEhxMWczrG8w+w4uKOiwzGmSJmZmXTq1AmPx1PszAOcZr8pKSl06dKFAwcOcMMNN4QhSlPdWW+8rjYNEtm4F1ZlrKJVw9BbehhTEWJjY09qFVVct912m91xFOHqq6/m6quvrugwKjW7A3ElNk4CYNXusLQWNsaYascyENfpTVoQobH8tMtaYhljTCgsA3ElxHqold+aFZaBGGNMSCwDcSU08hCtbVi3dw35WrqnjI0xpiawDMQV7z4LkpV7hG0HthWdwJhS+PXXXxk3bhwdOnQgKSmJ0aNHl6pSvLBp06axenXJx1/bunUrb731VpnF42vy5MkFXZf4Sk9P55JLLinxdqdMmcLRo0eLvawyKe3nVt4sA3G1aBhDtLYGrCLdhJeqctFFFzF48GA2bdrE6tWr+dvf/lbQ51VZqMwZSCDx8fF+xw8JVVXJQII90V+Sz60iHyS0DMQVEx1Jc09HwGnKa0y4zJ8/n+joaG688caCeSkpKQwcOBBV5c477yQ5OZmuXbsWdDMSrGv2SZMmkZSURLdu3bjjjjv49ttvmTFjBnfeeScpKSls2rSJF198kT59+tC9e3d+85vfFPyYXn311UycOJGzzjqL9u3bF/yAT5o0ia+//pqUlBSefPLJk+IP1uV8586due6660hOTubyyy/n888/5+yzz6Zjx44sWrSoYBsrVqxg6NChdOzYkRdffLEgfXJyMkDAbssDnYennnqK9PR0hgwZwpAhQ06K19+yOXPm0L9/f3r27Mmll17K4cOHAadLkb/85S/079+f3r178+OPPzJy5Eg6dOjA888/XxDDOeecw0UXXURSUhI33nhjQT9Wwbb70EMPMWDAAN5//32/n4e/z23w4MF4H47es2cPbdu2BZyHHC+99FIuuOCCgo4sH3vssYLz9cADhbsgDJOSduNbGV8l6c7d14XPLFTPQ3F65cdXlmo7pnLz7dL6lv/eooNeGVSmr1v+e0vQ/f/zn//UW2+91e+yDz74QM8991zNzc3VX3/9VVu1aqXp6ekBu2bfu3evdurUSfPz81XV6RJd1elK/f333y/Y7p49ewre33PPPfrUU08VrHfJJZdoXl6erlq1Sjt06KCqelKX64UF63I+MjJSV65cqXl5edqzZ0+95pprND8/X6dNm6Zjx45VVaeL8m7duunRo0c1IyNDW7ZsqWlpabplyxbt0qWLqgbutjzQeVA9uUv0wnyXZWRk6MCBA/Xw4cOqqvroo4/qgw8+WLDes88+q6qqt956q3bt2lUPHjyou3fv1ri4uIJzU7t2bd20aZPm5ubqueeeq++//36R2/373/8e0ufh+7n5dvuekZGhbdq0UVWnq/mEhISC7uJnz56t119/vebn52teXp6OGTNGv/zyy1POQ5Xpzr0qahnrIWZfGyvCMhVm4cKFjB8/nsjISJo1a8agQYNYvHgxDRo08Ns1e79+/YiJieG6665jzJgxfgeGAvj555+59957yczM5PDhwyf15pqamkpERARJSUkhFaNpkC7n27VrV9CtfJcuXRg2bBgicko36WPHjsXj8eDxeBgyZAiLFi0iJSWlYHmgbstr1arl9zwMGDAg5HP8/fffs3r1as4++2wAjh8/Tv/+J3pWvvDCCwGnm/fDhw9Tv3596tevT0xMDJmZmYDTTX779u0Bp0+zhQsXEhMTE3S7v/3tbwveB/s8QjV8+HBOO+00wDlfc+bMoUePHoBzl7hhwwbOOeecYm+3OCwD8REfG4PmtGTNnjnkaz4RYiV81d2UUVPKfZ9dunQJWNavQfqm89e9eVRUFIsWLWLevHm88847PPPMM3zxxRenpL366quZNm0a3bt3Z+rUqSxYsMDvdoPt3ytYl/Nl2c27v27LFyxYUCbdvA8fPpy3337b73LfmAsfj3dfgbp5D7Zd384og30evorTzfvdd99d7l3S2C+kj4RYDxF5rTiac5StmVsrOhxTTQ0dOpRjx44VlP0DLF68mC+//JJzzjmHd999l7y8PDIyMvjqq6/o29ffqM+Ow4cPc+DAAUaPHs2UKVNYvnw5cGp34YcOHaJFixbk5OTw5ptvFhlj4fS+itPlfCDTp08nOzubvXv3smDBgpN6qoWSdVseLGbfZf369eObb75h48aNABw9erTYLeAWLVrEli1byM/P591332XAgAHF2m6gzyNYN+/BGhiMHDmSl19+uaDOJS0traC7+XCyDMRHfKyHWtYSy4SZiPDxxx8zd+5cOnToQJcuXZg8eTLx8fFcdNFFdOvWje7duzN06FD+8Y9/0Lx584DbOnToEOeffz7dunVj0KBBBRXe48aN47HHHqNHjx5s2rSJhx9+mDPPPJPhw4cX2UU8QLdu3YiKiqJ79+6nVKIXt8t5f/r27cuYMWPo168f9913H/Hx8SctL0m35RMmTOC88847pRK98LK4uDimTp3K+PHj6datG/369TtlpMSi9O/fn0mTJpGcnEy7du246KKLirXdQJ9H4c/tjjvu4LnnnuOss84qGDPdnxEjRvC73/2O/v3707VrVy655JKAmWlZsu7cfaxKP8B5T81mu+e3PDLsESYNmFSG0ZnKojp1527K34IFC3j88ceZOXNmRYdSbNadexglxHqIoC6Najfn593WpYkxxgQT1kp0EbkNuA5Q4CfgGuBh4ALgOLAJuEZVM/2k3QocAvKA3JLmkMXR0BNN3VqR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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "'''B'''\n", + "T_a=65\n", + "T1=85\n", + "T2=74\n", + "delta_t=2\n", + "x = ((Temp_t2-Temp_t1)/delta_t)\n", + "K = -(x)/(Temp_t2-Temp_ambient)\n", + "t=np.linspace(0,20,21)\n", + "T_numerical=np.zeros(len(t));\n", + "for i in range(0,len(t)):\n", + " if i<1:\n", + " T_a=65\n", + " T_numerical[0]=T1\n", + " T_numerical[i]=T_numerical[i-1]+(-K*((T_numerical[i-1])-T_a))\n", + " if i<2:\n", + " T_a=66\n", + " T_numerical[0]=T1\n", + " T_numerical[i]=T_numerical[i-1]+(-K*((T_numerical[i-1])-T_a))\n", + " else:\n", + " T_a=67\n", + " T_numerical[0]=T1\n", + " T_numerical[i]=T_numerical[i-1]+(-K*((T_numerical[i-1])-T_a))\n", + "print('Current numerical temperature',Temp_numerical)\n", + "\n", + "T_analytical=np.zeros(len(t))\n", + "T_analytical=T_a+(np.exp(-K*(t))*(T1-T_a))\n", + "T_analytical[0]=T1\n", + "print('Current analytical temperature',T_analytical)\n", + "\n", + "plt.plot(t,T_numerical,'o-',label='Varying ambient temperature')\n", + "plt.plot(t,T_analytical,'g-',label='Constant ambient temperature')\n", + "plt.title('Ambient temperature relative to time the body was found')\n", + "plt.legend()\n", + "plt.xlabel('Hours since the body was found')\n", + "plt.ylabel('Temperature in Fahrenheit')" + ] + }, + { + "cell_type": "code", + "execution_count": 199, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Time of death was 10.289202170104861 hours into the day: around 10:18 AM\n", + "First off its important to note that the T_a(ambient) value does not vary. The ambient temperature was at a value of 60 over the time period between 10-11 AM which is inclusive and the ambient temperature is 60 over the time period\n" + ] + } + ], + "source": [ + "Ts=98.6\n", + "T1=85\n", + "T2=74\n", + "T_a=60\n", + "time=np.log((Ts-T_a)/(T1-T_a))/(-K)\n", + "time_found=11\n", + "time_of_death=time_found+time\n", + "print('Time of death was', time_of_death, 'hours into the day: around 10:18 AM')\n", + "print('First off its important to note that the T_a(ambient) value does not vary. The ambient temperature was at a value of 60 over the time period between 10-11 AM which is inclusive and the ambient temperature is 60 over the time period')" + ] + } + ], + "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 +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..160545a --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Comp-Mech-Project1