Guest User

Untitled

a guest
Mar 18th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.27 KB | None | 0 0
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "markdown",
  5. "metadata": {},
  6. "source": [
  7. "# Finding $K_C$ for Esterification"
  8. ]
  9. },
  10. {
  11. "cell_type": "markdown",
  12. "metadata": {},
  13. "source": [
  14. "$\\begin{aligned}\n",
  15. "\\text{C}_2\\text{H}_4\\text{O}_2 + \\text{C}_2\\text{H}_6\\text{O} &\\rightleftharpoons \\text{C}_4\\text{H}_{10}\\text{O}_2 + \\text{H}_2\\text{O} \\\\\n",
  16. "\\text{HA} + \\text{NaOH} &\\rightarrow \\text{NaA} + \\text{H}_2\\text{O}\n",
  17. "\\end{aligned}$"
  18. ]
  19. },
  20. {
  21. "cell_type": "markdown",
  22. "metadata": {},
  23. "source": [
  24. "## Procedure\n",
  25. "1. Find the mass of a clean, dry, stoppered boiling tube.\n",
  26. "2. Using a shared class burette, put 5 cm$^3$ of 3 mol/dm$^3$ hydrochloric acid in the tube, and then reweigh it.\n",
  27. "3. Using a shared class burette, add 2 cm$^3$ of ethanoic acid into the tube.\n",
  28. "4. Using a shared class burette, add 3 cm$^3$ of ethanol into the tube.\n",
  29. "5. Stopper the tube, shake it well, and then leave it in the class rack in the water bath for a few days.\n",
  30. "\n",
  31. "6. Fill a burette with 1 mol dm$^{-3}$ sodium hydroxide ready for the titration.\n",
  32. "7. Transfer the equilibrium mixture to a conical flask, washing all the contents into the flask.\n",
  33. "8. Add a few drops of phenol red indicator (yellow to pink endpoint)\n",
  34. "9. Titrate the equilibrium mixture against the sodium hydroxide."
  35. ]
  36. },
  37. {
  38. "cell_type": "markdown",
  39. "metadata": {},
  40. "source": [
  41. "## Raw Data\n",
  42. "### Start\n",
  43. "| Mass of Tube (g ± 0.01 g) | 1 | 2 | 3 | 4 | 5 |\n",
  44. "|:-------------------------:|:-----:|:-----:|:-----:|:-----:|:-----:|\n",
  45. "| empty | 30.15 | 27.91 | 31.59 | 27.89 | 27.85 |\n",
  46. "| with 5 cm³ of 3M HCl | 35.36 | 33.18 | 36.79 | 33.20 | 32.86 |\n",
  47. "| with everything | 39.86 | 37.71 | 41.22 | 37.57 | 36.94 |\n",
  48. "\n",
  49. "### End - Titration\n",
  50. "| Volume of 1M NaOH (mL ± 0.25 mL) | 1 | 2 | 3 | 4 | 5 |\n",
  51. "|:--------------------------------:|:-----:|:-----:|:-----:|:-----:|:-----:|\n",
  52. "| Start | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |\n",
  53. "| End | 25.0 | 25.0 | 25.0 | 25.0 | 22.8 |\n",
  54. "| Start | 0.0 | 0.0 | 0.0 | 0.0 | |\n",
  55. "| End | 3.5 | 3.3 | 2.7 | 3.0 | |\n"
  56. ]
  57. },
  58. {
  59. "cell_type": "code",
  60. "execution_count": 1,
  61. "metadata": {},
  62. "outputs": [],
  63. "source": [
  64. "# Number of moles of CH3COOH at the start\n",
  65. "mass_CH3COOH = 2 * 1.05 # density: 1.05 g cm^-3\n",
  66. "RFM_CH3COOH = 2 * 12.01 + 4 * 1.01 + 2 * 16.00\n",
  67. "n_CH3COOH = mass_CH3COOH / RFM_CH3COOH\n",
  68. "n_CH3COOH, n_H2O = 0.8 * n_CH3COOH, 0.2 * n_CH3COOH # 80% by mass"
  69. ]
  70. },
  71. {
  72. "cell_type": "code",
  73. "execution_count": 2,
  74. "metadata": {},
  75. "outputs": [],
  76. "source": [
  77. "# Number of moles of CH3CH2OH at the start\n",
  78. "mass_CH3CH2OH = 3 * 0.79 # density: 0.79 g cm^-3\n",
  79. "RFM_CH3CH2OH = 2 * 12.01 + 6 * 1.01 + 1 * 16.00\n",
  80. "n_CH3CH2OH = mass_CH3CH2OH / RFM_CH3CH2OH"
  81. ]
  82. },
  83. {
  84. "cell_type": "code",
  85. "execution_count": 3,
  86. "metadata": {},
  87. "outputs": [],
  88. "source": [
  89. "# Number of moles of CH3COOHCH2CH# at the start\n",
  90. "n_CH3COOCH2CH3 = 0"
  91. ]
  92. },
  93. {
  94. "cell_type": "code",
  95. "execution_count": 4,
  96. "metadata": {},
  97. "outputs": [],
  98. "source": [
  99. "# Number of moles of water at the start \n",
  100. "import numpy as np\n",
  101. "\n",
  102. "mass_empty_tube_ = np.array([30.15, 27.91, 31.59, 27.89, 27.85]) # recorded using digital balance\n",
  103. "mass_with_HCl_ = np.array([35.36, 33.18, 36.79, 33.20, 32.86]) # recorded using digital balance\n",
  104. "mass_solution_ = mass_with_HCl_ - mass_empty_tube_\n",
  105. "\n",
  106. "n_HCl = 5 / 1000 * 3 # n = c * V, 5 cm^3 of 3M HCl\n",
  107. "RFM_HCl = 1 * 1.01 + 1 * 35.45\n",
  108. "mass_HCl = n_HCl * RFM_HCl\n",
  109. "\n",
  110. "mass_H2O_ = mass_solution_ - mass_HCl\n",
  111. "RFM_H2O = 2 * 1.01 + 16.00\n",
  112. "n_H2O_ = mass_H2O_ / RFM_H2O + n_H2O"
  113. ]
  114. },
  115. {
  116. "cell_type": "code",
  117. "execution_count": 5,
  118. "metadata": {},
  119. "outputs": [],
  120. "source": [
  121. "# Titration\n",
  122. "V_NaOH_ = np.array([25.0, 25.0, 25.0, 25.0, 22.8]) \\\n",
  123. " + np.array([3.5, 3.3, 2.7, 3.0, 0.0]) # measured using burette, in cm^3\n",
  124. "V_NaOH_ /= 1000 # convert to dm^3"
  125. ]
  126. },
  127. {
  128. "cell_type": "code",
  129. "execution_count": 6,
  130. "metadata": {},
  131. "outputs": [
  132. {
  133. "name": "stdout",
  134. "output_type": "stream",
  135. "text": [
  136. "Initial moles:\n",
  137. "[0.02797203 0.05143229 0. 0.26576659]\n",
  138. "Equilibrium moles:\n",
  139. "[0.0135 0.03696026 0.01447203 0.28023862]\n",
  140. "Kc: 8.128090850173335\n",
  141. "\n",
  142. "Initial moles:\n",
  143. "[0.02797203 0.05143229 0. 0.26909623]\n",
  144. "Equilibrium moles:\n",
  145. "[0.0133 0.03676026 0.01467203 0.28376825]\n",
  146. "Kc: 8.515765519449703\n",
  147. "\n",
  148. "Initial moles:\n",
  149. "[0.02797203 0.05143229 0. 0.26521165]\n",
  150. "Equilibrium moles:\n",
  151. "[0.0127 0.03616026 0.01527203 0.28048368]\n",
  152. "Kc: 9.327580358680224\n",
  153. "\n",
  154. "Initial moles:\n",
  155. "[0.02797203 0.05143229 0. 0.27131598]\n",
  156. "Equilibrium moles:\n",
  157. "[0.013 0.03646026 0.01497203 0.28628801]\n",
  158. "Kc: 9.043168667672404\n",
  159. "\n",
  160. "Initial moles:\n",
  161. "[0.02797203 0.05143229 0. 0.25466781]\n",
  162. "Equilibrium moles:\n",
  163. "[0.0078 0.03126026 0.02017203 0.27483984]\n",
  164. "Kc: 22.737463245954366\n",
  165. "\n"
  166. ]
  167. }
  168. ],
  169. "source": [
  170. "# Number of moles at equilibrium\n",
  171. "for V_NaOH, n_H2O in zip(V_NaOH_, n_H2O_):\n",
  172. " # Number of moles at the start\n",
  173. " initial_moles = np.array([n_CH3COOH, n_CH3CH2OH, n_CH3COOCH2CH3, n_H2O])\n",
  174. " \n",
  175. " # Number of moles of acid at equilibrium\n",
  176. " # We measured the amount of NaOH needed to titrate the acid at equlibrium,\n",
  177. " # which consists of ethanoic acid and the catalyst hydrochloric acid.\n",
  178. " moles_acid_total = V_NaOH * 1.0 # n = V * c, 1M NaOH\n",
  179. " moles_acid = moles_acid_total - n_HCl\n",
  180. " moles_reacted = n_CH3COOH - moles_acid\n",
  181. " equilibrium_moles = np.array([n_CH3COOH - moles_reacted, n_CH3CH2OH - moles_reacted, n_CH3COOCH2CH3 + moles_reacted, n_H2O + moles_reacted])\n",
  182. " \n",
  183. " # Calculate the equilibrium constant\n",
  184. " # K_c = ([CH3COOCH2CH3] * [H2O]) / ([CH3COOH] * [CH3CH2OH])\n",
  185. " K_c = (equilibrium_moles[2] * equilibrium_moles[3]) / (equilibrium_moles[0] * equilibrium_moles[1])\n",
  186. " print(f\"Initial moles:\\n{initial_moles}\")\n",
  187. " print(f\"Equilibrium moles:\\n{equilibrium_moles}\")\n",
  188. " print(f\"Kc: {K_c}\")\n",
  189. " print()\n"
  190. ]
  191. }
  192. ],
  193. "metadata": {
  194. "kernelspec": {
  195. "display_name": "Python 3",
  196. "language": "python",
  197. "name": "python3"
  198. },
  199. "language_info": {
  200. "codemirror_mode": {
  201. "name": "ipython",
  202. "version": 3
  203. },
  204. "file_extension": ".py",
  205. "mimetype": "text/x-python",
  206. "name": "python",
  207. "nbconvert_exporter": "python",
  208. "pygments_lexer": "ipython3",
  209. "version": "3.6.4"
  210. }
  211. },
  212. "nbformat": 4,
  213. "nbformat_minor": 2
  214. }
Add Comment
Please, Sign In to add comment