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": 296,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"K, the empirical constant, is 0.6111 \n"
]
}
],
"source": [
"deltat=2; T_current=74; T_initial=85; T_ambient=65; #first assign variables\n",
"dTdt=(T_current-T_initial)/deltat; #calculate the approximated derivative\n",
"K=-dTdt/(T_current-T_ambient) #find K.\n",
"print(\"K, the empirical constant, is {:5.4f} \".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": 297,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6111111111111112"
]
},
"execution_count": 297,
"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",
" \n",
" Arguments\n",
" ---------\n",
" Temp_t1: temperature at time 1\n",
" Temp_t2: temperature at time 2\n",
" Temp_ambient: ambient temperature\n",
" delta_t: time elapsed between time 1 and time 2\n",
" \n",
" Returns\n",
" -------\n",
" K: empirical constant '''\n",
" \n",
" k=-((Temp_t2-Temp_t1)/delta_t)/(Temp_t2-Temp_ambient)\n",
" return k\n",
" \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": 316,
"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; import matplotlib.pyplot as plt;\n",
"\n",
"# analytical_solution: \n",
"\n",
"t=np.linspace(0,10,11) #less numerical steps\n",
"t2=np.linspace(0,10,51) #more numerical steps, more convergence\n",
"K=0.6111111111111112; T_initial=85; T_amb=65;\n",
"T_anlyt=T_amb + (T_initial-T_amb)*np.exp(-K*t) #analytical solution for corpse temperature\n",
"\n",
"# numerical solution with less numerical steps: \n",
"T_num=np.zeros(len(t));\n",
"T_num[0]=85\n",
"for i in range(1,len(t)):\n",
" T_num[i]=T_num[i-1]+((-K*(T_num[i-1]-T_amb)))*(t[i]-t[i-1]); #numerical solution for corpse temperature\n",
"\n",
"#numerical solution with more numerical steps:\n",
"T_num2=np.zeros(len(t2));\n",
"T_num2[0]=85\n",
"for i in range(1,len(t2)):\n",
" T_num2[i]=T_num2[i-1]+((-K*(T_num2[i-1]-T_amb)))*(t2[i]-t2[i-1]); #numerical solution for corpse temperature\n",
"\n",
"# plotting, less numerical steps:\n",
"plt.rcParams.update({'font.size': 12}); plt.rcParams['lines.linewidth'] =3\n",
"plt.plot(t,T_anlyt,'-',label='analytical'); plt.plot(t,T_num,'o',label='numerical with 10 steps');plt.plot(t2,T_num2,'o',label='numerical with 50 steps');\n",
"plt.legend()\n",
"plt.xlabel('Time (hours) Since the Corpse was Discovered'); plt.ylabel('Corpse Temperature (degrees Fahrenheit)'); plt.title('Temperature of Corpse as a Function of Time');\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"part a.\n",
"As shown in the plot below, the analytical solution and euler appoximation converge. The smaller time step used, the closer the euler approximation is to the analytical solution. The numerical solution with 50 steps more closesly follows the analytical sl\n",
"\n",
"part b.\n",
"The final temperature as t approaches infinity is the ambient temperature, 65 degrees. This is shown by plugging in a larger time value, such as 168 hours (1 week), to the analytical solution equation. This can also be seen from the plot below as the 'steady state' value that the exponential function approaches.\n",
"\n",
"T_analytical=T_ambient + (T_initial-T_ambient)*e^(-k*168)\n",
"\n",
"The final temperature equals 65.0 degrees Fahrenheit."
]
},
{
"cell_type": "code",
"execution_count": 314,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"part c.\n",
"The corpse was 98.6 degrees Fahrenheit 0.8489 hours before 11am.\n",
"Thus, the time of death was 10 : 09 am.\n"
]
}
],
"source": [
"import math\n",
"T_death=98.6; time=math.log((T_death-T_amb)/(T_initial-T_amb))/(-K) #solve the equation for time,t, when T(t)=98.6 deg. F\n",
"\n",
"print(\"part c.\")\n",
"print(\"The corpse was 98.6 degrees Fahrenheit {:5.4f}\".format(np.abs(time)),\"hours before 11am.\")\n",
"time_decimal=11-np.abs(time)\n",
"time_hours=int(time_decimal); #this finds the hour of time_decimal \n",
"time_minutes=(time_decimal-time_hours)*60 #this converts the decimal to minutes \n",
"print(\"Thus, the time of death was \",time_hours,\":\",format(int(time_minutes),'02d'),\"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": 300,
"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": [
"time_temp=np.array([[-3,-2,-1,0,1,2],[55,58,60,65,66,67]])\n",
"time_temp_plot=time_temp\n",
"\n",
"\n",
"def current_temp(time):\n",
" '''Determine the current ambient temperature based on the time (time), temperature (temp), and weather data provided\n",
" Arguments\n",
" ---------\n",
" time: initial time (time= 0 hours corresponds to 11:00am --> time = 0 hours)\n",
" Returns\n",
" -------\n",
" temp_current: current temperature (degrees Fahrenheit) '''\n",
" \n",
" for i in range(0,len(time_temp[0])): #this loop find corresponding temperature for the user-inputted time\n",
" if time == time_temp[0,i]:\n",
" ambtemp=time_temp[1,i]\n",
" \n",
" return ambtemp\n",
"\n",
"# change hours (-3, -2, -1, 0, 1, 2) to military time (8:00, 9:00, 10:00, 11:00, 12:00, 13:00) for use in plot below\n",
"for i in range(0,len(time_temp[0])):\n",
" j=time_temp_plot[0,i]\n",
" j=j+11\n",
" time_temp_plot[0,i]=j\n",
"\n",
"# plotting\n",
"plt.rcParams.update({'font.size': 12}); plt.rcParams['lines.linewidth'] =3; \n",
"plt.plot(time_temp_plot[0],time_temp[1]);\n",
"plt.xlabel('Military Time (hours)'); plt.ylabel('Ambient Temp (degrees Fahrenheit)'); plt.title('Ambient Temperature from 8:00am to 1:00pm');\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 301,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"part a.\n",
"This plot of ambient temperature versus time throghout the day looks somewhat correct, as the ambient temperature increases throughout the day as it gets warmer out. However, more data points are needed to give a more accurate display of the change in ambient temperature throughout the day. It is incorrect to assume that the temperature increases linearly throughout each hour, but python plots this way to connect the data points. More data points would result in less interpolation between the points and thus a more accurate model of the ambient temperature.\n"
]
}
],
"source": [
"print(\"part a.\")\n",
"print(\"This plot of ambient temperature versus time throghout the day looks somewhat correct, as the ambient temperature increases throughout the day as it gets warmer out. However, more data points are needed to give a more accurate display of the change in ambient temperature throughout the day. It is incorrect to assume that the temperature increases linearly throughout each hour, but python plots this way to connect the data points. More data points would result in less interpolation between the points and thus a more accurate model of the ambient temperature.\")"
]
},
{
"cell_type": "code",
"execution_count": 302,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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XTVjv9OuZ0nD3oXnPecPYfHSZVUnkGEY5caFF15Iy5Yt8fl8XHTRRey3337MnDkTgLZt23LttdcSFRXFwIEDWbduHRs2bADgzDPPpGPHjogIvXr14tRTT2XatGlF2m/RogUnnHACY8eOBWDy5Mk0btyY7t27lyhbfn4+r732Gs888wxpaWlERUVxzDHHEBcXB8BVV11FgwYNiIuLY+jQocyfP5+MjCIz/+VKcdNWJ/j93wNnTut/FKTVHUTocNWrbPGlAtBItpPx/vXs2JNdxYIZhlFWRo8eTdeuXUlJSSElJYVFixaxadMmAJo3b15YrmCH/M6dOwGYNGkSRx11FKmpqaSkpDBx4sTCeoEMHDiQt956C4C33nqLyy8Pb3/zpk2byMzMpGPHjkXy8vLyGDx4MB07diQpKYmCiKmhZCgvQk5bqepvfv8XTqCJSFKY7khqJTENGpN79gvw6cUAHJM3m7FvPMyF1w+tWsEMo4YRzlRSZbFixQquvfZavvrqK44++miioqLo2rUrJbnvy8rK4vzzz2f06NH07duXmJgY+vXrF7Jev379uOGGG1i0aBHjx4/n0UcfLcwrbqNe48aNiY+P548//uCwww7bJ++dd97h008/ZcqUKbRr146MjAwaNmxYouxlJax9HiJSX0RGish2YJ2XdqaI3F+h0lVTmnbrwx8dryg8P2vd83zx7XdVKJFhGGVh165diAgFm4lff/11Fi1aVGK97OxssrKyaNKkCdHR0UyaNIkvvvgiZPn4+HguuOACLr30Uo444gjatGlTmNesWbOQezp8Ph9XXXUVd9xxB2vXriUvL48ff/yRrKwsduzYQVxcHI0aNWL37t3cd999EX760hHuJsHngTjcDvCCOZrZwBUha9RyOl78GOvi2gOQINmkfX0LyzdsrWKpDMMoDQcffDB33nknRx99NM2aNWPhwoUce+yxJdZr0KABI0aMoH///jRs2JB33nmHc845p9g6AwcOZOHChUWmrG699VY++OADGjZsyC233FKk3uOPP86hhx5Kz549SU1N5d577yU/P58rrriCtm3bkpaWxsEHH8xRRx0V2YcvJRLO0MZbPG+tqlkiskVVU730baqaUtFClgc9evTQ2bNnl2ubu1fNJ/rVk4jFOQPeRT3qsQcx9+2GUYRff/2Vgw46qKrFqHJWrlzJgQceyPr1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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"t=np.linspace(0,3,30)\n",
"K=0.6111111111111112; T_initial=85; \n",
"T_num=np.zeros(len(t)); T_ambstep=np.zeros(len(t));\n",
"T_num[0]=85;T_ambstep[0]=65\n",
"T_anlyt=T_amb + (T_initial-T_amb)*np.exp(-K*t)\n",
"\n",
"for i in range (1,len(t)):\n",
" if i< len(t)/t[-1]:\n",
" T_ambnew=time_temp[1,3];\n",
" T_ambstep[i]=time_temp[1,3];\n",
" #T_anlyt=T_amb + (T_initial-T_amb)*np.exp(-K*t)\n",
" T_num[i]=T_num[i-1]+((-K*(T_num[i-1]-T_ambnew)))*(t[i]-t[i-1]);\n",
" \n",
" if i >=len(t)/t[-1] and i<2*len(t)/t[-1]:\n",
" T_ambnew=time_temp[1,4];\n",
" T_ambstep[i]=time_temp[1,4];\n",
" #T_anlyt=T_amb + (T_initial-T_amb)*np.exp(-K*t)\n",
" T_num[i]=T_num[i-1]+((-K*(T_num[i-1]-T_ambnew)))*(t[i]-t[i-1]);\n",
" \n",
" if i >=2*len(t)/t[-1] and i<=3*len(t)/t[-1]:\n",
" T_ambnew=time_temp[1,5];\n",
" T_ambstep[i]=time_temp[1,5];\n",
" #T_anlyt=T_amb + (T_initial-T_amb)*np.exp(-K*t)\n",
" T_num[i]=T_num[i-1]+((-K*(T_num[i-1]-T_ambnew)))*(t[i]-t[i-1]);\n",
"\n",
"\n",
"plt.rcParams.update({'font.size': 12})\n",
"plt.rcParams['lines.linewidth'] =3\n",
"plt.plot(t,T_anlyt,'-',label='analytical'); plt.plot(t,T_num,'o-',label='numerical');\n",
"plt.legend()\n",
"plt.xlabel('Time (hours) after the corpse was found @11am')\n",
"plt.ylabel('Temperature (degrees Fahrenheit)')\n",
"plt.title('Temperature of Corpse as a Function of Time');"
]
},
{
"cell_type": "code",
"execution_count": 304,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"part b.\n",
"The plot above shows the modified Euler approximation solution that accounts for changes in temperature at each hour. The two solutions are still very close in trend. However, as one can see, the new numerical approximation has a slightly higher final value than before. This is due to the fact that the numerical approximation utilizes a higher ambient temperature. As opposed to 65 deg F before, the new solution accounts for the ambient temperature changing from 60 degrees at 10am, 65 deg F at 11am, to 66 deg F at 12pm, and 67 deg F at 1pm. Logically speaking, a warmer outside temperature means that the corpse would cool down more slowly and thus have a higher temperature at 1pm.\n",
"\n",
"With the new dynamic ambient temperature, the corpse was 98.6 degrees F 0.7108 hours before 11am. Thus the new time of death is 10 : 17 am.\n",
"\n",
"As shown in the figure below, we assume the dynamic ambient temperature stays the same for the entire hour throughout the day then jumps to the newer temperature at the start of the next hour. Thus, in finding the new time of death, we use the ambient temperature at 10:00am (60 deg F) as opposed to the initial 65 deg F assumption. In the future, we could fix his step function of time if we had more points for ambient temperatures during the hour (i.e. at 11:30) as opposed to only hourly ambient temps.\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": [
"###### plotting\n",
"plt.plot(t,T_ambstep)\n",
"plt.xlabel('Time (hours) after the corpse was found, starting at 11:00am '); \n",
"plt.ylabel('Ambient Temperature (degrees Fahrenheit)'); \n",
"plt.title('Ambient Temperature as a Function of Time');\n",
"\n",
"# solve for time of death, t, assuming T(t) is 98.6 deg F and T_ambient is 60 deg F\n",
"T_death=98.6; time_new=math.log((T_death-60)/(T_initial-60))/(-K) #solve the equation for time,t, when T(t)=98.6 deg. F\n",
"time_decimal_new=11-np.abs(time_new) \n",
"time_hours_new=int(time_decimal_new); #this finds the hour of time_decimal \n",
"time_minutes_new=(time_decimal_new-time_hours_new)*60 #this converts the decimal to minutes \n",
"\n",
"print(\"part b.\")\n",
"print(\"The plot above shows the modified Euler approximation solution that accounts for changes in temperature at each hour. The two solutions are still very close in trend. However, as one can see, the new numerical approximation has a slightly higher final value than before. This is due to the fact that the numerical approximation utilizes a higher ambient temperature. As opposed to 65 deg F before, the new solution accounts for the ambient temperature changing from 60 degrees at 10am, 65 deg F at 11am, to 66 deg F at 12pm, and 67 deg F at 1pm. Logically speaking, a warmer outside temperature means that the corpse would cool down more slowly and thus have a higher temperature at 1pm.\")\n",
"print()\n",
"print(\"With the new dynamic ambient temperature, the corpse was 98.6 degrees F {:5.4f}\".format(np.abs(time_new)),\"hours before 11am. Thus the new time of death is\", time_hours_new,\":\",format(int(time_minutes_new),'02d'),\"am.\")\n",
"print()\n",
"print(\"As shown in the figure below, we assume the dynamic ambient temperature stays the same for the entire hour throughout the day then jumps to the newer temperature at the start of the next hour. Thus, in finding the new time of death, we use the ambient temperature at 10:00am (60 deg F) as opposed to the initial 65 deg F assumption. In the future, we could fix his step function of time if we had more points for ambient temperatures during the hour (i.e. at 11:30) as opposed to only hourly ambient temps.\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"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
}