Permalink
Cannot retrieve contributors at this time
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?
compmech-project01/01_Getting-started-project.ipynb
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
436 lines (436 sloc)
80 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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": 163, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"K = 0.6111111111111112\n" | |
] | |
} | |
], | |
"source": [ | |
"T1=85\n", | |
"T2=74\n", | |
"Ta=65\n", | |
"delta_t=2\n", | |
"dT_dt=(T2-T1)/delta_t\n", | |
"K=-dT_dt/(T2-Ta)\n", | |
"print('K =',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": 164, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"0.6111111111111112" | |
] | |
}, | |
"execution_count": 164, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"def measure_K(T1,T2,Ta,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=(T2-T1)/delta_t\n", | |
" K=-dT_dt/(T2-Ta)\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": 165, | |
"metadata": { | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"a.\n", | |
"0.6111111111111112\n", | |
"[85. 75.85494962 70.89149657 68.19759492 66.73548659 65.94193098\n", | |
" 65.51123066 65.27746916 65.15059569 65.08173543 65.0443617 65.0240772\n", | |
" 65.01306784 65.00709254 65.00384946 65.00208928 65.00113395 65.00061545\n", | |
" 65.00033403 65.0001813 65.0000984 ]\n", | |
"[85. 72.77777778 68.02469136 66.17626886 65.45743789 65.17789251\n", | |
" 65.06918042 65.0269035 65.01046247 65.00406874 65.00158229 65.00061533\n", | |
" 65.0002393 65.00009306 65.00003619 65.00001407 65.00000547 65.00000213\n", | |
" 65.00000083 65.00000032 65.00000013]\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.legend.Legend at 0x7f699831cdd8>" | |
] | |
}, | |
"execution_count": 165, | |
"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": [ | |
"import numpy as np\n", | |
"print('a.')\n", | |
"T1=85\n", | |
"T2=74\n", | |
"Ta=65\n", | |
"delta_t=2\n", | |
"K = -dT_dt/(T2-Ta)\n", | |
"print(K)\n", | |
"t = np.linspace(0,20,21)\n", | |
"Temp_analytical = Ta+(T1-Ta)*np.exp(-K*t)\n", | |
"Temp_numerical = np.zeros(len(t));\n", | |
"for i in range(1,len(t)):\n", | |
" Temp_numerical[0] = T1\n", | |
" Temp_numerical[i] = Temp_numerical[i - 1] + (-K*((Temp_numerical[i - 1])-Ta));\n", | |
"print(Temp_analytical)\n", | |
"print(Temp_numerical)\n", | |
"import matplotlib.pyplot as plt\n", | |
"plt.plot(t,Temp_numerical,'o-', color = 'r', label='20 Euler steps')\n", | |
"plt.plot(t,Temp_analytical,label='Analytical')\n", | |
"plt.title('Temperature After Body was Found')\n", | |
"plt.xlabel('Hours')\n", | |
"plt.ylabel('Temperature')\n", | |
"plt.legend()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 166, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"b.\n", | |
"The final temperature converges to 65 degrees which makes sense because that is the ambient temperature.\n" | |
] | |
} | |
], | |
"source": [ | |
"print('b.')\n", | |
"print('The final temperature converges to 65 degrees which makes sense because that is the ambient temperature.')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 172, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Time of Death: 10 : 09 am\n" | |
] | |
} | |
], | |
"source": [ | |
"Ts=98.6\n", | |
"T1=85\n", | |
"T2=74\n", | |
"Ta=65\n", | |
"K=-dT_dt/(T2-Ta)\n", | |
"time=np.log((Ts-Ta)/(T1-Ta))/-K\n", | |
"time_found=11\n", | |
"time_of_death=time_found+time\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": 177, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Ambient temperatures at each hour starting 3 hours before the body was found:\n", | |
"55\n", | |
"58\n", | |
"60\n", | |
"65\n", | |
"66\n", | |
"67\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.legend.Legend at 0x7f699871d710>" | |
] | |
}, | |
"execution_count": 177, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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P5xzyTMzli1bRkZGBvXr1487HOfKpLStIlu/fj177rmnJxdXJJLYc889vQTsSq/hw6FePahQIfwfPrygNUqdtC3BAJ5c3A7x88eVWsOHQ9++sDYa92v+/PAcoHfv+OIqpLQtwTjnXJl1881bk0u2tWuhf/944ikiTzA7aPTo0Uji22+/LfS6559/Pq+88sp206dMmcJf//rXIsd077335jr9j3/8I82bN6dOnTrUqlWL5s2b07x5c+bNm1fkfaXaq6++WqTX1rm0YgYzZsDDD0O3brBgQe7L5TW9lCo/CSZF9ZkjRoygffv2vPTSS8WyPYBWrVrx+OOPF3n9vBLM5MmTmT59OgMGDKBnz55Mnz6d6dOnE3c3PJmZmXnOK0qCyW97zpUaixbBsGFw3nmw//7QtClccw3Mmwe77pr7OnXyHKy1VCofCSa7PnP+/PBLIbs+cweTzOrVq5k4cSJDhgzZJsF8+OGHHH300Zx55pk0bNiQG2+8keHDh9OmTRuaNGnC7NlbBzl8//336dChAw0bNuTNN9/csv7JJ58MwJo1a7jwwgtp3bo1LVq04PXXXwfg2Wef5bTTTqNbt240aNCA66+/HoAbb7yRdevW0bx5c3oXoq52zJgxHHnkkbRs2ZKePXuyZk0YSbh27dr079+ftm3b0rp1a7788kuOP/54Dj74YJ566qktx9CpUydOPfVUGjduzOWXX052L935bfeuu+7iqKOOYvTo0QwaNIjWrVvTrFkzevTowbp165gwYQJvv/02/fr121LSat++PdOnTwfgl19+4ZBDwmCKTz/9NL169eLkk0/mhBNOAOC+++6jTZs2NG3alAEDBhTmrXWu+K1dC2PHhiTSpElIKuedB2+/DcccA0OGhBLKt9/Ck09CtWrbrl+tGtxzTyyhF5mZlfq/I444wnL65ptvtj656iqzo4/O+2+nncxCatn2b6ed8l7nqqu222dOw4YNswsvvNDMzI488kibOnWqmZmNHz/eatSoYQsXLrT169fb/vvvb7fddpuZmT366KN2VbTtPn36WNeuXS0rK8u+//57O+CAA2zdunU2fvx4O+mkk8zM7KabbrJhw4aZmdmKFSusQYMGtnr1ahs6dKjVr1/fVq5caevWrbM6derYggULzMysevXq+cY9dOhQu/zyy7c8//XXX61jx462Zs0aMzO7++677Z577jEzswMOOMAGDx5sZmZXXHGFNW/e3FavXm2//PKL7bPPPmZm9t5779nOO+9sc+fOtczMTOvUqZONHj26wO3+4x//2BLD0qVLtzy+4YYb7IknnjAzs969e9vo0aO3zDvqqKNs2rRpZma2aNEiO/jgg83M7KmnnrI6derY8uXLzczsrbfesssuu8w2b95sWVlZ1rVrV5s4ceJ2r8U255FzxSkry2zKFLO//93s2GPNqlQJ3ztVqpgdd5zZffeZTZ0alsvNCy+Y1a1rJoX/L7xQ6BCAKRbjd3daX0WWtA15DKed1/QkjRgxgquvvhqAXr16MWLECFq2bAlA69at2W+//QA4+OCDOf744wFo0qQJ48eP37KNM888kwoVKtCgQQMOOuig7aqD3n33Xf773//y0EMPAeHy7AVRPexxxx1HjRo1AGjcuDHz58/nwAMPLPRxfPrpp3zzzTe0a9cOgI0bN9K+ffst87t3774l9szMTKpXr0716tWpUKECq1evBqBt27Zbqtp69erFJ5+EQQDz227Pnj23PP7qq6+47bbbWLlyJatWrdpSgiuM448/nt133x0Ir9uYMWNo0aIFEEqb33///ZZYnEuJBQvgvffC3/vvw7JlYXqTJnDlldClC3TosH3pJDe9e6fVFWO5KRsJ5tFH859fr16oFsupbl348MMi7XLZsmWMGzeOmTNnIomsrCwk8cADDwCw0047bVm2QoUKW55XqFBhmzaCnJfK5nxuZowaNYpGjRptM33y5Mnb7KNixYpFbnswM7p168awYcNynZ8Ye87jyt5nbsdR0HarV6++5fF5553HmDFjOPzww3n66aeZNGlSrutUqlSJzZs3A2x3D0vi9syMW265hYsuuijX7ThXLH7/PXyHvPcevPsufP99mL7vvnDSSSGhdO4cnpdD5aMN5p57ir0+85VXXuG8885j/vz5zJs3j59++on69etv+eWerJdffpnNmzcze/Zs5syZs10i6dq1K//85z+3tGlMmzatwG1WrlyZTZs2JR1Du3bt+Oijj5gzZw4Q2n1++OGHQhwFTJo0iQULFpCVlcXIkSNp3759oba7Zs0a9t13XzZt2sSLL764Zfquu+7KqlWrtjyvV68eU6dOBcj1CrxsXbt2ZciQIVvafDIyMli6dGmhjsm57WRmwmefwYABoSSy555wyimh/eSg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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"def Temp_ambient(t):\n", | |
" if 2>=t>=-3:\n", | |
" i=t-3\n", | |
" else:\n", | |
" print('Unknown')\n", | |
" return\n", | |
" Temp=np.array([55,58,60,65,66,67])\n", | |
" print(Temp[i])\n", | |
"print('Ambient temperatures at each hour starting 3 hours before the body was found:')\n", | |
"Temp_ambient(-3)\n", | |
"Temp_ambient(-2)\n", | |
"Temp_ambient(-1)\n", | |
"Temp_ambient(0)\n", | |
"Temp_ambient(1)\n", | |
"Temp_ambient(2)\n", | |
"Temp=np.array([55,58,60,65,66,67])\n", | |
"t=np.linspace(-3,2,6)\n", | |
"plt.plot(t, Temp, 'o-', color = 'r', label='Ambient Temperature')\n", | |
"plt.title('Ambient Temperature Relative to the Time the Body was Found')\n", | |
"plt.xlabel('Hours Since the Body was Found')\n", | |
"plt.ylabel('Temperature')\n", | |
"plt.legend()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 176, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[85. 73.38888889 69.4845679 67.96622085 67.37575255 67.14612599\n", | |
" 67.05682677 67.0220993 67.00859417 67.00334218 67.00129974 67.00050545\n", | |
" 67.00019657 67.00007644 67.00002973 67.00001156 67.0000045 67.00000175\n", | |
" 67.00000068 67.00000026 67.0000001 ]\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.legend.Legend at 0x7f69981e7ef0>" | |
] | |
}, | |
"execution_count": 176, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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sUBUJDWVDge2sSFbKSw8c3oSGmNMdWeBqEjjxrTP2k+Oeth1+Fika2NMldi7dy/jxo2jbdu2pKWlMWrUqNPqfODvzTffZM2aio9nGewO174ee+wx4uLiyMws/wXpgwcPJtAlH2+//TYPPfRQudcHTk/Cf//736ekHzx4sHh4iGbNmtGyZcvi6dzc3AqVdaawQFREhA5xzi3tN+wv39XSxtREqsrll1/O4MGD2bRpE2vWrOGvf/3rad1LzV9VBKLZs2fTu3dv5s2bV+Fy/I0ePZq77rqrQnmDBaLGjRsXDw8xdepUpk2bVjwdGxt7ulWu0SwQ+ejQxOm2beeJzNlgyZIlxMTEMHXq1OK09PR0BgwYgKpyxx130KVLF7p27Vp8e5zShnS46667SEtLo1u3btx+++18/vnnvP3229xxxx2kp6ezadMmnnnmGXr37k337t254oorim/TU9GhFjZt2kRWVhYPPPBAieEhXnjhBcaMGcNll11GamoqTz75JI8++ig9evTg/PPP59Chk71jX3rpJfr27UuXLl34+uuvi/PfcsstAGRkZHDFFVfQu3dvevfuzWeffQY4Q0hMmjSJwYMH4/V6+de//lVc502bNpGens4dd9wR8ufx4osv0qdPH9LT07npppsoLCwkPz+fBg0acMcdd9CzZ09GjBjBV199xaBBg/B6vSxY4NyOc8aMGVx++eWMGDGCjh071rhu3nYdkY/6Ka1IyjrI+r12RGSq1p/fWc2a3UcqdZ1pLepx72Wdg85ftWoV5557bsB5b7zxBitWrGDlypUcOHCA3r17M3DgQAC+++47Vq9eTYsWLejXrx+fffYZaWlpzJs3j7Vr1yIiHD58mAYNGjB69GguvfRSxo4dCzjXHU2ePBlw7hLw7LPP8pvf/AaAPXv28Omnn7J27VpGjx7N2LFjeeihh3jkkUeYP39+wHrOnj2b8ePHM2DAANatW8f+/ftp2rRp8fZ99913HD9+nHbt2vH3v/+d7777jmnTpjFz5sziuxNkZ2fz+eef8/HHHzNp0iRWrVpVooxbb72VadOm0b9/f7Zv386IESP48ccfAVi7di1Llizh6NGjdOzYkRtvvJGHHnqIVatWBb2BarDPYt68eXz++edER0czZcoU5syZw1VXXUVmZibDhw/n4Ycf5rLLLuO+++7jgw8+YOXKldxwww2MGuXcK/rrr79m1apVxMbG0rt3by699FLS09NDrkMkWSDy5fXSYek2NuxqFemaGBNRn376KePHjycqKoqkpCQGDRrEsmXLqFevXvGQDkDxkA7nn38+cXFxXH/99VxyySVBB7hbtWoV99xzD4cPHyYrK4sRI0YUz6vIUAtz5sxh3rx5eDwefv7znzN37lxuvvlmAC688ELq1q1L3bp1qV+/PpdddhngDKvw/fffF6+j6EatAwcO5MiRIxw+fLhEGe+//36J5sUjR44U3+z0kksuoVatWtSqVYumTZtWuFnz/fffZ9myZcU3MD127BitWztjg9auXZthw4YV171+/fpER0efMjzEiBEjiu/1N2bMGD799FMLRDWS10v7179j9sGeFBYqHo/dc85UjdKOXMKlc+fOxU1g/kq7B2WgIR2io6P5+uuv+eCDD5gzZw5PPvkkH3744Sl5r7nmGt588026d+/OCy+8wEc+Q1iUd6iF77//ng0bNhT/SOfm5uL1eosDUWUNq1BYWMgXX3xB7dqn3nEl0HtREarKpEmTuP/++0uk5+fnlzh/dKYOD2HniHy51xIdK4CdP1nPOXNmGzJkCCdOnOCZZ54pTlu2bBlLly5l4MCBvPLKKxQUFJCRkcHHH39Mnz59gq4rKyuLzMxMRo0axeOPP17cLOU/VMLRo0dp3rw5eXl5zAphmPPShlqYPXs29913X/HwELt372bXrl2lDlkRSNH5r08//ZT69eufcgfw4cOH8+STTxZPl9XkVpHhIYYOHcqrr75aPCTEwYMH2b59e7nWsWjRIg4fPkxOTg5vvfUW/fr1K1f+SAprIBKRaSKyWkRWichsEYkTkYdFZK2IfC8i80SkQZC8W92RXFeISMVuqV1eycm0P+h8+Ov32Xkic2YTEebNm8fixYtp27YtnTt35r777qNFixZcfvnldOvWje7duzNkyBD+8Y9/0KxZs6DrOnr0KJdeeindunVj0KBBxR0Lxo0bx8MPP0yPHj3YtGkT999/P+eddx7Dhg0rc2gJKH2ohTlz5nD55ZeXSLv88suLR5wNVcOGDenbty9Tp07l2WefPWX+v/71L5YvX063bt1IS0vj6aefLnV9jRs3pl+/fnTp0iXkzgpdu3bl3nvvZejQoXTr1o3hw4eXu5mvf//+XH311fTo0YPx48fXmGY5COMwECLSEvgU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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"T1=85\n", | |
"T2=74\n", | |
"t = np.linspace(0,20,21)\n", | |
"Temp_numerical = np.zeros(len(t));\n", | |
"for i in range(0,len(t)):\n", | |
" if i<1:\n", | |
" Ta=65\n", | |
" Temp_numerical[0]=T1\n", | |
" Temp_numerical[i]=Temp_numerical[i - 1] + (-K*((Temp_numerical[i - 1])-Ta))\n", | |
" if i<2:\n", | |
" Ta=66\n", | |
" Temp_numerical[0]=T1\n", | |
" Temp_numerical[i]=Temp_numerical[i - 1] + (-K*((Temp_numerical[i - 1])-Ta))\n", | |
" else:\n", | |
" Ta=67\n", | |
" Temp_numerical[0]=T1\n", | |
" Temp_numerical[i]=Temp_numerical[i - 1] + (-K*((Temp_numerical[i - 1])-Ta))\n", | |
"print(Temp_numerical)\n", | |
"plt.plot(t, Temp_numerical, 'o-', color = 'r', label='Varying Ambient Temp')\n", | |
"plt.plot(t,Temp_analytical,label='Constant Ambient Temp')\n", | |
"plt.title('Ambient Temperature Relative to the Time the Body was Found')\n", | |
"plt.xlabel('Hours Since the Body was Found')\n", | |
"plt.ylabel('Temperature')\n", | |
"plt.legend()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 173, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Time of Death: 10 : 17 am\n", | |
"The ambient temperature was at a value of 60 over the time period of 10-11am which is inclusive of the whole time period. Since the ambient tempertaure is 60 over this time period, the Ta value does not have to vary\n" | |
] | |
} | |
], | |
"source": [ | |
"Ts=98.6\n", | |
"T1=85\n", | |
"T2=74\n", | |
"Ta=60\n", | |
"time=np.log((Ts-Ta)/(T1-Ta))/-K\n", | |
"time_found=11\n", | |
"time_of_death=time_found+time\n", | |
"print('Time of Death:',int(time_of_death),':',format(int(60*(time_of_death-int(time_of_death))),'02d'), 'am')\n", | |
"print('The ambient temperature was at a value of 60 over the time period of 10-11am which is inclusive of the whole time period. Since the ambient tempertaure is 60 over this time period, the Ta value does not have to vary')" | |
] | |
}, | |
{ | |
"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 | |
} |