Skip to content
Permalink
26b791dcf0
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
365 lines (365 sloc) 72.8 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": 29,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"K is 0.6111111111111112\n"
]
}
],
"source": [
"import numpy as np\n",
"temp = np.linspace(74,85,10)\n",
"T_a = 65\n",
"T = 74\n",
"dt = 2\n",
"Ts = 85\n",
"dT_dt = (Ts-T)/dt\n",
"K = dT_dt/(T-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": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6111111111111112"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def measure_K(Temp_t1,Temp_t2,Temp_ambient,delta_t):\n",
" \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",
" Returns\n",
" -------\n",
" your outputs...\n",
" \n",
" '''\n",
" dT_dt = (Temp_t2 - Temp_t1)/delta_t\n",
" \n",
" k = -dT_dt/(Temp_t2-Temp_ambient)\n",
" \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": 95,
"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": [
"#A\n",
"import matplotlib.pyplot as plt\n",
"Ta=65\n",
"Ti = 85\n",
"Ts = 98.6\n",
"dt= np.log((Ts-Ta)/(Ti-Ta))/-K\n",
"Delta = 20\n",
"t = np.linspace(0,20,Delta)\n",
"\n",
"Temp_analytical = Ta + (Ti - Ta)*np.exp(-K*t)\n",
"\n",
"Temp_numerical = np.zeros(len(t))\n",
"Temp_numerical[0] = Ti\n",
"for i in range(1,len(t)):\n",
" Temp_numerical[i] = Temp_numerical[i-1]+ (-K*((Temp_numerical[i-1])-Ta));\n",
" \n",
"plt.plot(t,Temp_numerical, 'o-',label='Numerical Temperature')\n",
"plt.plot(t,Temp_analytical, label='Analytical Temperature')\n",
"plt.title('Temperature of Cooling Body')\n",
"plt.xlabel('Time [Hours]')\n",
"plt.ylabel('Temeperature [degF]')\n",
"plt.legend(loc='best');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#B\n",
"As time approaches inifity, the temperature approaches 65 degrees, which is the ambient temperature"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Time of Death: 10 : 09 am\n"
]
}
],
"source": [
"#C\n",
"time_found = 11 \n",
"time_of_death = 11 + dt\n",
"print('Time of Death:',int(time_of_death),':',format(int(60*(time_of_death-int(time_of_death))),'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": 104,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The Ambient Temperature is 55 Degrees Fahrenheit\n",
"The Ambient Temperature is 58 Degrees Fahrenheit\n",
"The Ambient Temperature is 60 Degrees Fahrenheit\n",
"The Ambient Temperature is 65 Degrees Fahrenheit\n",
"The Ambient Temperature is 66 Degrees Fahrenheit\n",
"The Ambient Temperature is 67 Degrees Fahrenheit\n",
"None None None None None None\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": [
"#A\n",
"Temp=np.array([55,58,60,65,66,67])\n",
"def Temp_ambient(t):\n",
" if 2>=t>=-3:\n",
" i=t-3\n",
" else: \n",
" print('Temperature Unkown')\n",
" return\n",
" Temp=np.array([55,58,60,65,66,67])\n",
" print('The Ambient Temperature is',Temp[i],'Degrees Fahrenheit')\n",
"t=np.linspace(-3,2,6) \n",
"plt.plot(t,Temp)\n",
"plt.xlabel('Time of day')\n",
"plt.ylabel('Temperature')\n",
"plt.title('Time vs. Ambient Temperature');\n",
"print(Temp_ambient(-3),Temp_ambient(-2),Temp_ambient(-1),Temp_ambient(0),Temp_ambient(1),Temp_ambient(2))"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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ogPioUOHOHz4MACjRo3ye665c+fy+uuve5dbt3aaKt98802mTp1KSUkJu3btYu3atdVOEOvWrWPNmjUMHuzMeltaWkpaWpp3+6hRo7zvoWfPnrRv70yJnpGRQU5ODrGxsXTu3JkBAwYAcNNNNzF16lQuueSSSo87duxY7+vt27dz/fXX891333H8+HHOPvvsar0HgPPPP59OnToBzue1aNEiMjMzASgsLKRjx46VFQ9KSG+UU9WHgYrXgX4nUVfVXGCEz/IHwAehi+6ExPReMB+O7FgF/UbWxSmN8auqX/oDH/uUnX46UaQmxvHGHeef8vnvuecezj33XMaPH+9dFxUV5a2uUFWKioq825o1a+Z9HRER4V2OiIjw1o2XlZUxf/58v4kgISHBbxyqelK3zK1bt/Lkk0+yaNEiWrduzS233FKju89VlV69evHll1/63e77Hiq+P897qhibiFR5XN/3euedd/KrX/2KESNGMHfuXB577DG/ZXw/+9LS0nLtDb7HU1VuvfVWHnnkkYDvuyZsLCYgNTWNPZoIe2r1Ngtjap2n3cxXbbabtWnThuuvv54XX3zRuy4jI4MlS5YA8M4771BcXFytYw4dOpRnnnnGu7x8+fJql9m/fz+HDh0iISGBVq1asXv3bj788MNqxeHRvXt3du7cycKFTs/FoqIi1qypXgXF1q1bWbRoEQAzZsxg0KBB1TruwYMHSU1NRVWZPn26d32LFi28V1dQ/rOfOXMmpaWlfo83ePBg3nzzTW8ng/z8fLZv91/lWB2WIIC2zZuxiY7EHdgY7lCMqdRVfVP549U9SU2MQ3CuHP54dc9abTe77777yvVmuv322/nf//5HVlYWCxYsCPirP5Cnn36axYsX06tXL7p3785zzz1XZZmHHnqI/fv3c84559C7d28+++wzevfuTd++fenRowe33norAwcOrPZ7A+cK4a233uLee+/1HnPBggXVOkaPHj144YUX6NWrF0ePHmXChAnVOu7kyZMZM2YMF198sbcKC2D06NG8+eab9O3bl6+//po77riDOXPmkJWVxfLly8td0fjq2bMnDz/8MIMHD6ZXr14MHTrU20B+KhrVnNSZmZla0wmDZv5hHCOKZ9Ps17sgwvKmqTvr1q2jW7du4Q7DBGnTpk1ce+21QV0J1Tf+/tZEZImqZvrb374JXUdanUUzPQYHAk6uZIwxTYolCFdZWyerlu62dghjTGBnnnlmg7x6qAlLEK64FKf3yJHtK8MciTHG1A+WIFxpp7UjR5Mp2mVXEMYYA5YgvNKTE9hYlkZU/vpwh2KMMfWCJQhXh5axbJKOtDiyFUqr18/bGGMaI0sQrogIYV/86URpMezbEu5wjKlzM2fORERYv/7UrqIrDu7nzx/+8IdyyzUdYXXy5Mk8+WT5ucceffRR79DekZGR3te1OVJsbduyZUu5oUXqC0sQPo637uq82LMuvIEYEwaeO4Lr4ouqYoKozTkaHnzwQe/Q3nFxcd7XNZ1rorZUNix3TRNEoDura4slCB/Rp3WlTAW1ITdME3PkyBHmzZvHiy++WO6L6vPPP+eSSy7h2muvpWvXrtx44414bq793e9+R//+/TnnnHOYMGECFW+6/eSTTxgzZox3ec6cOVx99dVMmjSJwsJC+vTpw4033gicGMYa4PHHH6dnz5707t2bSZOc6ehfeOEF+vfvT+/evbnmmmsoKCio0fvcvXs3V199NZmZmWRlZXnnXnjooYe45ZZbGDp0KBkZGcyaNYv77ruPc845h+9973veL/e0tDQmTZpEVlYW5513Hlu2bKnyuHfccQdDhgxh/PjxbN68mQsvvJC+ffvSr18/753WkyZN4rPPPvNe6UybNs07oivA8OHD+eqrrygpKSExMZGHHnqIrKwsFi5cGHCI8doQ0sH6Gpq0dm3I1vak5K4hNtzBmKbpw0nw3araPeZpPeEK/4PBecyaNYvhw4dz9tln06ZNG5YuXcq5554LwLJly1izZg0pKSkMHDiQefPmMWjQICZOnMhvfvMbAMaNG8f777/PlVde6T3mZZddxp133kleXh5t27bln//8J+PHj+fKK6/kmWee8XsvwYcffsisWbNYsGAB8fHx7Nu3D4Crr76a22+/HXC+dF988UV++tOfVvujuOuuu3jggQcYMGAA2dnZjBw5ktWrnRkHtm7dyieffMKKFSu48MILeeedd5gyZQpXXnklH330kXeuitatW7Nw4UJeeukl7r33XmbNmlXpcZctW8YXX3xBbGwsBQUFzJkzh9jYWNavX88PfvADFixYwGOPPcYzzzzjnfth2rRpAd/DwYMHOffcc/n973/P8ePHufTSSwMOMX6qLEH46NQmnm81jQ52s5xpYmbMmOH9xTp27FhmzJjhTRBZWVneYav79OlDdnY2gwYN4rPPPuPxxx+noKCAffv20aNHj3IJQkQYN24cr7zyCuPHj2f+/Pm8/PLLlcYxd+5cxo8fT3x8POAMHgiwevVqHnroIQ4cOMCRI0cYNmxYjd7n3Llz2bDhxJzz+/fv9072M2LECKKioujZsycAQ4YMAZxxjrKzs71lbrjhBgBuvPFG7xVOZccdPXo0sbHOT87jx48zceJEVqxYQVRUlHdSpeqIiYnxXplVNXT5qbIE4SMjKYF3NY0hh5dB8TGItusIU8eq+KUfCvn5+Xz66aesXr0aEaG0tBQR4fHHHwfKD+kdGRlJSUkJx44d4yc/+QmLFy+mY8eOTJ482e/Q254rhtjYWK677jqioir/yvE3zDc4Dd+zZs2id+/e/Otf/yo3uVB1qCoLFy4kJibmpG2+w3z7bvcd5htOHuq7quP6Dm44ZcoUOnbsyCuvvEJxcXG5qjVfvsN8A+U+27i4OG8MVQ0xfqqsDcJHaus4NtGJCC2F/G/DHY4xdeKtt97i5ptvZtu2bWRnZ7Njxw46d+7MV199FbCM5wsrOTmZI0eOBOy1lJKSQkpKCr///e+55ZZbvOujo6P9Dhs+dOhQXnrpJW8bg6eK6fDhw3To0IHi4mJeffXVmr5VBg8ezLPPPutdrsmQGW+88QbgXHV5RpQN9rgHDx6kQ4cOiAjTp0/3ttv4G+Z72bJlqCrZ2dneIb8rqo2hyysT0gQhIj8TkTUislpEZohIrIg8ISLrRWSliMwUkcQAZbNFZJWILBeRmg3RWk3RkREcbHGms2A9mUwTMWPGjHKNyQDXXHMNr732WsAyiYmJ3H777fTs2ZOrrrqK/v37B9z3xhtvpGPHjnTv3t27bsKECfTq1cvbSO0xfPhwRo0aRWZmJn369PF2YX3kkUc477zzGDJkCF27dq3J2wTg2WefZd68ed6hx1944YVqH6OgoICsrCz+8Y9/MGXKlGodd+LEiUybNo0BAwawbds271VL3759KS0tpXfv3jz99NNcfPHFpKam0rNnTyZNmkSfPn38Hq82hi6vTMiG+xaRVOAroLuqForImzgzxOUCn7rTiv4JQFV/4ad8NpCpqnsrbgvkVIb79rhl2ldMyxlF1KC7YXDNJ0U3JliNfbjviRMn0rdvX2677bZwh3LK0tLSWL16NYmJfn/X1nv1bbjvKCBORKKAeCBXVWerqqdC7xug9lpUakHH5ES2kmJdXY2pBf369WPlypXcdNNN4Q7F1EDIGqlVdaeIPAlsBwqB2ao6u8JutwJvBDoEMFtEFHheVf322xKRCcAEwDuB96lIT4pnfWkqp+9eR2TVuxtjKhGo7ryhysnJCXcIdSpkVxAi0hoYDXQGUoAEEbnJZ/uDQAkQqMVpoKqeC1wB3CkiF/nbSVWnqmqmqma2bdv2lOPOSEpgQ1lHIg9ug+NHTvl4xgSjMc3saOqnmvyNhbKKaTCwVVXzVLUYeBu4AEBEfgCMBG7UAFGraq77vAeYCWSFMFav9CTnXggA9m6ofGdjakFsbCz5+fmWJEzIqCr5+fne+zGCFcr7ILYDA0QkHqeK6XJgsYgMB34BXKyqfu+XF5EEIEJVD7uvhwK/C2GsXh3bxLPR0yyyZx2k9quL05omLC0tjZycHPLy8sIdimnEYmNjq30TXSjbIBaIyFvAUpyqpGXAVGAN0AyY497s8Y2q/khEUoBpqjoCaA/MdLdHAa+p6kehitVXbHQkxc07UVwcQ7R1dTV1IDo6ms6dO4c7DGNOEtI7qVX1YaBiX9EzA+ybC4xwX28Beocytsp0TG7J9j2dOMN6MhljmjC7k9qP9KR41pWmwB6bXc4Y03RZgvAjPSmBVUWpcDgXCveHOxxjjAkLSxB+ZCTFs8HTk8muIowxTZQlCD86JcXzbZmbIPKsodoY0zRZgvAjPSmBnSRTFBlvg/YZY5osSxB+NG8WRXLzWHbFdLYEYYxpsixBBJCRFM8mOoJ1dTXGNFGWIALolBTPyqIOUJAPR+wOV2NM02MJIoCMpAQWF57mLNhVhDGmCbIEEUB6Ujwbyzo6C9YOYYxpgixBBJCRlEAerSiKSbQrCGNMk2QJIoD0pHhAyI8/HfLsZjljTNNjCSKAxPgYWsVFsy0y3alisrH6jTFNjCWISmQkxbO+LA2OH4JDO8MdjjHG1ClLEJVIT0pgUYGnJ5NVMxljmhZLEJVIT4rn60PuPNfWUG2MaWJCmiBE5GciskZEVovIDBGJFZE2IjJHRL51n1sHKDtcRDaIyCYRmRTKOANJT0pgvzanJL69dXU1xjQ5AWeUE5GlQZTPU9VhAcqnAncB3VW1UETeBMYC3YFPVPUx94t/Es4c1b5lI4FngSFADrBIRN5V1Tr9GZ+RFA/AoZZn0sauIIwxTUxlU442A0ZVsl2At4M4fpyIFAPxQC7wS+ASd/t04HMqJAggC9jkTj2KiLwOjAbq9Fs6PSkBgF0xGbTJfRvKyiDCauWMMU1DZQniTlXdXFlhEbkr0DZV3SkiTwLbgUJgtqrOFpH2qrrL3WeXiLTzUzwV2OGznAOcFyCGCcAEgE6dOlUWbrUlN48hPiaSTXSiR0khHMiGNqfX6jmMMaa+quzn8LdVFVbVzwNtc9sWRgOdgRQgQURuCjIu8Xe6ADFMVdVMVc1s27ZtkIcPMggRZ/rR4hRnhbVDGGOakMoSxHueF277QXUNBraqap6qFuNUR10A7BaRDu5xOwB7/JTNATr6LKfhVE/VuYykeOYfTnYWrB3CGNOEVJYgfH/Fn1WDY28HBohIvIgIcDmwDngX+IG7zw+Ad/yUXQScJSKdRSQGp3H73RrEcMrSkxLYuB+0VUe7F8IY06RU1gahAV4HRVUXiMhbwFKgBFgGTAWaA2+KyG04SeQ6ABFJAaap6ghVLRGRicDHQCTwkqquqW4MtSE9KZ7iUuVY6y7EWRWTMaYJqSxB9BaRfThXEi3c17jLqqptqjq4qj4MPFxh9XGcq4mK++YCI3yWPwA+qOocoZbudnXNTziDtO3/g9JiiIwOc1TGGBN6lSWImDqLoh7LcLu6botMJ62sGPZtgbZdwhyVMcaEXsA2CFUtVdVSIMHPo8k4rWUsMVERrC9NdVZYQ7UxpokI5q6vtcB+nPaCHe7rHSKyUET6hjK4+iAiQujUJp6lR9uCRFhXV2NMkxFMgngHGKWqiaraCrgSeBX4GfBcKIOrLzKS4tl8oNS5Sc6uIIwxTUQwCeI8Vf2vZ8FtPL5UVecBsSGLrB5JT0ogO/8o2q6bdXU1xjQZwSSIAyJyn4ikuo973XWRQGmI46sX0pPiOVZcxtGWZ8G+zVB8LNwhGWNMyAWTIG4AzgQ+ch9nATfi9IC6IXSh1R/eQfuadQYtg70bwxyRMcaEXmXdXAFQ1TzgxyISq6oVfzpvCE1Y9Ytn2O/N0sm5pXzPOujQK6wxGWNMqFV5BSEi54nIKmCju9xbRP4W8sjqkdTEOKIihDXHkiEiGvKsJ5MxpvELporpKWAkkA+gqiuAS0MZVH0TFRlBaus4tuwvguSzrKurMaZJCCZBRKjqtgrrmkTjtK/0pAS25xdAu27W1dUY0yQEkyB2iEgWoCISKSL34FY3NSUZSfFOV9e23eDAdjh+JNwhGWNMSAWTIH4M3At0AnYDA9x1TUp6UgKHj5VwpJU78nlek2ifN8Y0YcH0YtqDMx9Dk5bexunJtD0qnR7gVDOl9QtrTMYYE0oBE4SI/IVK5oFQ1XtDElE9lZHsJIhvi5LoERVnDdXGmEavsiuI1e7zAOAcwDPt6LU4M75VSkS6AG/4rDod+A1wPuAZLzsROKCqffyUzwYO4zSIl6hqZlXnDKW01vGIQPa+Y85w39bV1RjTyAVMEKr6IoCI3Ahc5M4rjSDGSjsAACAASURBVIg8i3NHdaVUdQPQxy0TCewEZqrqXz37iMgU4GAlh7lUVfcG8T5CLjY6kpRWcWzz9GTa8nm4QzLGmJAKppE6lfJzQMS766rjcmCzb3dZd57q64EZ1TxW2HRq4/Rkol03OLwLCvZVXcgYYxqoYBLEE8ByEZkmItNw5pj+UzXPM5aTE8GFwG5V/TZAGQVmi8gSEZkQ6MAiMkFEFovI4ry8vGqGVT0ZyfHuvRDdnRV5NrKrMabxqjJBqOo0YCDwofu4UFVfCvYEIhIDjAL+XWHTDVR+9TBQVc8FrgDuFJGLAsQ3VVUzVTWzbdu2wYZVI+lJCeQfLeKwp6urNVQbYxqxgAlCRJI9r1V1p6r+x33s9LdPJa4Alqrqbp9yUcDVlG/ELkdVc93nPcBMICuIc4WUZ9C+bUWJ0KylJQhjTKNW2RXE7CDKB7OPvyuFwcB6Vc3xV0BEEkSkhec1MJQTvarCplMbpykme18BtO1qCcIY06hV1s21t4hU1gorQEFlBxeReGAIcEeFTSe1SYhICjBNVUcA7YGZTjs2UcBrqlplz6lQS/dcQXh6Mq17D1TBidMYYxqVyhJETBDlA95IB6CqBUCSn/W3+FmXC4xwX28Begdx/jqV0CyKti2asS3/KKR1h6XT4WgeNG8X7tCMMabWBaxiUtXSIB5ldRlsfZDeJp7s/AJo19VZYSO7GmMaqWC6uRof6UkJzhWEp6urtUMYYxopSxDVlJEUz+5DxymMbgPxSZYgjDGNVlAJQkQGiMjN7uskEekU2rDqr/RkpyfT9v2F0LabJQhjTKMVzJzUDwEPAw+5q2KB10IZVH3mGfbbO+TGnnVOTyZjjGlkgrmCuBand9FRcG6aA1qGMqj6LCPJvYLwdHUtOgwH/d7OYYwxDVowCeK4qipul1b33oYmq1V8NInx0e4VhI3JZIxpvIJJEG+7Q3y3EpHxOHdPBz0WU2Pk9GSyrq7GmMYtmClH/yQiVwBFODevPaqqH4Y8snosvU08S7fvh7jW0KKDNVQbYxqlShOEO9HPB6o6DGckV4PT1fX9lbkUlZQR066bXUEYYxqlSquYVLUUKBKRJtso7U96UgJlCjn73bkh8jZCWWm4wzLGmFpVZRUTcARYISKzcXsyAajqvSGLqp7LSD4xaN/pbbtCSSHsz4akM8IbmDHG1KJgEsRc92Fc3mG/849Cus+QG5YgjDGNSDCN1C/WRSANSXLzGBJiIp2eTJldnJV71kG3keENzBhjalEwd1J/KyIbKz7qIrj6SkRODNrXrLnTDrHls3CHZYwxtSqYKqZBPq9jgeuAVqEJp+HISI5n/a7DzkK3K+F/j8ORPTY3hDGm0ajyCkJVd/s8tqnqk8ClVZUTkS4istzncUhE7hGRySKy02f9iADlh4vIBhHZJCKTavDeQqpTmwR27C+gtEyh+2hAnRnmjDGmkajyCkJEevksRgCZBHEFoaobgD7uMSKBncBMYDzwFzfRBDpnJPAsznSlOcAiEXlXVevNDQcZSfEUlyq5Bwrp2K47tDkD1r0L/W8Ld2jGGFMrgqlietbndQmwFfh/1TzP5cBmVd0mwc3fnAVscqceRUReB0YD9SZBpLuD9m3LL6Bjm3joPgrmPQ0F+yC+TZijM8aYUxfMWEw3qeqF7uNSVb0V596I6hgLzPBZnigiK0XkJRFp7Wf/VGCHz3KOu+4kIjJBRBaLyOK8vLxqhlVznnshsvPdW0O6jQIthQ0f1FkMxhgTSsEkiJl+1s0K9gQiEgOMAv7trvoHcAZO9dMuYIq/Yn7W+Z10QVWnqmqmqma2bds22LBOWfsWscRERbB9X4GzIqUvtOoEa9+tsxiMMSaUAlYxicjZQDecUVxH+WxqidObKVhXAEtVdTc4jd4+53gBeN9PmRygo89yGpBbjXOGXESEkN4mnuy97hWEiFPNtOB5OHYQYpt8Ry9jTANX2RVED5zJghJxurZ6HhcAd1TjHDfgU70kIh18to0BVvspswg4S0Q6u1cgY4F699PcO+y3R7dRUFYMGz8OX1DGGFNLAl5BqOpMYKaIDFLVr2pycHdyoSGUTyiPi0gfnCqjbM82EUkBpqnqCFUtEZGJwMdAJPCSqq6pSQyhlJ4Uz1eb8lBVRATS+jvDf699B3pdH+7wjDHmlATTi2mRiNyBc0XhrVpS1QlVFVTVAiCpwrpxAfbNxZna1LP8AVCvW3wzkuI5VlzGnsPHad8yFiIioOtIWPYKFB2FmIRwh2iMMTUWTCP1y0AGMBJYgNPAfCyEMTUYnq6u3nYIcNohSgrh2zlhisoYY2pHMAnibFX9JXDEHbhvOHBOaMNqGDJ87oXw6nQBxCc71UzGGNOABZMgit3nAyLSDWgBpIcupIYjJTGWqAg5cS8EQGQUdP0efDsbiu1CyxjTcAWTIF50b2Z7GKfReCP+711ocqIiI0hrHce2fQXlN3QfBUVHYPOn4QnMGGNqQTBzUu9V1f3AZ0CnOomqAfEO++0r4yLnPoh170JXv2MRGmNMvRfMnNT31FEsDVJGUjzb9hag6nOjd1QMdPmeM+xGSVH4gjPGmFMQTBXTx+4w3R1EpKXnEfLIGohOSQkcPl7CvqMVEkH3Uc4d1Vu/CE9gxhhzioK5D8Jzk9t9ODe3ifts1U3AroOFAGT+fi4piXHcP6wLV/VNhdMvhZjmsO4dOGtwmKM0xpjqC2bCoI4+j06e57oIrr6btWwn/zd/G+BkzJ0HCvnl26uYtWwnRMfC2cNg/X+htCS8gRpjTA0EMyd1nIhMEpF/uMtnisgVoQ+t/nvi4w0cLykrt66wuJQnPt7gLHQbBQX5sP3rMERnjDGnJpg2iJfc/S50l3OBP4QsogYk90Bh5evPGgJRcTYEuDGmQQomQZylqn/AvWHOHV8pqGnhGruUxLjK18ckOO0P696DsjK/+xpjTH0VTIIoEpFY3Al7RKQzYH03gfuHdSEuOrLcurjoSO4f1uXEim6j4ch3kLOwjqMzxphTE0yC+B3wEZAmItNxbpj7ZUijaiCu6pvKH6/uSarPlcQvr3B7MXmcPQwiY6yayRjT4ATTi+kjnImCbseZfjRLVT8JdWANxVV9U5k36TI++/klAOwvqNBjKbal0+V13XugfmdNNcaYeimYKwiA84GB7vN5oQun4eqcnMBFZ7fltYXbKC6t0N7QfTQc3A65y8ITnDHG1EAw3Vz/BtwNfAtsAu5y11VVrouILPd5HHLvyH5CRNaLyEoRmSkiiQHKZ4vIKrfs4uq+sXAYNyCd3YeO88m63eU3dLkCIqKcsZmMMaaBCOYK4jJgsKq+oKov4MwHcVlVhVR1g6r2UdU+QD+gAKeKag5wjqr2whkZtrL2jEvdY2QGEWfYXda1HamJcfzfN9vKb4hvAxkXOnNEWDWTMaaBCCZBbATSfJY7AKureZ7Lgc2quk1VZ6uqp6L+mwrHbtAiI4Tvn9eJeZvy2bTnSPmN3UfBvi2wu95NrW2MMX4FkyBaAetEZK6IzAHWAYki8raIvB3kecYCM/ysvxX4MEAZBWaLyBIRCTj/tYhMEJHFIrI4Ly8vyHBC5//170h0pPBKxauIriMBsWomY0yDEcxgfY+eyglEJAYYRYWqJBF5ECgBXg1QdKCq5opIO2COiKxX1ZOGRlXVqcBUgMzMzLDX3yQ3b8aInh34z5IcHhjehfgY9yNu3g7SBzrdXS/9VXiDNMaYIATTzfUTYANQ5r7+CvhGVT8JsrvrFcBSVfW23IrID4CRwI2q/ivlVTXXfd6D2702iHPVC+MGpHP4eAnvLM8tv6H7KMhbB3kbwxOYMcZUQzC9mG4F3gWmuavSgXeqcY4b8KleEpHhwC+AUe6wHf7OmSAiLTyvgaFUv90jbPqlt6Zbh5a8PH9b+YmEul3pPK+rzsdnjDHhEUwbxF3AAOAQgKpuBNoHc3ARiQeGAL5tFc8ALXCqjZaLyHPuviki8oG7T3vgKxFZASwE/uvesNcgiAjjBqSzbtchlm7ff2JDyxRI6293VRtjGoRgEsQxVfWOveTOUx0UVS1Q1SRVPeiz7kx3Tok+7uNH7vpcVR3hvt6iqr3dRw9VPaV2kHAY3SeFFs2ivPNFeHUbBd+thH1bwxOYMcYEKZgEMU9EHgBiReRS4A3g/dCG1fAlNIvimn5pfLDqO/YeOX5iQ/dRzvO698ITmDHGBCmYBPEAcBhYj3NH9SfAg6EMqrG4aUA6RaVlvLFox4mVrTOgQ2/r7mqMqfeC6cVUqqr/UNUxqnqV+9omNwjCme2ac8EZSby2YDulZb6N1aMgZxEc3Bm+4IwxpgrB9GIaLiKLRGSPiOwTkf0isq8ugmsMxg1IZ+eBQj5bv+fEyu6jnWerZjLG1GPBVDE9A9wBpAJtgWT32QRhSPf2tG/ZrPz4TMlnQdtuVs1kjKnXgkkQOcByVS12q5tKVbU01IE1FlGREXw/K53/bcwje+/RExu6j4ZtX8ORPYELG2NMGAXbSP2eiNwvInd5HqEOrDG5IasjURHCqwt8riK6jwIU1luHMGNM/RRMgvgtUAok4lQteR4mSO1axjLsnNN4c3EOx4rdi6923aHNGc4Q4MYYUw8FM1hfO1XtF/JIGrlxA9L578pdvLcil+syO4KIcxUx72ko2OfMGWGMMfVIMFcQn4hIlRMEmcqd17kNZ7VrXr6xutso0FLY8EHggsYYEybBJIjbgbkicsS6udaciDDu/HRW5hxkxY4DzsqUvtCqk43NZIypl4JJEMlANM7EQdbN9RSM6ZtKQkzkiasITzXTls/g2MHKCxtjTB0L6k5q4DrgF+7rDkCfUAfWGLWIjWbMuam8tyKX/Ufd8Q+7jYLSItj4cXiDM8aYCoK5k/oZ4FJgnLuqAHgulEE1ZuMGZHC8pIx/L3HHZ0rr71QzzXsaSksqL2yMMXUomCqmC1T1DuAYgKruA2JCGlUj1uW0FmR1bsMr32ynrEwhIgKGPQq7V8ECy7vGmPojmARRLCIRgAKISBJQ5WB9ItLFnRDI8zgkIveISBsRmSMi37rPrQOUHy4iG0Rkk4hMqta7qufGDUhn+74Cvvg2z1nR7Uo4ezh89gc4mBPe4IwxxhUwQYiI5x6JZ4H/AG1F5Lc4c1L/qaoDq+oGz6RAQD+cqqmZwCTgE1U9C2fo8JO+/N1JiZ7Fmc+6O3CDiHSvzhurz4b1OI3k5s14xbex+orHQcvgw1+ENzhjjHFVdgWxEEBVXwYeAp4E9gPXqerr1TzP5cBmVd0GjAamu+unA1f52T8L2OTOLFcEvO6WaxRioiK4Iasjn6zfw4597rTcrdPhkl84Q29s+DC8ARpjDJUnCPG8UNU1qvqUqv5VVVfX4DxjgRnu6/aquss97i6gnZ/9UwGfWXbIcdedHKTIBBFZLCKL8/LyahBaeHz/vE5EiPDawu0nVp4/0Rnl9YP7oeho4MLGGFMHKksQbUXk3kCPYE8gIjHAKODf1YhL/KxTP+tQ1amqmqmqmW3bNpzbMzq0imNwt3a8sWgHx0vc8Zkio2HkX+DgDvhflbV4xhgTUpUliEigOdAiwCNYVwBLVXW3u7xbRDoAuM/+xrvOATr6LKcBudU4Z4MwbkAG+44W8eGq706sTD8f+o6D+c/C7jXhC84Y0+SJqt8f5ojIUlU995RPIPI68LGq/tNdfgLIV9XH3N5JbVT1gQplooCNOG0XO4FFwPdVtdJvzMzMTF28ePGphlxnVJWsP8zlQEExJaVKSmIc9w/rwlVd4uCZTEg6E8Z/5HSFNcaYEBCRJaqa6W9bUG0Qp3DieGAI8LbP6seAISLyrbvtMXffFBH5AEBVS4CJwMfAOuDNqpJDQ/TO8lwOFBRTXKoosPNAIb98exWzNhTC0N/DjgWw7P/CHaYxpomq7AqijXtTXIPR0K4gBj72KTsPFJ60PjUxjnm/uBT+NRJ2r4afLoGE5DBEaIxp7Gp0BdHQkkNDlOsnOXjXi8DIPzu9mWY/VMeRGWNMcHdSmxBJSYzzu75dy2bOi7ZdYOBdsGIGbP2iDiMzxhhLEGF1/7AuxEVHnrT+eHEpm/OOOAsX3Q+tM+D9e6HkeN0GaIxp0ixBhNFVfVP549U9SU2MQ3DaHn4+7GyiIiO4/rn5rMk9CNFxMGIK5H/rjPhqjDF1JGAjdUPU0BqpA9mSd4Sbpi3g8PES/nlLfzIz2sCbP3CG4PjJfEg6I9whGmMaiZp2czVhcnrb5vz7xxfQtnkzxr24kC825sHwxyAyBj74OTSipG6Mqb8sQdRTqYlxvHHH+WQkJ3Db9EV8sA24/New+VNYMzPc4RljmgBLEPVY2xbNeH3CAHqnJTLxtaX8W4ZBhz7w0SSbw9oYE3KWIOq5VnHRvHxbFgPPTOb+t9fwTsf74WgefPr7cIdmjGnkLEE0APExUUz7QSZXnHMad38hLDvtOnThC7BzabhDM8Y0YpYgGohmUZH87Ya+XNcvjZu3DuFIdBL6/j1QWhLu0IwxjZQliAYkKjKCP13Ti+sG9mDS0e8ju1ZQuvCFcIdljGmkoqrexdQnERHCr0d24+nYcXz+xf/Imv1bxn6WxKpDCSeGC+/rd/I9Y4ypFruCaIBEhLuHnM28sx8goqyECYXTyg8XvmxnuEM0xjQCliAasA92xvO3kjGMjFzAkAjnDvLC4lKe+Hh9mCMzxjQGliAasNwDhbxQ+j3WlqXzbPRTjIn4EoCdB47x5zkb2br3aJgjNMY0ZCFNECKSKCJvich6EVknIueLyBsistx9ZIvI8gBls0Vklbtfwx9gKQRSEuMoIpqxRQ+yuKwLf4n5B/dGvUlsFPzt02+59MnPGfP3efzf/Gz2Hy0Kd7jGmAYmpIP1ich04EtVnSYiMUC8qh7w2T4FOKiqv/NTNhvIVNW9wZ6vsQzWF6xZy3byy7dXUVhcSjQlPBL1EmOjPicnZThR1zzHO6v3MXPZTtZ/d5joSOHSLu24+txULu3ajmZRkd5jPPHxBnIPFFojtzFNUGWD9YUsQYhIS2AFcLr6OYmICLAduExVv/WzPRtLEFUq9wXfKpbnz5jHOWv/DKn94IYZ0Lwda3MP8fbSHN5ZkUve4eO0iovme7060LZ5DFO/2EJhcZn3eHHRkfzx6p6WJIxpIsKVIPoAU4G1QG9gCXC3qh51t18E/DlgYCJbgf2AAs+r6tQA+00AJgB06tSp37Zt22r7rTQ8696D/9wOCW3h+29A++4AlJSWMW9zPjOX5vDRmu845pMYfKUmxjFv0mV1GbExJkzClSAygW+Agaq6QESeAg6p6q/d7f8ANqnqlADlU1Q1V0TaAXOAn6pqpfNuNsUriIB2LoUZNzhzWl//LzhzcLnNR46XcM7DHwcsPqLnaaQnJZCRFE9GUgIZyQm0a9EM58LvBKuiMqZhqyxBhPJGuRwgR1UXuMtvAZPcgKKAq4F+gQqraq77vEdEZgJZgE3MHKzUc+H2T+C1sfDq9TDicej/Q+/m5s2iSE2MY+eBwpOKNouKYP2uw8xes5uSshM/IOKiI0l3E0Z6cjz7jxYxa3kuRSXOlYjnPgwg6CRxqgnGylt5Kx+6H2ihbqT+Evihqm4QkclAgqreLyLDgV+q6sUByiUAEap62H09B/idqn5U2fnsCsKP44fhPz+EjR/BeT+GYY9CxIkGak8jt4dvG0RJaRm5B46RnX+UbflH2bq3gG35R8nOP8qOfYUUlfqvooqMEHqktKR5syjnERtFC89zbDTNm0XRIjaKVTsP8vL8bd4EAxAbFcGDI7sxqlcqUZFCdGQE0ZFy0pVLMPFXxcpb+aZc3iMsVUzuifsA04AYYAswXlX3i8i/gG9U9TmffVOAaao6QkROBzyz4kQBr6nqo1WdzxJEAGWlMPsh+ObvcNYwuPZFaNYCqPkvkNIy5cxffUCgv55Lu7Tl8LESjhwv8T4fOV5CaVnN/t6iIsQnYThJY+/hIkr9/P1GRwrdU1oRKRAhQoQI4nkdcWLdN1vyOV5ycpKLjY7g0i7t8OQkQXD/8yYqAeas3V3uf06PuOhIruh5mndZOJHcfPPcB6t2UVB0cvn4mEhG9upQbp3vMTzeW5kbsPyo3iknra/o3RWBy4/uU3X5d5Zb+fpYvrptiGFLEHXNEkQVFk2DDx6Adt2cxutWaad0uIGPfeq3iirQH6iqcqy4jMPHizlyrITLp/wvYIL5zcjuFJeWUVKmFJWUUVJWRnGpUlxa5qwvVV5ftCNgbBed3RZVpUyVsjKcZ1XKFO/zih0HApY/q11zJ2Y3bvUs+KzLzi8IWD6tdZz7nv1vV1VyDx4LWL5Dq1ifff3v892hwOXbt2wWcJvH7kPHA25r16Lq8nsOW/n6WF6ArY99r8ry3v3D1AZh6pv+P4TWGfDv8fDCZXDD605bRQ3dP6yL30vc+4d18bu/iBAXE0lcTCTtWjg3+gVKMLcO6lzl+b/8dm/A8i/fmlVl+coS3Jx7/dZ+Bl3+q19U/QuuugnWylv5YMqnJMZVWTZYNtRGU3PmYLhtNkQ1g3+OgLXv1vhQV/VN5Y9X9yQ1MQ7B+cOuTv3n/cO6EBcdWW5dZQnGylt5K1975YMROXny5Fo7WLhNnTp18oQJE8IdRv2X0BbOuQ6yv4T5z0BULHQcUL6CPEhdO7TktkGduWfw2dw2qDNdO7SsVtm01nGs2nmQI8dKSE2M4zdXdg86wVh5K2/la17e47e//e2uyZMn+7/PzNogmrDiQpj1E1jzNpxxOQy8GzpfVKNEYYxpmCprg7AqpqYsOg6ueRGG/h6+Wwkvj4LnLoTlM6DEBvczpqmzBNHURUTABT+Fe1bDqGegrARm/Qj+2hO+nAIF+8IdoTEmTCxBGEd0LJw7Dn4yH276j9MV9pPfwV96wH9/Dvmbwx2hMaaOWTdXU56I09PpzMGwew3M/zssne7cQ9H1e3D+ndDpfGunMKYJsCsIE1j7HnDVs07100U/h21fwz+vgBcuhVVvQWlxuCM0xoSQJQhTtRbt4bKH4Gdr4Ht/dsd3ug2e6gPznoZjB8MdoTEmBKybq6m+sjL49mOY/6xzL0VMc+gyAtLPd6qfkrs4jd/GmHrPhtowtSsiArpc4Txyl8OC52HTXFj1prM9NhE6DXAf50NKX+fObWNMg2IJwpyalD4w5h/OiHL7tsD2b2D7fOd5ozs6e2QzZwpUT8LomAVxieGN2xhTJatiMqFzdG/5hLFruXOfBQLtup9IGJ0GQGLHcEdrTJNkw32b+qGoAHYuOZE0diyEosPOtthW0KoTJHoeHZ3nVu5zXGvrWmtMCFgbhKkfYuKh84XOA5yJjHavcRLG3o1wYLtTTbXlcyg+WqFsi5OThmc5MR3ikyyBGFPLQpogRCQRZ0a5c3DmWbkVGAbcDuS5u/1KVT/wU3Y48BQQiTPT3GOhjNWEQUQkdOjlPHypQuF+J2F4Hgd3nHi97Ws4fqh8GYlwrkJiE53nuMQTy76vvdsSy2+LjK67921MAxHqK4ingI9U9VoRiQHicRLEX1T1yUCFRCQSeBYYAuQAi0TkXVVdG+J4TX0gAvFtnEdKH//7FB4onzSO7oVjB5z1xw46rw/lussHoLSKwQcjmznDnkfHus9xTs+rqDh3nbscHed/e2QzJ+FFRkNEFEREn7wcGeWzLerkZREn0UVEOs8SWWFZ/Kzz3WZXUKZ2hSxBiEhL4CLgFgBVLQKK/E0+70cWsElVt7jHeh0YDViCMI4499f/aT2D27+4sHzyOHaw/HLRESg+BiXuo7jwxOuiAijId7cfh5JC93Wh2+hen8iJRON5jZxIIidtp8J+7jPU8DUnliu8PHm/ivv6+27wsy7gd8gpJshTTrBhTNDxSXDrh7V+2FBeQZyOU430TxHpDSwB7na3TRSRm4HFwH2qur9C2VTAd8LhHOA8fycRkQnABIBOnTrVXvSmcYmOcx4tO9TucUtLnCRSWuQki7ISZwgSf68Dbit2bj7UMtBS57ms1GdZ/azzLOuJZVVAfZ4rrNMyJ+ZA273PVOM1J157j11hXbn1/tZVWO93eyX7Bdy3Ok6xfLg7+8QGP1FXdYQyQUQB5wI/VdUFIvIUMAl4BngE51/kEWAKTtuEL3+p2O+/gKpOBaaC04updkI3JkiRURDZPNxRGBMSoRwPIQfIUdUF7vJbwLmqultVS1W1DHgBpzrJX1nfjvFpQG4IYzXGGFNByBKEqn4H7BARzwzalwNrRcT3Gn8MsNpP8UXAWSLS2W3cHgu8G6pYjTHGnCzUvZh+CrzqfslvAcYDT4tIH5wqo2zgDgARScHpzjpCVUtEZCLwMU4315dUdU2IYzXGGOPD7qQ2xpgmrLI7qW1MZmOMMX5ZgjDGGOOXJQhjjDF+WYIwxhjjV6NqpBaRPGBbDYsnA3trMZzaYnFVj8VVPRZX9TTGuNJVta2/DY0qQZwKEVkcqCU/nCyu6rG4qsfiqp6mFpdVMRljjPHLEoQxxhi/LEGcMDXcAQRgcVWPxVU9Flf1NKm4rA3CGGOMX3YFYYwxxi9LEMYYY/xqUglCRIaLyAYR2SQik/xsFxF52t2+UkTOraO4OorIZyKyTkTWiMjdfva5REQOishy9/GbOootW0RWuec8aSTEcHxmItLF53NYLiKHROSeCvvUyeclIi+JyB4RWe2zro2IzBGRb93n1gHKVvr3GIK4nhCR9e6/00wRSQxQttJ/8xDENVlEdvr8W40IULauP683fGLKFpHlAcqG8vPy+91QZ39jqtokHjjDhm/GmQo1BlgBdK+wzwjgQ5wZ7QYAC+ootg44kykBtAA2+ontEuD9MHxu2UByJdvD8plV+Hf9Dudmnzr/vHDmXT8XWO2z7nFgkvt6EvCnmvw9hiCuoUCU+/pP/uIK5t88BHFNBn4exL9znX5eFbZPAX4Ths/L73dDXf2NNaUrEvw6HQAABdBJREFUiCxgk6puUdUi4HVgdIV9RgMvq+MbILHCBEchoaq7VHWp+/owsA5nXu6GICyfmY/Lgc2qWtM76E+Jqn4B7KuwejQw3X09HbjKT9Fg/h5rNS5Vna2qJe7iNzgzNdapAJ9XMOr88/IQEQGuB2bU1vmCVcl3Q538jTWlBJEK7PBZzuHkL+Fg9gkpEckA+gIL/Gw+X0RWiMiHItKjjkJSYLaILBGRCX62h/szG0vg/3HD8XkBtFfVXeD8Dw6087NPuD+3W3Gu/Pyp6t88FCa6VV8vBaguCefndSGw+/+3d3chUpVxHMe/v1KyFwuyoBeT0qQ3yKVEKi0svcgQoReokNLoxtDCuy68sbsuojKJpCzMMDDRahFBIUiMigQztZK1bC9E0/IisbYX9d/F84w7DWd2Z905M7b7+8Awzznn2XP++8wz5znPOWeeExH76ixvSXnV7BtaUseGUwOhgnm19/g2kqc0ki4C1gOLI+JYzeIdpNMok4DlwEctCmtqRNwGzAIWSrqnZnnbykzpSYVzgHUFi9tVXo1qZ7ktAU4Aa+pk6e8zb7Y3gAlAB3CIdDqnVju/m4/Td++h9PLqZ99Q988K5g2ozIZTA3EAuKZqeixw8AzylELSSFIFWBMRG2qXR8SxiDie05uAkZIuKzuuiDiY348AH5K6rdXaVmakL+SOiDhcu6Bd5ZUdrpxmy+9HCvK0pdwkzQNmA3Mjn6iu1cBn3lQRcTgiTkbEKeCtOttrV3mNAB4C1tbLU3Z51dk3tKSODacGYjswUdJ1+cjzMaCzJk8n8GS+M+cO4LdKN65M+Rzn28D3EfFynTxX5HxImkL67I6WHNeFkkZX0qSLnHtqsrWlzLK6R3btKK8qncC8nJ4HfFyQp5H62FSS7geeB+ZExB918jTymTc7ruprVg/W2V7LyyubCeyNiANFC8surz72Da2pY2VceT9bX6Q7brpIV/aX5HkLgAU5LeD1vHw3MLlFcU0jdf12ATvz64Ga2BYB35LuRPgSuKsFcY3P2/smb/tsKrMLSDv8S6rmtby8SA3UIeAf0hHb08AY4BNgX36/NOe9CtjUV30sOa4fSOekK3VsRW1c9T7zkuN6L9edXaQd2JVnQ3nl+asqdaoqbyvLq96+oSV1zENtmJlZoeF0isnMzAbADYSZmRVyA2FmZoXcQJiZWSE3EGZmVsgNhJmZFXIDYUOepDFVwzb/XDO09OclbG++pF8krczT0yVtrMmzStIjzd521frPz//f3y38BbkNMSPaHYBZ2SLiKGmcHyQtBY5HxEslb3ZtRCwqeRtIGhG9I7SeFhE9QIek7rJjsKHLPQgb1iQdz+/TJW2V9IGkLkkvSpor6Sulh8FMyPkul7Re0vb8mtqEGGZI+jpv5x1J5+X53ZWjf0mTJX2a00slvSlpC7Ba0i05zp15RNSJg43JDNyDMKs2CbiJ9FyA/cDKiJii9BSvZ4HFwDLglYj4TNI4YHP+m/7crf8+kWwcsFHSKNJwDjMiokvSauAZ4NV+1nc7MC0ieiQtB5ZFxJo85s65jf7DZn1xA2HWa3vkgQYl/QhsyfN3A/fm9Ezg5jwOIMDFkkZHephLX7ZFxOzKhKRVOXkD8FNEdOXpd4GF9N9AdObTSABfAEskjQU2RP3nFpgNiE8xmfX6qyp9qmr6FL0HU+cAd0ZER35d3UDj0JeiMfsrTtD7HR1Vs+z3SiIi3ic9F6MH2CzpvkHEY3aaGwizgdlCGikWAEkdg1zfXuBaSdfn6SeArTndTTqVBPBwvRVIGg/sj4jXSKOh3jrImMwANxBmA/UcMDlfDP6ONMT4GYuIP4GngHWSdpN6Kyvy4heAZZK2ASf7WM2jwJ58jeNGYPVgYjKr8HDfZk0maT7puRil3+baQCzdOZZf2x2L/f+4B2HWfD3ArMoP5dqh8kM5YCSpV2I2YO5BmJlZIfcgzMyskBsIMzMr5AbCzMwKuYEwM7NC/wIyZ05pKQfCHwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#B\n",
"import matplotlib.pyplot as plt\n",
"Ta=65\n",
"Ti = 85\n",
"Ts = 98.6\n",
"dt= np.log((Ts-Ta)/(Ti-Ta))/-K\n",
"Delta = 20\n",
"t = np.linspace(0,20,Delta)\n",
"\n",
"Temp_analytical = Ta + (Ti - Ta)*np.exp(-K*t)\n",
"\n",
"Temp_numerical = np.zeros(len(t))\n",
"Temp_numerical[0] = Ti\n",
"for i in range(1,len(t)):\n",
" if i<1:\n",
" Ta=65\n",
" Temp_numerical[i] = Temp_numerical[i-1]+ (-K*((Temp_numerical[i-1])-Ta));\n",
" if i<2:\n",
" Ta=66\n",
" Temp_numerical[i] = Temp_numerical[i-1]+ (-K*((Temp_numerical[i-1])-Ta));\n",
" else:\n",
" Ta=67\n",
" Temp_numerical[i] = Temp_numerical[i-1]+ (-K*((Temp_numerical[i-1])-Ta));\n",
" \n",
"plt.plot(t,Temp_numerical, 'o-',label='Numerical Temperature')\n",
"plt.plot(t,Temp_analytical, label='Analytical Temperature')\n",
"plt.title('Temperature of Cooling Body')\n",
"plt.xlabel('Time [Hours]')\n",
"plt.ylabel('Temeperature [degF]')\n",
"plt.legend(loc='best');"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Time of Death: 10 : 17 am\n"
]
}
],
"source": [
"#The time of death needs to be between 10 and 11 AM and so the ambient temperature is 60\n",
"Ta=60\n",
"Ti = 85\n",
"Ts = 98.6\n",
"dt= np.log((Ts-Ta)/(Ti-Ta))/-K\n",
"time_found = 11 \n",
"time_of_death = 11 + dt\n",
"print('Time of Death:',int(time_of_death),':',format(int(60*(time_of_death-int(time_of_death))),'02d'), '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
}