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": [
"# 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": 169,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.6111111111111112\n"
]
}
],
"source": [
"import numpy as np\n",
"\n",
"t=np.linspace(0,120,120)\n",
"dt = 2\n",
"\n",
"T1 = 85\n",
"T2 = 74 \n",
"Ta = 65\n",
"\n",
"dT = T2-T1\n",
"\n",
"K = -(dT/dt)/(T2-Ta)\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$. \n"
]
},
{
"cell_type": "code",
"execution_count": 170,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.6111111111111112\n"
]
}
],
"source": [
"def measure_K(Temp_t1,Temp_t2,Temp_ambient,delta_t):\n",
" import numpy as np\n",
"\n",
"t=np.linspace(0,120,120)\n",
"delta_t = 2\n",
"\n",
"Temp_1 = 85\n",
"Temp_2 = 74 \n",
"T_ambient = 65\n",
"\n",
"dT = T2-T1\n",
"\n",
"\n",
"\n",
"K = -(dT/delta_t)/(Temp_2-T_ambient)\n",
"print(K)"
]
},
{
"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": 171,
"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": [
"import numpy as np\n",
"import math\n",
"import matplotlib.pyplot as plt\n",
"t=np.linspace(0,10,400)\n",
"T_0 = 98.6\n",
"\n",
"T_analy = Ta + (T_0 - Ta)*np.exp(-K*t)\n",
"plt.plot(t, T_analy)\n",
"\n",
"dt = 2\n",
"T_num = np.zeros(len(t))\n",
"\n",
"T_num[0] = 85\n"
]
},
{
"cell_type": "code",
"execution_count": 172,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"84.96098776232222\n",
"The initial temperature T at time = 0s is 98.6 degrees for the temperature the get to 85 degrees it took 34 mins. The time of death will be 34 mins since the corpse was found at 85 degrees 34 mins\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": [
"for i in range(1, len(t)):\n",
" T_num[i] = (-K*(T_num[i-1])-Ta*dt) +T_num[i-1]\n",
"plt.plot(t, T_num, 'o')\n",
"A = T_analy[34]\n",
"print(A)\n",
"\n",
"print('The initial temperature T at time = 0s is 98.6 degrees for the temperature the get to 85 degrees it took 34 mins. The time of death will be 34 mins since the corpse was found at 85 degrees 34 mins')\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 173,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"at time goes to infinity the temperature will go to ambient temperature 65 degrees\n"
]
}
],
"source": [
"print('at time goes to infinity the temperature will go to ambient temperature 65 degrees')"
]
},
{
"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": 174,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f611c7988d0>]"
]
},
"execution_count": 174,
"metadata": {},
"output_type": "execute_result"
},
{
"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",
"def time_to_temp(time):\n",
" \n",
" times = np.array([-3, -2, -1, 0, 1, 2])\n",
" temps = np.array([55, 58, 60, 65, 66, 67])\n",
" \n",
" if time < times[0] or time> times[-1]:\n",
" raise ValueError('time_temp({}) error: {} is not valid must be within the range of [-3,2]'.format(time,time))\n",
" else: \n",
" for i in range (len(times)):\n",
" if times[i] >= time:\n",
" x_1, x_2 = times[i-1], times[i]\n",
" y_1, y_2 = temps[i-1], temps[i]\n",
" return y_1 + (time - x_1)*(y_2 - y_1)/(x_2-x_1)\n",
" \n",
"times = range(-3,3)\n",
"temps = [time_to_temp(time) for time in time]\n",
"plt.plot(time,temp)\n"
]
},
{
"cell_type": "code",
"execution_count": 176,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"48 mins is the time the corpse 98.6F was found which means 48 mins before 11:00AM Which will be 10:12AM\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",
"\n",
"for i in range(len(t)):\n",
" TA.append(time_to_temp(t[i]))\n",
"T_num2 = np.zeros(len(t))\n",
"T_num2[0] = 85\n",
"\n",
"Ta = 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]-Ta[i-1])*dt)+T_num2[i-1]\n",
" \n",
"plt.plot(t,T_num2)\n",
"T_num2[48]\n",
"print('48 mins is the time the corpse 98.6F was found which means 48 mins before 11:00AM Which will be 10:12AM')"
]
}
],
"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
}