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": 153,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import math as math"
]
},
{
"cell_type": "code",
"execution_count": 154,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.275\n"
]
}
],
"source": [
"del_t = 2\n",
"T_11 = 85\n",
"T_13 = 74\n",
"T_a = 65\n",
"DT_dt = (T_13-T_11)/(del_t)\n",
"K = -1*(DT_dt/(T_11-T_a))\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$. "
]
},
{
"cell_type": "code",
"execution_count": 172,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The value of K is: 0.275\n"
]
},
{
"data": {
"text/plain": [
"0.275"
]
},
"execution_count": 172,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def measure_K(Temp_t1,Temp_t2,Temp_ambient,delta_t):\n",
"\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",
" \n",
" Returns\n",
" -------\n",
" your outputs...\n",
" \n",
" '''\n",
" DT_dt = (Temp_t2-Temp_t1)/(delta_t)\n",
" K = -1*(DT_dt/(Temp_t1-Temp_ambient))\n",
" print(\"The value of K is:\", K)\n",
" return K\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": 163,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD7CAYAAACRxdTpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3deXxU9b3G8c83+wJkJwSyQCDsmxA2FVxw14rW4lJRqla02ira29bette2Xu/t4tLWVlt33LG4V1woVnFBNCCy75CQkIQEkrAGsvzuHxm5aAEhM5OTzDzv1yuvyZwzZ+YZl4fD75zzO+acQ0REQkuE1wFERCTwVO4iIiFI5S4iEoJU7iIiIUjlLiISglTuIiIh6GvL3cweNbOtZrbsoGWpZjbHzNb6HlMOWvdTM1tnZqvN7MxgBRcRkcM7mj33x4GzvrLsNmCuc64AmOt7jpkNBC4FBvm2ud/MIgOWVkREjkrU173AOTfPzHp+ZfEk4GTf7zOAd4Gf+JY/55zbB2w0s3XAaGD+kT4jPT3d9ez51Y8QEZEjWbhwYbVzLuNQ67623A8j0zlXDuCcKzezrr7lPYCPD3pdqW/ZvzGzacA0gNzcXIqKiloZRUQkPJlZ8eHWBfqAqh1i2SHnN3DOPeicK3TOFWZkHPIPHhERaaXWlnulmWUB+B63+paXAjkHvS4b2NL6eCIi0hqtLfdXgam+36cCrxy0/FIzizWzXkAB8Il/EUVE5Fh97Zi7mT1Ly8HTdDMrBW4HfgM8b2bXACXAZADn3HIzex5YATQCNzrnmoKUXUREDuNozpa57DCrJh7m9XcCd/oTSkRE/KMrVEVEQpDKXUQkBHXocq/auY9fvbacuj0NXkcREWlXOny5P/7RJh54b73XUURE2pUOXe4Du3fhguE9eOzDjVTU1XsdR0Sk3ejQ5Q5w6+l9aXaOP/xzjddRRETajQ5f7jmpCUwZm8fzRZtZt3WX13FERNqFDl/uAN8/pQ8JMVH8/q1VXkcREWkXQqLc0zrFMm1CPm8tr2RRSY3XcUREPBcS5Q5wzYm9SO8Uy2/eWIVzh5yIUkQkbIRMuSfGRnHzxD58snE7766u8jqOiIinQqbcAS4dnUteWgK/fXMVTc3aexeR8BVS5R4dGcF/nNGPVRU7eWVxmddxREQ8E1LlDnDukCyG9EjirrdWs3e/ZhsWkfAUcuUeEWH8/NwBbKmr55EPNngdR0TEEyFX7gBj8tM4a1A37n93PVt3aloCEQk/IVnuALed3Z+GpmbueVvTEohI+AnZcu+ZnsjUcT2ZWbSZFVt2eB1HRKRNhWy5A/zg1AKS4qO5c/YKXdgkImElpMs9KSGa6RML+HDdNt5ZtdXrOCIibSakyx3g8rF55GckcufslTQ0NXsdR0SkTYR8uUdHRvCzcwawoWo3zywo8TqOiEibCPlyBzi1f1dO6JPGvf9cQ83u/V7HEREJOr/K3cxuNrNlZrbczKb7lv3SzMrMbLHv55zARPUrJ784byA76xu5e85qr+OIiARdq8vdzAYD1wKjgWHAeWZW4Ft9r3NuuO9ndgBy+q1/ty5cMTaPZxaUsHxLnddxRESCyp899wHAx865Pc65RuA94MLAxAqOW07vS0pCDLe/slynRopISPOn3JcBE8wszcwSgHOAHN+675vZEjN71MxSDrWxmU0zsyIzK6qqapv515Pio/nJWf0pKq7hZc0aKSIhrNXl7pxbCfwWmAO8CXwONAIPAL2B4UA5cPdhtn/QOVfonCvMyMhobYxj9q2R2QzLSeZ/Zq9iZ31Dm32uiEhb8uuAqnPuEefcCOfcBGA7sNY5V+mca3LONQMP0TIm325ERBi/On8QVTv3cd8767yOIyISFP6eLdPV95gLfBN41syyDnrJhbQM37Qrw3OSuaQwh0c/2Mi6rbu8jiMiEnD+nuf+gpmtAF4DbnTO1QC/M7OlZrYEOAW4xd+QwfCjs/oRHxPJr17TwVURCT1R/mzsnBt/iGVX+POebSW9Uyy3nt6XX722gjeXVXD2kKyv30hEpIMIiytUD+eKsXkMzOrCr15bwa59jV7HEREJmLAu96jICO68cDCVO+u5+21duSoioSOsyx3guNwULh+Ty4yPNrGsTFeuikhoCPtyB/jRmf1J6xTLf760lKZmHVwVkY5P5U7Llau/OG8gS0rreHL+Jq/jiIj4TeXu842hWYwvSOeut9dQuaPe6zgiIn5RufuYGf99wWD2NzXz69dWeB1HRMQvKveD5KUl8oNT+vD60nL+pXuuikgHpnL/imkn5dOnayd+/vIynfsuIh2Wyv0rYqMi+e1FQ9hSt5ffv7nK6zgiIq2icj+EkXmpTB3Xkxnzi/l003av44iIHDOV+2H86Mx+ZKfE85NZS6hvaPI6jojIMVG5H0ZibBT/+80hbKjezR/nrvU6jojIMVG5H8H4ggwuLszmwXkbNDWBiHQoKvev8bNzB5KWGMOPZi2hoanZ6zgiIkdF5f41kuKjueOCwaws38Ff313vdRwRkaOicj8KZw7qxrlDs/jTO2tZVbHD6zgiIl9L5X6Ufn3+IJLio7l15ufsb9TwjIi0byr3o5TWKZb/uXAIK8p3cN87OntGRNo3lfsxOGNQNy4akc39765n8eZar+OIiByWyv0Y3X7+QDI7x3Lr84t1cZOItFsq92PUJS6a308exoaq3fxWc8+ISDvlV7mb2c1mtszMlpvZdN+yVDObY2ZrfY8pgYnafpzQJ52p4/J47MNNfLS+2us4IiL/ptXlbmaDgWuB0cAw4DwzKwBuA+Y65wqAub7nIee2swfQKz2RH/19CTvrG7yOIyLyJf7suQ8APnbO7XHONQLvARcCk4AZvtfMAC7wL2L7FB8Tyd0XD6O8bi+3v7Lc6zgiIl/iT7kvAyaYWZqZJQDnADlApnOuHMD32PVQG5vZNDMrMrOiqqoqP2J4Z0RuCjdNLODFz8p4ZXGZ13FERA5odbk751YCvwXmAG8CnwNHfesi59yDzrlC51xhRkZGa2N47vun9KEwL4Wfv7SMzdv3eB1HRATw84Cqc+4R59wI59wEYDuwFqg0sywA32NI34w0KjKCey8ZDsD0mYtp1ORiItIO+Hu2TFffYy7wTeBZ4FVgqu8lU4FX/PmMjiAnNYH/vnAwC4truO+ddV7HEREhys/tXzCzNKABuNE5V2NmvwGeN7NrgBJgsr8hO4JJw3vw3poq7ntnLScWpDOqZ6rXkUQkjJlzzusMFBYWuqKiIq9j+G3XvkbO+eP7NDU7Zt88nqT4aK8jiUgIM7OFzrnCQ63TFaoB1Ck2ij9eOpyKHfX850tLaQ9/cIpIeFK5B9hxuSn88Iy+vL6knKcWlHgdR0TClMo9CK6f0JuT+2Vwx2srdO9VEfGEyj0IIiKMey4eTlqnGG58ZhE7ND2BiLQxlXuQpCbGcN9lx1Fas5fbXlii8XcRaVMq9yAq7JnKj8/sx+ylFTwxv9jrOCISRlTuQXbt+HxO7d+VO19fyZJS3b1JRNqGyj3IIiKMuycPI903/l67Z7/XkUQkDKjc20BKYgx/uXwEFXX13PzcYpqaNf4uIsGlcm8jx+Wm8MvzB/Hemir++M81XscRkRCncm9D3x6dy8WF2fzpnXXMWVHpdRwRCWEq9zZkZvx60mCGZidx68zFbKja5XUkEQlRKvc2FhcdyQNTRhIdFcF1Ty5k176jvr+JiMhRU7l7oEdyPPdddhzrq3bx41mf6wInEQk4lbtHTuiTzk/O6s/spRXc/+56r+OISIhRuXto2oR8zh/WnbveXs3byyu8jiMiIUTl7iEz43ffGsrQHklMn7mYleU7vI4kIiFC5e6xuOhIHryykM5xUXx3RhHVu/Z5HUlEQoDKvR3I7BLHQ1cWUr1rH997aiH7Gpu8jiQiHZzKvZ0Ymp3MXZOH8emmGn7+0jKdQSMifonyOoD8v28M687ayp386Z119M3szLUT8r2OJCIdlMq9nZl+Wl/WVe3if95YSXZKPGcPyfI6koh0QH4Ny5jZLWa23MyWmdmzZhZnZr80szIzW+z7OSdQYcPBF7foOy4nmekzF7OwuMbrSCLSAbW63M2sB3ATUOicGwxEApf6Vt/rnBvu+5kdgJxhJS46koeuLCQrKY5rnyhiU/VuryOJSAfj7wHVKCDezKKABGCL/5EEIK1TLI9fNRrnHN957BO279ZNPkTk6LW63J1zZcBdQAlQDtQ55972rf6+mS0xs0fNLCUAOcNSz/REHp46ivK6er4741PqG3SKpIgcHX+GZVKASUAvoDuQaGZTgAeA3sBwWkr/7sNsP83MisysqKqqqrUxQt7IvBT+cMlwPttcyy0zF9OsuziJyFHwZ1jmNGCjc67KOdcAvAgc75yrdM41OeeagYeA0Yfa2Dn3oHOu0DlXmJGR4UeM0Hf2kCx+ds4A3lhWwX+/vlLnwIvI1/LnVMgSYKyZJQB7gYlAkZllOefKfa+5EFjmZ0YBrjmxF2W1e3n0w42kd47hhpP7eB1JRNqxVpe7c26Bmc0CFgGNwGfAg8DDZjYccMAm4LoA5Ax7ZsYvzh3I9t37+d2bq0lJiOGy0blexxKRdsqvi5icc7cDt39l8RX+vKccXkSEcdfkYdTtbeBnLy0lKT6ac3SRk4gcguaW6WCiIyN44PKRjMhNYfpzi/lgbbXXkUSkHVK5d0DxMZE8MnUU+RmJTHuyiMWba72OJCLtjMq9g0pKiOaJq0eT1imG7zz2Ceu27vQ6koi0Iyr3DqxrlzieumYMURERTHn4E4q3aZoCEWmhcu/g8tISeeq7o6lvbOLbDy2gtGaP15FEpB1QuYeA/t268NQ1Y9hZ38C3H1pAed1eryOJiMdU7iFicI8knrhmDNt37+fyhxawdUe915FExEMq9xAyPCeZGVePomJHPd9+eIFuti0SxlTuIWZkXiqPfWcUpTV7mPLwAmo0VbBIWFK5h6Ax+Wk8MnUUG6t3M+URFbxIOFK5h6gT+qTz4JWFrN26i8se+lhDNCJhRuUewk7qm8Fj3xnFpm27ufTBj3WQVSSMqNxD3Al90plx1WjKa/dyyYMf6zRJkTChcg8DY/LTeOKaMVTv3MfFf5vP5u260Ekk1Kncw8TIvBSevnYMO/Y2csnf5rOpWlMViIQylXsYGZqdzDPXjqG+sZmL/zaf1RWabEwkVKncw8yg7kk8N20sABf/bT4Li2s8TiQiwaByD0N9MzvzwveOJyUhmikPL+Dd1Vu9jiQiAaZyD1M5qQn8/frjyc9I5LszinhlcZnXkUQkgFTuYSyjcyzPThvLyLwUps9czIyPNnkdSUQCROUe5rrERTPj6tGcNiCT219dzj1z1uCc8zqWiPhJ5S7ERUfywOUjmDwymz/NXcttLyyloanZ61gi4ocorwNI+xAVGcHvvjWUbklx3PfOOrbU7eX+y0fQOS7a62gi0gp+7bmb2S1mttzMlpnZs2YWZ2apZjbHzNb6HlMCFVaCy8z44Rn9+O1FQ/ho/TYm/3W+pisQ6aBaXe5m1gO4CSh0zg0GIoFLgduAuc65AmCu77l0IJeMyvXNCb+XC//yESu27PA6kogcI3/H3KOAeDOLAhKALcAkYIZv/QzgAj8/QzwwoW8Gf79+HGYtFzu9t6bK60gicgxaXe7OuTLgLqAEKAfqnHNvA5nOuXLfa8qBrofa3symmVmRmRVVVak42qMBWV146YYTyElN4OrHP+XJj4u9jiQiR8mfYZkUWvbSewHdgUQzm3K02zvnHnTOFTrnCjMyMlobQ4KsW1Icf79+HCf1zeAXLy/jZy/pTBqRjsCfYZnTgI3OuSrnXAPwInA8UGlmWQC+R13b3sF1io3ioSsLue6kfJ5eUMIVjyxgu27dJ9Ku+VPuJcBYM0swMwMmAiuBV4GpvtdMBV7xL6K0B5ERxk/PHsC9lwxjUUktk/7ygWaVFGnH/BlzXwDMAhYBS33v9SDwG+B0M1sLnO57LiHiwuOymTltLPsamvnm/R8yZ0Wl15FE5BCsPVxqXlhY6IqKiryOIcegoq6eaU8WsbSsjukT+/KDU/sQEWFexxIJK2a20DlXeKh1mn5AWqVbUhzPXzeOC4b34N5/ruG7TxRRt6fB61gi4qNyl1aLi47knouHccekQby/torz/vw+y8rqvI4lIqjcxU9mxhXjejLzunE0NDoueuAjni/a7HUskbCncpeAGJGbwj9uOpGReSn8eNYSfvriUuobmryOJRK2VO4SMOmdYnni6tF87+TePPtJCRc98BEbq3d7HUskLKncJaCiIiP4yVn9efjKQspq93Len97n5c90Cz+RtqZyl6A4bWAms28az8DuXZg+czE/+vvn7Nnf6HUskbChcpeg6Z4cz7PXjuUHp/Zh1qJSvnHfB6ws1/TBIm1B5S5BFRUZwQ/P6MfT14xhR30jk/7yIU/M36T7tIoEmcpd2sTxfdJ54+bxjMtP479eWc53HvuUyh31XscSCVkqd2kz6Z1iefyqUdwxaRALNm7jzD/MY/bScq9jiYQklbu0qS8uenr9pvHkpSZww9OLuHXmYnbUa+oCkUBSuYsnemd0Ytb3jufmiQW88vkWzrp3HvPXb/M6lkjIULmLZ6IjI7jl9L7Mun4csdGRXPbQx/zy1eU6ZVIkAFTu4rnjclN4/aYTuXJcHo9/tIkz/zCPD9dVex1LpENTuUu7kBATxa8nDWbmtLFERURw+cMLuO2FJRqLF2kllbu0K2Py03jj5vFcNyGf54s2c8Y985i7Und7EjlWKndpd+KiI/npOQN46YYTSIqP5poZRdz83Gds27XP62giHYbKXdqtYTnJvPaDE5l+WgGzl5Zz6t3v8ewnJTQ36+pWka+jcpd2LSYqgumn9WX2TePp360zP31xKd/660es2KI5akSOROUuHUJBZmeemzaWuycPo3jbHr7x5w+44x8r2LVPp02KHIrKXToMM+OikdnM/eFJXFyYwyMfbOS0u99j9tJyTUQm8hWtLncz62dmiw/62WFm083sl2ZWdtDycwIZWCQ5IYb//eYQXrzheFISY7jh6UVMeWQBqyt2eh1NpN2wQOzxmFkkUAaMAa4Cdjnn7jra7QsLC11RUZHfOST8NDY18/SCEu6Zs4ad9Q1cPiaPW0/vS0pijNfRRILOzBY65woPtS5QwzITgfXOueIAvZ/IUYmKjGDq8T159z9O5oqxeTzzSQkn3/Uuj3+4kYamZq/jiXgmUOV+KfDsQc+/b2ZLzOxRM0sJ0GeIHFZKYgy/mjSY2TeNZ3CPLvzytRWc/cf3mbemyutoIp7we1jGzGKALcAg51ylmWUC1YAD7gCynHNXH2K7acA0gNzc3JHFxdrpl8BwzjFnRSV3zl5J8bY9jC9I57az+zOoe5LX0UQC6kjDMoEo90nAjc65Mw6xrifwD+fc4CO9h8bcJRj2NTbx5Pxi/vyvddTuaeCC4d354Rn9yElN8DqaSEAEe8z9Mg4akjGzrIPWXQgsC8BniByz2KhIvjs+n/d+dArXn9SbN5ZVMPHu97jjHyuo2b3f63giQeXXnruZJQCbgXznXJ1v2ZPAcFqGZTYB1znnjngvNe25S1sor9vLvXPWMGthKYmxUVx/Um++c3xPEmOjvI4m0ipBHZYJBJW7tKXVFTv53ZurmLtqK2mJMVx/Um+mjM0jPibS62gix0TlLnIIC4tr+MM/1/D+2mrSO8Vyw8m9+faYXOKiVfLSMajcRY7gk43buXfOGuZv2EZml1huPKUPl4zKITZKJS/tm8pd5Ch8tL6ae+es4dNNNXRPiuN7J/dmcmGO9uSl3VK5ixwl5xwfrtvGPXNWs6iklvROsVxzYi+mjM2lc1y01/FEvkTlLnKMnHN8vGE797+7jvfXVtM5Loqp43py1Qk9SesU63U8EUDlLuKXpaV13P/uOt5cXkFsVASXjsrl2gn59EiO9zqahDmVu0gArNu6i7++t56XPysD4NyhWVxzYi+GZid7nEzClcpdJIDKavfyyPsbeb5oM7v2NTK6ZypXn9iL0wdmEhlhXseTMKJyFwmCnfUNzPx0M499uImy2r3kpiZw1Qk9mVyYQydd9SptQOUuEkSNTc28vaKSRz7YyMLiGjrHRXFJYQ6Xj82jV3qi1/EkhKncRdrIZyU1PPLBRt5cVkFjs2N8QTpTxuYxsX9XoiJ1y2IJLJW7SBvbuqOe5z7dzDMLSqjYUU9WUhyXjsrlstE5dO0S53U8CREqdxGPNDY1M3fVVp76uJj311YTFWGcMSiTKWPyGNc7DTMdgJXWO1K566iPSBBFRUZw5qBunDmoGxurd/PMgmKeLypl9tIK8tIS+NaIbC4amU13nTMvAaY9d5E2Vt/QxOyl5fy9qJT5G7ZhBuMLMpg8MpvTB2ZqLhs5ahqWEWmnSrbtYdbCzcxaWMqWunqS4qO5YHh3JhfmMLiH7vkqR6ZyF2nnmpodH62v5vmiUt5aXsH+xmb6ZXZm0nHdOX9Yd7JTdN9X+Xcqd5EOpG5PA69+XsZLn5WxqKQWgFE9U5g0vAfnDskiJTHG44TSXqjcRTqokm17ePXzMl5evIV1W3cRFWGc1DeDScf14PQBmbo1YJhTuYt0cM45VpTv4JXFW3h18RYqdtQTHx3Jqf27cvaQbpzSr6tu9B2GVO4iIaSp2fHJxu28tmQLby+voHrXfmKjIjipbwbnDMni1AFd6aIbi4QFlbtIiGpqdny6aTtvLqvgjWXlVO7YR0xkBOML0jlrcDdOH5hJcoLG6EOVyl0kDDQ3Oz7bXMMbSyt4Y1kFZbV7iYowRvVMZeKArpw2IJOemsgspASl3M2sHzDzoEX5wH8BT/iW9wQ2ARc752qO9F4qd5HAcs6xtKyON5dVMHflVlZX7gSgd0Yipw3IZOKATEbkJmsysw4u6HvuZhYJlAFjgBuB7c6535jZbUCKc+4nR9pe5S4SXJu372HuykrmrtrKxxu20dDkSE6I5pR+XZk4oCvj+2SQlKBx+o6mLcr9DOB259wJZrYaONk5V25mWcC7zrl+R9pe5S7SdnbWNzBvTTVzV1byr9VbqdnTQITBsJxkJhRkMKFvOsOytVffEbRFuT8KLHLO/dnMap1zyQetq3HOpRxim2nANIDc3NyRxcXFfucQkWPT1Oz4rKSGeWurmbemiiWltTQ76BwXxQm905nQt6XsdYVs+xTUcjezGGALMMg5V3m05X4w7bmLtA+1e/bz4bptzFtTxby1VZTX1QOQn57I+IJ0xvVOZ2x+qs7AaSeCPeXv2bTstVf6nleaWdZBwzJbA/AZItIGkhNiOHdoFucOzcI5x/qqXby3pmWvfmbRZmbML8YMBnTrwtj8NMb1TmN0r1SS4jVe394EYs/9OeAt59xjvue/B7YddEA11Tn34yO9h/bcRdq/fY1NfL65jo83bGP++m0sLKlhf2MzZjCoexfG5acxNj+NUb1SdRFVGwnasIyZJQCbgXznXJ1vWRrwPJALlACTnXPbj/Q+KneRjqe+oYnFm2uZv34b8zdsY3FJLfubmokw6NetC4V5KRT2TGFkXgo9kuN116kg0EVMIhJ09Q1NLCqu4eON21lYvJ3PSmrZs78JgG5d4hjZM6Wl8PNSGZDVWWfjBIBusyciQRcXHcnxfdI5vk860HL/2FUVO1lYXENRcQ0LN23n9SXlAMRHRzI8J5mReSkMzU5ieE6ybhweYNpzF5E2s6V2LwuLa3yFv52V5Ttpam7poKykOIZmJzEsJ5lh2ckMyU7S2P3X0J67iLQL3ZPj6Z4czzeGdQdg7/4mVpTXsXhzHUtKa/l8cy1vLa888Pr8jESGZyczNDuJIdlJ9O/WRVMbHyX9UxIRz8THRDIyL5WReakHltXu2c+SUl/Zl9bxwbpqXvysDAAz6JmWyMDuXRiY1YVB3bswsHsXunbWkM5XqdxFpF1JTojxXRmbcWBZRV09y7fUsXzLDlZs2cGS0toD4/cA6Z1iDxT9oO5dGJDVhbzUhLA+aKtyF5F2r1tSHN2S4pg4IPPAsrq9Dawsbyn7FeU7WL5lBx/O20Cjbww/JiqC3hmd6JfZiYLMzvTN7Ey/zM5kp8QTERH6p2Wq3EWkQ0qKj2as78KpL+xrbGJt5S5WVexkbeVOVlfu5NNNNby8eMuB18RHR1KQ2YmCrp3p1+3/iz+rS1xIlb7KXURCRmxUJIN7JDG4R9KXlu+sb2Dt1l2sqdjJmspdrKncyftrq3hhUemB18RHR9IzPZH8jER6pyeSn9GJ/IxEeqUn0rkDnrWjcheRkNc5LpoRuSmMyP3yHIa1e/YfKPsNVbvZWL2LZWV1vLG0nOaDzhLP6BxLvq/we2ck+kq/Ez2S44mJap/j+ip3EQlbyQkxjO6VyuheqV9avq+xiZJte1hftZuN1bvZULWLDdW7eXNZOTV7Gg68LsIgKymevLQEclMTyElNOPB7XmqipzdAUbmLiHxFbFQkBZmdKcjs/G/ranbvZ0N1S+mXbNtNyfY9lGzfwz9XVlK9a/+XXtslLorctJai/6L4c1ISyE6JJys5jtioyKB9B5W7iMgxSEmMYWRiDCPz/v02Fbv3NR4o+5Jtew78vqJ8B2+vqKCh6f/Heswgs3Mc3xiWxc/OHRjwnCp3EZEASYyNYkBWy3n2X9XU7Civ28vm7Xspq91Lac0eSmv20i0pPihZVO4iIm0gMsLITklos1sWts/DvCIi4heVu4hICFK5i4iEIJW7iEgIUrmLiIQglbuISAhSuYuIhCCVu4hICGoXN8g2syqg2I+3SAeqAxSnIwi37wv6zuFC3/nY5DnnMg61ol2Uu7/MrOhwdwAPReH2fUHfOVzoOweOhmVEREKQyl1EJASFSrk/6HWANhZu3xf0ncOFvnOAhMSYu4iIfFmo7LmLiMhBVO4iIiGoQ5e7mZ1lZqvNbJ2Z3eZ1nmAzsxwz+5eZrTSz5WZ2s9eZ2oqZRZrZZ2b2D6+ztAUzSzazWWa2yvfve5zXmYLJzG7x/Te9zMyeNbM4rzMFg5k9amZbzWzZQctSzWyOma31Pf77/ftaocOWu5lFAn8BzgYGApeZWeBvRNi+NIcBBp4AAAKBSURBVAI/dM4NAMYCN4bBd/7CzcBKr0O0oT8Cbzrn+gPDCOHvbmY9gJuAQufcYCASuNTbVEHzOHDWV5bdBsx1zhUAc33P/dZhyx0YDaxzzm1wzu0HngMmeZwpqJxz5c65Rb7fd9LyP3wPb1MFn5llA+cCD3udpS2YWRdgAvAIgHNuv3Ou1ttUQRcFxJtZFJAAbPE4T1A45+YB27+yeBIww/f7DOCCQHxWRy73HsDmg56XEgZF9wUz6wkcByzwNkmb+APwY6DZ6yBtJB+oAh7zDUU9bGaJXocKFudcGXAXUAKUA3XOube9TdWmMp1z5dCyAwd0DcSbduRyt0MsC4vzOs2sE/ACMN05t8PrPMFkZucBW51zC73O0oaigBHAA86544DdBOiv6u2Rb4x5EtAL6A4kmtkUb1N1fB253EuBnIOeZxOif5U7mJlF01LsTzvnXvQ6Txs4ATjfzDbRMvR2qpk95W2koCsFSp1zX/ytbBYtZR+qTgM2OueqnHMNwIvA8R5nakuVZpYF4HvcGog37cjl/ilQYGa9zCyGlgMwr3qcKajMzGgZh13pnLvH6zxtwTn3U+dctnOuJy3/jt9xzoX0Xp1zrgLYbGb9fIsmAis8jBRsJcBYM0vw/Tc+kRA+gHwIrwJTfb9PBV4JxJtGBeJNvOCcazSz7wNv0XJ0/VHn3HKPYwXbCcAVwFIzW+xb9p/OudkeZpLg+AHwtG/HZQNwlcd5gsY5t8DMZgGLaDkj7DNCdBoCM3sWOBlIN7NS4HbgN8DzZnYNLX/QTQ7IZ2n6ARGR0NORh2VEROQwVO4iIiFI5S4iEoJU7iIiIUjlLiISglTuIiIhSOUuIhKC/g9CF0a3lDpPKAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"t = np.linspace(0,10,40)\n",
"T_0 = 98.6\n",
"\n",
"T_analytical = T_a + (T_0 - T_a)*np.exp(-1*K*t)\n",
"plt.plot(t, T_analytical)\n",
"\n",
"dt = 2\n",
"T_numerical = np.zeros(len(t))\n",
"T_numerical[0] = 85"
]
},
{
"cell_type": "code",
"execution_count": 157,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"As t->infinity the body temp will equal the ambient temperature, 65°\n"
]
}
],
"source": [
"print('As t->infinity the body temp will equal the ambient temperature, 65°')"
]
},
{
"cell_type": "code",
"execution_count": 158,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"68.05594895981402\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 ago since the corpse was found at 85 degrees\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",
"\n",
" T_numerical[i] = (-K*(T_numerical[i-1])-T_a*dt) +T_numerical[i-1]\n",
"plt.plot(t, T_numerical, 'r')\n",
"A = T_analytical[34]\n",
"print(A)\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 ago since the corpse was found at 85 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": 168,
"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": [
"\n",
"\n",
"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": 173,
"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')"
]
},
{
"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
}