diff --git a/book/Q2/1_intro_sim.ipynb b/book/Q2/1_intro_sim.ipynb index 59c3f10..adc03f2 100644 --- a/book/Q2/1_intro_sim.ipynb +++ b/book/Q2/1_intro_sim.ipynb @@ -20,7 +20,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "4b342609", "metadata": {}, "outputs": [], @@ -34,15 +34,7 @@ "execution_count": null, "id": "89dd144f", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], + "outputs": [], "source": [ "# Definieer een class voor een deeltje. \n", "# Een class beschrijft alleen het type eigenschappen dat een ding heeft, bijvoorbeeld: in de beschrijving van de class zeg je:\n", @@ -81,24 +73,10 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "e3ba93f0", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "<__main__.ParticleClass object at 0x113948ad0>\n", - "Variable Type Data/Info\n", - "------------------------------------------\n", - "ParticleClass type \n", - "np module Shape: \n", - "plt module es/matplotlib/pyplot.py'>\n", - "this_particle ParticleClass <__main__.ParticleClass object at 0x113948ad0>\n" - ] - } - ], + "outputs": [], "source": [ "# een enkel deeltje:\n", "this_particle = ParticleClass(m=1.0, v=[5.0, 0], r=[0.0, 0.0], R=1.0)\n", @@ -116,20 +94,10 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "85225f7d", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Massa van het deeltje 1.0 kg\n", - "Huidige positie is [15. 0.]\n", - "Nieuwe positie [20. 0.]\n" - ] - } - ], + "outputs": [], "source": [ "print(\"Massa van het deeltje \" + str(this_particle.m) + \" kg\")\n", "print(\"Huidige positie is \" + str(this_particle.r))\n", @@ -151,7 +119,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "0fc3ac65", "metadata": {}, "outputs": [], @@ -161,21 +129,10 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "4c34f77c", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Huidige positie van this_particle [5. 0.]\n", - "Huidige position van that_particle [5. 0.]\n", - "Nieuwe positie van this_particle [5. 0.]\n", - "Nieuwe positie van that_particle [9. 0.]\n" - ] - } - ], + "outputs": [], "source": [ "print(\"Huidige positie van this_particle \" + str(this_particle.r))\n", "print(\"Huidige position van that_particle \" + str(that_particle.r))\n", @@ -197,7 +154,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "338ffbe8", "metadata": {}, "outputs": [], @@ -210,20 +167,10 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "733566c0", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Hoe het array eruit ziet volgens python: [<__main__.ParticleClass object at 0x1139a8410>, <__main__.ParticleClass object at 0x1130bd5b0>, <__main__.ParticleClass object at 0x1138eac40>, <__main__.ParticleClass object at 0x11382f890>]\n", - "Hoe een element van het array eruit ziet volgens python: <__main__.ParticleClass object at 0x1139a8410>\n", - "Hoe een eigenschap (in dit geval: 'r') van het element van het array eruit ziet volgens python: [0. 0.]\n" - ] - } - ], + "outputs": [], "source": [ "print(\"Hoe het array eruit ziet volgens python: \" + str(particle_array))\n", "print(\"Hoe een element van het array eruit ziet volgens python: \" + str(particle_array[0]))\n", @@ -245,21 +192,10 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "42156faa", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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gw4fPqzbbrut3rFFRUW65ppr3Jg6AABoxTyO4zgX+kF37dqlvn37avPmzRo0aJAkac2aNbrlllt08OBBZWRkfGufYDCozp07a8mSJbr99tslSbt371afPn1UVlam66+/PjL2hRde0LJlyzRr1iwNHTpUX375pdLS0mKeXygUks/nUzAYVGpq6v92sAAAoFnE+v7typWbsrIypaWlRcJGkvLz8+X1evXRRx/Vu095eblqa2uVn58f2da7d29169ZNZWVlkW2ffPKJfvWrX+nVV1+V1xvb9GtqahQKhaJuAADAJlfiJhAIqEuXLlHbEhMT1aFDBwUCgQb3SUpK+tYVmPT09Mg+NTU1GjlypJ588kl169Yt5vmUlJTI5/NFbllZWU07IAAA0Go0KW6mT58uj8fT6G337t1uzVUzZsxQnz599LOf/azJ+wWDwcjtwIEDLs0QAADEW2JTBk+dOlV33XVXo2OuvPJK+f1+VVVVRW3/5ptvdOzYMfn9/nr38/v9On36tI4fPx519aaysjKyz7p167R9+3a9/vrrkqSzHxfq1KmTHnnkET322GP1PnZycrKSk5NjOUQAANDKNSluOnfurM6dO59zXF5eno4fP67y8nJlZ2dLOhMm4XBYubm59e6TnZ2tdu3aqbS0VMOHD5ck7dmzR/v371deXp4k6Y033tDXX38d2Wfz5s26++679f777+uqq65qyqEAAACjmhQ3serTp49uvvlm3XPPPVqwYIFqa2s1ceJE3XnnnZFvSh06dEhDhw7Vq6++qpycHPl8PhUVFam4uFgdOnRQamqqJk2apLy8vMg3pf47YI4ePRp5vqZ8WwoAANjlStxI0muvvaaJEydq6NCh8nq9Gj58uJ555pnI/bW1tdqzZ49OnjwZ2TZnzpzI2JqaGhUUFOj55593a4oAAMAgV37PTUvH77kBAKD1ievvuQEAAIgX4gYAAJhC3AAAAFOIGwAAYApxAwAATCFuAACAKcQNAAAwhbgBAACmEDcAAMAU4gYAAJhC3AAAAFOIGwAAYApxAwAATCFuAACAKcQNAAAwhbgBAACmEDcAAMAU4gYAAJhC3AAAAFOIGwAAYApxAwAATCFuAACAKcQNAAAwhbgBAACmEDcAAMAU4gYAAJhC3AAAAFOIGwAAYApxAwAATCFuAACAKcQNAAAwhbgBAACmEDcAAMAU4gYAAJhC3AAAAFOIGwAAYApxAwAATCFuAACAKcQNAAAwhbgBAACmEDcAAMAU4gYAAJiSGO8JxIPjOJKkUCgU55kAAIBYnX3fPvs+3pA2GTcnTpyQJGVlZcV5JgAAoKlOnDghn8/X4P0e51z5Y1A4HNbhw4fVvn17eTyeC/rYoVBIWVlZOnDggFJTUy/oY1vDWsWOtYodaxU71ip2rFXs3Fwrx3F04sQJZWRkyOtt+JM1bfLKjdfrVWZmpqvPkZqayl+AGLFWsWOtYsdaxY61ih1rFTu31qqxKzZn8YFiAABgCnEDAABMIW4usOTkZM2ePVvJycnxnkqLx1rFjrWKHWsVO9YqdqxV7FrCWrXJDxQDAAC7uHIDAABMIW4AAIApxA0AADCFuAEAAKYQN000f/58de/eXSkpKcrNzdWmTZsaHb98+XL17t1bKSkp6t+/v1avXt1MM20ZmrJeixYtksfjibqlpKQ042zj47333tNPfvITZWRkyOPxaOXKlefc591339W1116r5ORk9ejRQ4sWLXJ9ni1FU9fr3Xff/dZ55fF4FAgEmmfCcVJSUqLrrrtO7du3V5cuXVRYWKg9e/acc7+2+Jp1PmvVVl+vJOmFF17QNddcE/klfXl5efrrX//a6D7NfV4RN02wbNkyFRcXa/bs2aqoqNCAAQNUUFCgqqqqesdv3LhRI0eOVFFRkbZu3arCwkIVFhZqx44dzTzz+GjqeklnfqPlF198Ebnt27evGWccH9XV1RowYIDmz58f0/jPP/9cw4YN0w9/+ENt27ZNU6ZM0c9//nO9/fbbLs+0ZWjqep21Z8+eqHOrS5cuLs2wZdiwYYMmTJigDz/8UGvXrlVtba1uuukmVVdXN7hPW33NOp+1ktrm65UkZWZm6je/+Y3Ky8u1ZcsW3Xjjjbr11lu1c+fOesfH5bxyELOcnBxnwoQJkT/X1dU5GRkZTklJSb3j77jjDmfYsGFR23Jzc517773X1Xm2FE1dr1deecXx+XzNNLuWSZKzYsWKRsc8+OCDztVXXx21bcSIEU5BQYGLM2uZYlmv9evXO5KcL7/8slnm1FJVVVU5kpwNGzY0OKatv2adFcta8XoV7Tvf+Y7z0ksv1XtfPM4rrtzE6PTp0yovL1d+fn5km9frVX5+vsrKyurdp6ysLGq8JBUUFDQ43pLzWS9J+uqrr3T55ZcrKyur0f8SaMva8nn1vxg4cKC6du2qH/3oR/rggw/iPZ1mFwwGJUkdOnRocAzn1hmxrJXE65Uk1dXVaenSpaqurlZeXl69Y+JxXhE3MTp69Kjq6uqUnp4etT09Pb3Bn90HAoEmjbfkfNarV69eevnll/XnP/9ZixcvVjgc1uDBg3Xw4MHmmHKr0dB5FQqF9PXXX8dpVi1X165dtWDBAr3xxht64403lJWVpRtuuEEVFRXxnlqzCYfDmjJlir7//e+rX79+DY5ry69ZZ8W6Vm399Wr79u269NJLlZycrPvuu08rVqxQ37596x0bj/OqTf5fwdEy5eXlRZX/4MGD1adPH7344ot6/PHH4zgztGa9evVSr169In8ePHiwPvvsM82ZM0e///3v4ziz5jNhwgTt2LFDf//73+M9lRYv1rVq669XvXr10rZt2xQMBvX6669r7Nix2rBhQ4OB09y4chOjTp06KSEhQZWVlVHbKysr5ff7693H7/c3abwl57Ne/61du3b63ve+p08//dSNKbZaDZ1Xqampuuiii+I0q9YlJyenzZxXEydO1KpVq7R+/XplZmY2OrYtv2ZJTVur/9bWXq+SkpLUo0cPZWdnq6SkRAMGDNC8efPqHRuP84q4iVFSUpKys7NVWloa2RYOh1VaWtrgzxnz8vKixkvS2rVrGxxvyfms13+rq6vT9u3b1bVrV7em2Sq15fPqQtm2bZv588pxHE2cOFErVqzQunXrdMUVV5xzn7Z6bp3PWv23tv56FQ6HVVNTU+99cTmvXPuoskFLly51kpOTnUWLFjmffPKJM378eCctLc0JBAKO4zjO6NGjnenTp0fGf/DBB05iYqLzu9/9ztm1a5cze/Zsp127ds727dvjdQjNqqnr9dhjjzlvv/2289lnnznl5eXOnXfe6aSkpDg7d+6M1yE0ixMnTjhbt251tm7d6khynn76aWfr1q3Ovn37HMdxnOnTpzujR4+OjP/nP//pXHzxxc60adOcXbt2OfPnz3cSEhKcNWvWxOsQmlVT12vOnDnOypUrnb179zrbt293Jk+e7Hi9Xuedd96J1yE0i/vvv9/x+XzOu+++63zxxReR28mTJyNjeM0643zWqq2+XjnOmb9jGzZscD7//HPn448/dqZPn+54PB7nb3/7m+M4LeO8Im6a6Nlnn3W6devmJCUlOTk5Oc6HH34YuW/IkCHO2LFjo8b/8Y9/dL773e86SUlJztVXX+289dZbzTzj+GrKek2ZMiUyNj093bnlllucioqKOMy6eZ39qvJ/386uzdixY50hQ4Z8a5+BAwc6SUlJzpVXXum88sorzT7veGnqej3xxBPOVVdd5aSkpDgdOnRwbrjhBmfdunXxmXwzqm+NJEWdK7xmnXE+a9VWX68cx3Huvvtu5/LLL3eSkpKczp07O0OHDo2EjeO0jPPK4ziO4951IQAAgObFZ24AAIApxA0AADCFuAEAAKYQNwAAwBTiBgAAmELcAAAAU4gbAABgCnEDAABMIW4AAIApxA0AADCFuAEAAKYQNwAAwJT/B6vubJicPXloAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "plt.figure()\n", "for particle in particle_array:\n", @@ -281,35 +217,10 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "c9f7a3af", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Deeltje 0, huidige positie: [0. 0.]\n", - "oproepen van de functie 'update_position' met dt = 1.0 second \n", - "Volgende positie [2. 0.]\n", - "Naar het volgende deeltje \n", - "\n", - "Deeltje 1, huidige positie: [1. 0.]\n", - "oproepen van de functie 'update_position' met dt = 1.0 second \n", - "Volgende positie [3. 0.]\n", - "Naar het volgende deeltje \n", - "\n", - "Deeltje 2, huidige positie: [2. 0.]\n", - "oproepen van de functie 'update_position' met dt = 1.0 second \n", - "Volgende positie [4. 0.]\n", - "Naar het volgende deeltje \n", - "\n", - "Deeltje 3, huidige positie: [3. 0.]\n", - "oproepen van de functie 'update_position' met dt = 1.0 second \n", - "Volgende positie [5. 0.]\n" - ] - } - ], + "outputs": [], "source": [ "for particle, particle_object in enumerate(particle_array):\n", " print(\"Deeltje \" + str(particle) + \", huidige positie: \" + str(particle_object.r))\n", @@ -341,7 +252,7 @@ "source": [ "```{exercise}\n", ":label: intro-ex-2\n", - "Maak 10 deeltjes, elk startend op positie (0,0) maar met een random snelheid tussen de -5 en +5.\n", + "Maak 10 deeltjes, elk startend op (een andere positie op) de x-as maar met een random snelheid tussen de -5 en +5.\n", "Update de positie en plot de positie van elk deeltje. \n", "\n", "En als je wilt gaan voor een uitdaging: \n", @@ -353,29 +264,10 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "8f76ad52", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[-4.55373917 -1.74210645 -1.90076682 1.25718882 -1.989392 -2.94428555\n", - " 3.98389132 1.88172298 4.62548598 -4.11394194]\n" - ] - }, - { - "data": { - "image/png": "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wgsvxHnnnRfTpk2L99577yxPevad6twcPnw4mpqa4p577ommpqb453/+59i1a1d8/vOf7/mBsnPMgw8+mI0ZM6bQY5x1dXV12fz58zs/bm9vz0aMGJE1NjYWcKris3///iwish/96EeFHqUoHDx4MBs3blz27LPPZp/5zGeyO+64o9AjFdyiRYuyT3/604UeoyhNnz49+8pXvtJl3R/8wR9kM2fOLNBExSEisg0bNnR+3NHRkdXU1GR/8zd/07nunXfeycrLy7N//Md/LMCEhfP+c3My27ZtyyIie+ONN3r02EnfwTmZtra2XvtFXn3F0aNHY8eOHdHQ0NC5rrS0NBoaGmLr1q0FnKz4tLW1RUScc9dId+bPnx/Tp0/vcu2c655++umYPHlyfOlLX4phw4bFJz7xiXj00UcLPVZRmDJlSmzatCl+8YtfRETEf/3Xf8WPf/zj+NznPlfgyYrLa6+9Fi0tLV3+XlVVVUV9fb2vySfR1tYWJSUlMWjQoB7tl9wv2zyV3bt3x8qVK2P58uWFHuWsOnDgQLS3t0d1dXWX9dXV1bFz584CTVV8Ojo64s4774yrr746Lr/88kKPU3Dr1q2Lpqam2L59e6FHKSr/8z//E4888kgsXLgw7r777ti+fXt89atfjf79+8fs2bMLPV5BLV68OHK5XIwfPz7Kysqivb09vvnNb8bMmTMLPVpRaWlpiYg46dfkE5/juPfeey8WLVoUt9xyS49/OWmfvIOzePHiKCkpOeXy/ifuvXv3xnXXXRdf+tKXYt68eQWanGI2f/78eOmll2LdunWFHqXgmpub44477ognnngiKioqCj1OUeno6IhPfvKTcd9998UnPvGJuO2222LevHmxevXqQo9WcN///vfjiSeeiCeffDKamprie9/7Xixfvjy+973vFXo0+qBjx47FjTfeGFmWxSOPPNLj/fvkHZy77rorbr311lNuM3bs2M5/37dvX3z2s5+NKVOmxNq1a/M8XfEZMmRIlJWVRWtra5f1ra2tUVNTU6CpisuCBQvimWeeiS1btsTIkSMLPU7B7dixI/bv3x+f/OQnO9e1t7fHli1b4uGHH44jR45EWVlZAScsnOHDh8dll13WZd2ll14a//RP/1SgiYrHn//5n8fixYvj5ptvjoiICRMmxBtvvBGNjY3n/N2t/+vE193W1tYYPnx45/rW1ta48sorCzRVcTkRN2+88UY899xzPb57E9FHA2fo0KExdOjQ09p279698dnPfjYmTZoUjz/+eJSW9smbVh9J//79Y9KkSbFp06aYMWNGRBz/v9BNmzbFggULCjtcgWVZFrfffnts2LAhnn/++RgzZkyhRyoKU6dOjZ///Odd1s2ZMyfGjx8fixYtOmfjJiLi6quv/sCPEvjFL34RF198cYEmKh6HDx/+wNfYsrKy6OjoKNBExWnMmDFRU1MTmzZt6gyaXC4XL7zwQvzpn/5pYYcrAifi5tVXX43NmzfHhRdeeEaP0ycD53Tt3bs3fvd3fzcuvvjiWL58ebz11ludnzvX7lwsXLgwZs+eHZMnT466urpYsWJFHDp0KObMmVPo0Qpq/vz58eSTT8a//Mu/xMCBAzu//11VVRUDBgwo8HSFM3DgwA+8Dum8886LCy+88Jx/fdLXvva1mDJlStx3331x4403xrZt22Lt2rXn5N3h97vhhhvim9/8ZowaNSp+53d+J372s5/Ft7/97fjKV75S6NHOunfffTd2797d+fFrr70WL774YgwePDhGjRoVd955Z/z1X/91jBs3LsaMGRP33HNPjBgxovN/QlN2qnMzfPjw+OIXvxhNTU3xzDPPRHt7e+fX5cGDB0f//v1P/0Bn/N6uPuDxxx/PIuKky7lo5cqV2ahRo7L+/ftndXV12U9+8pNCj1Rw3V0fjz/+eKFHKzreJv4bP/zhD7PLL788Ky8vz8aPH5+tXbu20CMVhVwul91xxx3ZqFGjsoqKimzs2LHZX/zFX2RHjhwp9Ghn3ebNm0/6tWX27NlZlh1/q/g999yTVVdXZ+Xl5dnUqVOzXbt2FXbos+RU5+a1117r9uvy5s2be3Sckiw7B3/EJACQtHPvBSkAQPIEDgCQHIEDACRH4AAAyRE4AEByBA4AkByBAwAkR+AAAMkROABAcgQOAJAcgQMAJEfgAADJ+X+xmBd4y7at1gAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "### begin-solution\n", "# Note this is a rather hacky way of doing things\n", @@ -421,18 +313,10 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "2231e465-3cdf-436d-97d3-c8a6ff189377", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Dit kostte 2.409597873687744 seconde!\n" - ] - } - ], + "outputs": [], "source": [ "import time\n", "import numpy as np\n", @@ -495,6 +379,12 @@ "De runtime is {eval}`` korter.\n", "```" ] + }, + { + "cell_type": "markdown", + "id": "0490aefe", + "metadata": {}, + "source": [] } ], "metadata": { diff --git a/book/Q2/4_brownianmotion.ipynb b/book/Q2/4_brownianmotion.ipynb index f4ebaa5..3a1a979 100644 --- a/book/Q2/4_brownianmotion.ipynb +++ b/book/Q2/4_brownianmotion.ipynb @@ -17,6 +17,8 @@ "Let op!\n", "We bestuderen hier nog geen thermische effecten, deze opdrachten zijn met name bedoeld om beter te begrijpen hoe het botsingsmodel in elkaar zit.\n", "\n", + "Voor een theoretische achtergrond over Brownian motion, verwijzen we naar de [Feynman lectures on Physics](https://www.feynmanlectures.caltech.edu/I_41.html).\n", + "\n", "```{warning}\n", "In dit notebook zitten delen waar ruimte is om code toe te voegen, maar waarbij je denkt... waarom dan?\n", "In een latere opdracht moet je terug naar die cell en de juiste code toevoegen.\n", @@ -622,7 +624,7 @@ ], "metadata": { "kernelspec": { - "display_name": "PySim", + "display_name": "base", "language": "python", "name": "python3" }, diff --git a/book/Q2/5_druktemp.ipynb b/book/Q2/5_druktemp.ipynb index 1d90778..44502b4 100644 --- a/book/Q2/5_druktemp.ipynb +++ b/book/Q2/5_druktemp.ipynb @@ -21,7 +21,12 @@ "- een functie schrijven voor de temperatuur\n", "- een functie schrijven voor de druk\n", "\n", - "En dan maken we een simulatie, controleren we de resultaten en verbeteren we eventueel de code. " + "En dan maken we een simulatie, controleren we de resultaten en verbeteren we eventueel de code. \n", + "\n", + "## Externe bronnen\n", + "Bij het maken van deze module kun je de Feynman lectures on Physics erg goed gebruiken.\n", + "We bevelen aan:\n", + "- [The Kinetic Theory of Gases](https://www.feynmanlectures.caltech.edu/I_39.html) voor het afleiden van de druk, en het botsingsmodel.\n" ] }, { @@ -31,7 +36,7 @@ "source": [ "## Laden van alle code die we al ontwikkeld hebben\n", "\n", - "Eerst roepen we de juiste pakketten vaan Python aan en bepalen we de waardes van de constanten van onze simulatie.\n", + "Eerst roepen we de juiste pakketten van Python aan en bepalen we de waardes van de constanten van onze simulatie.\n", "\n", "```{exercise}\n", "Neem de constanten die je in het vorige werkblad hebt gekozen hieronder over.\n", @@ -40,7 +45,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "99dc7374", "metadata": {}, "outputs": [], @@ -76,7 +81,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "48c04f7d", "metadata": {}, "outputs": [], @@ -130,12 +135,12 @@ "id": "c0000fbe", "metadata": {}, "source": [ - "Het volume met de 'oude' randvoorwaarden. Dit zijn niet de randvoorwaarden van het vorige werkblad, maar de randvoorwaarden die je in Q1 hebt gebruikt. Hierbij botsen de deeltjes elastisch met de wanden van het volume. " + "Het volume met de 'oude' randvoorwaarden. Dit zijn niet de randvoorwaarden van het vorige werkblad, maar de randvoorwaarden die je eerder hebt gebruikt. Hierbij botsen de deeltjes elastisch met de wanden van het volume. " ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "16be2cd8", "metadata": {}, "outputs": [], @@ -160,7 +165,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "043dd08f", "metadata": {}, "outputs": [], @@ -211,21 +216,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "0cf37cba", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbcAAAGwCAYAAAAqkitTAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWoRJREFUeJzt3Xl8FPX9P/DX7AYkaBKUG9kxeESaRcWK4Fmx2iSiJrtf4xE88CjxAEKS/jywrfSwUq3dTb9bq6S1atGINQU28Zs1Qa1ai7eCKEI8gokghyhJgBDYmc/vjw+bTUKOnd259/18PPYxs8lm5r2b3XnvfObzeX8ExhgDIYQQYiMOowMghBBC1EbJjRBCiO1QciOEEGI7lNwIIYTYDiU3QgghtkPJjRBCiO1QciOEEGI7KUYHoCdZlrF161akpaVBEASjwyGEEKIAYwzt7e2YMGECHI6Bz82SKrlt3boVLpfL6DAIIYQkoKWlBRMnThzwMUmV3NLS0gDwFyY9Pd3gaAghhCjR1tYGl8vVdSwfSFIlt0hTZHp6OiU3QgixqFguK1GHEkIIIbZDyY0QQojtUHIjhBBiO5TcCCGE2A4lN0IIIbZDyY0QQojtUHIjhBBiO5TcCCGE2A4lN0IIIbZDyY0QQojtUHIjxM7WrgWuvx644gqAMaOjIUQ3SVVbkpCk0dICXH018Oab/P6MGUA4DAwZYmxchOiEztwIsaMHH4wmtqOPBv71L0psJKlQciPEbn7+c+CRR6L3q6uBY481Lh5CDEDNkoTYhSwD48YBO3fy+2vXAhMnAiNHGhoWIUag5EaIHXzzDTBhQvR+ZycwdKhx8RBiMGqWJMTqgsFoYrv+et4rkhIbSXJ05kaIlc2ZA/zjH3x91SqgoMDQcAgxC0puhFjRgQPAEUdE72/Z0rNZkpAkR82ShFhNY2M0sY0eDUgSJTZCeqHkRoiV/O1vwMkn8/V77wV27AAc9DEmpDdqliTEKi68EHj1Vb7+n/8A551naDiEmBklN0J0Jssy6uvrUVlZicbGRrS3tyMtLQ1ZWVkoLi5Gbm4uHN3PxtrbgfT06P3du4GMDN3jJsRKKLkRohNJkhAIBODz+dDS0gKn0wlJkrp+v2nTJqxatQqiKKKsrAwlJSVwvPcerwsJAGeeCbz9NiAIBj0DQqxDYCx5SoW3tbUhIyMDra2tSO/+TZgQjXV0dGD27NkIBoOI5SMnCAI8kyej6tNPMQwAAgFg/nzN41R8VkmIjpQcwym5EftjzNCzHUmScMUVV6C2thayLMf8dw4A+QCq162D89RTNYsPGPysMnK/x1klJTmiMyXHcHp3Env75hvg9NOBv/zFsBACgQBqamoUJTYAkAEEBQGBV17RJrBDOjo6UFhYiPLycrS0tABAj8TW/X5zczPKy8tRWFiI/fv3axoXIYmgMzdib+3twIgR/Oyttha49FJddy/LMjIzM7uSRjxEUURTU5MmZ0pxn1U6HMjPz0d1dTWcTqfqcRHSFzpzIyQiLQ2YPJknt8suAz76SNfd19fXJ5TYAH621NDQoFJEPcV9VinLCAaDCAQCmsRFSKIouRH7+9GPouuff67rrisrKxM+s3E6naisrFQpoihZluHz+WLq4NIXxhj8fr/ixEiIHiyb3H7/+99DEASUlpYaHQoxu3nzouvvvKPrrhsbGw+7fqWUJElobGxUKaIos59VEpIISya3d999F0uXLsWpGvcgI+YjyzJCoRC8Xi/cbjdEUYTb7YbX60UoFOr7LGLKFF5/EQAefJA3Ueqkvb1dle20tbWpsp3uzHxWSUiiLJfc9uzZg2uvvRZ//etfcfTRRxsdDtGJJEmoqKhAZmYmZs2ahdraWmzYsAEtLS3YsGEDamtrMWvWLEyaNAkVFRWHJzmHA1iwgK/fdZducaelpamyHS06QJn5rFKxjg7gs8+MjoKYiOWS27x583DppZfi4osvHvSxnZ2daGtr63Ej1qNaV/U//YkvH35Yt7O3rKyshM+OUlJSkJWVpVJEUWY+q4xZczOwaBEwfjwwfTrQ2mpcLMRULJXcli9fjg8++ABLliyJ6fFLlixBRkZG183lcmkcIVGbJEkoKipCTU1NzB0fGGMIBoMoKirqmQQFASgr4+vl5RpEe7ji4uKEz47C4TCKi4tViijKzGeVMVm7FjjuOOD3v+dJ7aqrbFdzM65meMIxi2hubmZjxoxh69at6/rZBRdcwBYuXNjv3+zfv5+1trZ23VpaWhgA1traqkPERA1+v58JgsAAKL4JgsD8fn/PDcoyY/y8ja9rTJIk5nK54oo/chNFkUmSpHpsHo+HOZ3OhGJLSUlhXq9X9dgG1f3/CDA2YwZjnZ36x6GRcDjM/H5/13un9/8pcl8UReb3+zV5f5hRa2trzMdwyyS3lStXdv1TI7fIAczpdLJwODzoNpS8MMR4miWGu+7iB8R583R5HqonaJXU1dUl9NpGbqFQSJP4+rV1a8/EdvHF/GdW9MYbjH34IWMHD3b9aN++fczj8cT8nhEEgXm9XtbR0WHc89CJLZNbW1sbW79+fY/btGnT2HXXXcfWr18f0zYouVmLZgff7t/6dfjGGw6HmcfjYQ6HQ1HcDoeDeb1ezb6Vm/mssl/PPhv93xlxxqim/fsZGzGCP5dhwxibMYOF33qLFRQUxPVe8Xg8MX3JtzJbJre+DNYs2RslN2tRo9nM6XT23Wx27738oHLrrbo8F7N+GzfrWeVhZJmxmTOjia2mRp/9au3ZZxkbMqTrefkPva6m/38YhJJbPyi5WUt2drYqZ25ut/vwjet89sZY9DqKKIpdibd3Io6cDel1HcWsZ5U9fPttz2bIb7/Vfp96WrOGMYBJAHMl+F7X/UxaZ0mT3JSi5GYtiTaZRW4ul6vvHdx3Hz9Y3nyzrs9LkiQWCoWY1+tlbrebuVwu5na7mdfrZaFQSPeDk15nlZIksbq6OubxeFh2djZzuVwsOzubeTweVldX1/fzrq2NJrULLtClE5AhtmxhdU88ocr7XfdroDqi5NYPSm7WoumZG2M9zt6kAweUH3htZNCzym5nBkrPKuPu+XfFFdHE9swzGj1z89C0Gd4mKLn1g5KbtejRVT38618zP8Bcw4crO/DaVJ9nlcccw7wAC/3854qff1xnhZdfzjrQrRlyyxaNnq25aP5lzgYoufWDkpu1aN1VvevAG+N2kqnLdQ+Ra179Ne/2IxwOx9fzD2AegIWnTLFvM2QfNG+GtwElx3BLVSixOlWrDSRY9cIKcnNzE64qI4oicnJyDvt5j8onMW6L9Vf5xO5GjuRLhTMIJDQDOYDALbfwqjJJwvIVY8xG+1xrHkadualSbeCddxi7804+YHXkSMZ++lNdn4NRtOqqbpku8GbhcinqqWjJMXQGs3TFGJ1Qs2Q/jEhuqvRE6+jo2RVaEBh78EHdnoORtOiqTgfeOFRX8/deaWlMD7ds9RMD0Ws2OEpu/dA7ucV9zSFSbeDrrxk7/vieiW34cMbq6nSJ3yzU7qpOB5E4dB8XGAPq+accfekaHF1zM4m4rznIMoKrViEwcSLw5Zf8hz4fv330EXDJJRpEa16pqamorq6Gz+eDOHQoABw2jUzkviiK8Pl8qK6uxrBhw/rcHk3SGQeF175sNVecThwOB8rLyyHEeZ1REASUlZXB4aDDOoAYv4bZhJ5nbqp8CwOY9PrrmsdqJRLAQkBCA6Cpy3Wcior4mdtrrw36UOr5Fx9LVIwxkJJjeIoaCZIcrr6+vmtizXg1A2jYuxd56oRkfTU1cADIu+IK5FVXx70ZW0zSaYS77waefRa44AI+SegAPVmp5198nE4nqqqqMHv2bASDwZjmMBQEAQUFBaiqqqKztm7oldAINX1poKCALx9/PKHN0IE3TjU10fWnnx7woWaegdzsejTDiyKAPprhDy3Fo48etBk+WVFy0whdc1DZgQPR9QRnW6YDb5x+8pPoemfngA818wzkVuB0OlFaWoqmpiaEQiHk5+fD7XbD5XLB7XYjf9YshAA0ff89SjMy6IytD9QsqRFq+lLZ3Xfz5V/+kvCmiouLsWrVqoS2kZQH3rPOAq65Bli+fNDkFhmAn0jTfH8D8JOJw+FAXl4e8vL6uDjx9de8afjmm4H0dOCKK/QP0MQo3WuEmr5UVlHBl7fdlvCmtKx8YnsPPQQcdRQwatSAD6OefzqYOBGItOwUFgINDcbGYzL0ztEINX2pKDIcYuxYVcox0YE3AS4X8N13wM9+NuhDFyxYgIKCAsWvk8PhgMfjQUlJSbxRJo+TTgLWrePrubnAmjXGxmMiSfjp1Addc1CRx8OXL76o2ibpwJuAIUNielik519+fn7MXySo518cTj01mtTOPTea7JKd9iMTzMNy49xsXm0gZgoqYyih1ySdyc6MM5DbUkND9LPS2Gh0NJqgCiUmQE1fKnn+eb6cPVv1TcfU5VpB5RPSt0F7/uXnIxQKoampCaWlpfSej9dPfgL86198PStL8SwOgMozlxhNh2RrGkbUlqRqAwmKfBNta9N0N31O0qmw8gkhpvDkk9HPzY4dMf2JKjOX6EDJMVxgLIYh8DbR1taGjIwMtLa26tYLsaOjQ3G1AY/Hg6qqKjpD2L8fSE3l68nzNiUkcX/6E1Baytd37x5wbKiVjlFKjuF0/q8xavpKQHk5X/7tb8bGQYjVLFwI/OpXfH3ECGDfvj4f1mPS3hi/QDKLTNpLZ246kmUZDQ0NqKysRGNjI9ra2pCeno6srCwUFxcjJyeHrjdELF8OFBXxdVlOqhmZCVFNaSk/iwP4wPtDs2pEVFRUoLy8PObE1p0gCPD5fCiNnCHqQMkxnJIbMSdRjF4Qb2oCMjMNDYcQy7r++mgt0HAYONRSJMsyMjMzE64i09TUpNuXcmqWJNb33Xd8eeKJwPjxxsZCiJUtWwZEynelpHRdv1Zl5pLmZjSYtDIKJTdiPq2twN69/IO4YgVwxBFGR0SItYVCwBln8HWHA2DM9jOXUHIj5rN/PzB5MvDAA8AppxgdDSH28N57vLkfAIYPt/3MJTQrADGfsWOBDRuMjoIQ+/nqK2DYMGD/frRv2qTKJs06cwmduRFzEgTqIUmIFjo6AABpKnXjTz/qKFW2ozZKboQQkkwEAZBlZCE6o3e8UgBkffop3+bppwP//rdpCi5QciOEkGQjCCiurUWi525hAMWRDl9r1wI//jHvsCIIwPz5wM6dCe4hfpTcCCEkCeXOmgXXxIkJbUMUReTs28fP1pqbgRtuiP7ykUeAMWN4ohs3Dnj2WV6QQSeU3AghJAk5HA6U/+xn6s1c4nIBTz3FE50sA8EgcMIJ/Hfbt/OZPZxOnuyuuAL47DOVnknfKLkRQkiS0mzSXkEA8vOBzz/nye7774G77or+fsUKPi1PpOOYz8fLg6mIkhshhCQp3WZLHzECePDByEQ8wFtv8VnDI372Mz5EQRD4z996S/mT6YWSGyGEJLEeM5dMmADg8F6Uh81ccsstGHbmmcC778a30xkzgDfe4Ilu/37A74/+bs0a4Oyzo2d1d93Fp+1RiAonE0IIAXBo5pK//x2Vc+eiEUDb6NFIHzMmOnPJtGlwlJYCzzzD/2D1auDii9UN4vPPgUWLgOrqw37VdtxxyPjqK5oVoDdKboQQEoN164CpU/n6m28CZ53F1wsLgX/9i69ffDFPblqSZeCf/wTKyoBt29AGIAOg5NYbJTdCCInRmjXR62Lr1vF6r92LmK9bB5x6qq4htX35JTJOOIGmvCGEEBKnc84B6uv5+mmnRRPb8ccDL72ke2IDAIwaFfNDKbkRQgjpW04ObxaMOOss4IsvgIsuMi6mGFFyI4QQ0r+FC6Prb71laEktJSi5EUII6duPfgR88w1f/+Mf+XLMGMCk09x0R/O5EUIIOdycOcB//sPXJYkXRG5tBX7zGyAjA9i3D0hNBcCHENTX16OyshKNjY1ob29HWlpa1xCC3NxcxVVQEkW9JQkhhPT0y18C99/P1w8cAIYMif5uwQLgz38GAEj79iGwdCl8Ph9aWlrgdDp7zO4duS+KIsrKylBSUpJQklNyDKfkRgghJOrRR4E77uDr7e1AX5ORzp6NjmefxWwAQUFALGlEEAR4PB5UVVVh2LBhcYWm5BhO19wIIcTmZFlGKBSC1+uF2+2GKIpwu93wer0IhUKQI1PRrFwZTWzbt/ed2ABIy5ahaPRo1AAxJTYcelwwGERRUVGPszut0DW3XszYdkwIIfGQJAmBQKDfZsNNmzZh1apVvNmwoAAlgQA/4/nsM95xpB+BQAA1334Lpc1+siwjGAwiEAigtLQ0nqcUM2qWPGSwN4HabceEEKKljo4OzJ49G8FgMLZmQwAeAFVvvIFh3Sv29yLLMjIzM9HS0hJ3bKIooqmpSfExlJolFero6EBhYSHKy8u7/mG9T5sj95ubm1FeXo7CwkLs379f91gJIWQwkiShqKgINTU1sTcbAgg6HCh6+OEBmw3r6+sTSmwAP442NDQktI3BJH1yi+tNoHPbMSGEKBEIBFBTUxO9lhaj7s2G/amsrOyaAideTqcTlZWVCW1jMEmf3LR8ExBCiN5kWYbP54v5y3pvjDH4/f5+j4mNjY0Jf6mXJAmNjY0JbWMwSZ3ctH4TEEKI3rRuNmxvb09o2xFtGlc5SerkZpW2Y0IIiZXWzYZpaWkJbTtC67HGSZ3crNJ2TAghsdK62TArKyvh42ZKSgqysrIS2sZgkjq5WaXtmBBCYqV1s2FxcXHCx81wOIzi4uKEtjGYpE5uVmk7JoSQWGndbJibmwuXy5XQtkVRRE5OTkLbGExSJzertB0TQkistG42dDgcKC8vhyAIcW1bEASUlZVpXgQjqZObVdqOCSEkVno0Gy5YsAAFBQWKE5TD4YDH40FJSUlC8cW0L833YGJWaTsmhJBY6dFs6HQ6UVVVhfz8/JjP4ARBQEFBAaqqqnQpXZjUyc0qbceEEBIrvZoNU1NTUV1dDZ/PB1EUAeCwlrDIfVEU4fP5UF1dHfd0N0oldXKzStsxIWqIedoTYnl6NRs6nU6UlpaiqakJoVAI+fn5cLvdcLlccLvdyM/PRygUQlNTE0pLS/U9VrIk0traygCw1tbWrp+Fw2Hm8XiYw+Fg4LVDY7o5HA7m9XqZJEkGPiNCBhcOh5nf72cul4sBYE6ns8d7OXJfFEXm9/vpPW0T+/btYx6PhwmCENMxTRAE5vV6WUdHh9Gh96uvY3h/kj65MRbHmwAw/ZuAEMbseYAjsYt8sRFF0RZfbGyZ3B544AE2bdo0dtRRR7HRo0ezgoICtnHjRkXbGOiFiflNADA/wKSGBrWeGiGaCIfDrKCgIK5WCY/Hw8LhsNFPgahEkiQWCoWY1+tlbrebuVwu5na7mdfrZaFQyPRJLUJJcrPMZKV5eXm45pprcOaZZyIcDuPee+/Fxx9/jA0bNuDII4+MaRuxTHQnyzIaGhq6ZuJua2tDenp610zcOaeeCsexx0YeDMR5vY6Q3tSeBb6iogLl5eVxFQYXBAE+n0/z2ZIJUULJZKWWOXPrbceOHQwAe+2112L+GyVZf0B33MEYwFheXmLbIYRpc01MkqSu7cV7E0XRMt/oiY3t38/Y1q2MMWXHcMt282ttbQUAHHPMMf0+prOzE21tbT1uqnjkEb588UVg40Z1tkmSklazwNOMF0RPqvfEXb8euPBCQBSB4cOBH/wA6OhQtg2tk64WJElil156KTv33HMHfNzixYv7/Eaa8JkbY4x99BE/e7PmS0hMQMtrYh6P57AzQKU3p9PJvF6vjq8IsRpNeuJ+8EH02Bq5LVjAWGenPTuUdHfbbbex4447jrW0tAz4uP3797PW1tauW0tLi3rJjTHGzj+fv/B33qnO9khS8fv9Mfdi7H0TBIH5/f5+t52dnZ1QYovc3G63fi8IsRRVe+JKEmO//vXhSQ1gbOXKrofZOrnNmzePTZw4kX355ZeK/1a1a24RkhT9B+zcqc42SVLQ+ppYotuO3Fwul86vDLEC1VodWloY+8EPeiaz449nrKmJsU8/Zay5ucd+bXnNjTGG+fPnY+XKlXjllVcwadIko0MCHA6gro6vjx5tbCzEUrS+JkYzXhAtBQIB1NTUKL6WJssygsEgAjfeyHuau1zAp5/yX06bBvzwh8DatUBmJjB5Mv99nCyT3ObNm4enn34aVVVVSEtLw7Zt27Bt2zZ0KL3IqLZLLgEiB4DHHzc2FmIZWs8CTzNeEK3IsgyfzxfXEBOAn6j4n34aXWlxzRpg7lzgvfeALVuAGId2DcYyye3RRx9Fa2srZs6cifHjx3fdnnvuOaNDA775hi9/+lNgkF5shADazwJv9hkvqM6ldanS6gCgYeVK3hC5YgXw17/yX1x1FW8RU4PabbFmpvo1t+4CAd5ePH68+tsmtqP1NTGzjnOjOpfWp3pPXEGIXm979dUB923La26mN38+X37zDfDKK8bGQkxP62tiZpzxQqsxfURfqrY67NnD0xoALFkCnHeeChFylNzUFGmevOii6D+MkD7ocU3MTLMlS5KEoqIi1NTUxHythjGGYDCIoqKihA+mRD3t7e2qbKetrQ0YO5bfefpp4J57gAQ/E91RclPTuHHAHXfw9UsvNTYWYmp6XBMz02zJCfeuCwRUi4UkRrVWB0EA9u3jd669VpVt9pB4C6x1aHrNrbtI+/Gnn2q7nz5IksTq6uqYx+Nh2dnZzOVysezsbObxeFhdXR1dwzAJPa+JDTrjRbftaXGdy6zX/0h81LjmlpKSwryR4+SOHTHv29aDuBOhW3IzoDQXXai3Hi0rlPSl32lPRo1iIYBJ//mPJs+zrq4uoQNh5BYKhTSJjyij2v8Th8pqKUDJrR+6JTfGGDvvPN1Kc9GElNZkmlngW1r4e3XkSHW21wvVubQXVc7EASbF8eWfekuawWuv8eUf/gB8+61mu6EL9dYV1zUxQP1rYhMn8uWuXdCiI5TWY/qIvhLuiQugDIDjgw9Ujas3Sm5a0ak0F12ot7bU1FRUV1fD5/NBFEUAOKwXZeS+CMAHoPr55zFs2DB1A5k7ly+rqtTdLlTuXUdMIe6euIIAD4CSU04BTj9dk9giLDMTtxoUzeKqlowMoK2Nl+a6+WZVNy3LMjIzMxOqFiCKIpqamlTtGUfiM+gs8P/3f3D8+c/AjTcCTzyh7s737gWOOoqvq3xIcLvd2LBhgyrb+fjjj1WIiKiho6MDs2fPRjAYjKnVSBAEeBhDFYBhBw8CKSmK95kUM3HHQ9drbhF790Y7l+zfr+qm6UJ9kpHl6HupvV397Ue2ffCgqptVrXcdXXMznUF74nbvyDZ0KL/OtmxZ3Puja25mMnw4EGn6O+EEVTetdfFdYjKCACxfztenTFF/+3/4A1/ef7+qmzV7nUsSP6fTidLSUjQ1NSEUCiE/Px9utxsulwtutxv5+fkIhUJoWroUpQcO8Otg112nS2zULKmXyMXXH/0IeOaZ6EX8BFBzT5KKvJcaG4GTTlJvux0d/MsYwJPo1VersllqPk9yjEWLIe/YkVAfBCXHcHqn6GXlSr58/fXoN+RYHDzI5zdaupRfs8vO5gc3QUC7CokNoAv1lrN+PV+qPR3Nf/4TXVdx+iaHw4HyI49EfH3rtKlzSXSUn8+X8+bpOu+l8it6JD6jRkXXly8H/H5eeuaDD4C33gLefpvftmyJeZPqFMGhCSktZ8oU4JhjgO++A2pqogePRJ1/Pm86/+KLaJ3URDEGjBmDBd9+i9cA1Dgcinr2OhwOFBQUqFrnkujoyy+BF17g63/+s667puQWr3C4/94+jAE7d0YT1ttv8wQWsWNH7AVCp0wBZszgt7POAn7wg679Znm92FRbm9D1DJqQ0qK+/BIYMQIoKFCvd2NqKrBsGXDuucDWrYlv7+BBYOhQAIATQNWePZh93XWKetdpUeeS6CjSz+C99/Tfd9zdViwo4d6Sra2M/f3vjJ19Nu9VNmMGY2eeGe1lpuQmCIydcw5jZWWMLV/OWFMT7w2nAPWWTHKFhfy9tGiRutv9xS8Yu/rqxLaxe3f0vX7aaV0/VtS7jsrEWdtDD/H//5Qpqm1SyTGcOpTEqqWFX7zv7Bz8sUcfHT3TmjEDmDatZ7OkJKkytQNdqE9yshx9H3V2dp0lGW7zZmDSJL4+Zw7w5JOHPWTQMX05OfSetLLu4yYPHACGDFFlszTOrR8Jnbnt2cO/zZ52GmNHHcW/kdx1Fx/HZiC9i+8Sk4nMAH/WWUZHwr35ZvSM7aGHjI6GGCU9nb8H/vEPVTdLZ279UHUowJ490W8mBpIkCYWFhYpLcEUu1FdXV9M3ZKuLDA3YsgWYMMG4OP75z+jwgRUrAK/XuFiIcVavBnJy+LrK6YWGAujBBIkNMNeElMQgb7zBl8cea1wMv/tdNLG99x4ltmTFWDSxbd9uaCh0ZLMBRcV3RRE+nw/V1dXqF98lxjj33Oh697FqeikqAn7xC77e3AyccYb+MRBz8Hj48vbbgTFjDA2FmiVthi7UJ6lt24Dx4/m6nh/pk0/mlVIAXiA8Ta3Rl8Ryvvwy2vVfo/egkmM4JTdC7OLcc4E1a4A//QnQetCzJPUc5xlnlXdiI5HLIu++y3uIa4CuuRGSjF59lS8XLuTDBLSyd280kblcfF+U2JLbww/zZXa2ZolNKUpuhNjFkCHRa19XXqnNPrZujXam8nj4NbY4Z2QmNrFvH3DnnXx97VpDQ+mOkhshdvLb3/LlihXA7t3qbnvdumiPzF/+MloMnCS3yHviqadUG6ytBkpuhNhNbS1fRqqEqOH//g+YOpWvL1sG/OY36m2bWNdLL0W/RN1wg6Gh9EbJzWCyLCMUCsHr9cLtdkMURbjdbni9XoRCIUUDswkBAFx2GV/u3g189FHi2/vf/41u8/XXdZtskpgcY8BPfsLXDR7T1he6CmwQSZIQCATg8/nQ0tICp9PZo7r/pk2bsGrVKoiiiLKyMpSUlFAXfhK7zz7jtVBPOy2xbtm33w489lh0myeeqE58xPRkWUZ9fX3XsKL29nakpaV1DSvKXbqUnx0NNKbtu+/4lDfV1bzjUW2tftdoVS38ZXIJzwqgkn379jGPxxNzTUhBEJjX62UdHR2Gxk0sZtIkXt/vmWfi+/uzzorWidy1S93YiGlFZm5wuVwDz9wAMD/ApHC47w2tWNFzJpRzzmHswIGEYlNyDKfkprNwOMwKCgqYw+FQVOTY4XAwj8fDwv29kQjpbc+e6IEl1umU9uxhrKKi50Gps1PbOIlpKP7iDfT9xXvz5p7voTPPZKytLeH4lBzDqZ1LZ4FAQHGRY4A3EQSDQQQCAY0iI7Zz5JHALbfw9fnzY/ubu+8GSkuj92XZPFPpEE1JkoSioiLU1NTENJkswDNcMBhEUVERv6zCGB8ikpkZfdC55/JiyjpXr6EKJTqi+deI7hgDIu+Vffv4bNv9efll4OKLo/dfeQW48EJt4yOmUVFRgfLy8pgTW3eCIMBXXIzSpUujP3z7bWD6dBUjpAolplVfX59QYgOA5uZmNDQ0qBQRsT1BiE4WOlBB43CYTywKAMcfDzz3HHDBBZqHR8xBlmX4fL64EhsAMMbgX7oUMgDccQf/UqVyYlOKkpuOKisrD6vWr5TT6URlZaVKEZGkEElan37KZ8nuS0oKsGgR8Le/AZs2AVddFT3jI7anyhdvAA3LlwOPPKJOUAmid6+OGhsbe3T3j4ckSWiMVGEnJFYffMCXAw3snjePX6OjOpFJR7Uv3s89p1JEiaPkpqP29nZVttPW1qbKdkgSOf10IDJ/X329sbEQ07HjF29KbjpKU6m3EE3XQ+Ly9dd8mZdnbBzEdOz4xZuSm46ysrISPvVPSUlBVlaWShGRpDJyJDBrFl+//35jYyGmYscv3pTcdFRcXJzwqX84HEZxcbFKERG1WKZGaE0NX/7yl7yHJCGw6RfvhIeMW4jRFUokSeoqaRPvTRRFJkmSIfGTw8VcqkgUmd/vN8f/7qGHeNWIiy4yOhJiEnV1dQkdlyK3UCikaZxUocSkHA4HysvLIcRZOFQQBJSVldEAbpPo6OhAYWEhysvLu7pR9z4zj9xvbm5GeXk5CgsLsX//ft1j7SEyseTLLwM7dxobCzGF3NxcuFyuhLYhiiJycnJUiihxdJTU2YIFC1AwYoTiF97hcMDj8aCkpESTuIgycZUqYqxnqSIjvfIKX44Zw5McSWoOhwPlZ52FeOv1m/GLt3kiSRLOp55C1fffIx+I+QxOEAQUFBSgqqrKVG+eZGb5GqEzZ0bXL700sWlxiLV9/TUgCFjw/PMoAOBQ2LJk1i/edKTU0+bNwC23IBVA9a5d8Pl8EEURAA67mBu5L4oifD4fqqurMSwyTokYSpVSRX6/sZ1MDh6MFrLt7AQ++cS4WIgxGAOuuQY41BzpnDgRVd99h/yCAmO+eLe3Az/9KfD++4ltJ0LTq38mY2iHEkmKTv/w0kvdfiyxUCjEvF4vc7vdzOVyMbfbzbxeLwuFQubogEB6sMrF90Ft3szYuHH8Pfnww8bGQvT18ss9p6R5442uX0U6SYmiqF8nqa+/Zszt5rH85jf9Pozmc+uHoclt7Fj+j/vpT/XfN1GVx+M57AOv9OZ0OpnX6zX6qTC2aRN/b/7hD0ZHQvSwZw9jGRnRpHbLLf3O9afbF+/NmxkbOpTHIwiMffVVvw9VcgynInJ6eOABYPt2vv7XvxobC0mYrUoVZWUBzc00Z1syWLIEuPfe6P1t24CxY/t9uMPhQF5eHvK0rmjz9dfAgQN8feZM4NClmkTRNTetffQR8POf8/WODmNjIaqwXakiSmymlnCBgM8+41MfRRLbP/7Bz9sGSGy6uuaa6Pp996m2WTpz01JnJ3DaaXz9gw+ihWuJpdmxVBExH0mSEAgE4PP50NLSAqfT2aPFYNOmTVi1ahVEUURZWRlKSkp6duqQZT757L//ze+ffjrwzjvmmvXh2WejNU9V7rFLZ25aiiSzX/2Kv7GILdiyVBExlYQLBKxcCTid0cS2di3/gm2mxNbeDsyezde//171zVNy08r8+Xw5YgSweLGhoRB1UY1QoqWECgQUFkISBOB//of/4u67+RlRpAXJTCItF088wY+TKhNYrK+eDbS1tSEjIwOtra3aNgm99lp0kGw4zL9BEduQZRmZmZkJzVwsiiKamppoUD45TEVFBcrLy+MaRykA8AEoBfjZkAZJQxW//S2/vnbMMcCuXTH/mZJjOH2y1NbWFk1sX3xBic2GqEYo0UrCBQIA+EeNgixJ5k1sLS3RjiPbtmm2G/p0qS0jgy+XLgWOP97YWIhmFixYgIKCAsUJyqyliog51NfXJ9QiAADN336LhoYGlSLSQKSr/7//DQwZotluKLmp6fLL+fL00wG6nmJrTqcTVVVVyM/PpxqhRDWVlZUJd1ZyOp2orKxUKSKVFRXx5YUX9qxvqgH6hKllxQrghRf4ulq10Yippaamorq6Gr4rr0Rk2CnVCCWJsFWBgN7efx9Yvpyv6zAThYn6hVrYtm3AFVfw9e3b+YBJkhScTidK//lPlABoqKlB5RNPoLGxEW1tbUhPT0dWVhaKi4uRk5NDZ2tkULYrEBAhy8C0aXx940ZdjpGU3BLFGDB+PF9fuZLPj0WSx/r1AADH6NHIu/xy5EWapgmJg20LBJxyCl+WlAAnn6zLLumrZKIi40e8XsDjMTQUYoAf/pAv33zT2DiILdiyQEAwCGzYwNf/9CfddkvJLRGPPtr1zR0rVhgbC9Hfnj18HCMAnHCCsbEQW7BdgYB9+6Jf+nfs0HXXlNzitWEDcMcdfN1s7dtEH1ddxZfPP29sHMQ2cnNz4To0eWi8RFFETk6OShEl6Mgj+fKRR4DRo3XdNSW3eOTmAm43X3/99eiMxiR5MAaEQny9sNDYWIht2KpAgN/Plykp0RMBHZngFVDmkUceQWZmJoYNG4YZM2bgnXfe0TeA9euB7gMkzz9f3/0Tc4hcO7j1VmPjILZjiwIB27YB5eV8XaUeoEpZKrk999xzKC8vx+LFi/HBBx/gtNNOQ25uLnbo2ZYbOagJAp+ElCSnsjK+DASMjYPYji0KBER6kNfVGTfVl9IZwW+44Qb22muvKf0zVUyfPp3Nmzev674kSWzChAlsyZIlMf29kinK+3TgAJ+iPT2dsRdfjG8bxNq+/56xE09kjDdMGh0NsbFwOMz8fj8TRZEBYE6nk4GXj+xxXxRF5vf7mSRJRofMzZ3LPxtnnKH6ppUcwxXPCuDxeFBXV4fjjjsON910E+bMmYNjjz1W9aTb24EDBzB8+HBUV1fD063L/Zw5c7B7924Eg8HD/qazsxOdnZ1d99va2uByuQasKC3LMurr61FZWYnGxka0t7cjLS2tazBu7vjxcKSnU93IZPXyy3wCSICP3fnoI2PjIbYnyzIaGhq6jkmmLhDw8cfRMW2SBKgcl6KZXeLJnjt27GB//OMf2amnnspSUlJYXl4ee/7559mBAwfi2VxMtmzZwgCwNWvW9Pj5nXfeyaZPn97n3yxevLjHN53Ira+sH/mW5HK5rPUtiejrf/83etb27LNGR0OIechy9LOxbp0mu1By5hZXWh09ejTKy8uxbt06vP322zjxxBNx/fXXY8KECSgrK8Nnn30Wz2ZVt2jRIrS2tnbd+qu2nfCstyR5RAaj3n47cM01xsZCiJmccw5f3nwzcOqpxsaCBDuUfPPNN1i9ejVWr14Np9OJWbNmYf369cjOzoY/0g1UJaNGjYLT6cT27dt7/Hz79u0YN25cn39zxBFHID09vccNAP9ucUhCs94WFSU84JJYzJlnApdcEu3mTAjhPcjfeouvP/64sbFEKD0tPHDgAKuurmaXXnopGzJkCDvjjDPYo48+2uM0ccWKFWzEiBFKNz2o6dOns/nz53fdlySJHXvssco7lACMHXMMY2++yfx+PxMEoc/my8FugiAwv9+v+vMkhBDL2L8/2hy5daumu1LSLKm4cPL48eMhyzKKiorwzjvvYOrUqYc95sILL8QIDWaBLS8vx5w5czBt2jRMnz4dFRUV2Lt3L2666SblG/vuO8hnnw0feKaKB2MMfr8fJSUl5rmgSwghejr6aL586KHoEAATUJzc/H4/rrzyygHnpBoxYgSampoSCqwvV199NXbu3In77rsP27Ztw9SpU/Hiiy9i7NixyjbU2gq0taE+NxctkWsocWpubkZDQwPy8vIS2g4hhFjO0qVARwdfv/NOY2PpRfFQACvr3Y3U6/WitrY2oetmTqcT+fn5WEGFkwkhyWTXLmDUKL6+Z0+0jqSGlAwFSOq2NFvPeksIIXGSZRmhUAherxdutxuiKMLtdsPr9SIUCkGW5WhiW7FCl8SmVFJPVmrbWW8JISQOkiQhEAjA5/OhpaUFTqezxwnApk2bsGrVKohpaSgDUHLSSXB4vcYFPICkTm62nfWWEEIU6ujowOzZsxEMBruGRfU73re9HeUAXne7UbV//4B9MIyS1M2Stpz1lhBCFIprvC+AYE2Nacf7JnVys92st4QQEodAIICamhp+LU0BWZYRDAYRMOHsGEndW1KWZWRmZvZblisWoiiiqamJxrkRQizJSsdB6i0ZI1vNekvIITH1dCPkkPr6+oQSGxAd72sqWpZKMZu+SreEw2Hm8XiYw+FQVHrL4XAwr9dLswMQ06CZLUg8PB7PYe8VpTen08m8Xq/msWo+K4Cd2GLWW5L0aGYLEi+7jvelIzOA1NRUVFdXw+fzQRRFADisF2XkviiK8Pl8qK6uNmX3V5J8aGYLkgi7jvel5HaI0+lEaWkpmpqaEAqFkJ+fD7fbDZfLBbfbjfz8fIRCITQ1NaG0tJTO2Ihp2LGnG9GPXcf7JnVvSUKszko93Yg5qVFjNyUlBZdffrnmNXaptyQhScK2Pd2Ibuw63peSGyEWVllZmXCVHafTicrKSpUi6omGJZhfbm4uXC5XQtsQRRE5OTkqRaQOSm6EWJhZe7pJkoSKigpkZmZi1qxZqK2txYYNG9DS0oINGzagtrYWs2bNwqRJk1BRUUFJzkB2He9rrmgIIYqYsacbDUuwngULFqCgoEBxgnI4HPB4PCgpKdEosvhRciPEwszW042GJViTHcf7mi8iQkjMzDazBQ1LsC67jfeloQCEWFgoFMKsWbNU2U5eXl5C26BhCfYhyzIaGhpQWVmJxsZGtLW1IT09HVlZWSguLkZOTo4h/yMlx3BKboRYmJkSipkSLbEnGudGSJIwU083sw9LIMmFkhshFmeWnm5mHZZAkhMlN0Isziw93cw4LIEkL0puhNhAV0+3SZMgHvqZ3j3dzDYsgSS3FKMDsApZllFfX9/Ve6i9vR1paWldvYdyc3OphxcxlNPhQOmXX6IEQEMopHtPt6ysLGzatCnhArxqDUsgSU6zKVNNSMksrhE0uzGxjIcfZgxgrKTEkN3X1dUlNJtz5BYKhQyJn5ifkmM4DQUYQEdHB2bPno1gMBhTtQVBEODxeFBVVWXagY3ExiLX2w4eBFL0b5Qx07AEYk80FEAFVEaIWMratXwpioYkNsBcwxIIoXdRP6iMELGU6dP58rXXDA3DLMMSCKHk1gdZluHz+WI+Y+uNMQa/30/TeBB97NvHmyIBIDPT0FDMMiyBEHon9YFmNyaWcsMNfPnMM8bGcUhMBXgPLa1QgJdYE3Uo6YPX60VtbW1C182cTify8/OxYsWKuLdBSEwiZ0gm/Cj3WYC3pQVZAIpDIcMK8BJrUtKhhMa59YHKCBHLWLaML6++2tg4+uFwOJCXl9ezEPKwYUBnJ5CTA1BiIxqhd1YfrFpGSJZlhEIheL1euN1uiKIIt9sNr9eLUChE1wDtKNIk+cQTxsahxM038+UbbxgbB7E1Sm59sFoZIUmSUFFRgczMTMyaNQu1tbXYsGEDWlpasGHDBtTW1mLWrFmYNGkSKioqKMnZxZdf8uURRwCpqcbGosRNN/Hl3/9ubBzE1ii59cFssxsPpKOjA4WFhSgvL+/qBNO7STVyv7m5GeXl5SgsLMT+/fs1j41o7Ec/4st33jE2DqWmTePLp54yNg5ia5Tc+lBcXJzwNbdwOIzi4mKVIuobDTRPYuEwsGULXz/1VGNjUSrOQd6EKEHJrQ+5ublwuVwJbUMUReTk5KgUUd9ooHkSKy3lS7/f0DAIMStKbn2wQhkhGmiujO062zzyCF8uXGhsHPH6n//hy08/NTYOYl/a1G42JyUVpcPhMPN4PMzhcCiqaO5wOJjX69V8dgCqwB4bW87qUFfHq/9feKHRkcTvhRf4c7jrLqMjIRai5BhOyW0A+/btYx6PhwmCEFOiEASBeb1e1tHRofEzYczj8Rx2oFZ6czqdzOv1ah6rUcz8/0sIH67N2PffGx1J/A4e5M9h1CijIyEWouQYTs2SA4ipjFBkduNRo3QtI0QDzQdm284227dH10eM6Pdhpm+Gjcxc8O232u3j4EHgsceAL77Qbh/EvDRPtSYSz2SlEZIksVAoxLxeL3O73czlcjG32828Xi8LhUK6N2dFmtkSvblcLl3j1ovf74/5jK33TRAE5vf7jX4KfTv9dH7G8/rrff7aUs2wkTNQrTQ28u0fdxxj27Zptx+iG5qstB9KJys1M7fbjQ0bNqiynY8//liFiMzDtpNmyjIQaTno42Nrucl1zzsP+O9/gW3bgLFj1d8+Y8C4ccCOHcCUKbwiSkaG+vshuqHJSpOAlQaa6822szrcfz9fLlp02K8s2QwbKcP19NPabF8QgNxcvv7xx9rth5gSJTeLsspAcyNUVlYmnPidTicqKytVikglixfzZSTJdWPJMY9XXsmXWpbh8nqj6zrXeiXGomZJi5JlGZkjR6Jl9+64t2HKpjcV2LLJ9q23gLPPBn7wA6DXc7N0M6we0/Xs3AmMGaP9fojmqFnS7hiD4/zzUb57N+ItZKTHQHOjWHVWhwGdfTZfrl592K9s2wyrltGjo2eJv/61sbEQ3djvyGZ3+/bxObDWrMECAAWXXaY4QTkcDng8HpSUlGgTo8GsNqvDoLon62OPPezXlm6GPekkvty3T9v9LF/Ol7/6Fe+YQ2yPkpuVbNgAHHkkXz/tNDhlGVX//Cfy8/NjLhUmCAIKCgpQVVVly7M2wIadbSITka5c2eevLT3mMTL9TT/PTTUOB/CLX/D1667Tdl/EHLQck2A2iYxzM9zjj0fHBT3wQI9fRcY2iaJo/rFNOrBVaTJZHnQ8mKXHPH79NX9uP/6x9vvq/lru26f9/ojqqPxWPyyb3PLzox/K//6334dpNdBckiRWV1fHPB4Py87OZi6Xi2VnZzOPx8Pq6upMlywlSUr4gC+Kojme12OP8f/7zTf3+5Ds7GxVkpvb7dbxiXWj9WDu7p58ku/r9NP12R9RFSW3flguuXV2Rj/4AGO7dum6e0tVu+jFNhVKIv/7zs5+H6JGndEUgHknTND9PcYY0ze5dd/f9u367ZOogpJbPyyV3L78MvohnDiRN6noyHJFh2WZsU2bGDu0f7PP6hCTDRv4/3/kyAEfplozbPcvUr/5DWPhsD7PMz2d71Ov/b3yCt/f8OH67I+ohpJbPyyT3J5/PnqQufNO3XcfDodZQUFBXInB4/GwsF4HKcYY27OH11kcOzb6mo0Zw9iPf2y9BN1bRgZ/Pps2Dfgw1Zpha2p6thREbsGgts9z4UK+n4YGbffTXeS5ffqpfvskCaPk1g9LJLebbop+8PT8sHdjmia91lbGXnqJsfvvZ+yyy/j0KH0dfPu6ZWYy1tlp3c42+/craq5T9X8WDjP2+98f/ppmZfGzSbWtXcu3f8016m+7P5Gz4hhfX2IOlNz6YerkFg4z5nBEP3BbtxoShm6dMXbtYiwUYmzxYsZycqJNU0pvZ5/NWFkZY/Pn823Mncs73fRqxj2ssw3A3IBhszoMas4c/vwqK2N6uGbNsN9/z5NO79f9qqvUm08uhh6hmhg2jO/z3//Wd78kbpTc+mHa5LZlS/TDPXSoftce+qDa9ZvFixlbtIjPFp2aqjxpDRnC2Pnn82bZFSv4a6TmdcdLLuH7+fpr9bapluXLo6+DgueseTPshg2MTZ58+P/qgQcSf88akdy2b6ezN4uh5NYPUya3F1+MfsB++lOjo1Fnhm+AeQdKXEceydhFFzH2858zVlvL2I4d+j/RRx5RdGakG0nq+VopPKPUrRk2GOz7f1tbG9/24kjmqpg6le/3qaf03S+JCyW3fpguuf3sZ9EP9b/+ZXQ0jDEVx0yNHs1YfT1j331n9FPqW1MTf93z842OpKfNm6PviSlT4j4j0m1y3XCYXxPtneSysxnbuDH27RQV8b9bu1aduGK1b59xiZUoRsmtH6ZJbrLM2Lhx0Q9VU5Ox8XRj6WoXSkSu8zidRkfSU+RMfsQIxlpajI5Gme++Y6yw8PBEN3s27xzEWP/JevVq/tiFC3ULt0vkmuIvf6n/vokiSo7h9iwuaGa7dvE6d9u28fudnUBmpqEhdWe7osP9idTiNGKSzoGEw0BqKlBVBUycaHQ0yhx9NPD88zylffwxcOKJ/OdVVXwGbEEAUlKAG24AWlt7/u2FF/LlE0/oGzMAPPMMX/72t1RU2UYouenpv/8FRo3i6x4PPwgMHWpoSL3Zruiw1Vx6Kf8CdMklRkeSGLcb+Owz/h5fsaLn75YtAyZPBrpPsRN5zxkxzZDDEZ0ItqhI//0TTVgiuW3evBm33HILJk2ahNTUVJxwwglYvHgxDhw4YHRosfvd74DzzuPrTzyhfRX0OCXVDN8ZGXzJmLFx9JaaanQE6vIe6l70s59Ff7ZtG7BwoXEx9farX/HlP/+p/fQ7RBeWSG4bN26ELMtYunQpPvnkE/j9fjz22GO49957jQ5tcIwBp5wSnW5jwwbgxhsNDWkgubm5cLlcCW1DFEXk5OSoFJGGLruML1WYtZvE4OGHeTP8V18Ba9YAzz3X8/cXXMCXr76qe2gA+BklEJ0YllibDtcANfHQQw+xSZMmKfobXTuUdHQwduKJPS+s792r/X5VYJoKJVqrquL/lwcfNDoSwljPz4oRw0O6x7BtmzH7JwNKig4lra2tOOaYYwZ8TGdnJ9ra2nrcdFNWBnz+efQ+Y8Dw4frtX5Libm5bsGABCgoK7D/Dd+Ts8v/+z9g4CJedHV2PcfJd1UXOGkXRmP0T1VgyuX3++ecIBAK49dZbB3zckiVLkJGR0XVLtLktZs89Bzz2GF8XBODJJ/XZ79lnA0ccwS/Op6QAt90W12acTieqqqrsP8P3yJF8+frrxsZBuAceiK4b1ds20jR64AA1V1ucoUehe+65B4IgDHjbuHFjj7/ZsmUL8vLycOWVV2Lu3LkDbn/RokVobW3turW0tGj5dKK2bwdGjwYeegjYvRuYM0ef/brdwMGD0e7MlZU8uQoCcMUVwJtvxnw2l5qaiurqavh8PoiHvsX27kUZuS+KInw+H6qrqzFs2DD1ng9JLpdfzocPDB1qbC/iyDHH7TYuBpIwgTHjuort3LkTu3btGvAxxx9/PIYeeqNv3boVM2fOxFlnnYUnn3xS8RlCW1sbMjIy0Nraqu04LMZ4kjHiA9rYCPz613xs0UAyM3nvtRtvBI46asCHyrKMhoYGVFZWorGxEW1tbUhPT0dWVhaKi4uRk5NjnbO13iJnpmbrMZms3nyTD4WIdPYxSloasGcP5IYG1IfDXe/99vZ2pKWldb33c3NzrfvetyAlx3BDk5sSW7ZswYUXXogzzjgDTz/9dFxjsXRLbmZw8CAwZEj0/rp1gM8H/OMf/f/NjTcC5eW8d6fOZFlGfX29/geRzEzee+/gQd6USwgAads2BMaPhw9AC3grRfchMpH7oiiirKwMJSUllOR0oOgYrnHnFlV8/fXX7MQTT2QXXXQR+/rrr9k333zTdVPCNOW3zKCtjbE//YkxUey/wPGpp/KCsp2dmoURKfQbKful+3xr8+bx5/rGG+pul1hW1+wKCnoIm2qSWxuzXW3JJ554ot83lhKU3AYgy/wA7/UOPBVNSQljX36pyi5NMVN2KMSf1z33qLdNYlmWmoU+CdkuuamFkptCO3fyiu8jRvSf7M49l7GVKxVXrzfNQSRSFX7KFHW2RywtacZ4WpSSY7hlrrmpIamuuWlBlnk9wIcfBl5+ue/HpKbyjirz5gHjxvW7qYqKCpSXlyOet58gCPD5fCgtLVX8t/1skC+T56NA+iDLMjIzMxPqVS2KIpqamuj6m0aUHMPpP0Bi53AAeXnASy9Fz91aWoC77ooWvu3oAO6/Hxg/PjoMYdYsngwPJQ9ZluHz+eJKbADAGIPf74dMFdyJiurr6xMeLtTc3IyG7gWhiWEouZHETJwIPPggn6olMgTiueeAM8+MPiYUAi6+mCdHQUD9yJF0ECGmU1lZmfCMGE6nE5WVlSpFRBJByY2oKyUFuOoq4J13omd3Gzf2qJZSuXs3EjuEqHwQOf10vty7V53tEUtqbGxMeEYMSZLQ2NioUkQkEZTciPZOPhl49NGuZNc4eTISnSJU1YPIpZfy5SuvqLM9Yknt7e2qbEfXGrakX5TciO7aVTpDUu0gEqmGQQWUk5qdZ6GXZRmhUAherxdutxuiKMLtdsPr9SIUCtny+jWVZCC6M91BZNo0vqTkltSysrKwadOmhJomzTYLvSRJCAQC8Pl8aGlpOazSyqZNm7Bq1SpbVlqxx7OwiWT5dpWVlZXwhXtVDyKRWL7+Wp3tEUuy2yz0HR0dKCwsRHl5eVcHrt7PL3K/ubkZ5eXlKCwsxP79+3WPVRPaDrkzF7MO4ja8BJXO6urq4hok2/sWCoXUCypyRZAkLUmSuj6D8d5EUTTF59M0RRJURhVK+mHG5GaKElQ6M+VBhJIbYfapUGKX59FbUszEbQeSJKGoqAg1NTUxD2hmjCEYDKKoqCjhJhSjOBwOlJeXxzwRam+CIKCsrEzdawM//jFf7typ3jaJ5dhhFnoqksBRcjNQIBBATU2N4jeRLMsIBoMIBAIaRaY90x1EIsMBXnxR3e0SS7HDLPRUaeUQjc8iTcVMzZKmbJrTmamaZDdu5M2SV12l/raJ5USug4uiyABrXQf3eDyHxav05nQ6mdfrjW5UlhmbO5exc85h7M47GXv2WcZaWnR/bnTNrR9mSm6m7FRhANMcRGSZJ7fhw7XZPrEkSZJYKBRiXq+Xud1u5nK5mNvtZl6vl4VCIVMltYjs7GxVji1u9DELSPfb3Lm6PzeaFaAfZpoVwOv1ora2NqHrZk6nE/n5+VixYoWKkRlDlmU0NDR0zcTd1taG9PT0rpm4c3JytG/yodkBiA2IophwsyQAuAA0970DoLAQuP56YOrUhPejhJJjOA3iNgjVsevJ4XAgLy8PeXl5RodCiKWpViTB7QY+/jj6gx07eIer7OzoF0ETM/7qZ5KiOnYmdMQRfElnbsTCNCuSMGYM4HZbIrEBlNwMY7oSVCTaY/KLL4yNg5AE2K3SSrwouRnEdCWoCBVQJraQm5sLl8uV0DZEUUROTo5KERmDkptB6NuVCV1yCV9SciMWZsoiCQag3pIGkWUZmZmZCfVqEkURTU1Nln8Tmgr1mCQ2IEkSCgsLFReJcDgcKCgoQHV1tSmPK0qO4eaLPknQtytCiFbsUGklUdZ/BhYWdwkqAJ7p001Rx44QYk6pqamorq6Gz+eDKIoAcNh1/sh9URTh8/lQXV2NYcOG6R6rFqhZ0mAdHR2YPXs2gsFgTIVOBUGAhzFUARj2+uvA+edrH2QyGT8e2LYNkCTABt9eCQFMUiRBBUqO4ZTcTCAyW67f70dzc/Nhs+VG7nfNlnvuuXBMn85/uX49MGWKQZHb0Ny5wN/+Brz7bnSGbkKIKdA1N4txOp0oLS1FU1MTQqEQ8vPz4Xa74XK54Ha7kZ+fj1AohKamJpSWlsJx5plAfT3/41NOAZr7LJJD4hEZ60Y9JgmxNDpzs7JnngGuu46v79oFHHOMsfHYQXs7kJ7Oz9refdfoaIhawmHg2Wf5cI9Ro4yOhsSJztySxbXXAn/4A18fORLo6DA2HjuIVI557z1j4yDqeucd4IYbAI8HOHDA6GiIDii5Wd3/+3/AwoV8ffhw/g2VENLT6afzDkL//S9w2200jjEJUHKzg4oKwOvl60OG0AeXkN5SU4HJk/n6E08Ab7xhbDxEc5Tc7GLFCuC00/j6kCHGxmJ1P/gBX3Z2GhsHUVf36ZSOP964OIguKLnZydq1wJFH8jFakW+pRLlIj8nXXzc2DqKuhx8GfvMbvn7DDcbGQjRHyc1uIvPEbdoULQRMlInMDvDCC8bGQdQlCMAvf8nXX3mFOpbYHCU3uxGEaKeSF18Ebr/d2His6Jxz+JKSmz098ghfXn21sXEQTdE4N7vq7AQiNeLuvx/4+c+NjcdqaHYAe4v8f8NhIMF5FYl+aJwbAY44Ati9m6//4he8hxiJTeR1A4CVKw0Lg2hoyRK+vOUWY+MgmqHkZmcZGcCWLXz95puppFSsQqHoenW1cXEQ7dx9N18+9RSgYL4zYh2U3OxuwgTg00/5+mWXAW+/bWw8VnDZZXxcFAAce6yxsRBtCAJw7718vbTU0FCINii5JYPJk4E1a/j6WWfxnpSkf2lpwI038vXx4w0NhWjo/vv5MhCga6s2RMktWZx9NlBTw9cnTwa++cbYeMzujjv4jAtTpxodCdGKIADz5vH1yBABYhvUWzLZPP448NOf8vXdu/l1OUKSlSxHe0vKcrQXJTEl6i1J+nfLLdEqDSNGUIkpktwcDuD66/l6ZIYNYgt05pasbr0VqKzk65LEP+SEJCNJAlJS+HryHA4tic7cyOCWLgVycvi600kfamI/sb6nnU6goICvP/aYdvEQXVFyS2b19cCJJ/L1ESMMDYUQ1bS08MLIl18e+/yG//wnX1K5Otug5GZV4bA6g08/+4wv29qAM85IfHuEGGX/fuCee/gXtmXLgB07Yu8gMnQoMHMmX3/6ac1CJPqh5GZF27YBJ5zAy2qpIZIkP/gAuPJKdbZJdCfLMkKhELxeL9xuN0RRhNvthtfrRSgUgmz3ShzvvQc8+CCv9p+SwquPKKkbWVfHl5EOJsTaWBJpbW1lAFhra6vRoSSms5OxIUMYAxj7+9/V2ebBg3x7AGPl5epsk+giHA4zv9/PXC4XA8CcTicD0HWL3BdFkfn9fiZJktEhq6+zM/r+BRi7//74tvPDH/K/X7lS1fCIOpQcw6m3pFVNnw68+y5ff+MN4NxzE9/mvn18slMA+OMfgfLyxLdJNNXR0YHZs2cjGAwilo+yIAjweDyoqqrCsMisEVa3Zw+vKgPwz8Wf/8wH38czI31bW3TsZ/IcGi2Deksmg/PPj67v3KnONocPB779lq//7GdAVZU62yWakCQJRUVFqKmpiSmxAQBjDMFgEEVFRZAkSeMIdbBjRzSxzZnDa6eeeWZ8iQ0A0tOjnaxWr1YnRmIISm5WtWBBdH3FCvW2O3IksHkzX7/2WuCll9TbNlFVIBBATU2N4mtpsiwjGAwiEAhoFJlOvvwSGDuWr//iF8CTT6qz3Uhx8chQGWJJ1CxpZYxFB1+rPeni+vXAqafy9fffB374Q/W2TRImyzIyMzPR0tIS9zZEUURTUxMcVhzA/+GH0ffkX/6ifhf+MWN4i4haTf5EFdQsmSwEIVrZXO1JF085BXj1Vb5+xhn8WzIxjfr6+oQSGwA0NzejoaFBnYD27AGKi4G1a9XZ3kBefjma2KqrtRmb9tFHfHneeepvm+iCkpvVReakeuopXkZITRdcADz/PF8/4QR+fYOYQmVlJZwJnqk7nU5URkqwJWr9euCvfwWmTQN+/Wvg4EF1ttvb8uXAxRfz9VdfBa64Qpv9jBvHZ7MHIL//fnIPsbAqLbttmo1thgL0dv/9vPvynDnabD8QiHaxbm/XZh9Ekezs7B7d/eO9ud1u9YKaNSv6PikoUG+7ERUV0e2vW6f+9nsJf/EF8wPM1WtIBZBEQyxMhoYC9MN219witLz2FnHvvcCSJXz9wIH4e6MRVYiimHCzJAC4XC40NzerEBF6XqcF1J1C5u67gYce4uubNwPHHafOdvvRNcRi1SrEcoC05RALE6JrbslGEKLT2Mydq80+HngAuO46vj50KI0BMlhapPt7glT9knfKKbxzR4RacwXOnh1NbN9+q3li6zHEIsa/YXYbYmEDlNzsIlKK64kn1Kk52Zdly6I9xxwOSnAGysrKSviaW0pKCrKyslSK6JDbb4++L9rbe47HjMc55wDPPsvX9+zhQ1U0lvRDLGyCkptddD97i8y0rYU33oiOLZo4Ubv9kAEVFxcnfIYQDodRXFysUkS9RBLDG2/wuQOVYoy/z958k98/cCBaPUdDsizD5/PFPCi+N8YY/H4/dTIxAUpudqLH2RsAfPMNX27dyntUEt3l5ubC5XIltA1RFJGj1UBlQYjO8l5ZCTz8cOx/K8u8ZSDSO1eWdbvGa7ohFiRulNzsRBCAX/2Kr2v1jTyyn8hZw+uv87JHRFcOhwPl5eUQ4uywIQgCysrKtB3APXQo8N13fP3OO/mYtMEcPBjtEOVy8TM4tTqlxMB0QyxI3Ci52c199/Hl449re/bmcES/mf/jH/wAtGqVdvsjh1mwYAEKCgoUJyiHwwGPx4OSkhKNIuvm6KOBpia+fuWV0WbGvuzZwxMiwFsE1OrFqUBjY2PCzb2SJKGxsVGliEi8KLnZjV5nbwA/ELW3R+97vdHCy0RzTqcTVVVVyM/Pj/kMThAEFBQUoKqqSr+yW5mZwDvv8PVzzgG++OLwx+zcGS2AfP310eo4Omvv/n5OQFtbmyrbIfGzXHLr7OzE1KlTIQgC1upR6seK9Dp7A4CjjuLVSyIinVqILlJTU1FdXQ2fzwfxmGMAAM5eiS7SzCaKInw+H6qrqzUfi3XYxKlXXAH3xInwAgideCLk7jNZNDXxWo4AH0/5j39oGttATDnEgsRH2/Hk6ispKWGXXHIJA8A+/PBDRX9r2wolfbnvPl7JYe5c7ffV2srYrbfy/TmdjDU1ab9PchgJYCGAefPzmdvtZi6Xi7ndbub1elkoFNKlgsagE6c6HLyqB8D8Dz3EpPffj1YdCQQ0j28wHo/nsJiV3lJSUpjX6zX6qdiSkmO4pZJbXV0dmzx5Mvvkk08ouQ1GlqMHDb3KAv3733wW74MH9dkfier+/zbIvn37mMfjYYIgxJQEBIB5AdYBMPb884bF3V1dXZ0qZc1CoZDRT8WWlBzDLdMsuX37dsydOxfLli3D8OHDY/qbzs5OtLW19bglDUGINk/edps++5w5k8/gnZKiz/5IVF0dX15/vSG7j2viVABBAEXnnQfJ69U0vliZfogFiZklkhtjDDfeeCNuu+02TJs2Lea/W7JkCTIyMrpuib5pLSfSseSvf9X+2hsxViSp+XyG7D7uqh4Agm+8YZqqHpYYYkFiYuh/4J577oEgCAPeNm7ciEAggPb2dixatEjR9hctWoTW1taumxqFZi1FEKIDu++4w9hYiLa+/54vR43SfdcJV/UA4L/3XtNU9bDEEAsyKENnBdi5cyd27do14GOOP/54XHXVVaitre3xbUqSJDidTlx77bV46qmnYtqfbWcFGEj3GQMkKbpO7OPNN3kX+0suiTZP6igUCmHWrFmJb6eoCHlVVSpElLiuWQGCwZiSNs0KoA9Fx3BNr/6p5KuvvmLr16/vutXX1zMArLq6mrW0tMS8naTqUNLdL37BOxrceqvRkRC17dwZ7UhiUC9VNXoYOg91LmF//7shz6EvkZ6foijSfG4mYfv53DZv3oxJkybhww8/xNSpU2P+u6Q8cwPo7M3O5s8HHnmErweDQH6+7iG43W5s2LAh8e0A+BgAVq+OzrZtArIso6GhAZWVlWhsbERbWxvS09ORlZWF4uJi5OTk0DU2nSg5hlO3tmQgCHxw7AMPAPPmAY8+anRERC2Ra21AdLYGnalW1WPcOGDbNuAnP+ETn06Zosp2E+VwOJCXl4e8vDyjQyEKWPLrRmZmJhhjis7akt799/PlY49Rz0k7iSS3228HZswwJATVqnqMHAm89BK/c8op0dknCImDJZMbiUPk7A2APG9ez9JIogi32w2v14tQKGSaXmskBnv38h6SDzxgWAiqTpx60UV8yiYAmDCBF1MmJA6WvOYWr6S95naIFA4jMGQIfABawGsOdq+AHrkviiLKyspQUlJC1xLM7uBB3pRn4BhO1XpLhkLRpr/Fi6N1Sg8epMIABICyYzgltyTR1bV51SrE8g+nrs0kVrIsIzMzM6FxpKIooqmpqeeXqWuuAZ57LrITXed1I+ak5BhOX8uTQI/SSDH+DWMMwWAQRUVFCc9vRexNs6oey5cD2dl8ffToBKMkyYaSWxKIuzSSLCMYDJqmNBIxL82qenzyCV/u2gX8+MddPz5sSh26bkx603C8nekkOohbkiRWV1fHPB4Py87OZi6Xi2VnZzOPx8Pq6upMOYhTkqSu6UfivYmiaMrnRsxF8awAgsC8Xi/r6OgYeMOS1DVQPXz77QNPqZOkA6uteGyKh22nvElUvMlt0DmqTPyBoik8iJ40q+qxfz/bBzDPoalyVE2eFmblY1M8KLn1I57kptm3UZ2oUhrJ6aTJF4kikiSxUCjEvF6vKhOnhsNhVjBrFnMofO86HA7m8XhYOBzW6Jkax+rHpnhQcuuH0uQWDodZQUEBcxyaPdiKH6js7GxVztzcbrfRT4UkMb/fH/NBvK+Dut/vN/opqMoOx6Z42HKyUiPYoSOGaqWRkmmiV2IqCU+pwxj8fr+tOpnY4dikNUpu/bDLB0q10khJNi6QmEd9fX3CczE2NzejoaFBpYiMZZdjk9YoufXDLh8oVUsjEWKAysrKhN/DTqcTlZWVKkVkLLscm7RGya0fdvlAFRcXJzwIOxwOo7i4WKWICFGmsbEx4fewJElobGxUKSJj2eXYpDVKbv2wywcqNzcXrgTrDoqiiJycHJUiIkQZum7ck12OTVqj5NYPu3ygNCuNRIhO6LpxT3Y5NmmNjlj9sNMHSrPSSITogK4b92SnY5OWKLn1w04fKKfTiaqqKuTn58d8BicIAgoKClBVVUVnbcRQdN24Jzsdm7RER61+2O0DlZqaiurqavh8PoiiCACHfUAi90VRhM/nQ3V1NU13QwxH1417stuxSSs0n1s/NJujygRkWUZDQwMqKyvR2NiItrY2pKenIysrC8XFxcjJyTFdzCS5VVRUoLy8PK6xXYIgwOfzobS0VP3ADGDnY9NgFM3JqV2hFPNRWn6LSv4QYg7hcJh5PJ64yk15vV7LFwzuLVmPTVR+SyXUEYMQc6Drxj3RsWlw9vqPq4w+UISYB103jqJj0+DomlsMJElCIBCA3+9Hc3MznE5njwu6kfsigLIbb0TJ448nxZuHEKPQdWMu5mOTKKKsrAwlJSWWfl2UHMMpuSkw4AfquuuQc8UV/FQ4eV5SQogJJEuyp+TWj0ST26Byc4GGBuBPfwKSoE2bEEL0pOQYbv1UbiYvvMCXCxfS2RshhBiIkpuahgwBIgMj77zT2FgIISSJUbOk2hgDIm3b4TCQYJkcQgghHDVLGkkQgN/9jq9fc42xsRBCSJJKqjO31tZWjBgxAi0tLdpXxM7I4Mtt24DUVG33RQghSaCtrQ0ulwu7d+9GRuQY248UnWIyhcg8SIkWYVVk3Dj99kUIIUmgvb190OSWVGdusixj69atSEtLi3vyTrVFvonocjZpYfQ6DY5eo9jQ6xQbM75OjDG0t7djwoQJg47bS6ozN4fDgYkTJxodRp/S09NN8wYyM3qdBkevUWzodYqN2V6nwc7YIqhDCSGEENuh5EYIIcR2KLkZ7IgjjsDixYtxxBFHGB2KqdHrNDh6jWJDr1NsrP46JVWHEkIIIcmBztwIIYTYDiU3QgghtkPJjRBCiO1QciOEEGI7lNxMqLOzE1OnToUgCFi7dq3R4ZjK5s2bccstt2DSpElITU3FCSecgMWLF+PAgQNGh2a4Rx55BJmZmRg2bBhmzJiBd955x+iQTGXJkiU488wzkZaWhjFjxsDj8WDTpk1Gh2V6v//97yEIAkpLS40ORRFKbiZ01113YcKECUaHYUobN26ELMtYunQpPvnkE/j9fjz22GO49957jQ7NUM899xzKy8uxePFifPDBBzjttNOQm5uLHTt2GB2aabz22muYN28e3nrrLaxevRoHDx5ETk4O9u7da3RopvXuu+9i6dKlOPXUU40ORTlGTKWuro5NnjyZffLJJwwA+/DDD40OyfQeeughNmnSJKPDMNT06dPZvHnzuu5LksQmTJjAlixZYmBU5rZjxw4GgL322mtGh2JK7e3t7KSTTmKrV69mF1xwAVu4cKHRISlCZ24msn37dsydOxfLli3D8OHDjQ7HMlpbW3HMMccYHYZhDhw4gPfffx8XX3xx188cDgcuvvhivPnmmwZGZm6tra0AkNTvnYHMmzcPl156aY/3lZUkVeFkM2OM4cYbb8Rtt92GadOmYfPmzUaHZAmff/45AoEAHn74YaNDMcy3334LSZIwduzYHj8fO3YsNm7caFBU5ibLMkpLS3HuuediypQpRodjOsuXL8cHH3yAd9991+hQ4kZnbhq75557IAjCgLeNGzciEAigvb0dixYtMjpkQ8T6OnW3ZcsW5OXl4corr8TcuXMNipxY0bx58/Dxxx9j+fLlRodiOi0tLVi4cCGeeeYZDBs2zOhw4kbltzS2c+dO7Nq1a8DHHH/88bjqqqtQW1vbY545SZLgdDpx7bXX4qmnntI6VEPF+joNHToUALB161bMnDkTZ511Fp588slB53ayswMHDmD48OGorq6Gx+Pp+vmcOXOwe/duBINB44Izofnz5yMYDOL111/HpEmTjA7HdFatWgWv1wun09n1M0mSIAgCHA4HOjs7e/zOrCi5mURzczPa2tq67m/duhW5ubmorq7GjBkzTDsPnRG2bNmCCy+8EGeccQaefvppS3zQtDZjxgxMnz4dgUAAAG92E0UR8+fPxz333GNwdObAGMOCBQuwcuVKvPrqqzjppJOMDsmU2tvb8dVXX/X42U033YTJkyfj7rvvtkwzLl1zMwlRFHvcP+qoowAAJ5xwAiW2brZs2YKZM2fiuOOOw8MPP4ydO3d2/W7cuHEGRmas8vJyzJkzB9OmTcP06dNRUVGBvXv34qabbjI6NNOYN28eqqqqEAwGkZaWhm3btgHgk1+mpqYaHJ15pKWlHZbAjjzySIwcOdIyiQ2g5EYsZvXq1fj888/x+eefH5b0k7kR4uqrr8bOnTtx3333Ydu2bZg6dSpefPHFwzqZJLNHH30UADBz5sweP3/iiSdw44036h8Q0RQ1SxJCCLGd5L0KTwghxLYouRFCCLEdSm6EEEJsh5IbIYQQ26HkRgghxHYouRFCCLEdSm6EEEJsh5IbIYQQ26HkRgghxHYouRFCCLEdSm6EEEJsh5IbIRa3c+dOjBs3Dg888EDXz9asWYOhQ4fi5ZdfNjAyQoxDhZMJsYG6ujp4PB6sWbMGJ598MqZOnYqCggL4fD6jQyPEEJTcCLGJefPm4aWXXsK0adOwfv16vPvuuzjiiCOMDosQQ1ByI8QmOjo6MGXKFLS0tOD999/HKaecYnRIhBiGrrkRYhNffPEFtm7dClmWsXnzZqPDIcRQdOZGiA0cOHAA06dPx9SpU3HyySejoqIC69evx5gxY4wOjRBDUHIjxAbuvPNOVFdXY926dTjqqKNwwQUXICMjAy+88ILRoRFiCGqWJMTiXn31VVRUVGDZsmVIT0+Hw+HAsmXL8J///AePPvqo0eERYgg6cyOEEGI7dOZGCCHEdii5EUIIsR1KboQQQmyHkhshhBDboeRGCCHEdii5EUIIsR1KboQQQmyHkhshhBDboeRGCCHEdii5EUIIsR1KboQQQmzn/wPeurpYgylWHwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "particles = []\n", "create_particles(particles)\n", @@ -283,7 +277,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "4e2a4935", "metadata": {}, "outputs": [], @@ -312,21 +306,10 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "1b9b0f12", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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AAAIDlVVUps2ATm112Hnjjvu8EcdAAAAfnFDv3r+8ccf6/XXX9fXX3+tdevW6Te/+Y3efvttxcXF6T/+4z98XWPT1Lr1zykWAAD8/LkYIF6HnfXr12vSpElKSUnRZ599JqfTKUmqqKjQc889p3/84x8+L7JJslgCdrkOAAD8nxu6GyszM1NvvPGGWrRo4W4fMmSIPvvsM58WBwAA0FBeh53CwkINHTr0qna73a7y8nKvjpWRkaFbb71V4eHhio6O1rhx41RYWOixTVFRke677z61b99eNptNEydO1Llz5zy26dKliywWi8eydOlSb7sGAABMyOuw43A4dOLEiavad+/era5du3p1rLy8PKWmpmrv3r3KyclRTU2NkpOTVV1dLUmqrq5WcnKyLBaLcnNz9cknn+jy5cu655575HK5PI61ZMkSFRcXu5fZs2d72zUAAGBCXs/ZmT59uubMmaM333xTFotFZ8+eVX5+vhYsWKBnnnnGq2Nt3brV4/WqVasUHR2tgoICDR06VJ988om++eYbHTx40H3//FtvvaW2bdsqNzdXSUlJ7n3Dw8PlcDjqdV6n0+meaySJhyECAGBiXl/ZefLJJ/X73/9eI0aMUFVVlYYOHao//vGPmjlzZoOvplRUVEiSIiMjJf0cSiwWi6xWq3ubli1bKiQkRLt37/bYd+nSpWrXrp369eunZcuWqba29rrnycjIkN1udy+xsbENqhsAAAQvr5+gfMXly5d14sQJVVVVqVevXgpr4AP0XC6X7r33XpWXl7uDzPfff6/4+Hg9/PDDeu6552QYhp588km98sormjFjhl5//XVJ0vLly9W/f39FRkZqz549Sk9P18MPP6zly5df81zXurITGxvr2ycoAwAAv/LbE5SvCA0NVXh4uMLDwxscdCQpNTVVR44c8bhi0759e61bt06zZs3SihUrFBISooceekj9+/f3+NmK+fPnu/+dkJCg0NBQzZw5UxkZGR5Xha6wWq3XbAcAAObj9ddYtbW1euaZZ2S329WlSxd16dJFdrtdTz/9tGpqam6oiLS0NG3evFk7duxQp06dPNYlJyerqKhIpaWl+uGHH/T222/ru++++8XJ0IMGDVJtba2++eabG6oHAACYh9dXdmbPnq0NGzbohRdeUGJioiQpPz9fzz77rM6fP6+VK1fW+1iGYWj27NnKzs7W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N8jlcmnu3LkaMmSIevfuLUn1et8oKSm55t/+lXW42rXGWpJ+//vf66abblJMTIy++OILPfHEEyosLNSGDRskNe5YE3YQtEaPHu3+d0JCggYNGqSbbrpJ7733nlq1ahXAygDfefDBB93/7tOnjxISEvTb3/5WO3fu1IgRIwJYWdOWmpqqI0eOeMzzg39cb6z/eV5Znz591LFjR40YMUJFRUX67W9/26g18jVWA0VFRalZs2ZXzeY/d+6cHA5HgKoyp4iICN188806ceKEHA6HLl++rPLyco9tGPeGuzJ+v/Q37XA4rpqAX1tbq7KyMsa/gbp27aqoqCidOHFCEmN9I9LS0rR582bt2LFDnTp1crfX533D4XBc82//yjp4ut5YX8ugQYMkyeNvu7HGmrDTQKGhoRowYIC2b9/ubnO5XNq+fbsSExMDWJn5VFVVqaioSB07dtSAAQPUokULj3EvLCzUqVOnGPcGiouLk8Ph8BjbyspK7du3zz22iYmJKi8vV0FBgXub3NxcuVwu9xsabsyZM2d0/vx5dezYURJj7Q3DMJSWlqbs7Gzl5uYqLi7OY3193jcSExN1+PBhj4CZk5Mjm82mXr16NU5HmoBfG+trOXTokCR5/G032lj7dLrzv6k1a9YYVqvVWLVqlfHll18aM2bMMCIiIjxmmMN7jz32mLFz507j5MmTxieffGIkJSUZUVFRRmlpqWEYhvHII48YnTt3NnJzc40DBw4YiYmJRmJiYoCrbhouXLhgHDx40Dh48KAhyVi+fLlx8OBB49tvvzUMwzCWLl1qREREGBs3bjS++OILY+zYsUZcXJzx008/uY8xatQoo1+/fsa+ffuM3bt3G926dTMeeuihQHUpaP3SWF+4cMFYsGCBkZ+fb5w8edL46KOPjP79+xvdunUzLl265D4GY10/s2bNMux2u7Fz506juLjYvVy8eNG9za+9b9TW1hq9e/c2kpOTjUOHDhlbt2412rdvb6SnpweiS0Hr18b6xIkTxpIlS4wDBw4YJ0+eNDZu3Gh07drVGDp0qPsYjTnWhB0f+etf/2p07tzZCA0NNW677TZj7969gS6pyXvggQeMjh07GqGhocZvfvMb44EHHjBOnDjhXv/TTz8Zjz76qNG2bVujdevWxn333WcUFxcHsOKmY8eOHYakq5YpU6YYhvHz7efPPPOM0aFDB8NqtRojRowwCgsLPY5x/vx546GHHjLCwsIMm81mPPzww8aFCxcC0Jvg9ktjffHiRSM5Odlo37690aJFC+Omm24ypk+fftV/KDHW9XOtcZZkZGVlubepz/vGN998Y4wePdpo1aqVERUVZTz22GNGTU1NI/cmuP3aWJ86dcoYOnSoERkZaVitViM+Pt54/PHHjYqKCo/jNNZYW/5/0QAAAKbEnB0AAGBqhB0AAGBqhB0AAGBqhB0AAGBqhB0AAGBqhB0AAGBqhB0AAGBqhB0AAGBqhB0ATd7UqVM1bty4QJcBIEg1D3QBAPBLLBbLL65ftGiRXn75ZfEweADXQ9gBENSKi4vd/167dq0WLlyowsJCd1tYWJjCwsICURqAJoKvsQAENYfD4V7sdrssFotHW1hY2FVfYw0bNkyzZ8/W3Llz1bZtW3Xo0EFvvPGGqqur9fDDDys8PFzx8fHasmWLx7mOHDmi0aNHKywsTB06dNCkSZP0ww8/NHKPAfgaYQeAKb311luKiorSp59+qtmzZ2vWrFn63e9+p9tvv12fffaZkpOTNWnSJF28eFGSVF5eruHDh6tfv346cOCAtm7dqnPnzmnixIkB7gmAhiLsADClvn376umnn1a3bt2Unp6uli1bKioqStOnT1e3bt20cOFCnT9/Xl988YUk6ZVXXlG/fv303HPPqUePHurXr5/efPNN7dixQ//7v/8b4N4AaAjm7AAwpYSEBPe/mzVrpnbt2qlPnz7utg4dOkiSSktLJUmff/65duzYcc35P0VFRbr55pv9XDEAfyHsADClFi1aeLy2WCwebVfu8nK5XJKkqqoq3XPPPXr++eevOlbHjh39WCkAfyPsAICk/v37a/369erSpYuaN+etETAT5uwAgKTU1FSVlZXpoYce0v79+1VUVKRt27bp4YcfVl1dXaDLA9AAhB0AkBQTE6NPPvlEdXV1Sk5OVp8+fTR37lxFREQoJIS3SqApsxg8dhQAAJgY/7kCAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABM7f8Bb7vWwU1czyoAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# ruimte voor uitwerking\n", "\n", @@ -416,7 +399,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "2b828ece", "metadata": {}, "outputs": [], @@ -465,21 +448,10 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "eb9e351a", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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1KnKli1blE8//VR57bXXlI8//jj0mAceeEApKChQVq5cqezevVv57ne/q5SVlSknTpwQuObec//99yudOnVSVq9erezbt095+eWXldzcXGXx4sWhx/C5NufVV19V7r77bmXFihUKAOWVV16JuF/P8zp+/Hhl0KBByrvvvqu89dZbSp8+fZRJkybZsr4MNyYMHz5cmTFjRujrtrY2pVu3bkpFRYXAtZLP0aNHFQDKhg0bFEVRlLq6OqVdu3bKyy+/HHrMP//5TwWAsnnzZlGr6VmNjY3Keeedp6xdu1a57LLLQuGGz7O1fvaznymXXnpp3PsDgYBSUlKiPPjgg6Hb6urqlOzsbOXFF190YhWlceWVVyo//OEPI2675pprlMmTJyuKwufaKtHhRs/z+sEHHygAlG3btoUe8/e//13x+XzKoUOHLF9HDksZdOrUKWzfvh2jR48O3eb3+zF69Ghs3rxZ4JrJp76+HgBQVFQEANi+fTtaW1sjnvu+ffuiZ8+efO5NmDFjBq688sqI5xPg82y1v/zlLxg2bBiuu+46dOnSBUOGDMHvf//70P379u1DbW1txPNdUFCAiy++mM+3QSNHjkRlZSU+/PBDAMDu3bvx9ttvY8KECQD4XNtFz/O6efNmFBYWYtiwYaHHjB49Gn6/H1u2bLF8ndLuwpmpOn78ONra2lBcXBxxe3FxMf71r38JWiv5BAIBzJ49G5dccgkGDBgAAKitrUVWVhYKCwsjHltcXIza2loBa+ldL730Enbs2IFt27adcR+fZ2t9+umnePzxxzFnzhzcdddd2LZtG2677TZkZWVhypQpoec01j6Fz7cxd955JxoaGtC3b19kZGSgra0N999/PyZPngwAfK5toud5ra2tRZcuXSLuz8zMRFFRkS3PPcMNudKMGTOwZ88evP3226JXRToHDhzArFmzsHbtWuTk5IheHekFAgEMGzYMv/71rwEAQ4YMwZ49e7BkyRJMmTJF8NrJ5Y9//COef/55vPDCC7jggguwa9cuzJ49G926deNznWY4LGVQ586dkZGRccaRI0eOHEFJSYmgtZLLzJkzsXr1arz55pvo0aNH6PaSkhKcOnUKdXV1EY/nc2/M9u3bcfToUXz9619HZmYmMjMzsWHDBjzyyCPIzMxEcXExn2cLde3aFf3794+4rV+/fqiurgaA0HPKfUrqbr/9dtx55534/ve/j4EDB+LGG2/E//zP/6CiogIAn2u76HleS0pKcPTo0Yj7T58+jS+++MKW557hxqCsrCwMHToUlZWVodsCgQAqKytRXl4ucM28T1EUzJw5E6+88grWrVuHsrKyiPuHDh2Kdu3aRTz3e/fuRXV1NZ97A771rW/hvffew65du0Ifw4YNw+TJk0Of83m2ziWXXHLGKQ0+/PBD9OrVCwBQVlaGkpKSiOe7oaEBW7Zs4fNt0FdffQW/P/JlLSMjA4FAAACfa7voeV7Ly8tRV1eH7du3hx6zbt06BAIBXHzxxdavlOVTlNPASy+9pGRnZyvLli1TPvjgA+XHP/6xUlhYqNTW1opeNU+79dZblYKCAmX9+vVKTU1N6OOrr74KPeaWW25Revbsqaxbt06pqqpSysvLlfLycoFrLQft0VKKwufZSlu3blUyMzOV+++/X/noo4+U559/XunQoYPyhz/8IfSYBx54QCksLFRWrVql/OMf/1CuuuoqHp5swpQpU5Tu3buHDgVfsWKF0rlzZ+WOO+4IPYbPtTmNjY3Kzp07lZ07dyoAlIcffljZuXOnsn//fkVR9D2v48ePV4YMGaJs2bJFefvtt5XzzjuPh4K7zW9/+1ulZ8+eSlZWljJ8+HDl3XffFb1Kngcg5sfTTz8desyJEyeU//7v/1Y6duyodOjQQbn66quVmpoacSstiehww+fZWn/961+VAQMGKNnZ2Urfvn2VJ598MuL+QCCg3HvvvUpxcbGSnZ2tfOtb31L27t0raG29q6GhQZk1a5bSs2dPJScnRznnnHOUu+++W2lpaQk9hs+1OW+++WbM/fOUKVMURdH3vH7++efKpEmTlNzcXCU/P1+ZNm2a0tjYaMv6+hRFc+pGIiIiIo/jnBsiIiKSCsMNERERSYXhhoiIiKTCcENERERSYbghIiIiqTDcEBERkVQYboiIiEgqDDdEREQkFYYbIrLF1KlTMXHiRMeXu2zZMvh8Pvh8PsyePdvx5UcbNWpUaH127dolenWI0kKm6BUgIu/x+XwJ758/fz4WL14MUSdAz8/Px969e3HWWWfpevyoUaMwePBgLFq0yPJ1WbFiBT755BMMHz7c8p9NRLEx3BCRYTU1NaHPly9fjnnz5kVc+To3Nxe5ubkiVg1AMHyVlJQIW75WUVERGhoaRK8GUVrhsBQRGVZSUhL6KCgoCIUJ9SM3N/eMYalRo0bhJz/5CWbPno2OHTuiuLgYv//979Hc3Ixp06YhLy8Pffr0wd///veIZe3ZswcTJkxAbm4uiouLceONN+L48eOG1/mxxx7Deeedh5ycHBQXF+N73/segODw2YYNG7B48eLQ8NFnn32ma9mjRo3CzJkzMXPmTBQUFKBz58649957hTVWRBTEcENEjnnmmWfQuXNnbN26FT/5yU9w66234rrrrsPIkSOxY8cOjB07FjfeeCO++uorAEBdXR0uv/xyDBkyBFVVVVizZg2OHDmC//zP/zS03KqqKtx222247777sHfvXqxZswbf+MY3AACLFy9GeXk5pk+fjpqaGtTU1KC0tFT3sp955hlkZmZi69atWLx4MR5++GE89dRT1jxhRGQKh6WIyDGDBg3CPffcAwCYO3cuHnjgAXTu3BnTp08HAMybNw+PP/44/vGPf2DEiBH43e9+hyFDhuDXv/516GcsXboUpaWl+PDDD/G1r31N13Krq6tx1lln4dvf/jby8vLQq1cvDBkyBABQUFCArKwsdOjQIWIoS++yS0tLsXDhQvh8Ppx//vl47733sHDhwtD/iYicx+aGiBxz4YUXhj7PyMhAp06dMHDgwNBtxcXFAICjR48CAHbv3o0333wzNIcnNzcXffv2BQB88sknupc7ZswY9OrVC+eccw5uvPFGPP/886F2KB69yx4xYkTEBOvy8nJ89NFHaGtr071+RGQtNjdE5Jh27dpFfO3z+SJuU0NCIBAAADQ1NeE73/kOFixYcMbP6tq1q+7l5uXlYceOHVi/fj1ef/11zJs3Dz//+c+xbds2FBYWxvweq5ZNRM5juCEi1/r617+OP//5z+jduzcyM1PbXWVmZmL06NEYPXo05s+fj8LCQqxbtw7XXHMNsrKyzmha9C57y5YtEV+/++67OO+885CRkZHS+hKReRyWIiLXmjFjBr744gtMmjQJ27ZtwyeffILXXnsN06ZNMzTss3r1ajzyyCPYtWsX9u/fj2effRaBQADnn38+AKB3797YsmULPvvsMxw/fhyBQED3squrqzFnzhzs3bsXL774In77299i1qxZlj8XRKQfww0RuVa3bt3wzjvvoK2tDWPHjsXAgQMxe/ZsFBYWwu/Xv/sqLCzEihUrcPnll6Nfv35YsmQJXnzxRVxwwQUAgJ/+9KfIyMhA//79cfbZZ6O6ulr3sm+66SacOHECw4cPx4wZMzBr1iz8+Mc/tvy5ICL9fApPyEBEElm2bBlmz56Nuro625el98zGn332GcrKyrBz504MHjzY9vUiSndsbohIOvX19cjNzcXPfvYz0auCCRMmhBoiInIGJxQTkVSuvfZaXHrppQAQ90goJz311FM4ceIEAKBnz56C14YoPXBYioiIiKTCYSkiIiKSCsMNERERSYXhhoiIiKTCcENERERSYbghIiIiqTDcEBERkVQYboiIiEgqDDdEREQklf8PvK3jTxPG5zsAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Geef je oplossing\n", "\n", @@ -545,7 +517,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "af3a5c39", "metadata": {}, "outputs": [], @@ -567,27 +539,16 @@ "metadata": {}, "source": [ "```{exercise}\n", - "Kopieer nu je code voor de simulatie waarin je de druk als functie van de tijd hebt geplot naar onderstaand veld en voer de simulatie nogmaals uit met de nieuwe definitie voor de functie `handle_walls`\n", + "Kopieer nu je code voor de simulatie waarin je de druk als functie van de tijd hebt geplot naar onderstaand veld en voer de simulatie nogmaals uit met de nieuwe definitie voor de functie `handle_walls`.\n", "```" ] }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "f4028cef", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# RUIMTE VOOR GEKOPIEERDE FUNCTIE\n", "\n", @@ -625,9 +586,10 @@ "```\n", "\n", "```{solution} ex-druktemp-7\n", - "Jouw antwoord\n", "### begin-solution\n", - "Met de verandering in het aantal ruimtelijke dimensies verandert ook de eenheid van druk, in plaats van N/m^2 wordt de eenheid N/m. Omdat N=kg m / s^2 valt de de eenheid m er tussenuit. Daarmee verander je de fysica fundamenteel. \n", + "Met de verandering in het aantal ruimtelijke dimensies verandert ook de eenheid van druk, in plaats van $\\mathrm{N/m}^2$ wordt de eenheid $\\mathrm{N/m}$.\n", + "Omdat $\\mathrm{N=kg m / s}^2$ valt de de eenheid $\\mathrm{m}$ er tussenuit.\n", + "Daarmee verander je de fysica fundamenteel. \n", "### end-solution\n", "```\n", "\n", @@ -639,7 +601,6 @@ "```\n", "\n", "```{solution} ex-druktemp-8\n", - "Jouw antwoord\n", "### begin-solution\n", "De druk in elke volgende tijdstap is evenredig met de druk in de voorafgaande. Als er dus geen botsing met de wand plaatsvindt, zal de druk hierdoor exponentieel afnemen met de tijd. Dit is duidelijk in de grafiek te zien bij kleinere aantallen deeltjes.\n", "### end-solution\n", @@ -691,124 +652,6 @@ "```" ] }, - { - "cell_type": "markdown", - "id": "a9dfed67-9487-4a15-9015-4aebd543c67e", - "metadata": {}, - "source": [ - "Het is interessant om naar de statistische verdeling van de eigenschappen van de deeltjes te kijken. We doen dat uitgebreider in het volgende werkblad, maar hier maken we een klein begin. Als we een histogram maken van de energiedistributie van de deeltjes van ons gas dan krijgen we een foutmelding:" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "90bac432-c68a-45aa-8a77-69a1756babd1", - "metadata": {}, - "outputs": [ - { - "ename": "ValueError", - "evalue": "Too many bins for data range. Cannot create 13 finite-sized bins.", - "output_type": "error", - "traceback": [ - "\u001b[31m---------------------------------------------------------------------------\u001b[39m", - "\u001b[31mValueError\u001b[39m Traceback (most recent call last)", - "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[23]\u001b[39m\u001b[32m, line 9\u001b[39m\n\u001b[32m 7\u001b[39m plt.xlabel(\u001b[33m'\u001b[39m\u001b[33m$E_\u001b[39m\u001b[38;5;132;01m{kin}\u001b[39;00m\u001b[33m$ (J)\u001b[39m\u001b[33m'\u001b[39m)\n\u001b[32m 8\u001b[39m plt.ylabel(\u001b[33m'\u001b[39m\u001b[33mfrequentie\u001b[39m\u001b[33m'\u001b[39m)\n\u001b[32m----> \u001b[39m\u001b[32m9\u001b[39m \u001b[43mplt\u001b[49m\u001b[43m.\u001b[49m\u001b[43mhist\u001b[49m\u001b[43m(\u001b[49m\u001b[43menergies\u001b[49m\u001b[43m,\u001b[49m\u001b[43mbins\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m'\u001b[39;49m\u001b[33;43mauto\u001b[39;49m\u001b[33;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43mdensity\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m'\u001b[39;49m\u001b[33;43mTrue\u001b[39;49m\u001b[33;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[32m 11\u001b[39m plt.show()\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/anaconda3/envs/PySim/lib/python3.13/site-packages/matplotlib/_api/deprecation.py:453\u001b[39m, in \u001b[36mmake_keyword_only..wrapper\u001b[39m\u001b[34m(*args, **kwargs)\u001b[39m\n\u001b[32m 447\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(args) > name_idx:\n\u001b[32m 448\u001b[39m warn_deprecated(\n\u001b[32m 449\u001b[39m since, message=\u001b[33m\"\u001b[39m\u001b[33mPassing the \u001b[39m\u001b[38;5;132;01m%(name)s\u001b[39;00m\u001b[33m \u001b[39m\u001b[38;5;132;01m%(obj_type)s\u001b[39;00m\u001b[33m \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 450\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mpositionally is deprecated since Matplotlib \u001b[39m\u001b[38;5;132;01m%(since)s\u001b[39;00m\u001b[33m; the \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 451\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mparameter will become keyword-only in \u001b[39m\u001b[38;5;132;01m%(removal)s\u001b[39;00m\u001b[33m.\u001b[39m\u001b[33m\"\u001b[39m,\n\u001b[32m 452\u001b[39m name=name, obj_type=\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mparameter of \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfunc.\u001b[34m__name__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m()\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m--> \u001b[39m\u001b[32m453\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/anaconda3/envs/PySim/lib/python3.13/site-packages/matplotlib/pyplot.py:3478\u001b[39m, in \u001b[36mhist\u001b[39m\u001b[34m(x, bins, range, density, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, color, label, stacked, data, **kwargs)\u001b[39m\n\u001b[32m 3453\u001b[39m \u001b[38;5;129m@_copy_docstring_and_deprecators\u001b[39m(Axes.hist)\n\u001b[32m 3454\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mhist\u001b[39m(\n\u001b[32m 3455\u001b[39m x: ArrayLike | Sequence[ArrayLike],\n\u001b[32m (...)\u001b[39m\u001b[32m 3476\u001b[39m BarContainer | Polygon | \u001b[38;5;28mlist\u001b[39m[BarContainer | Polygon],\n\u001b[32m 3477\u001b[39m ]:\n\u001b[32m-> \u001b[39m\u001b[32m3478\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mgca\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m.\u001b[49m\u001b[43mhist\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 3479\u001b[39m \u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3480\u001b[39m \u001b[43m \u001b[49m\u001b[43mbins\u001b[49m\u001b[43m=\u001b[49m\u001b[43mbins\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3481\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43mrange\u001b[39;49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mrange\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 3482\u001b[39m \u001b[43m \u001b[49m\u001b[43mdensity\u001b[49m\u001b[43m=\u001b[49m\u001b[43mdensity\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3483\u001b[39m \u001b[43m \u001b[49m\u001b[43mweights\u001b[49m\u001b[43m=\u001b[49m\u001b[43mweights\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3484\u001b[39m \u001b[43m \u001b[49m\u001b[43mcumulative\u001b[49m\u001b[43m=\u001b[49m\u001b[43mcumulative\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3485\u001b[39m \u001b[43m \u001b[49m\u001b[43mbottom\u001b[49m\u001b[43m=\u001b[49m\u001b[43mbottom\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3486\u001b[39m \u001b[43m \u001b[49m\u001b[43mhisttype\u001b[49m\u001b[43m=\u001b[49m\u001b[43mhisttype\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3487\u001b[39m \u001b[43m \u001b[49m\u001b[43malign\u001b[49m\u001b[43m=\u001b[49m\u001b[43malign\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3488\u001b[39m \u001b[43m \u001b[49m\u001b[43morientation\u001b[49m\u001b[43m=\u001b[49m\u001b[43morientation\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3489\u001b[39m \u001b[43m \u001b[49m\u001b[43mrwidth\u001b[49m\u001b[43m=\u001b[49m\u001b[43mrwidth\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3490\u001b[39m \u001b[43m \u001b[49m\u001b[43mlog\u001b[49m\u001b[43m=\u001b[49m\u001b[43mlog\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3491\u001b[39m \u001b[43m \u001b[49m\u001b[43mcolor\u001b[49m\u001b[43m=\u001b[49m\u001b[43mcolor\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3492\u001b[39m \u001b[43m \u001b[49m\u001b[43mlabel\u001b[49m\u001b[43m=\u001b[49m\u001b[43mlabel\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3493\u001b[39m \u001b[43m \u001b[49m\u001b[43mstacked\u001b[49m\u001b[43m=\u001b[49m\u001b[43mstacked\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3494\u001b[39m \u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43m(\u001b[49m\u001b[43m{\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mdata\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m}\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mis\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mnot\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01melse\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43m{\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3495\u001b[39m \u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 3496\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/anaconda3/envs/PySim/lib/python3.13/site-packages/matplotlib/_api/deprecation.py:453\u001b[39m, in \u001b[36mmake_keyword_only..wrapper\u001b[39m\u001b[34m(*args, **kwargs)\u001b[39m\n\u001b[32m 447\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(args) > name_idx:\n\u001b[32m 448\u001b[39m warn_deprecated(\n\u001b[32m 449\u001b[39m since, message=\u001b[33m\"\u001b[39m\u001b[33mPassing the \u001b[39m\u001b[38;5;132;01m%(name)s\u001b[39;00m\u001b[33m \u001b[39m\u001b[38;5;132;01m%(obj_type)s\u001b[39;00m\u001b[33m \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 450\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mpositionally is deprecated since Matplotlib \u001b[39m\u001b[38;5;132;01m%(since)s\u001b[39;00m\u001b[33m; the \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 451\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mparameter will become keyword-only in \u001b[39m\u001b[38;5;132;01m%(removal)s\u001b[39;00m\u001b[33m.\u001b[39m\u001b[33m\"\u001b[39m,\n\u001b[32m 452\u001b[39m name=name, obj_type=\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mparameter of \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfunc.\u001b[34m__name__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m()\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m--> \u001b[39m\u001b[32m453\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/anaconda3/envs/PySim/lib/python3.13/site-packages/matplotlib/__init__.py:1521\u001b[39m, in \u001b[36m_preprocess_data..inner\u001b[39m\u001b[34m(ax, data, *args, **kwargs)\u001b[39m\n\u001b[32m 1518\u001b[39m \u001b[38;5;129m@functools\u001b[39m.wraps(func)\n\u001b[32m 1519\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34minner\u001b[39m(ax, *args, data=\u001b[38;5;28;01mNone\u001b[39;00m, **kwargs):\n\u001b[32m 1520\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m data \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m-> \u001b[39m\u001b[32m1521\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 1522\u001b[39m \u001b[43m \u001b[49m\u001b[43max\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1523\u001b[39m \u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[38;5;28;43mmap\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcbook\u001b[49m\u001b[43m.\u001b[49m\u001b[43msanitize_sequence\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1524\u001b[39m \u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43m{\u001b[49m\u001b[43mk\u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mcbook\u001b[49m\u001b[43m.\u001b[49m\u001b[43msanitize_sequence\u001b[49m\u001b[43m(\u001b[49m\u001b[43mv\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mk\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mv\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m.\u001b[49m\u001b[43mitems\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1526\u001b[39m bound = new_sig.bind(ax, *args, **kwargs)\n\u001b[32m 1527\u001b[39m auto_label = (bound.arguments.get(label_namer)\n\u001b[32m 1528\u001b[39m \u001b[38;5;129;01mor\u001b[39;00m bound.kwargs.get(label_namer))\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/anaconda3/envs/PySim/lib/python3.13/site-packages/matplotlib/axes/_axes.py:7129\u001b[39m, in \u001b[36mAxes.hist\u001b[39m\u001b[34m(self, x, bins, range, density, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, color, label, stacked, **kwargs)\u001b[39m\n\u001b[32m 7125\u001b[39m \u001b[38;5;66;03m# Loop through datasets\u001b[39;00m\n\u001b[32m 7126\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(nx):\n\u001b[32m 7127\u001b[39m \u001b[38;5;66;03m# this will automatically overwrite bins,\u001b[39;00m\n\u001b[32m 7128\u001b[39m \u001b[38;5;66;03m# so that each histogram uses the same bins\u001b[39;00m\n\u001b[32m-> \u001b[39m\u001b[32m7129\u001b[39m m, bins = \u001b[43mnp\u001b[49m\u001b[43m.\u001b[49m\u001b[43mhistogram\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbins\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mweights\u001b[49m\u001b[43m=\u001b[49m\u001b[43mw\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mhist_kwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 7130\u001b[39m tops.append(m)\n\u001b[32m 7131\u001b[39m tops = np.array(tops, \u001b[38;5;28mfloat\u001b[39m) \u001b[38;5;66;03m# causes problems later if it's an int\u001b[39;00m\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/anaconda3/envs/PySim/lib/python3.13/site-packages/numpy/lib/_histograms_impl.py:792\u001b[39m, in \u001b[36mhistogram\u001b[39m\u001b[34m(a, bins, range, density, weights)\u001b[39m\n\u001b[32m 687\u001b[39m \u001b[38;5;250m\u001b[39m\u001b[33mr\u001b[39m\u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 688\u001b[39m \u001b[33;03mCompute the histogram of a dataset.\u001b[39;00m\n\u001b[32m 689\u001b[39m \n\u001b[32m (...)\u001b[39m\u001b[32m 788\u001b[39m \n\u001b[32m 789\u001b[39m \u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 790\u001b[39m a, weights = _ravel_and_check_weights(a, weights)\n\u001b[32m--> \u001b[39m\u001b[32m792\u001b[39m bin_edges, uniform_bins = \u001b[43m_get_bin_edges\u001b[49m\u001b[43m(\u001b[49m\u001b[43ma\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbins\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mrange\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mweights\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 794\u001b[39m \u001b[38;5;66;03m# Histogram is an integer or a float array depending on the weights.\u001b[39;00m\n\u001b[32m 795\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m weights \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/anaconda3/envs/PySim/lib/python3.13/site-packages/numpy/lib/_histograms_impl.py:449\u001b[39m, in \u001b[36m_get_bin_edges\u001b[39m\u001b[34m(a, bins, range, weights)\u001b[39m\n\u001b[32m 445\u001b[39m bin_edges = np.linspace(\n\u001b[32m 446\u001b[39m first_edge, last_edge, n_equal_bins + \u001b[32m1\u001b[39m,\n\u001b[32m 447\u001b[39m endpoint=\u001b[38;5;28;01mTrue\u001b[39;00m, dtype=bin_type)\n\u001b[32m 448\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m np.any(bin_edges[:-\u001b[32m1\u001b[39m] >= bin_edges[\u001b[32m1\u001b[39m:]):\n\u001b[32m--> \u001b[39m\u001b[32m449\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 450\u001b[39m \u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33mToo many bins for data range. Cannot create \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mn_equal_bins\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m \u001b[39m\u001b[33m'\u001b[39m\n\u001b[32m 451\u001b[39m \u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33mfinite-sized bins.\u001b[39m\u001b[33m'\u001b[39m)\n\u001b[32m 452\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m bin_edges, (first_edge, last_edge, n_equal_bins)\n\u001b[32m 453\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", - "\u001b[31mValueError\u001b[39m: Too many bins for data range. Cannot create 13 finite-sized bins." - ] - }, - { - "data": { - "image/png": "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hYXOC6grKytbnQFatGiRbDabFi1apOPHj+uGG25QcnKynn32WV89BQAA0I3ZLMPeU6qtrVVISIhqamoUHBzs63EAAEAneOr1u1t9agwAAMCdCCEAAGAsQggAABiLEAIAAMYihAAAgLEIIQAAYCxCCAAAGIsQAgAAxiKEAACAsQghAABgLEIIAAAYixACAADGIoQAAICxCCEAAGAsQggAABiLEAIAAMYihAAAgLEIIQAAYCxCCAAAGIsQAgAAxiKEAACAsQghAABgLEIIAAAYixACAADGIoQAAICxCCEAAGAsQggAABiLEAIAAMYihAAAgLEIIQAAYCxCCAAAGIsQAgAAxiKEAACAsQghAABgLEIIAAAYixACAADGIoQAAICxCCEAAGAsQggAABiLEAIAAMYihAAAgLEIIQAAYCxCCAAAGIsQAgAAxiKEAACAsQghAABgLEIIAAAYixACAADGIoQAAICxCCEAAGAsQggAABiLEAIAAMYihAAAgLEIIQAAYCxCCAAAGIsQAgAAxiKEAACAsQghAABgLEIIAAAYixACAADGIoQAAICxCCEAAGAsQggAABjL5yGUm5ur6OhoBQYGKj4+Xjt37rzs+ufOndPcuXMVGRkpu92um2++WQUFBV6aFgAA9CS9fLnzjRs3Kj09XXl5eYqPj1dOTo6SkpK0f/9+hYWFtVm/sbFRd911l8LCwvTaa69p4MCBOnLkiPr16+f94QEAQLdnsyzL8tXO4+PjNXbsWK1evVqS5HA4FBUVpUceeUQLFixos35eXp5+97vfad++ferdu/dV7bO2tlYhISGqqalRcHDwN5ofAAB4h6dev3321lhjY6NKSkqUmJj4z2H8/JSYmKji4uJ2t3njjTeUkJCguXPnKjw8XDExMVq6dKlaWlo63E9DQ4Nqa2tb3QAAACQfhtDp06fV0tKi8PDwVsvDw8NVVVXV7jYVFRV67bXX1NLSooKCAi1evFgrV67UM8880+F+srOzFRIS4rxFRUW59XkAAIDuy+cXS7vC4XAoLCxMa9asUWxsrFJSUrRw4ULl5eV1uE1GRoZqamqct6NHj3pxYgAA0JX57GLp0NBQ+fv7q7q6utXy6upqRUREtLtNZGSkevfuLX9/f+eyb3/726qqqlJjY6MCAgLabGO322W32907PAAA6BG+0RmhixcvXvW2AQEBio2N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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "create_particles(particles)\n", - "for p in particles:\n", - " p.kin_energy\n", - "energies = [p.kin_energy for p in particles]\n", - "\n", - "plt.figure()\n", - "plt.xlabel('$E_{kin}$ (J)')\n", - "plt.ylabel('frequentie')\n", - "plt.hist(energies,bins='auto',density='True')\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "44eb3e43-4403-490f-a801-ecc5dc6e7e78", - "metadata": {}, - "source": [ - "Die error wordt veroorzaakt doordat er te weinig variatie is in de data om een histogram te maken.\n", - "\n", - "```{exercise} \n", - ":label: ex-druktemp-10\n", - "Hadden we dat kunnen verwachten? Waarom?\n", - "\n", - "Wat verwacht je van de energie distributie na het draaien van de simulatie?\n", - "```\n", - "\n", - "```{solution} ex-druktemp-10\n", - "Jouw antwoord\n", - "### begin-solution\n", - "Bij het initialiseren van de deeltjes hebben we ervoor gezorgd dat ze allemaal dezelfde snelheid hadden in een willekeurige richting. We hadden dus kunnen verwachten dat ze dezelfde energie zouden hebben. \n", - "### end-solution\n", - "```\n", - "\n", - "```{exercise}\n", - ":label: ex-druktemp-11\n", - "Draai de onderstaande simulatie en kijk naar de energie distributie van de deeltjes aan het einde van de simulatie.\n", - "Wat zijn overeenkomsten en verschillen met de energie distributie die je in de vorige oefening hebt voorspeld?\n", - "En met de initiele energie distributie?\n", - "```\n", - "\n", - "```{solution} ex-druktemp-11\n", - "Jouw antwoord\n", - "### begin-solution\n", - "Het maximum in de verdeling schuift iets naar links, terwijl het gemiddelde exact hetzelfde blijft.\n", - "### end-solution\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "645ce773-9694-4e39-8c9e-6f5a6956561a", - "metadata": {}, - "outputs": [], - "source": [ - "create_particles(particles)\n", - "\n", - "for i in range(100):\n", - " take_time_step(particles)\n", - "\n", - "for p in particles:\n", - " p.kin_energy\n", - "energies = [p.kin_energy for p in particles]\n", - "\n", - "plt.figure()\n", - "plt.xlabel('$E_{kin}$ (J)')\n", - "plt.ylabel('frequentie')\n", - "\n", - "plt.hist(energies,bins='auto',density='True')\n", - "\n", - "plt.show()" - ] - }, { "cell_type": "markdown", "id": "4aeecaee", @@ -835,11 +678,19 @@ "- Verhoog het aantal deeltjes met een factor twee en herhaal je berekening.\n", "- Schat hieruit de statistische variatie in de druk bij een volume met $10^{23}$ deeltjes.\n" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d2056e0c-3750-4862-9318-0be1ba9c1ef8", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "PySim", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, diff --git a/book/Q2/6_boltzmann.ipynb b/book/Q2/6_boltzmann.ipynb index cd6c3a6..7ae0032 100644 --- a/book/Q2/6_boltzmann.ipynb +++ b/book/Q2/6_boltzmann.ipynb @@ -16,7 +16,9 @@ "\n", "Daarna voeren we de code toe voor het bekijken van de dynamiek van de deeltjes:\n", "- We kijken naar de verschillende richtingen\n", - "- We bepalen de kansverdeling van de snelheden van de deeltjes" + "- We bepalen de kansverdeling van de snelheden van de deeltjes\n", + "\n", + "Zie voor de verdere inhoudelijke achtergrond de [Feynman lectures on Physics](https://www.feynmanlectures.caltech.edu/I_40.html)." ] }, { @@ -31,7 +33,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "21a64ca8", "metadata": {}, "outputs": [], @@ -66,7 +68,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "4a2c0511", "metadata": {}, "outputs": [], @@ -121,7 +123,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "97355e3c", "metadata": {}, "outputs": [], @@ -148,7 +150,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "b5574f48", "metadata": {}, "outputs": [], @@ -195,21 +197,10 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "495c6efd", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "particles = []\n", "create_particles(particles)\n", @@ -247,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "8a5a3c61", "metadata": {}, "outputs": [], @@ -278,21 +269,10 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "620af9cb", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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wMAUIK+++iqaNWuG2NhY9O7dG7/88kuwm+QXK1euxGWXXYaMjAxYLBYsWLDA7npN0/Dwww+jYcOGiIuLw8CBA7Fz50672/z9998YPXo0kpKSkJKSgptuugkFBQUBfBXmyMrKQs+ePZGYmIjU1FQMGzYMO3bssLtNUVERxo8fj3r16qF27dq46qqrkJOTY3eb/fv349JLL0V8fDxSU1Nx3333oaysLJAvxRQzZsxA586dbRPs9enTB998843t+nB6Lxw99dRTsFgsmDhxou2ycHo/HnnkEVgsFrtD27ZtbdeH03uh/PXXX7juuutQr149xMXFoVOnTli7dq3t+nDaljZr1qzC58NisWD8+PEAAvj50Mjv5s6dq0VHR2vvvPOOtnXrVu2WW27RUlJStJycnGA3zXRff/219uCDD2qfffaZBkCbP3++3fVPPfWUlpycrC1YsED77bfftMsvv1xr3ry5dvr0adtthgwZonXp0kVbvXq19sMPP2gtW7bURo0aFeBXUnWDBw/WZs2apW3ZskXbuHGjdskll2hNmjTRCgoKbLe5/fbbtczMTG3p0qXa2rVrtXPOOUfr27ev7fqysjKtY8eO2sCBA7UNGzZoX3/9tVa/fn1t6tSpwXhJVbJw4ULtq6++0v744w9tx44d2gMPPKDVqlVL27Jli6Zp4fVeGP3yyy9as2bNtM6dO2t33XWX7fJwej+mTZumdejQQTt8+LDtcPToUdv14fReaJqm/f3331rTpk21G264QVuzZo32559/aosXL9Z27dplu004bUuPHDli99lYsmSJBkBbtmyZpmmB+3wwMAVAr169tPHjx9vOl5eXaxkZGVpWVlYQW+V/joHJarVq6enp2vTp022X5ebmajExMdqHH36oaZqmbdu2TQOg/frrr7bbfPPNN5rFYtH++uuvgLXdH44cOaIB0FasWKFpmrz2WrVqaR9//LHtNr///rsGQFu1apWmaRJAIyIitOzsbNttZsyYoSUlJWnFxcWBfQF+UKdOHe2tt94K2/fi5MmTWqtWrbQlS5Zo/fr1swWmcHs/pk2bpnXp0sXpdeH2Xmiapk2ePFk777zzXF4f7tvSu+66SzvrrLM0q9Ua0M8Hu+T8rKSkBOvWrcPAgQNtl0VERGDgwIFYtWpVEFsWeHv27EF2drbde5GcnIzevXvb3otVq1YhJSUFPXr0sN1m4MCBiIiIwJo1awLeZjPl5eUBAOrWrQsAWLduHUpLS+3ej7Zt26JJkyZ270enTp2QlpZmu83gwYORn5+PrVu3BrD15iovL8fcuXNRWFiIPn36hO17MX78eFx66aV2rxsIz8/Gzp07kZGRgRYtWmD06NHYv38/gPB8LxYuXIgePXrgmmuuQWpqKrp27Yo333zTdn04b0tLSkrw3nvvYdy4cbBYLAH9fDAw+dmxY8dQXl5u94cCgLS0NGRnZwepVcGhXq+79yI7Oxupqal210dFRaFu3brV+v2yWq2YOHEizj33XHTs2BGAvNbo6OgKK2o7vh/O3i91XXWzefNm1K5dGzExMbj99tsxf/58tG/fPizfi7lz52L9+vXIysqqcF24vR+9e/fG7NmzsWjRIsyYMQN79uzB+eefj5MnT4bdewEAf/75J2bMmIFWrVph8eLFuOOOO/Cvf/0Lc+bMARDe29IFCxYgNzcXN9xwA4DA/q9EVb7ZROSt8ePHY8uWLfjxxx+D3ZSgatOmDTZu3Ii8vDx88sknGDt2LFasWBHsZgXcgQMHcNddd2HJkiWIjY0NdnOCbujQobbTnTt3Ru/evdG0aVPMmzcPcXFxQWxZcFitVvTo0QP/+c9/AABdu3bFli1bMHPmTIwdOzbIrQuut99+G0OHDkVGRkbAn5sVJj+rX78+IiMjK4zYz8nJQXp6epBaFRzq9bp7L9LT03HkyBG768vKyvD3339X2/drwoQJ+PLLL7Fs2TI0btzYdnl6ejpKSkqQm5trd3vH98PZ+6Wuq26io6PRsmVLdO/eHVlZWejSpQtefPHFsHsv1q1bhyNHjqBbt26IiopCVFQUVqxYgZdeeglRUVFIS0sLq/fDUUpKClq3bo1du3aF3WcDABo2bIj27dvbXdauXTtbN2W4bkv37duH7777DjfffLPtskB+PhiY/Cw6Ohrdu3fH0qVLbZdZrVYsXboUffr0CWLLAq958+ZIT0+3ey/y8/OxZs0a23vRp08f5ObmYt26dbbbfP/997Barejdu3fA21wVmqZhwoQJmD9/Pr7//ns0b97c7vru3bujVq1adu/Hjh07sH//frv3Y/PmzXYbviVLliApKanCBrU6slqtKC4uDrv34qKLLsLmzZuxceNG26FHjx4YPXq07XQ4vR+OCgoKsHv3bjRs2DDsPhsAcO6551aYguSPP/5A06ZNAYTftlSZNWsWUlNTcemll9ouC+jnw7Rh6+TS3LlztZiYGG327Nnatm3btFtvvVVLSUmxG7FfU5w8eVLbsGGDtmHDBg2A9txzz2kbNmzQ9u3bp2ma7AqbkpKiff7559qmTZu0K664wumusF27dtXWrFmj/fjjj1qrVq2q5a6wd9xxh5acnKwtX77cbpfYU6dO2W5z++23a02aNNG+//57be3atVqfPn20Pn362K5Xu8MOGjRI27hxo7Zo0SKtQYMG1XJ36SlTpmgrVqzQ9uzZo23atEmbMmWKZrFYtG+//VbTtPB6L5wx7iWnaeH1ftxzzz3a8uXLtT179mg//fSTNnDgQK1+/frakSNHNE0Lr/dC02SqiaioKO3JJ5/Udu7cqb3//vtafHy89t5779luE07bUk2TvcubNGmiTZ48ucJ1gfp8MDAFyMsvv6w1adJEi46O1nr16qWtXr062E3yi2XLlmkAKhzGjh2raZrsDvvQQw9paWlpWkxMjHbRRRdpO3bssHuM48ePa6NGjdJq166tJSUlaTfeeKN28uTJILyaqnH2PgDQZs2aZbvN6dOntTvvvFOrU6eOFh8frw0fPlw7fPiw3ePs3btXGzp0qBYXF6fVr19fu+eee7TS0tIAv5qqGzdunNa0aVMtOjpaa9CggXbRRRfZwpKmhdd74YxjYAqn92PkyJFaw4YNtejoaK1Ro0bayJEj7eYcCqf3Qvniiy+0jh07ajExMVrbtm21N954w+76cNqWapqmLV68WANQ4TVqWuA+HxZN07RK1caIiIiIwgTHMBERERF5wMBERERE5AEDExEREZEHDExEREREHjAwEREREXnAwERERETkAQMTERERkQcMTEREREQeMDARERERecDAREQh6YYbboDFYqlwGDJkSLCbRkRhKCrYDSAicmXIkCGYNWuW3WUxMTF+e76SkhJER0f77fGJqPpihYmIQlZMTAzS09PtDnXq1AEAWCwWvPXWWxg+fDji4+PRqlUrLFy40O7+W7ZswdChQ1G7dm2kpaXh+uuvx7Fjx2zX9+/fHxMmTMDEiRNRv359DB48GACwcOFCtGrVCrGxsRgwYADmzJkDi8WC3NxcFBYWIikpCZ988ondcy1YsAAJCQk4efKkn98VIgoGBiYiqrYeffRRjBgxAps2bcIll1yC0aNH4++//wYA5Obm4sILL0TXrl2xdu1aLFq0CDk5ORgxYoTdY8yZMwfR0dH46aefMHPmTOzZswdXX301hg0bht9++w233XYbHnzwQdvtExIScO2111aofM2aNQtXX301EhMT/f/CiSjwNCKiEDR27FgtMjJSS0hIsDs8+eSTmqZpGgDt3//+t+32BQUFGgDtm2++0TRN0x5//HFt0KBBdo954MABDYC2Y8cOTdM0rV+/flrXrl3tbjN58mStY8eOdpc9+OCDGgDtxIkTmqZp2po1a7TIyEjt0KFDmqZpWk5OjhYVFaUtX77cvDeAiEIKxzARUcgaMGAAZsyYYXdZ3bp1bac7d+5sO52QkICkpCQcOXIEAPDbb79h2bJlqF27doXH3b17N1q3bg0A6N69u911O3bsQM+ePe0u69WrV4XzHTp0wJw5czBlyhS89957aNq0KS644IJKvEoiqg4YmIgoZCUkJKBly5Yur69Vq5bdeYvFAqvVCgAoKCjAZZddhqeffrrC/Ro2bGj3HJVx880349VXX8WUKVMwa9Ys3HjjjbBYLJV6LCIKfQxMRFQjdevWDZ9++imaNWuGqCjvN3Vt2rTB119/bXfZr7/+WuF21113He6//3689NJL2LZtG8aOHVvlNhNR6OKgbyIKWcXFxcjOzrY7GPdyc2f8+PH4+++/MWrUKPz666/YvXs3Fi9ejBtvvBHl5eUu73fbbbdh+/btmDx5Mv744w/MmzcPs2fPBgC7ClKdOnVw5ZVX4r777sOgQYPQuHHjKr1WIgptDExEFLIWLVqEhg0b2h3OO+88r+6bkZGBn376CeXl5Rg0aBA6deqEiRMnIiUlBRERrjd9zZs3xyeffILPPvsMnTt3xowZM2x7yTnOAXXTTTehpKQE48aNq/yLJKJqwaJpmhbsRhARhbInn3wSM2fOxIEDB+wu/9///oe7774bhw4d4oSXRDUcxzARETl47bXX0LNnT9SrVw8//fQTpk+fjgkTJtiuP3XqFA4fPoynnnoKt912G8MSURhglxwRkYOdO3fiiiuuQPv27fH444/jnnvuwSOPPGK7/r///S/atm2L9PR0TJ06NXgNJaKAYZccERERkQesMBERERF5wMBERERE5AEDExEREZEHDExEREREHjAwEREREXnAwERERETkAQMTERERkQcMTEREREQe/D/DPRMGSLnJAwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# Jouw antwoord\n", "\n", @@ -345,21 +325,10 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "715d039e", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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+fPn68c//rG+8pWvaN26dbruuuucegiXLbfbrZKSkvPe9kPXY987i/3vLPa/c6Jl37tMe/6mCgAAIEo4/iF+AAAAnYm4AQAAViFuAACAVYgbAABgFeIGbSovL1dqaqo8Ho+ysrK0devWNtddsWKFXC5X2MXj8XTjtHZ58803NXnyZCUnJ8vlcrX53Wn/qLKyUqNHj5bb7dbVV1+tFStWdPmcNurovq+srDzvue9yudr8ShhcWGlpqW688Ub1799fgwcPVl5enj766KOLbrdmzRpde+218ng8uv7661VRUdEN09olkn3fU1/7iRu0avXq1SooKFBJSYlqamqUnp6u3NxcHTlypM1t4uPjdfjw4dDlk08+6caJ7dLY2Kj09HSVl5e3a/19+/Zp0qRJmjBhgmpra/XQQw9p1qxZ2rhxYxdPap+O7vtzPvroo7Dn/+DBg7toQrv94Q9/0Ny5c/Xuu+9q06ZNOnv2rG699VY1Nja2uc2WLVt0zz336L777tO2bduUl5envLw87dixoxsnj36R7Huph772G6AV48aNM3Pnzg1db2lpMcnJyaa0tLTV9Z977jnj9Xq7abrLiySzdu3aC67zwx/+0IwaNSps2dSpU01ubm4XTma/9uz7N954w0gyf/3rX7tlpsvNkSNHjCTzhz/8oc117rrrLjNp0qSwZVlZWea73/1uV49ntfbs+5762s+RG5ynublZ1dXVysnJCS2LiYlRTk6Oqqqq2tzu1KlTuuqqq5SSkqIpU6boww8/7I5xIamqqirs/0uScnNzL/j/hc6VkZGhpKQkTZw4Ue+8847T41ijoaFBkjRo0KA21+H53zXas++lnvnaT9zgPMeOHVNLS0voU6LP8fl8bZ5HMGLECC1fvlz/8z//o9/97ncKBoMaP368/vKXv3THyJe9urq6Vv+/AoGAPv/8c4emujwkJSVp6dKleuWVV/TKK68oJSVFt9xyi2pqapweLeoFg0E99NBDuummmy74KfRtPf857yly7d33PfW13/GvX4AdsrOzw768dPz48UpLS9OvfvUrLVq0yMHJgK41YsQIjRgxInR9/Pjx2rNnj5588kn99re/dXCy6Dd37lzt2LFDb7/9ttOjXHbau+976ms/R25wnoSEBMXGxqq+vj5seX19vRITE9t1H71791ZmZqZ2797dFSPinyQmJrb6/xUfH68+ffo4NNXla9y4cTz3L9EDDzyg//3f/9Ubb7yhL3/5yxdct63nf3tfrxCuI/v+n/WU137iBueJi4vTmDFj5Pf7Q8uCwaD8fn9YoV9IS0uLtm/frqSkpK4aE/8gOzs77P9LkjZt2tTu/y90rtraWp77ETLG6IEHHtDatWu1efNmDR069KLb8PzvHJHs+3/WY177nT6jGT3TqlWrjNvtNitWrDB/+tOfzHe+8x0zYMAAU1dXZ4wxZvr06aawsDC0/sKFC83GjRvNnj17THV1tbn77ruNx+MxH374oVMPIaqdPHnSbNu2zWzbts1IMmVlZWbbtm3mk08+McYYU1hYaKZPnx5af+/evaZv377mBz/4gdm5c6cpLy83sbGxZsOGDU49hKjV0X3/5JNPmnXr1pk///nPZvv27WbevHkmJibGvP766049hKg2Z84c4/V6TWVlpTl8+HDocvr06dA6//z6884775hevXqZxx9/3OzcudOUlJSY3r17m+3btzvxEKJWJPu+p772Ezdo0y9/+Utz5ZVXmri4ODNu3Djz7rvvhm67+eabzcyZM0PXH3roodC6Pp/P3HHHHaampsaBqe1w7s+L//lybp/PnDnT3Hzzzedtk5GRYeLi4sywYcPMc8891+1z26Cj+/6xxx4zw4cPNx6PxwwaNMjccsstZvPmzc4Mb4HW9r2ksOfzP7/+GGPMSy+9ZK655hoTFxdnRo0aZdavX9+9g1sgkn3fU1/7XcYY033HiQAAALoW59wAAACrEDcAAMAqxA0AALAKcQMAAKxC3AAAAKsQNwAAwCrEDQAAsApxAwAArELcAEAr9u/fL5fLpdraWqdHAdBBxA0ARx09elRz5szRlVdeKbfbrcTEROXm5uqdd95xejQAUaqX0wMAuLzdeeedam5u1vPPP69hw4apvr5efr9fn332mdOjAYhSHLkB4JgTJ07orbfe0mOPPaYJEyboqquu0rhx41RUVKSvf/3rkiSXy6VnnnlGt99+u/r06aNhw4bp5ZdfDrufgwcP6q677tKAAQM0aNAgTZkyRfv37w9b59e//rXS0tLk8Xh07bXX6umnnw67fevWrcrMzJTH49HYsWO1bdu2Ln3sALoOcQPAMf369VO/fv20bt06NTU1tbneggULdOedd+r999/XtGnTdPfdd2vnzp2SpLNnzyo3N1f9+/fXW2+9pXfeeUf9+vXTbbfdpubmZknSCy+8oOLiYv3sZz/Tzp079eijj2rBggV6/vnnJUmnTp3S1772NY0cOVLV1dV65JFH9P3vf7/rdwCAruH015IDuLy9/PLLZuDAgcbj8Zjx48eboqIi8/7774dul2Tuv//+sG2ysrLMnDlzjDHG/Pa3vzUjRowwwWAwdHtTU5Pp06eP2bhxozHGmOHDh5uVK1eG3ceiRYtMdna2McaYX/3qV+ZLX/qS+fzzz0O3P/PMM0aS2bZtW6c+XgBdjyM3ABx155136tNPP9Vrr72m2267TZWVlRo9erRWrFgRWic7Oztsm+zs7NCRm/fff1+7d+9W//79Q0eCBg0apDNnzmjPnj1qbGzUnj17dN9994Vu79evn/7jP/5De/bskSTt3LlTN9xwgzweT5s/E0D04IRiAI7zeDyaOHGiJk6cqAULFmjWrFkqKSnRt7/97Ytue+rUKY0ZM0YvvPDCebddccUVOnXqlCRp2bJlysrKCrs9Nja2U+YH0LNw5AZAjzNy5Eg1NjaGrr/77rtht7/77rtKS0uTJI0ePVp//vOfNXjwYF199dVhF6/XK5/Pp+TkZO3du/e824cOHSpJSktL0wcffKAzZ860+TMBRA/iBoBjPvvsM/3bv/2bfve73+mDDz7Qvn37tGbNGv385z/XlClTQuutWbNGy5cv18cff6ySkhJt3bpVDzzwgCRp2rRpSkhI0JQpU/TWW29p3759qqys1Pe+9z395S9/kSQtXLhQpaWl+q//+i99/PHH2r59u5577jmVlZVJku699165XC7Nnj1bf/rTn1RRUaHHH3+8+3cIgM7h9Ek/AC5fZ86cMYWFhWb06NHG6/Wavn37mhEjRpj58+eb06dPG2O+OKG4vLzcTJw40bjdbpOammpWr14ddj+HDx82M2bMMAkJCcbtdpthw4aZ2bNnm4aGhtA6L7zwgsnIyDBxcXFm4MCB5l//9V/Nq6++Grq9qqrKpKenm7i4OJORkWFeeeUVTigGopTLGGOcDiwAaIvL5dLatWuVl5fn9CgAogRvSwEAAKsQNwAAwCr8KTiAHo13zgF0FEduAACAVYgbAABgFeIGAABYhbgBAABWIW4AAIBViBsAAGAV4gYAAFiFuAEAAFb5P+vSB9GtRiutAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "particles = []\n", "\n", @@ -393,21 +362,10 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "1bb43b17", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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PhUWFio5ObnefZKTk2utl6T33nuvwfUAAKB9cfxtqfT0dI0dO1YDBgxQYmKi8vLyVFlZqXHjxkmSxowZo549eyonJ0eSNHnyZF199dV69tlnNXToUC1YsEAff/yxXnrpJScfBgAAaCUcj5uRI0dq//79mjp1qkpLSxUfH6/ly5f7Lxres2ePQkJ+PsGUkpKi+fPna8qUKXrkkUd04YUX6u2339all17q1EPwc7vdys7OrvM2GOriWDUex6rxOFaNx7EKDMer8VrDsXL899wAAAA0Jcd/QzEAAEBTIm4AAIBViBsAAGAV4gYAAFiFuAlQfn6+YmNj5fF4lJSUpPXr1590/aJFi3TxxRfL4/Hosssu07Jly1poUucFcqzmzZsnl8tV6+bxeFpwWuf8+9//1rBhw9SjRw+5XK4G/07a/1q9erWuuOIKud1uXXDBBZo3b16zz9kaBHqsVq9eXed55XK5GvxzLbbIycnRwIED1blzZ0VGRmrEiBHavn37Kfdrr69XwRyv9vqaNXv2bPXr18//C/qSk5P1z3/+86T7OPG8Im4CsHDhQqWnpys7O1sbNmxQ//79lZaWpn379tW7ft26dRo1apTuvPNObdy4USNGjNCIESO0devWFp685QV6rKSffpvld99957999dVXLTixcyorK9W/f3/l5+c3av3u3bs1dOhQDRo0SJs2bdIDDzygu+66SytWrGjmSZ0X6LE6Yfv27bWeW5GRkc00YeuwZs0aTZw4UR999JHee+89HT9+XEOGDFFlZWWD+7Tn16tgjpfUPl+zzjnnHM2YMUPFxcX6+OOPde2112r48OH69NNP613v2PPKoNESExPNxIkT/f+uqakxPXr0MDk5OfWuv+WWW8zQoUNrbUtKSjL33HNPs87ZGgR6rF555RXj9XpbaLrWS5JZsmTJSdf86U9/MpdcckmtbSNHjjRpaWnNOFnr05hj9f777xtJ5ocffmiRmVqrffv2GUlmzZo1Da5pz69Xv9SY48Vr1s+6du1qXn755Xrvc+p5xZmbRqqurlZxcbFSU1P920JCQpSamqqioqJ69ykqKqq1XpLS0tIaXG+LYI6VJB05ckTnnXeeYmJiTvp/Au1de31enY74+Hh1795dgwcP1ocffuj0OC2uvLxcktStW7cG1/C8+lljjpfEa1ZNTY0WLFigysrKBv8EklPPK+KmkQ4cOKCamhr/b04+ISoqqsH370tLSwNab4tgjlVcXJzmzp2rf/zjH3r99dfl8/mUkpKir7/+uiVGblMael5VVFToxx9/dGiq1ql79+4qKCjQm2++qTfffFMxMTG65pprtGHDBqdHazE+n08PPPCArrzyypP+Jvf2+nr1S409Xu35NWvLli3q1KmT3G637r33Xi1ZskR9+/atd61TzyvH//wCIP30B1H/t/xTUlLUp08fvfjii3riiSccnAxtWVxcnOLi4vz/TklJ0a5du/Tcc8/ptddec3CyljNx4kRt3bpVH3zwgdOjtAmNPV7t+TUrLi5OmzZtUnl5uRYvXqyxY8dqzZo1DQaOEzhz00gREREKDQ1VWVlZre1lZWWKjo6ud5/o6OiA1tsimGP1Sx07dtTll1+unTt3NseIbVpDz6vw8HCdccYZDk3VdiQmJrab59V9992nd999V++//77OOeeck65tr69X/yuQ4/VL7ek1KywsTBdccIESEhKUk5Oj/v376y9/+Uu9a516XhE3jRQWFqaEhAQVFhb6t/l8PhUWFjb4XmNycnKt9ZL03nvvNbjeFsEcq1+qqanRli1b1L179+Yas81qr8+rprJp0ybrn1fGGN13331asmSJVq1apfPPP/+U+7Tn51Uwx+uX2vNrls/nU1VVVb33Ofa8atbLlS2zYMEC43a7zbx588xnn31m7r77btOlSxdTWlpqjDFm9OjRJiMjw7/+ww8/NB06dDDPPPOM2bZtm8nOzjYdO3Y0W7ZsceohtJhAj9W0adPMihUrzK5du0xxcbG59dZbjcfjMZ9++qlTD6HFHD582GzcuNFs3LjRSDK5ublm48aN5quvvjLGGJORkWFGjx7tX//ll1+aM8880/zxj38027ZtM/n5+SY0NNQsX77cqYfQYgI9Vs8995x5++23zRdffGG2bNliJk+ebEJCQszKlSudeggtYsKECcbr9ZrVq1eb7777zn87evSofw2vVz8L5ni119esjIwMs2bNGrN7926zefNmk5GRYVwul/nXv/5ljGk9zyviJkDPP/+8Offcc01YWJhJTEw0H330kf++q6++2owdO7bW+r///e/moosuMmFhYeaSSy4xS5cubeGJnRPIsXrggQf8a6OioswNN9xgNmzY4MDULe/Ex5V/eTtxfMaOHWuuvvrqOvvEx8ebsLAw06tXL/PKK6+0+NxOCPRYzZw50/Tu3dt4PB7TrVs3c80115hVq1Y5M3wLqu8YSar1POH16mfBHK/2+pr1hz/8wZx33nkmLCzMnH322ea6667zh40xred55TLGmOY9NwQAANByuOYGAABYhbgBAABWIW4AAIBViBsAAGAV4gYAAFiFuAEAAFYhbgAAgFWIGwAAYBXiBgDqUVJSIpfLpU2bNjk9CoAAETcAHLV//35NmDBB5557rtxut6Kjo5WWlqYPP/zQ6dEAtFEdnB4AQPt28803q7q6Wq+++qp69eqlsrIyFRYW6vvvv3d6NABtFGduADjm0KFDWrt2rWbOnKlBgwbpvPPOU2JiojIzM3XTTTdJklwul2bPnq3f/OY3OuOMM9SrVy8tXry41tfZu3evbrnlFnXp0kXdunXT8OHDVVJSUmvNyy+/rD59+sjj8ejiiy/WCy+8UOv+9evX6/LLL5fH49GAAQO0cePGZn3sAJoPcQPAMZ06dVKnTp309ttvq6qqqsF1WVlZuvnmm/XJJ5/o9ttv16233qpt27ZJko4fP660tDR17txZa9eu1YcffqhOnTrp+uuvV3V1tSTpjTfe0NSpU/XUU09p27Ztmj59urKysvTqq69Kko4cOaIbb7xRffv2VXFxsR577DE99NBDzX8AADSPZv+74wBwEosXLzZdu3Y1Ho/HpKSkmMzMTPPJJ5/475dk7r333lr7JCUlmQkTJhhjjHnttddMXFyc8fl8/vurqqrMGWecYVasWGGMMaZ3795m/vz5tb7GE088YZKTk40xxrz44ovmrLPOMj/++KP//tmzZxtJZuPGjU36eAE0P87cAHDUzTffrG+//VbvvPOOrr/+eq1evVpXXHGF5s2b51+TnJxca5/k5GT/mZtPPvlEO3fuVOfOnf1ngrp166Zjx45p165dqqys1K5du3TnnXf67+/UqZOefPJJ7dq1S5K0bds29evXTx6Pp8HvCaDt4IJiAI7zeDwaPHiwBg8erKysLN11113Kzs7WHXfcccp9jxw5ooSEBL3xxht17jv77LN15MgRSdKcOXOUlJRU6/7Q0NAmmR9A68KZGwCtTt++fVVZWen/90cffVTr/o8++kh9+vSRJF1xxRX64osvFBkZqQsuuKDWzev1KioqSj169NCXX35Z5/7zzz9fktSnTx9t3rxZx44da/B7Amg7iBsAjvn+++917bXX6vXXX9fmzZu1e/duLVq0SE8//bSGDx/uX7do0SLNnTtXO3bsUHZ2ttavX6/77rtPknT77bcrIiJCw4cP19q1a7V7926tXr1a999/v77++mtJ0rRp05STk6O//vWv2rFjh7Zs2aJXXnlFubm5kqTbbrtNLpdL48eP12effaZly5bpmWeeafkDAqBpOH3RD4D269ixYyYjI8NcccUVxuv1mjPPPNPExcWZKVOmmKNHjxpjfrqgOD8/3wwePNi43W4TGxtrFi5cWOvrfPfdd2bMmDEmIiLCuN1u06tXLzN+/HhTXl7uX/PGG2+Y+Ph4ExYWZrp27Wr+7//+z7z11lv++4uKikz//v1NWFiYiY+PN2+++SYXFANtlMsYY5wOLABoiMvl0pIlSzRixAinRwHQRvC2FAAAsApxAwAArMJHwQG0arxzDiBQnLkBAABWIW4AAIBViBsAAGAV4gYAAFiFuAEAAFYhbgAAgFWIGwAAYBXiBgAAWOX/AQ7kJ4ubiKnWAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "particles = []\n", "num_bins = 10\n", @@ -586,28 +544,10 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "e7235a22", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "157.78755866470092\n" - ] - } - ], + "outputs": [], "source": [ "# Jouw antwoord\n", "\n", @@ -669,7 +609,7 @@ ], "metadata": { "kernelspec": { - "display_name": "PySim", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, diff --git a/book/Q2/studentenversie/5_druktemp.ipynb b/book/Q2/studentenversie/5_druktemp.ipynb new file mode 100644 index 0000000..de03ec5 --- /dev/null +++ b/book/Q2/studentenversie/5_druktemp.ipynb @@ -0,0 +1,653 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "f7148c20", + "metadata": {}, + "source": [ + "# Druk, temperatuur en energie\n", + "\n", + "## Doelen\n", + "\n", + "Om het gedrag van een gas beter te begrijpen moeten we de microscopische eigenschappen van ons model (zoals massa, snelheid, impuls en energie per deeltje) nu verbinden aan de macroscopische eigenschappen van het systeem (zoals druk en temperatuur).\n", + "We gaan ons model dus uitbreiden met code om deze macroscopische eigenschappen te berekenen.\n", + "\n", + "Eerst nemen we alle delen over van de code die we opnieuw moeten gebruiken:\n", + "- class voor particles\n", + "- functies voor detecteren botsingen\n", + "- (toelichten van een snellere manier van programmeren).\n", + "\n", + "Daarna voeren we de code toe voor de nieuwe macroscopische eigenschappen:\n", + "- een functie schrijven voor de temperatuur\n", + "- een functie schrijven voor de druk\n", + "\n", + "En dan maken we een simulatie, controleren we de resultaten en verbeteren we eventueel de code. \n", + "\n", + "## Externe bronnen\n", + "Bij het maken van deze module kun je de Feynman lectures on Physics erg goed gebruiken.\n", + "We bevelen aan:\n", + "- [The Kinetic Theory of Gases](https://www.feynmanlectures.caltech.edu/I_39.html) voor het afleiden van de druk, en het botsingsmodel.\n" + ] + }, + { + "cell_type": "markdown", + "id": "ab11bfb1", + "metadata": {}, + "source": [ + "## Laden van alle code die we al ontwikkeld hebben\n", + "\n", + "Eerst roepen we de juiste pakketten van Python aan en bepalen we de waardes van de constanten van onze simulatie.\n", + "\n", + "```{exercise}\n", + "Neem de constanten die je in het vorige werkblad hebt gekozen hieronder over.\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "99dc7374", + "metadata": {}, + "outputs": [], + "source": [ + "# ruimte voor uitwerking\n", + "\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.animation import FuncAnimation\n", + "\n", + "BOX_SIZE_0 = 0 # Hoogte en lengte startvolume\n", + "N = 40 # Aantal deeltjes\n", + "V_0 = 0 # Startsnelheid van deeltjes\n", + "RADIUS = 0 # Straal van moleculen\n", + "DT = 0 # Tijdstap om geen botsing te missen\n", + "\n", + "#your code/answer\n" + ] + }, + { + "cell_type": "markdown", + "id": "bc713f64", + "metadata": {}, + "source": [ + "De klasse voor de gasmoleculen en de functies voor hun onderlinge interactie:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "48c04f7d", + "metadata": {}, + "outputs": [], + "source": [ + "class ParticleClass:\n", + " def __init__(self, m, v, r, R):\n", + " \"\"\" maakt een deeltje (constructor) \"\"\"\n", + " self.m = m \n", + " self.v = np.array(v, dtype=float) \n", + " self.r = np.array(r, dtype=float) \n", + " self.R = R\n", + "\n", + " def update_position(self):\n", + " \"\"\" verandert positie voor één tijdstap \"\"\"\n", + " self.r += self.v * DT \n", + " \n", + " @property\n", + " def momentum(self):\n", + " return self.m * self.v\n", + " \n", + " @property\n", + " def kin_energy(self):\n", + " return 1/2 * self.m * np.dot(self.v, self.v)\n", + " \n", + "def collide_detection(p1: ParticleClass, p2: ParticleClass) -> bool:\n", + " \"\"\" Geeft TRUE als de deeltjes overlappen \"\"\"\n", + " dx = p1.r[0] - p2.r[0]\n", + " dy = p1.r[1] - p2.r[1]\n", + " rr = p1.R + p2.R\n", + " return dx**2+dy**2 < rr**2 \n", + "\n", + "def particle_collision(p1: ParticleClass, p2: ParticleClass):\n", + " \"\"\" past snelheden aan uitgaande van overlap \"\"\"\n", + " m1, m2 = p1.m, p2.m\n", + " delta_r = p1.r - p2.r\n", + " delta_v = p1.v - p2.v\n", + " dot_product = np.dot(delta_r, delta_v)\n", + "\n", + " # Als deeltjes van elkaar weg bewegen dan geen botsing\n", + " if dot_product >= 0: # '='-teken voorkomt ook problemen als delta_r == \\vec{0}\n", + " return\n", + "\n", + " distance_squared = np.dot(delta_r, delta_r) \n", + " # Botsing oplossen volgens elastische botsing in 2D\n", + " p1.v -= 2 * m2 / (m1 + m2) * dot_product / distance_squared * delta_r\n", + " p2.v += 2 * m1 / (m1 + m2) * dot_product / distance_squared * delta_r" + ] + }, + { + "cell_type": "markdown", + "id": "c0000fbe", + "metadata": {}, + "source": [ + "Het volume met de 'oude' randvoorwaarden. Dit zijn niet de randvoorwaarden van het vorige werkblad, maar de randvoorwaarden die je eerder hebt gebruikt. Hierbij botsen de deeltjes elastisch met de wanden van het volume. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "16be2cd8", + "metadata": {}, + "outputs": [], + "source": [ + "def box_collision(particle: ParticleClass):\n", + " ''' botsing met harde wanden '''\n", + " if abs(particle.r[0]) + particle.R > BOX_SIZE_0/2: \n", + " particle.v[0] = -particle.v[0] # Omdraaien van de snelheid\n", + " particle.r[0] = np.sign(particle.r[0]) * (BOX_SIZE_0/2 - particle.R) # Zet terug net binnen box \n", + " if abs(particle.r[1]) + particle.R > BOX_SIZE_0/2: \n", + " particle.v[1] = -particle.v[1] \n", + " particle.r[1] = np.sign(particle.r[1]) * (BOX_SIZE_0/2 - particle.R) " + ] + }, + { + "cell_type": "markdown", + "id": "7d75f279", + "metadata": {}, + "source": [ + "Het uitvoeren en samennemen van deze functies over een lijst met deeltjes:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "043dd08f", + "metadata": {}, + "outputs": [], + "source": [ + "def create_particles(particles):\n", + " \"\"\" Leegmaken en opnieuw aanmaken van deeltjes in lijst \"\"\"\n", + " particles.clear()\n", + " for i in range(N):\n", + " vx = np.random.uniform(-V_0, V_0)\n", + " vy = np.random.choice([-1, 1]) * np.sqrt(V_0**2 - vx**2) \n", + " pos = np.random.uniform(-BOX_SIZE_0/2 + RADIUS, BOX_SIZE_0/2 - RADIUS, 2)\n", + " particles.append(ParticleClass(m=1.0, v=[vx, vy], r=pos, R=RADIUS))\n", + "\n", + "# note dat deze handle_collisions functie anders is dan we gedaan in brownian motion\n", + "# controleer zelf welke van de twee functies sneller is (wat, zoals gezegd, sterk afhangt van het aantal deeltjes!)\n", + "def handle_collisions(particles):\n", + " \"\"\" alle onderlinge botsingen afhandelen voor deeltjes in lijst \"\"\"\n", + " num_particles = len(particles)\n", + " for i in range(num_particles):\n", + " for j in range(i+1, num_particles):\n", + " if collide_detection(particles[i], particles[j]):\n", + " particle_collision(particles[i], particles[j])\n", + "\n", + "def handle_walls(particles):\n", + " \"\"\" botsing met wanden controleren voor alle deeltjes in lijst \"\"\"\n", + " for p in particles:\n", + " box_collision(p)\n", + "\n", + "# de eigenlijke stappen in de simulatie\n", + "def take_time_step(particles):\n", + " \"\"\" zet tijdstap voor een lijst deeltjes en verwerk alle botsingen onderling en met wanden \"\"\"\n", + " for p in particles:\n", + " p.update_position()\n", + " handle_collisions(particles)\n", + " handle_walls(particles) \n" + ] + }, + { + "cell_type": "markdown", + "id": "2be4b4f6", + "metadata": {}, + "source": [ + "## Het draaien van een eerste simulatie ter controle\n", + "\n", + "Laten we het eerst zo eenvoudig mogelijk maken en controleren of het lukt om honderd tijdstappen te zetten met de hierboven gedefinieerde functies. \n", + "Als resultaat beperken we ons tot het plotten van de posities van de deeltjes en hun snelheden." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0cf37cba", + "metadata": {}, + "outputs": [], + "source": [ + "particles = []\n", + "create_particles(particles)\n", + "\n", + "# doorlopen van de simulatie\n", + "for i in range(100):\n", + " take_time_step(particles)\n", + "\n", + "# plotten van de positie van de deeltjes en hun snelheid als vector\n", + "plt.figure()\n", + "plt.xlabel('x')\n", + "plt.ylabel('y')\n", + "plt.gca().set_aspect('equal')\n", + "plt.xlim(-BOX_SIZE_0/2, BOX_SIZE_0/2)\n", + "plt.ylim(-BOX_SIZE_0/2, BOX_SIZE_0/2)\n", + "\n", + "for p in particles:\n", + " plt.plot(p.r[0], p.r[1], 'k.', ms=25)\n", + " plt.arrow(p.r[0], p.r[1], p.v[0], p.v[1], \n", + " head_width=0.05, head_length=0.1, color='red')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "fc3f17f4", + "metadata": {}, + "source": [ + "## Temperatuur\n", + "\n", + "Het boek behandelt de microscopische formules helemaal niet, maar de thermische energie van een gas is niets anders dan de statistisch gemiddelde kinetische energie van de deeltjes waaruit het gas bestaat.\n", + "Nu is er van alles te zeggen over deze statistiek, maar voor nu gaan we daar even aan voorbij.\n", + "Dat is onderwerp van het volgende werkblad.\n", + "\n", + "De temperatuur wordt gegeven door:\n", + "\n", + "$$\n", + " \\frac{f}{2}kT=\\frac{1}{2}m\\left\n", + "$$\n", + "\n", + "Hierbij is \n", + "\n", + "- $k$ de constante van Boltzmann ($1.380649\\times10^{-23} \\mathrm{ JK}^{-1}$)\n", + "- $f$ het aantal vrijheidsgraden (het aantal dimensies waarin het gas kan bewegen)\n", + "- $T$ de temperatuur (in $\\mathrm{kelvin}$)\n", + "- $m$ de massa van de deeltjes (in $\\mathrm{kg}$)\n", + "- $v$ de snelheid van de deeltjes (in $\\mathrm{ms}^{-1}$)\n", + "\n", + "```{exercise} Temperatuurfunctie\n", + ":label: ex-drukdremp-1\n", + "\n", + "Schrijf een functie die de temperatuur van het gas in onze simulatie bepaalt:\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a4935", + "metadata": {}, + "outputs": [], + "source": [ + "def temperature(particles) -> float:\n", + " temp = 0.0 \n", + "#your code/answer\n", + " return temp" + ] + }, + { + "cell_type": "markdown", + "id": "2b87525a", + "metadata": {}, + "source": [ + "```{exercise} Temperatuurplot\n", + ":label: ex-druktemp-2\n", + "\n", + "Gebruik deze functie om een simulatie te maken waarin je de temperatuur als functie van de tijdstap voor 100 tijdstappen plot.\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1b9b0f12", + "metadata": {}, + "outputs": [], + "source": [ + "# ruimte voor uitwerking\n", + "\n", + "particles = []\n", + "temperatures = np.zeros(100, dtype=float)\n", + "times = np.linspace(1, 100, 100)\n", + "\n", + "create_particles(particles)\n", + "for i in range(100):\n", + " take_time_step(particles)\n", + " # vastleggen van temperatuur per tijdstap\n", + "#your code/answer\n", + "\n", + "plt.figure()\n", + "plt.xlabel('Time')\n", + "plt.ylabel('Temperature')\n", + "# plotten van tijd tegen temperatuur\n", + "#your code/answer\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "75767d6b-7f42-4742-ac74-b47a0ea67db8", + "metadata": {}, + "source": [ + "```{exercise}\n", + ":label: ex-druktemp-3\n", + "\n", + "De assen moeten natuurlijk ook eenheden hebben.\n", + "In een vorige module heb je de vermenigvuldigingsfactoren en eenheden bij de constanten van deze simulatie bepaald.\n", + "- Breid de berekening uit, zodat de eenheden kloppen bij het model dat we probeerden weer te geven.\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "4c272d8b", + "metadata": {}, + "source": [ + "## Druk\n", + "\n", + "De druk van een gas is lastiger te berekenen dan de temperatuur.\n", + "Het is letterlijk de druk van de gasmoleculen tegen de wanden van het volume. \n", + "\n", + "$$ \n", + " P = \\frac{F}{A} \\stackrel{2D}{=} \\frac{F}{l} = \\frac{dp / dt}{l} \\approx \\frac{\\Delta p}{l\\Delta t} \n", + "$$\n", + "\n", + "Hierbij is:\n", + "\n", + "- $P$ de druk (hoofdletter om te onderscheiden t.o.v. impuls)\n", + "- $A$ het oppervlak van de wand (voor de 3D situatie)\n", + "- $l$ de lengte van de wand (voor de 2D situatie)\n", + "- $p$ het impuls van het gasdeeltje\n", + "\n", + "In de laatste stap hebben we de afgeleide vervangen door het verschil over een tijdstap, omdat die informatie makkelijk uit onze simulatie te halen is.\n", + "Om de druk op de wand te bepalen, moeten we dus de verandering van de impuls van de wand bepalen.\n", + "In het Nederlands wordt de verandering van impuls ook wel 'stoot' genoemd.\n", + "Onhandig is dat de Engelse term hiervoor 'impulse' is.\n", + "\n", + "De wand in ons experiment staat natuurlijk stil, maar ook hier geldt de wet van behoud van impuls (let op: dit is de Nederlandse impuls, die in het Engels 'momentum' heet).\n", + "We kunnen dus kijken naar de verandering van impuls van de moleculen op het moment dat deze botsen met de wand.\n", + "Daarvoor maken we een nieuwe versie van de functie `handle_walls` die voor het afhandelen van deze botsing wordt aangeroepen.\n", + "\n", + "We kiezen ervoor om de botsingen met de wanden hierbij te splitsen in twee functies: eentje voor de verticale wanden en een voor de horizontale wanden.\n", + "Dat lijkt nu nog wat overdreven, maar als het model straks verder wordt uitgebreid houdt dit de code het meest overzichtelijk." + ] + }, + { + "cell_type": "markdown", + "id": "352784df", + "metadata": {}, + "source": [ + "```{note}\n", + "Let op het gebruik van variabelen en het gebied waarbinnen ze gelden (genaamd 'scope'). In de functie `handle_walls` wordt gebruik gemaakt van een variabele `p`. Deze variabele heeft alleen een waarde binnen de functie. Als je de variabele `p` buiten de functie `handle_walls` aanroept wordt daar een nieuw geheugenadres voor gereserveerd met een waarde die niet gerelateerd is met de waarde binnen de functie `handle_walls`. Als je wil dat die waarde buiten en binnen de functie dezelfde is, dan moet je dit aan Python uitleggen. Het benoemen van een variabele met het keyword `global` zorgt hiervoor.\n", + "\n", + "Programmeurs proberen het aantal globale variabelen te reduceren tot een minimum. Bij grote programma's wordt het aantal variabelen namelijk snel onoverzichtelijk. We komen hier in een later werkblad op terug. \n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2b828ece", + "metadata": {}, + "outputs": [], + "source": [ + "impulse_outward = 0.0\n", + "pressure = 0.0\n", + "\n", + "def top_down_collision(particle: ParticleClass):\n", + " global impulse_outward\n", + " if abs(particle.r[1]) + particle.R > BOX_SIZE_0 / 2:\n", + " particle.r[1] = np.sign(particle.r[1]) * (BOX_SIZE_0/2 - particle.R)\n", + " impulse_outward += abs(particle.momentum[1]) * 2\n", + " particle.v[1] *= -1\n", + " \n", + "def left_right_collision(particle: ParticleClass):\n", + " global impulse_outward\n", + " if abs(particle.r[0]) + particle.R > BOX_SIZE_0 / 2:\n", + " particle.r[0] = np.sign(particle.r[0]) * (BOX_SIZE_0/2 - particle.R)\n", + " impulse_outward += abs(particle.momentum[0]) * 2\n", + " particle.v[0] *= -1\n", + " \n", + "def handle_walls(particles):\n", + " \"\"\" botsing met wanden controleren voor alle deeltjes in lijst en bepaling druk \"\"\"\n", + " global pressure, impulse_outward # om pressure buiten de functie te kunnen gebruiken\n", + " impulse_outward = 0.0\n", + " for p in particles:\n", + " left_right_collision(p)\n", + " top_down_collision(p)\n", + " pressure = (impulse_outward) / (4 * BOX_SIZE_0 * DT) # omtrek volume is oppervlak (2D sim)\n" + ] + }, + { + "cell_type": "markdown", + "id": "09bd7de3", + "metadata": {}, + "source": [ + "```{exercise}\n", + ":label: ex-druktemp-4\n", + "Maak nu een simulatie waarin je de druk als functie van de tijd toont gedurende 100 tijdstappen.\n", + "\n", + "Je zal zien dat deze grafiek niet een mooie vlakke vorm zal hebben.\n", + "Wat zou je als verklaring hiervoor geven?\n", + "```\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eb9e351a", + "metadata": {}, + "outputs": [], + "source": [ + "# Geef je oplossing\n", + "\n", + "#your code/answer\n" + ] + }, + { + "cell_type": "markdown", + "id": "285293f3", + "metadata": {}, + "source": [ + "## Verbeteren van code: middelen\n", + "\n", + "De grafiek voor de druk bestaat uit een achtergrond op de waarde 0 en daarop een serie scherpe pieken.\n", + "Een piek komt overeen met een tijdstap waar er toevallig een atoom met de wanden botst.\n", + "Om deze grafiek meer constant te maken kunnen we het aantal deeltjes sterk verhogen door een veel groter volume te modelleren, maar dat kost ons veel meer rekenkracht.\n", + "\n", + "```{exercise}\n", + ":label: ex-druktemp-5\n", + "Probeer bovenstaande simulatie uit te voeren met 400 deeltjes, vergeet niet je volume ook aan te passen (wat zou anders het gevolg zijn).\n", + "\n", + "Klaar?\n", + "Zet je initiele waarden weer terug.\n", + "```\n", + "\n", + "Een goedkoper alternatief bestaat uit het middelen van de druk over de tijd.\n", + "Fysisch is daar geen echte reden voor, maar ook meetinstrumenten in het laboratorium bepalen hun meetwaarde gedurende een tijdsinterval om hun ruis te verlagen. \n", + "\n", + "In de code doen we dit door de druk in de $i$-de tijdstap ($P_i$) niet volledig te laten bepalen door de druk tijdens de tijdstap waarin de simulatie plaatsvindt ($P$), maar door de druk in de vorige tijdstap ($P_{i-1}$) mee te nemen. \n", + "\n", + "$$ \n", + " P_{i} = \\alpha * P + (1-\\alpha) * P_{i-1}\n", + "$$\n", + "\n", + "Door de factoren op deze manier netjes te kiezen, verandert de netto waarde voor de druk niet want voor $|\\alpha| < 1$ geldt:\n", + "\n", + "$$ \n", + " \\sum_{i=0}^{\\infty}(\\alpha^k)(1-\\alpha) = \\frac{1}{1-\\alpha}(1-\\alpha) = 1 \n", + "$$ (int_norm)\n", + "\n", + "Merk op dat een waarde $\\alpha=1$ ons weer terug brengt bij een simulatie voor de druk zonder exponentieel voortschrijdend gemiddelde.\n", + "Daarbij, kleine waarden voor $\\alpha$ (0.01-0.1) leveren sterke demping op.\n", + "Het signaal wordt 'smooth' maar reageert traag op veranderingen in de echte druk. \n", + "Voor grotere waarden voor $\\alpha$ geldt dat er weinig demping is." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "af3a5c39", + "metadata": {}, + "outputs": [], + "source": [ + "def handle_walls(particles):\n", + " \"\"\" botsing met wanden controleren voor alle deeltjes in lijst en gemiddeld bepaling druk \"\"\"\n", + " global pressure, impulse_outward # om pressure buiten de functie te kunnen gebruiken\n", + " impulse_outward = 0.0\n", + " for p in particles:\n", + " left_right_collision(p)\n", + " top_down_collision(p) \n", + " alpha = 0.1\n", + " pressure = alpha * impulse_outward / (4 * BOX_SIZE_0 * DT) + (1-alpha) * pressure # omtrek volume is oppervlak (2D sim)" + ] + }, + { + "cell_type": "markdown", + "id": "195acdb5", + "metadata": {}, + "source": [ + "```{exercise}\n", + "Kopieer nu je code voor de simulatie waarin je de druk als functie van de tijd hebt geplot naar onderstaand veld en voer de simulatie nogmaals uit met de nieuwe definitie voor de functie `handle_walls`.\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4028cef", + "metadata": {}, + "outputs": [], + "source": [ + "# RUIMTE VOOR GEKOPIEERDE FUNCTIE\n", + "\n", + "#your code/answer\n" + ] + }, + { + "cell_type": "markdown", + "id": "fb8f785a", + "metadata": {}, + "source": [ + "Met de middeling kan je beter zien wat de gemiddelde waarde voor de druk in dit systeem is. Als dit voor jouw simulatie lastig is kan je de factor `alpha` aanpassen in de functie 'handle_walls`, zodat je over een langere periode het gemiddelde neemt. Hou daarbij wel rekening met de eis in [bovenstaande formule](int_norm)\n", + "\n", + "```{exercise}\n", + ":label: ex-druktemp-7\n", + "We kunnen de gevonden druk nu wel uitdrukken in SI-eenheden met behulp van de voorfactoren die we voor de constanten hebben gevonden, maar daar komt niet de 10 bar uit van de fietsband die we wilden modelleren. Kan je verklaren waardoor dit komt?\n", + "```\n", + "\n", + "```{solution} ex-druktemp-7\n", + "#your code/answer\n", + "```\n", + "\n", + "```{exercise}\n", + ":label: ex-druktemp-8\n", + "\n", + "De techniek die we hierboven hebben toegepast wordt *exponentieel voortschrijdend gemiddelde* genoemd.\n", + "Leg op basis van de vormen die je ziet en de bijbehorende wiskunde uit dat dit een logische naamgeving is.\n", + "```\n", + "\n", + "```{solution} ex-druktemp-8\n", + "#your code/answer\n", + "```\n", + "\n", + "Om te voorspellen welke waarde de druk hier dan wel krijgen, moeten we de formule verder ontwikkelen. We hebben al gezien dat de druk ten gevolge van de stoot op de wand werd gegeven door:\n", + "\n", + "$$\n", + " P = \\frac{\\Delta p}{l\\Delta t} = \\frac{2mv_x}{l\\Delta t}\n", + "$$\n", + "\n", + "We moeten dit natuurlijk over alle deeltjes sommeren, maar ook bepalen hoe vaak een deeltje in de tijd meedoet. De $\\Delta t$ in bovenstaande formule wordt dan de tijd tussen twee botsingen voor een enkel deeltje (=$2l/v_x$). Dan is de druk voor alle deeltjes samen:\n", + "\n", + "$$\n", + " \\left< P \\right> = \\sum_{i=1}^{N} \\frac{2mv_{x,i}}{l (2l/v_{x,i})} = \\frac{m}{l^2} \\sum_{i=1}^{N} v_{x,i}^2 = \\frac{mN}{A} \\left< v_x^2\\right>\n", + "$$\n", + "\n", + "Omdat het systeem geen voorkeur heeft voor snelheden in $x$ of de $y$-richting kunnen we stellen dat $\\left< v_x^2 \\right> = \\left< v_y^2 \\right> $, zodat in twee dimensies geldt dat $\\left< v_x^2 \\right> = \\frac{1}{2} \\left< v^2 \\right>$. Daarmee moet de waarde voor de druk dus gelijk zijn:\n", + "\n", + "$$\n", + " \\left< P \\right> = \\frac{mN}{A} \\frac{\\left< v^2\\right>}{2}\n", + "$$ (2d_pressure)\n", + "\n", + "```{exercise} \n", + ":label: ex-druktemp9a\n", + "\n", + "Controleer of je uitkomst overeenkomt met de theorie en verifieer hiermee de code.\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "5916caed", + "metadata": {}, + "source": [ + "In [de formule voor de tweedimensionale druk](2d_pressure) kan je de structuur van de ideale gaswet herkennen. \n", + "\n", + "```{exercise}\n", + ":label: ex-druktemp9b\n", + "\n", + "Herleid dezelfde formule af voor het driedimensionale geval. Laat zien welke relatie er geldt tussen de constanten voor het macroscopische (thermodynamische) model en het microscopische (mechanische) model.\n", + "```\n", + "\n", + "```{solution} ex-druktemp9b\n", + "Geef hier de relatie tussen de constanten...\n", + "#your code/answer\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "4aeecaee", + "metadata": {}, + "source": [ + "```{exercise}\n", + ":label: ex-druktemp-12\n", + "Laat je werk aftekenen door een TA en besluit of je eventueel wil doorgaan met de verdiepende opdracht voor een 'excellent' op dit onderdeel.\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "841da8b1", + "metadata": {}, + "source": [ + "```{exercise} 🌶 Uitbreiding\n", + ":label: ex-druktemp-13\n", + "Je ziet dat de druk een statistisch bepaalde grootheid is die met de tijd varieert. Het is interessant om dit te onderzoeken.\n", + "\n", + "- Maak een histogram van de drukwaardes die je meet gedurende een simulatie.\n", + "- Maak de lengte van de simulatie lang genoeg zodat dit histogram op het oog voldoende reproduceert.\n", + "- Bepaal de breedte van de verdeling van drukwaardes met een eigen gekozen definitie.\n", + "- Verhoog het aantal deeltjes met een factor twee en herhaal je berekening.\n", + "- Schat hieruit de statistische variatie in de druk bij een volume met $10^{23}$ deeltjes.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d2056e0c-3750-4862-9318-0be1ba9c1ef8", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/book/Q2/studentenversie/6_boltzmann.ipynb b/book/Q2/studentenversie/6_boltzmann.ipynb new file mode 100644 index 0000000..7a014be --- /dev/null +++ b/book/Q2/studentenversie/6_boltzmann.ipynb @@ -0,0 +1,568 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c632e392", + "metadata": {}, + "source": [ + "# De Maxwell-Boltzmann snelheidsverdeling\n", + "\n", + "## Doelen\n", + "We hebben al gezien in het vorige werkblad dat de snelheid van de deeltjes en de temperatuur aan elkaar gerelateerd zijn. In dit werkblad gaan we dat verder bekijken.\n", + "\n", + "Eerst nemen we alle delen over van de code die we opnieuw moeten gebruiken:\n", + "- class voor particles\n", + "- functies voor een lijst aan deeltjes\n", + "\n", + "Daarna voeren we de code toe voor het bekijken van de dynamiek van de deeltjes:\n", + "- We kijken naar de verschillende richtingen\n", + "- We bepalen de kansverdeling van de snelheden van de deeltjes\n", + "\n", + "Zie voor de verdere inhoudelijke achtergrond de [Feynman lectures on Physics](https://www.feynmanlectures.caltech.edu/I_40.html)." + ] + }, + { + "cell_type": "markdown", + "id": "a9284bc0", + "metadata": {}, + "source": [ + "## Laden van eerdere code\n", + "\n", + "Eerst nemen we de pakketten van Python en de constanten voor de simulatie over. Voer je eigen getallen in, die je ook inde vorige werkbladen hebt gebruikt." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21a64ca8", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.animation import FuncAnimation\n", + "from scipy.optimize import curve_fit\n", + "\n", + "BOX_SIZE_0 = 0 # Hoogte en breedte startvolume\n", + "N = 40 # Aantal deeltjes\n", + "V_0 = 0 # Startsnelheid van deeltjes\n", + "RADIUS = 0 # Straal van moleculen\n", + "DT = 0 # Tijdstap om geen botsing te missen\n", + "\n", + "#your code/answer\n" + ] + }, + { + "cell_type": "markdown", + "id": "36fde698", + "metadata": {}, + "source": [ + "Dan maken we weer gebruik van de klasse voor het deeltje:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a2c0511", + "metadata": {}, + "outputs": [], + "source": [ + "class ParticleClass:\n", + " def __init__(self, m, v, r, R):\n", + " \"\"\" maakt een deeltje (constructor) \"\"\"\n", + " self.m = m \n", + " self.v = np.array(v, dtype=float) \n", + " self.r = np.array(r, dtype=float) \n", + " self.R = R\n", + "\n", + " def update_position(self):\n", + " \"\"\" verandert positie voor één tijdstap \"\"\"\n", + " self.r += self.v * DT \n", + " \n", + " @property\n", + " def momentum(self):\n", + " return self.m * self.v\n", + " \n", + " @property\n", + " def kin_energy(self):\n", + " return 1/2 * self.m * np.dot(self.v, self.v)\n", + " \n", + "def collide_detection(p1: ParticleClass, p2: ParticleClass) -> bool:\n", + " \"\"\" Geeft TRUE als de deeltjes overlappen \"\"\"\n", + " return np.linalg.norm(p1.r - p2.r) < (p1.R + p2.R)\n", + "\n", + "\n", + "def particle_collision(p1: ParticleClass, p2: ParticleClass):\n", + " \"\"\" past snelheden aan uitgaande van overlap \"\"\"\n", + " m1, m2 = p1.m, p2.m\n", + " delta_r = p1.r - p2.r\n", + " delta_v = p1.v - p2.v\n", + " dot_product = np.dot(delta_r, delta_v)\n", + " # Als deeltjes van elkaar weg bewegen dan geen botsing\n", + " if dot_product >= 0: # '='-teken voorkomt ook problemen als delta_r == \\vec{0}\n", + " return\n", + " distance_squared = np.dot(delta_r, delta_r) \n", + " # Botsing oplossen volgens elastische botsing in 2D\n", + " p1.v -= 2 * m2 / (m1 + m2) * dot_product / distance_squared * delta_r\n", + " p2.v += 2 * m1 / (m1 + m2) * dot_product / distance_squared * delta_r" + ] + }, + { + "cell_type": "markdown", + "id": "de7757a7", + "metadata": {}, + "source": [ + "En we laten de deeltjes met de wanden botsen, zodat er sprake is van een druk een een temperatuur in een gesloten volume." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "97355e3c", + "metadata": {}, + "outputs": [], + "source": [ + "def box_collision(particle: ParticleClass):\n", + " ''' botsing met harde wanden '''\n", + " if abs(particle.r[0]) + particle.R > BOX_SIZE_0/2: \n", + " particle.v[0] = -particle.v[0] # Omdraaien van de snelheid\n", + " particle.r[0] = np.sign(particle.r[0]) * (BOX_SIZE_0/2 - particle.R) # Zet terug net binnen box \n", + " if abs(particle.r[1]) + particle.R > BOX_SIZE_0/2: \n", + " particle.v[1] = -particle.v[1] \n", + " particle.r[1] = np.sign(particle.r[1]) * (BOX_SIZE_0/2 - particle.R) " + ] + }, + { + "cell_type": "markdown", + "id": "bf5e1c35", + "metadata": {}, + "source": [ + "## Functies aan een lijst van deeltjes\n", + "\n", + "Waarbij we al deze functies uitvoeren en samennemen over een lijst met deeltjes:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b5574f48", + "metadata": {}, + "outputs": [], + "source": [ + "def create_particles(particles):\n", + " \"\"\" Leegmaken en opnieuw aanmaken van deeltjes in lijst \"\"\"\n", + " particles.clear()\n", + " for i in range(N):\n", + " vx = np.random.uniform(-V_0, V_0)\n", + " vy = np.random.choice([-1, 1]) * np.sqrt(V_0**2 - vx**2) \n", + " pos = np.random.uniform(-BOX_SIZE_0/2 + RADIUS, BOX_SIZE_0/2 - RADIUS, 2)\n", + " particles.append(ParticleClass(m=1.0, v=[vx, vy], r=pos, R=RADIUS))\n", + " \n", + "def handle_collisions(particles):\n", + " \"\"\" alle onderlinge botsingen afhandelen voor deeltjes in lijst \"\"\"\n", + " num_particles = len(particles)\n", + " for i in range(num_particles):\n", + " for j in range(i+1, num_particles):\n", + " if collide_detection(particles[i], particles[j]):\n", + " particle_collision(particles[i], particles[j])\n", + "\n", + "def handle_walls(particles):\n", + " \"\"\" botsing met wanden controleren voor alle deeltjes in lijst \"\"\"\n", + " for p in particles:\n", + " box_collision(p)\n", + "\n", + "def take_time_step(particles):\n", + " \"\"\" zet tijdstap voor een lijst deeltjes en verwerk alle botsingen onderling en met wanden \"\"\"\n", + " for p in particles:\n", + " p.update_position()\n", + " handle_collisions(particles)\n", + " handle_walls(particles) " + ] + }, + { + "cell_type": "markdown", + "id": "c0bf30e5", + "metadata": {}, + "source": [ + "## Eerste simulatie ter controle\n", + "\n", + "Zoals we inmiddels gewend zijn draaien we eerst een korte simulatie om te verifieren of alle code correct is overgenomen:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "495c6efd", + "metadata": {}, + "outputs": [], + "source": [ + "particles = []\n", + "create_particles(particles)\n", + "for i in range(100):\n", + " take_time_step(particles)\n", + "\n", + "plt.figure()\n", + "plt.xlabel('x')\n", + "plt.ylabel('y')\n", + "plt.gca().set_aspect('equal')\n", + "plt.xlim(-BOX_SIZE_0/2, BOX_SIZE_0/2)\n", + "plt.ylim(-BOX_SIZE_0/2, BOX_SIZE_0/2)\n", + "\n", + "for p in particles:\n", + " plt.plot(p.r[0], p.r[1], 'k.', ms=25)\n", + " plt.arrow(p.r[0], p.r[1], p.v[0], p.v[1], \n", + " head_width=0.05, head_length=0.1, color='red')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "11d5a31d", + "metadata": {}, + "source": [ + "## Equipartitiebeginsel\n", + "\n", + "Dit beginsel is heel belangrijk voor de thermodynamica en stelt dat de energie in thermodynamisch evenwicht gelijk wordt verdeeld over de toegankelijke vrijheidsgraden. Laten we dit eerst verifiëren in onze simulatie.\n", + "\n", + "```{exercise} \n", + ":label: ex-boltzmann-1\n", + "Maak een alternatieve vorm van de functie `create_particles` die alle deeltjes een beginsnelheid `V_0` volledig in de verticale richting geeft. Laat de regel `particles.clear()` staan. Deze zorgt ervoor dat je de lijst eerst leegmaakt als je een nieuwe beginsituatie wilt creëren en de variabele al eerder is aangemaakt. \n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8a5a3c61", + "metadata": {}, + "outputs": [], + "source": [ + "# jouw antwoord\n", + "\n", + "def create_uniform_particles(particles):\n", + " \"\"\" Leegmaken en opnieuw aanmaken van deeltjes met uniforme snelheid in lijst \"\"\"\n", + " particles.clear()\n", + "#your code/answer\n" + ] + }, + { + "cell_type": "markdown", + "id": "08acc763", + "metadata": {}, + "source": [ + "\n", + "```{exercise}\n", + ":label: ex-boltzmann-2\n", + "Creëer `N` deeltjes met deze functie en plot hiervan de kinetische energie in de $x-$ en de $y-$richting als functie van tijd. Neem zoveel tijdstappen als dat er in principe nodig zijn om de deeltjes twee keer de lengte van het volume af te laten leggen. \n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "620af9cb", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "#your code/answer\n" + ] + }, + { + "cell_type": "markdown", + "id": "5f32dc4a", + "metadata": {}, + "source": [ + "Aan het resultaat van je simulatie kan je zien dat de deeltjes zich inderdaad gedragen volgens equipartitiebeginsel. Afwijkingen van het gemiddelde zijn het gevolg van de statistiek en worden voor grotere aantallen deeltjes relatief kleiner. " + ] + }, + { + "cell_type": "markdown", + "id": "7860989e", + "metadata": {}, + "source": [ + "## De snelheidsverdeling\n", + "\n", + "In het vorige werkblad hebben we al gezien dat er een relatie is tussen de snelheid van de deeltjes en de temperatuur. Je kan hierdoor al vermoeden dat de snelheid van de deeltjes wordt gegeven door een verdeling die van de temperatuur afhangt. De vraag is dus of we deze functie kunnen vinden. \n", + "\n", + "Om de snelheidsverdeling van de deeltjes te bepalen kan je gebruik maken van de functie histogram van python. Laten we daarom een simulatie draaien waarin we vanuit een willekeurige beginsituatie 100 tijdstappen zetten en daarna de snelheidsverdeling plotten:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "715d039e", + "metadata": {}, + "outputs": [], + "source": [ + "particles = []\n", + "\n", + "create_uniform_particles(particles)\n", + "for i in range(num_steps):\n", + " take_time_step(particles)\n", + "\n", + "speeds = [np.linalg.norm(p.v) for p in particles]\n", + "counts, bins = np.histogram(speeds, bins=10, density='True')\n", + "\n", + "plt.figure()\n", + "plt.xlabel('Speed')\n", + "plt.ylabel('Count')\n", + "\n", + "plt.stairs(counts, bins, fill='True')\n", + "\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "id": "2c50e794", + "metadata": {}, + "source": [ + "### Voldoende statistiek\n", + "\n", + "Als je de simulatie hierboven een aantal keer uitvoert, dan zal je zien dat de statistiek onvoldoende is om een reproduceerbaar antwoord te krijgen. We kunnen het aantal deeltjes toe laten nemen om meer statistiek te krijgen, maar dat kost heel veel rekenkracht. Het is een goedkopere oplossing om de statistiek te bepalen op verschillende momenten in de tijd en deze statistische resultaten te middelen. De onderstaand code laat de deeltjes 5000 tijdstappen zetten en noteert de snelheid van alle deeltjes op elke 250e tijdstap. Het histogram wordt dan bepaald door de snelheden bij elke 250e tijdstap samen te nemen. \n", + "\n", + "Door de simulatie een aantal keer te draaien zie je dat de verdeling al een stuk stabieler wordt. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1bb43b17", + "metadata": {}, + "outputs": [], + "source": [ + "particles = []\n", + "num_bins = 10\n", + "tot_counts = np.zeros(num_bins, dtype=float)\n", + "\n", + "plt.figure()\n", + "plt.xlabel('Speed')\n", + "plt.ylabel('Count')\n", + "\n", + "create_uniform_particles(particles)\n", + "\n", + "for i in range(5000):\n", + " take_time_step(particles)\n", + " if i % 250 == 0:\n", + " speeds = [np.linalg.norm(p.v) for p in particles]\n", + " partial_counts, bins = np.histogram(speeds, bins=num_bins, density='True', range=[0,3*V_0])\n", + " tot_counts += partial_counts\n", + "\n", + "norm_counts = tot_counts / 20\n", + "plt.stairs(norm_counts, bins, fill='True')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "1e91a29a", + "metadata": {}, + "source": [ + "### De mathematische vorm van de snelheidsverdeling\n", + "\n", + "De meest algemene vorm van de snelheidsverdeling heeft de vorm $f_{2D}(\\vec{v})$. Dat wil zeggen dat er bij elke unieke combinatie van $x$ en $y$-component van de snelheid een specifieke kans hoort. We weten echter al dat dit niet het geval kan zijn. De natuur heeft helemaal geen voorkeur voor richting en wij kunnen zelf kiezen hoe ons assenstelsel georiënteerd is. De kans is dus alleen afhankelijk van de modus van de snelheid en onafhankelijk van de richting. We kunnen de verdeling daarom weergeven als $f_{2D}(v)$ (zonder pijl voor de vector). \n", + "\n", + "We kunnen de verdeling nog scherper definiëren door te stellen dat de componenten van de snelheid onderling onafhankelijk zijn. De functie $f_{2D}$ is daarom te splitsen in aparte functies voor de $x$ en $y$-richting. Combineren we dit met onze conclusie van de vorige paragraaf dan moet dus gelden dat we de functie kunnen splitsen in twee functies voor $x$ en $y$ die onderling precies hetzelfde zijn en ook hetzelfde als $f(v)$:\n", + "\n", + "$$\n", + " f_{2D}(v)=f(v_x)f(v_y)\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "ce4a9c13", + "metadata": {}, + "source": [ + "Laten we nu de snelheidsverdeling beschouwen langs een willekeurige richting $r$, die een lineaire combinatie van de $x$- en $y$-richting is. Omdat dit een deelverzameling is van de twee-dimensionale snelheidsverdeling moet bovenstaande relatie hiervoor nog steeds gelden. Om de vorm van deze functie te vinden stellen we nu een differentiaalvergelijking op door te differentiëren naar $v_x$:\n", + "\n", + "$$\n", + " \\frac{d}{dv_x}f(v_r)=\\frac{d}{dv_x}f(v_x)f(v_y)\n", + "$$\n", + "\n", + "Om de linkerkant uit te werken, passen we de kettingregel toe:\n", + "\n", + "$$\n", + " \\left(\\frac{\\partial f(v)}{\\partial v_r}\\right)\\left(\\frac{\\partial v_r}{\\partial v_x}\\right)=f(v_y)\\frac{df(v_x)}{dv_x}\n", + "$$\n", + "\n", + "Met de Stelling van Pythagoras wordt dit:\n", + "\n", + "$$\n", + " \\frac{v_x}{v_r}\\left(\\frac{\\partial f(v_r)}{\\partial v_r}\\right)=f(v_y) \\frac{df(v_x)}{dv_x}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "c063de8b", + "metadata": {}, + "source": [ + "Om deze differentiaalvergelijking op te lossen willen we een scheiding van variabelen toepassen. Daarvoor willen we eerst af van de variabele $v_y$. Dat kan door de vergelijking te delen door $f(v_r)=f(v_x)f(v_y)$ en de $v_x$ naar de andere kant te brengen:\n", + "\n", + "$$\n", + " \\frac{1}{v_r f(v_r)}\\left(\\frac{\\partial f(v_r)}{\\partial v_r}\\right)=\\frac{1}{v_x f(v_x)} \\frac{df(v_x)}{dv_x}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "fb31423b", + "metadata": {}, + "source": [ + "Je kan precies dezelfde redenering ook opzetten vanuit de $y$-coördinaat in plaats van de $x$-coördinaat. De termen die je hier gevonden hebt zijn daarmee functies van verschillende en onderling onafhankelijke variabelen die toch hetzelfde antwoord geven. Ze moeten daarom constant zijn. Die constante noemen we $-2\\alpha$, omdat dit de formules verderop vereenvoudigt:\n", + "\n", + "$$\n", + " \\frac{1}{v_r f(v_r)}\\left(\\frac{\\partial f(v_r)}{\\partial v_r}\\right)=\\frac{1}{v_x f(v_x)} \\frac{df(v_x)}{dv_x}=\\frac{1}{v_y f(v_y)} \\frac{df(v_y)}{dv_y} = -2\\alpha\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "ca5b8562", + "metadata": {}, + "source": [ + "Misschien herken je hier al de vorm die $f(v_x)$ moet hebben om hieraan te voldoen, maar om dit makkelijker te maken, kunnen we de vergelijking een beetje herschrijven:\n", + "\n", + "$$\n", + " \\frac{df(v_x)}{f(v_x)}=-2\\alpha v_x dv_x\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "70c431d7", + "metadata": {}, + "source": [ + "We kunnen beide zijden nu rustig integreren, zodat de oplossing wordt gegeven door:\n", + "\n", + "$$\n", + " f(v_x)=A \\exp\\left(-\\alpha v_x^2\\right)\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "c17fde1f", + "metadata": {}, + "source": [ + "Bij het vak Multivariabele Analyse zal je deze integraal tegengekomen aan het einde van dit blok. Daar wordt bewezen dat de integraal onder deze functie precies \"1\" is als (we zeggen ook wel: de functie is _genormaliseerd_):\n", + "\n", + "$$\n", + " A = \\sqrt{\\frac{\\alpha}{\\pi}}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "db57a343", + "metadata": {}, + "source": [ + "Om ook de waarde van $\\alpha$ te bepalen, kunnen we nu eisen dat deze formule de juiste waarde moet geven voor het gemiddelde van het kwadraat van de snelheid in de $x$-richting:\n", + "\n", + "$$\n", + " \\left< v_x^2 \\right> = \\frac{kT}{m} = \\sqrt{\\frac{\\alpha}{\\pi}} \\int_{-\\infty}^{\\infty} v_x^2 \\exp\\left(-\\alpha v_x^2\\right)dv_x\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "421871fa", + "metadata": {}, + "source": [ + "Partieel integreren levert op:\n", + "\n", + "$$\n", + " \\alpha = \\frac{m}{2kT},\n", + "$$\n", + "\n", + "zodat de snelheidsverdeling voor twee dimensies uiteindelijk de vorm heeft:\n", + "\n", + "$$\n", + " f_{2D}(v_x,v_y)=f(v_x)f(v_y)=\\frac{m}{2\\pi kT} \\exp\\left( -\\frac{m(v_x^2+v_y^2)}{2kT} \\right)\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "a5c4e7f8", + "metadata": {}, + "source": [ + "Om hieruit de snelheidsverdeling $f_{2D}(v)$ te bepalen, moeten we nog een extra stap nemen. Het aantal combinaties van $v_x$ en $v_y$ dat overeenkomt met de snelheid $v$ is namelijk afhankelijk van $v$. Dit wordt gegeven door de cirkelomtrek met middelpunt $(v_x=0,v_y=0)$ en straal $v$. Zodoende is de snelheidsverdeling voor de modus van de snelheid gegeven door:\n", + "\n", + "$$\n", + " f_{2D}(v)=\\frac{mv}{kT} \\exp\\left( -\\frac{mv^2}{2kT} \\right)\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "c6ea94e5", + "metadata": {}, + "source": [ + "```{exercise}\n", + ":label: ex-boltzmann-3\n", + "Maak een fit van het histogram dat je hierboven hebt gemaakt en haal hieruit de temperatuur. LET OP: De variabele `bins` die hierboven is gebruikt, geeft de grenzen weer van de bins. Het aantal elementen in de array `norm_counts` bevat dus een element minder dan het array `bins`. Voor het fitten moet je gebruik maken van de centrale snelheidswaardes van de bins. \n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "e7235a22", + "metadata": {}, + "outputs": [], + "source": [ + "#your code/answer\n" + ] + }, + { + "cell_type": "markdown", + "id": "8cffd229", + "metadata": {}, + "source": [ + "```{exercise}\n", + ":label: ex-boltzmann-4\n", + "Controleer of de temperatuur van de verdeling klopt met je verwachting en overeenkomt met de constanten die je bovenaan hebt gekozen. Daarna kan je de opdracht laten afteken door de TA, of de uitgebreide opdracht maken voor een excellent.\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "8fe07c24", + "metadata": {}, + "source": [ + "```{exercise} 🌶 Uitbreiding\n", + ":label: ex-boltzmann-5\n", + "We kunnen deze opdracht makkelijk uitbreiden door de deeltjes van verschillende massa's in de simulatie te stoppen:\n", + "\n", + "- Pas de massa van de helft van de deeltjes aan zodat hun massa 4 keer zo groot is als die van de andere helft.\n", + "- Splits het snelheidshistogram in twee kleuren: voor elke massa een aparte kleur.\n", + "- Vind de juiste grootheid, zodat de twee histogrammen voor de verschillende massa's er hetzelfde uitzien en over elkaar vallen.\n", + "- Bedenk zelf een interessante uitbreiding." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/book/_toc.yml b/book/_toc.yml index 92b8cd1..0873bab 100644 --- a/book/_toc.yml +++ b/book/_toc.yml @@ -63,6 +63,8 @@ chapters: - file: Q2/studentenversie/2_deeltjes_model.ipynb - file: Q2/studentenversie/3_recap.ipynb - file: Q2/studentenversie/4_brownianmotion.ipynb + - file: Q2/studentenversie/5_druktemp.ipynb + - file: Q2/studentenversie/6_boltzmann.ipynb #- file: references.md