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": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"K is: 0.6111111111111112\n"
]
}
],
"source": [
"#assign variables/write equations to solve for K \n",
"T_0 = 85\n",
"T_1 = 74\n",
"T_a = 65\n",
"dt = 2\n",
"\n",
"DT_dt = (T_1-T_0)/dt\n",
"K = -(DT_dt)/(T_1-T_a)\n",
"print(\"K is:\", 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": 13,
"metadata": {},
"outputs": [],
"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",
" your inputs...\n",
" \n",
" Returns\n",
" -------\n",
" your outputs...\n",
" \n",
" '''\n",
" dT_dt = (Temp_t2 - Temp_t1)/delta_t\n",
" K = -(DT_dt)/(Temp_t2-Temp_ambient)\n",
" return K "
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"K is: 0.6111111111111112\n"
]
}
],
"source": [
"#test to see if the function works\n",
"print(\"K is:\", 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": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Temperature')"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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kVoXixIRTj311GaOzPjCkkhDxPQGoIdksil9d4CDMab1+9vf/kZBQUGgw/CrY445hoKCAiZMmBDoUJqUJZGGCA6jKKwrwVLG7u223roxjZGUlERaWhpPPvlkoEPxi5ycHABcLhdhYWGVS9+2FZZEGkg79gGgNDM1sIEY08qdd955HHrooTz88MP7XLpWRJg0adJe+2fPno2IsHDhwsp906dPR0T49ddfueGGG+jRowcRERGMGTOG3377DYB58+YxfPhwOnToQEJCAjNmzPB63QULFjBu3Dg6duxIWFgYQ4cO5fnnn9+rXEJCAscddxw///wzJ554IjExMQwdOhSovU1EVZk5cyYjR44kMjKSyMhIDjroIO65557KMjk5Odx1112MHDmSuLg4QkNDGTBgALfddhv5+YFtl7Uk0kCuM5/lyKKn+TQngaJS6+ZrTEOJCA8//DC7d+/mgQceaPLzT5w4keXLl3PHHXdw00038f3333PiiSfyyiuvcO2113LmmWfy6KOPEhsby5VXXsk333xT7fUzZsxg3Lhx5Obmcuedd/L444/Tv39/rr76am655Za9rrdp0yZGjx5NfHw8jz76KH/+85/rjG/ChAlMnToVEeHOO+/k0UcfZfTo0bz11luVZbZs2cKLL75IUlISd999N48//jjDhw/nkUce4U9/+lPTfFANZHNnNVBI9/1wxaZRmlnA5swCBnSNDHRIpq2bHlP7sVOfhCTP2uFLZsEHN9RxnirteC8cA1uXey83fCKc/pTzPO1nmHFc7edppDFjxnDCCSfw7LPPcv311xMfH99k5+7evTvvvfceIgJAXFwc119/Pddccw2rVq2ib1+nt+X5559Pnz59+Ne//sVRRx0FwNatW5k2bRoXXHABr732WuU5r7nmGq6//noef/xxrrrqKvr37195bMOGDcycOZMpU6bsM7Y33niDuXPncskllzBnzhxcrj1/15eXl1c+79evH5s3byY4OLhy37XXXsvdd9/N/fffzw8//MBhhx3WwE+ocexOpBEqpz+xiRiNabSHH36Y4uJi7r777iY977Rp0yoTCMDRRx8NwBlnnFGZQAC6dOnC4MGDWbt2beW+t956i6KiIi6//HLS09OrPU477TTKy8v57LPPql2vU6dOTJ48uV6xzZ07F4DHHnusWgIBqv0cEhJSmUBKS0vJysoi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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 math\n",
"import numpy as np\n",
"from numpy import exp\n",
"\n",
"plt.rcParams.update({'font.size': 18})\n",
"plt.rcParams['lines.linewidth'] = 2\n",
"\n",
"N = 50\n",
"t = np.linspace(0,20,N)\n",
"T_analytical = T_a + (T_0-T_a)*exp(-K*t)\n",
"\n",
"T_numerical = np.zeros(len(t))\n",
"T_numerical[0] = T_0\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",
"plt.plot(t, T_analytical,'-',label='Analytical')\n",
"plt.plot(t,T_numerical,'--',label='Numerical')\n",
"plt.legend(loc='best')\n",
"plt.xlabel('time')\n",
"plt.ylabel('Temperature')"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"b) The final temperate as t→∞ is: 65°C\n"
]
}
],
"source": [
"print(\"b)\", \"The final temperate as t→∞ is: 65°C\")"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"c) The time was: 0 hrs 50 mins 56 s\n",
" The time of death was: 10:09.04 am\n"
]
}
],
"source": [
"T = 98.6\n",
"time = (np.log((T - T_a)/(T_0-T_a))/K)*3600\n",
"\n",
"#convert time to hours, minutes, seconds\n",
"#math.floor returns the largest integer less than or equal to a given number\n",
"hours = math.floor(time/3600)\n",
"minutes = math.floor((time/3600-hours)*60)\n",
"seconds = int(round(((time/3600-hours)*60-minutes)*60,0))\n",
"\n",
"print(\"c)\", \"The time was:\", hours, \"hrs\", minutes, \"mins\", seconds, \"s\")\n",
"#11:00.00 - 00:50.56\n",
"print(\" \", \"The time of death was: 10:09.04 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": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Current Temperature (°C)')"
]
},
"execution_count": 26,
"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_temperature(time):\n",
" t = np.array([-3, -2, -1, 0, 1, 2])\n",
" temperature = np.array([55, 58, 60, 65, 66, 67])\n",
" x = np.where(t==time)[0][0] #returns elements chosen from t and temperature \n",
" return temperature[x]\n",
"\n",
"n = np.arange(-3,3,1)\n",
"temp = np.zeros(len(n))\n",
"for i in range (0, len(n)):\n",
" temp[i] = current_temperature(n[i])\n",
" \n",
"plt.plot(n, temp)\n",
"plt.xlabel('Time (hours)')\n",
"plt.ylabel('Current Temperature (°C)')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Yes, the graph looks correct because the temperature increases as the time of day increases. With more data points the graph would smoothen out."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Temperature')"
]
},
"execution_count": 27,
"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": [
"t = np.arange(-3, 3, 1)\n",
"T_analytical = T_a + (T_0-60)*exp(-K*t)\n",
"\n",
"T_numerical = np.zeros(len(t))\n",
"T_numerical[3] = T_0\n",
"\n",
"#need to have two for loops because of -/+ arrays\n",
"for i in range (2, -1, -1):\n",
" T_numerical[i] = T_numerical[i+1] - -K*(T_numerical[i+1]-current_temperature(t[i])*(t[i]-t[i+1])) \n",
"for i in range (4, len(t)):\n",
" T_numerical[i] = T_numerical[i-1] + -K*(T_numerical[i-1]-current_temperature(t[i])*(t[i]-t[i-1]))\n",
" \n",
"plt.plot(t, T_analytical,'-',label='Analytical')\n",
"plt.plot(t,T_numerical,'--',label='Numerical')\n",
"plt.legend(loc='best')\n",
"plt.xlabel('Time (Hours)')\n",
"plt.ylabel('Temperature')"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The time was: 0 hrs 42 mins 39 s\n",
"The time of death was: 10:17.21 am\n"
]
}
],
"source": [
"T = 98.6\n",
"time = np.log((T - 60)/(T_0-60))/K*3600\n",
"\n",
"#convert time to hours, minutes, seconds\n",
"#math.floor returns the largest integer less than or equal to a given number\n",
"hours = math.floor(time/3600)\n",
"minutes = math.floor((time/3600-hours)*60)\n",
"seconds = int(round(((time/3600-hours)*60-minutes)*60,0))\n",
"\n",
"print(\"The time was:\", hours, \"hrs\", minutes, \"mins\", seconds, \"s\")\n",
"#11:00.00 - 00:42.39\n",
"print(\"The time of death was: 10:17.21 am\")"
]
},
{
"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
}