Skip to content
Permalink
1f1fdbcf81
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
355 lines (355 sloc) 47.7 KB
{
"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": 186,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.010185185185185186\n"
]
},
{
"data": {
"text/plain": [
"array([85. , 84.7962963 , 84.59466735, 84.39509204, 84.19754943,\n",
" 84.00201884, 83.80847976, 83.61691191, 83.42729521, 83.2396098 ,\n",
" 83.05383599, 82.86995433, 82.68794554, 82.50779054, 82.32947045,\n",
" 82.15296658, 81.97826044, 81.80533371, 81.63416828, 81.46474619,\n",
" 81.2970497 , 81.13106124, 80.96676339, 80.80413895, 80.64317087,\n",
" 80.48384227, 80.32613647, 80.17003693, 80.0155273 , 79.86259137,\n",
" 79.71121313, 79.5613767 , 79.41306638, 79.26626663, 79.12096206,\n",
" 78.97713745, 78.83477771, 78.69386794, 78.55439336, 78.41633935,\n",
" 78.27969145, 78.14443534, 78.01055683, 77.8780419 , 77.74687666,\n",
" 77.61704736, 77.48854039, 77.3613423 , 77.23543974, 77.11081952,\n",
" 76.98746858, 76.86537399, 76.74452296, 76.62490282, 76.50650103,\n",
" 76.38930519, 76.273303 , 76.15848232, 76.04483112, 75.93233746,\n",
" 75.82098958, 75.7107758 , 75.60168457, 75.49370445, 75.38682412,\n",
" 75.28103239, 75.17631818, 75.07267049, 74.97007848, 74.86853138,\n",
" 74.76801856, 74.66852948, 74.57005372, 74.47258095, 74.37610096,\n",
" 74.28060364, 74.18607897, 74.09251705, 73.99990808, 73.90824235,\n",
" 73.81751025, 73.72770228, 73.63880902, 73.55082115, 73.46372945,\n",
" 73.3775248 , 73.29219816, 73.20774058, 73.12414322, 73.04139732,\n",
" 72.9594942 , 72.87842528, 72.79818206, 72.71875613, 72.64013917,\n",
" 72.56232294, 72.48529928, 72.40906012, 72.33359747, 72.25890342,\n",
" 72.18497014, 72.11178989, 72.039355 , 71.96765786, 71.89669098,\n",
" 71.8264469 , 71.75691828, 71.68809781, 71.6199783 , 71.55255259,\n",
" 71.48581363, 71.41975442, 71.35436803, 71.28964761, 71.22558639,\n",
" 71.16217764, 71.09941472, 71.03729105, 70.97580012, 70.91493549])"
]
},
"execution_count": 186,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"T_1 = 85\n",
"T_2 = 74\n",
"T_a = 65\n",
"t = np.linspace(0, 120, 120)\n",
"dt = 120\n",
"T_num = np.zeros(len(t));\n",
"T_num[0] = 85\n",
"T_num[119] = 74\n",
"K = np.zeros(len(t))\n",
"for i in range(1, len(t)):\n",
" K = -1*(T_num[119]-T_num[0])/(dt*(T_num[119]-T_a))\n",
"print(K)\n",
"dt = 1\n",
"for i in range(1, len(t)):\n",
" T_num[i] = (-1*K*(T_num[i-1]-T_a)*dt)+T_num[i-1]\n",
"T_num"
]
},
{
"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": 187,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.010185185185185186"
]
},
"execution_count": 187,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def measure_K(Temp_t1,Temp_t2,Temp_ambient,delta_t):\n",
" '''' 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",
" K = -1*(Temp_t2 - Temp_t1)/(delta_t*(Temp_t2-Temp_ambient))\n",
"\n",
" \n",
" ''''your outputs...'''\n",
" return K\n",
" \n",
"measure_K(85,74,65,120)"
]
},
{
"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": 189,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"84.96532836393422\n",
"As t approaches infinity, T approaches the ambient temperature of 65 degF.\n",
"\n",
"51 minutes after the initial temperature is 98.6 degrees, the temperature decreases to 84.97 degrees, meaning that the time of death was 51 minutes prior to the corpse being found at 85 degrees at 11:00 AM, so 10:09 AM\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": [
"import numpy as np\n",
"import math\n",
"import matplotlib.pyplot as plt\n",
"t = np.linspace(0, 480, 480)\n",
"T_0 = 98.6\n",
"T_anal = T_a + (T_0 - T_a)*np.exp(-1*K*t)\n",
"plt.plot(t, T_anal)\n",
"\n",
"T_anal1 = T_a + (T_1 - T_a)*np.exp(-1*K*t)\n",
"plt.plot(t, T_anal1)\n",
"\n",
"t = np.linspace(0, 480, 10)\n",
"dt = 48\n",
"T_num = np.zeros(len(t))\n",
"T_num[0] = 85\n",
"for i in range(1, len(t)):\n",
" T_num[i] = (-1*K*(T_num[i-1]-T_a)*dt)+T_num[i-1]\n",
"plt.plot(t, T_num, 'o')\n",
"d = T_anal[51]\n",
"t = np.linspace(0, 480, 480)\n",
"dt = 1\n",
"T_num1 = np.zeros(len(t))\n",
"T_num1[0] = 98.6\n",
"\n",
"for i in range(1, len(t)):\n",
" T_num1[i] = (-1*K*(T_num1[i-1]-T_a)*dt)+T_num1[i-1]\n",
"plt.plot(t,T_num1, '--')\n",
"print(d)\n",
"print('As t approaches infinity, T approaches the ambient temperature of 65 degF.')\n",
"print('')\n",
"print('51 minutes after the initial temperature is 98.6 degrees, the temperature decreases to 84.97 degrees, meaning that the time of death was 51 minutes prior to the corpse being found at 85 degrees at 11:00 AM, so 10:09 AM')"
]
},
{
"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": 178,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"This plot T vs time looks correct because the data represents a constant T per hour so there should be only horizontal lines over the course of each hour.\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": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"def Temp(t):\n",
" if t>=-3 and t<-2:\n",
" T = 55\n",
" elif t>=-2 and t<-1:\n",
" T = 58\n",
" elif t>=-1 and t<0:\n",
" T = 60\n",
" elif t>=0 and t<1:\n",
" T = 65\n",
" elif t>=1 and t<2:\n",
" T = 66\n",
" elif t>=2 and t<3:\n",
" T = 67\n",
" else:\n",
" T = 0\n",
" return T\n",
"TA = []\n",
"t = np.linspace(-3, 3, 100)\n",
"for i in range(len(t)):\n",
" TA.append(Temp(t[i]))\n",
"plt.plot(t,TA)\n",
"print('This plot T vs time looks correct because the data represents a constant T per hour so there should be only horizontal lines over the course of each hour.')\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 211,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"When the change in ambient temperature is inputted into the original Euler function, the new time it takes to reach 98.6 degF is 43 minutes prior to 11:00 AM which is 10:17 AM.\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": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"TA = []\n",
"t = np.linspace(0, -3, 180)\n",
"for i in range(len(t)):\n",
" TA.append(Temp(t[i]))\n",
"T_num2 = np.zeros(len(t))\n",
"T_num2[0] = 85\n",
"K=measure_K(T_1, T_2, 65, 2)\n",
"T_a = TA\n",
"t = np.linspace(0, -3, 180)\n",
"dt = 3/180\n",
"for i in range(1, len(t)):\n",
" T_num2[i] = (K*(T_num2[i-1]-T_a[i-1])*dt)+T_num2[i-1]\n",
"plt.plot(t, T_num2)\n",
"T_num2[43]\n",
"print('When the change in ambient temperature is inputted into the original Euler function, the new time it takes to reach 98.6 degF is 43 minutes prior to 11:00 AM which is 10:17 AM.')"
]
}
],
"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
}