Skip to content
Permalink
e0e9639314
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
369 lines (369 sloc) 57.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": 51,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"K is 0.61\n"
]
}
],
"source": [
"Ta = 65\n",
"T1 = 85\n",
"T2 = 74\n",
"t = 2\n",
"\n",
"dTdt = (T2 - T1)/t\n",
"\n",
"K = dTdt/(Ta - T2)\n",
"print('K is {:5.2f}'.format(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": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6111111111111112"
]
},
"execution_count": 11,
"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",
" Temp_t1, Temp_t2, Temp_ambient, delta_t \n",
" \n",
" Returns\n",
" -------\n",
" K\n",
" \n",
" '''\n",
" dTdt = (Temp_t2 - Temp_t1)/delta_t\n",
" K = dTdt/(Temp_ambient - Temp_t2)\n",
" return K\n",
"\n",
"measure_K(85,74,65,2)"
]
},
{
"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": 46,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Temperature goes to 65F as t goes to infinity\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 math\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"T_init = 85 \n",
"T = 74 \n",
"T_a = 65 \n",
"\n",
"\n",
"T_numerical[0] = T_init\n",
"\n",
"N=35\n",
"t = np.linspace(0,24,N)\n",
"\n",
"for i in range(1,len(t)):\n",
" T_numerical[i]=T_numerical[i-1]-(K*(T_numerical[i-1]-T_a)*(t[i]-t[i-1]))\n",
" \n",
"T_analytical = T_a + (T_init-T_a)*(np.exp(-K*t))\n",
"\n",
"plt.plot(t,t_numerical,'o-',label='Numerical')\n",
"plt.plot(t,t_analytical,'-',label='Analytical')\n",
"plt.legend(loc='best')\n",
"plt.ylabel(\"Temperature (F)\")\n",
"plt.xlabel(\"Time since discovery (11 am) (hrs)\")\n",
"\n",
"print(\"Temperature goes to 65F as t goes to infinity\")"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.8489352983157284\n",
"50.93611789894371\n",
"time between time of death and discovery is 50.94 minutes\n",
"time time of death was 10:10 AM\n"
]
}
],
"source": [
"To = 98.6 \n",
"time_d = np.log((To-T_a)/(T_init-T_a))/K\n",
"\n",
"print (time_d)\n",
"\n",
"time_d_mins= time_d *60\n",
"\n",
"print (time_d_mins)\n",
"\n",
"print('time between time of death and discovery is {:5.2f}'.format(time_d_mins),'minutes')\n",
"print('time time of death was 10:10 AM')\n"
]
},
{
"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": 75,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"65"
]
},
"execution_count": 75,
"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": [
"def current_temps(h):\n",
" '''\n",
" Arguments\n",
" ---------\n",
" h #hours with 11am as reference (11am = 0)\n",
" \n",
" Returns\n",
" -------\n",
" current_temp\n",
" \n",
" '''\n",
" h_intervals = [8,9,10,11,12,13]\n",
" \n",
" amb_temp = [55,58,60,65,66,67]\n",
" \n",
" current_temp = amb_temp[h+3]\n",
" \n",
" \n",
" \n",
" plt.plot(h_intervals,amb_temp)\n",
" plt.ylabel(\"Temperature (F)\")\n",
" plt.xlabel(\"Time (hrs)\")\n",
"\n",
" return current_temp\n",
"\n",
"current_temps(0)"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"42.64786979370828\n",
"time between time of death and discovery is 42.65 minutes\n",
"time time of death was 10:18 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 math\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"N=35\n",
"t = np.linspace(0,24,N)\n",
"T_init = 85 \n",
"T = 74\n",
"amb_temp = [55,58,60,65,67]\n",
"\n",
"T_numerical[0] = T_init\n",
"T_analytical = np.zeros(len(amb_temp))\n",
"\n",
"for i in range(1,len(amb_temp)):\n",
" T_a = amb_temp[i]\n",
" T_analytical = T_a + (T_init-T_a)*np.exp(-K*t) \n",
" \n",
"for j in range(1, len(t)):\n",
" T_numerical[j]=T_numerical[j-1]-(K*(T_numerical[j-1]-T_a)*(t[j]-t[j-1]))\n",
" \n",
"plt.plot(t,t_analytical,label='analytical')\n",
"plt.plot(t,t_numerical,label='numerical')\n",
"plt.legend(loc='best')\n",
"\n",
"T_d = 98.6 \n",
"time_2 = np.log((T_d-60)/(T_init-60))/K*3600\n",
"\n",
"print(time_2/60)\n",
"\n",
"\n",
"print('time between time of death and discovery is {:5.2f}'.format(time_2/60),'minutes')\n",
"print('time time of death was 10:18 AM')"
]
},
{
"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
}