{ "cells": [ { "cell_type": "raw", "id": "6cf7ccc9-46ea-4256-ad12-2e2ea6993b45", "metadata": {}, "source": [ "SEMAINE 2 : 1D fourier equation" ] }, { "cell_type": "code", "execution_count": 3, "id": "cdd24aa4-77fe-4b4c-b746-3b988072ac38", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Time= 50.0 s\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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UaNTrSU3Nxfjx4/H888/j0OHDrV6/ej90nIa7csvvwyNtbSdx4Kmpib84he/gM/nw3333ad2OZTgeASFupyPPvoIW7dubTU+evRolJSUYPLkyRgzZgzuvfde7NmzB5WVlXjnnXdgsVhavefGG2/EggULMGnSJNx0002or6/H0qVLMWDAgLAWzEsuuQQLFizAhRdeiGuuuQb19fVYvHgxSktLW10DUlVVhU8//RQLFixAYWEhiouLMXLkyFbb7t69O2bPno2HHnoIF154IS677DJs27YNS5YswZlnntnqJlunaujQofjFL36BJUuWwGKxYPTo0Vi1ahV27tzZatnHH38c//73vzFy5EjMmDEDlZWVaGpqwg8//IBPP/0UTU1NHdr2pZdeiocffhg33HADRo8ejY0bN+L1118PO2J0PKWlpbjvvvvwyCOPYOzYsbjiiitgMBjw/fffo7CwEPPmzYtaLYsXL8bZZ5+NQYMGYcaMGSgpKUFdXR1Wr16N/fv3h+6lcsEFF6BXr1646aabcPfdd0Or1eKll15C9+7dsW/fvg7VeyyLxRIK2S0B+k9/+hMyMzORmZmJW2+9NWz57du347XXXoMQAlarFRs2bMBbb70Fu90e+l0m6lQqdQ8RRd2J2oxxTFtoY2OjmDZtmkhPTxcZGRli2rRpYt26da2WE0KI1157TZSUlAi9Xi+GDh0qPv744zbbjF988UXRr18/YTAYREVFhVi2bFmbbaVbt24V55xzjjCZTAJAqO22rVZTIQJtxRUVFSIpKUnk5eWJ3/zmN6K5uTlsmXHjxokBAwa02idt1dkWl8slfvvb34qcnByRkpIiJk+eLGpqalq1GQshRF1dnZg5c6YoKioSSUlJIj8/X5x33nnihRdeOOl22moz/t3vficKCgqEyWQSY8aMEatXrz5ue3dbXnrpJTFs2DBhMBhEVlaWGDdunPjkk0/CtnnJJZe0et+x22hvLW21GQshxK5du8Qvf/lLkZ+fL5KSkkSPHj3EpZdeKt5+++2w5dauXStGjhwp9Hq96NWrl1iwYMFx24zbqvt4Wupq63Hs78DRr2k0GpGZmSmGDRsmbr/9drFp06Z2b5PodEhCROgKOaIEt2fPHhQXF2PZsmVRn3GXiKir4TUoREREFHMYUIiIiCjmMKAQERFRzOE1KERERBRzeASFiIiIYg4DChEREcWcuLxRm9/vx8GDB5GWlnbKE60RERFRdAkhYLPZUFhY2GqW8WPFZUA5ePAgioqK1C6DiIiITkFNTQ169ux5wmXiMqC0TFBVU1OD9PR0lashIiKi9rBarSgqKmrXRJNxGVBaTuukp6czoBAREcWZ9lyewYtkiYiIKOYwoBAREVHMYUAhIiKimMOAQkRERDGHAYWIiIhiDgMKERERxRwGFCIiIoo5DChEREQUcxhQiIiIKOYwoBAREVHM6XBA+fLLLzF58mQUFhZCkiSsWLEi7HUhBObMmYOCggKYTCZMnDgRO3bsCFumqakJ1157LdLT05GZmYmbbroJdrv9tH4QIiIiShwdDigOhwNDhgzB4sWL23x9/vz5WLRoEZYuXYo1a9YgJSUFkyZNgtvtDi1z7bXXYtOmTfjkk0/w/vvv48svv8TNN9986j8FERERJRRJCCFO+c2ShHfffRdTpkwBEDh6UlhYiN/97ne46667AAAWiwV5eXlYvnw5rr76amzZsgWVlZX4/vvvMXz4cADAypUrcfHFF2P//v0oLCw86XatVisyMjJgsVgiOlmg027Hd6/MA3wKxt/2ZMTWS0RERB37/I7oNSjV1dWora3FxIkTQ2MZGRkYOXIkVq9eDQBYvXo1MjMzQ+EEACZOnAiNRoM1a9a0uV5ZlmG1WsMencHxtzswvrcbI7s7O2X9RERE1D4RDSi1tbUAgLy8vLDxvLy80Gu1tbXIzc0Ne12n0yE7Ozu0zLHmzZuHjIyM0KOoqCiSZYc0WGQAgN6g65T1ExERUfvERRfP7NmzYbFYQo+amppO2c5BxQQA0Oi0cDt5FIWIiEgtEQ0o+fn5AIC6urqw8bq6utBr+fn5qK+vD3vd6/WiqakptMyxDAYD0tPTwx6doc9FMyCEgKSR8OPbCztlG0RERHRyEQ0oxcXFyM/Px6pVq0JjVqsVa9aswahRowAAo0aNgtlsxtq1a0PLfPbZZ/D7/Rg5cmQky+mwvoPPhPD6AQCGxm2q1kJERNSVdfhiC7vdjp07d4aeV1dXY/369cjOzkavXr1wxx134NFHH0W/fv1QXFyM+++/H4WFhaFOn/79++PCCy/EjBkzsHTpUng8Htx66624+uqr29XB09k8iheGJC3y0ngdChERkVo6/Cn83//+F+eee27o+axZswAA06dPx/Lly3HPPffA4XDg5ptvhtlsxtlnn42VK1fCaDSG3vP666/j1ltvxXnnnQeNRoOpU6di0aJFEfhxTp/TqcCQYkB6ikHtUoiIiLqs07oPilo66z4oALD9metQVpoHn+KF9n+eiei6iYiIujLV7oOSCPY0egEEOnmE369yNURERF0TA8oxHD2rQp08tWs/UrscIiKiLokB5RgX/fI2CF/gyEnDd/9UuRoiIqKuiQHlGEajEV4lcJonR+9RuRoiIqKuiQGlDS5XIJhkpOhVroSIiKhrYkBpQ6PFBQAwGJNUroSIiKhrYkBpw+56BwBAm6QF4q8Lm4iIKO4xoLRhpzst2MmjgXP/ZrXLISIi6nIYUNow/Mpfhzp5ar98Q+VqiIiIuh4GlDZUjTgLPsUHADA460+yNBEREUUaA0obJEmC260AANKTOWkgERFRtDGgHEezzQ0AMLGTh4iIKOoYUI5jT50VAKDVa1WuhIiIqOthQDmOdXVKqJPH21SjdjlERERdCgPKcaSUnQ0EO3mav1uhbjFERERdDAPKcVx+3U3wegKdPJ6DW1SuhoiIqGthQDmO7rm5kN2BOXlS9bybLBERUTQxoJyAxR7s5DGxk4eIiCiaGFBOYP9hGwBAl8ROHiIiomhiQDmBH/ZYAACSVgOfrVHlaoiIiLoOBpQTOKDLC83J49z0icrVEBERdR0MKCdwzpRr4At28rh2f69yNURERF0HA8oJjJswMdTJY/A7Va6GiIio62BAOQGDwQC7QwYAmIycNJCIiChaGFBO4mBDsJNHz4BCREQULQwoJ7FhX6B7R6PVwO+yqlwNERFR18CAchIbGkWok8ez4yuVqyEiIuoaGFBOosegMaFOHsfONSpXQ0RE1DUwoJzEpVdeA0X2AgC0rgaVqyEiIuoaGFBOoqyiAg5noJPHaODuIiIiigZ+4p6ERqNBXZMdAJCUxE4eIiKiaGBAaYctNU0AAI1OAyE7VK6GiIgo8TGgtMOavdZQJ4933w8qV0NERJT4GFDaQc7sCb83OCfPjm9UroaIiCjxMaC0w6jzLg118sB6UN1iiIiIugAGlHaYeNElcDoVAIBB61e5GiIiosTHgNIOubm5aLAELo5N0mtVroaIiCjxMaC0044DZgCARqeF8LjVLYaIiCjBMaC005rdDRD+wOkd/8GfVK6GiIgosTGgtNN+tx7+4Jw88q5vVa6GiIgosTGgtFPPyip4lEBA8TdWq1wNERFRYmNAaafzLp0ClyvQyZMEReVqiIiIEhsDSjuNGHkWmqxOAOzkISIi6mwMKO2UnJyM6loLAEDSaiC8PIpCRETUWRhQOmBt9WEIvx+SJEHUb1e7HCIiooTFgNIBWxtk+D2BVmOl+juVqyEiIkpcDCgdkVEArycwJ4+vfofKxRARESUuBpQOGHb2BLiDnTxan0PlaoiIiBIXA0oHnH/hJTDbAre5T9Jx1xEREXUWfsp2QFlZOfbWWwEAGp0G8HlVroiIiCgxMaB0gFarxca9DRB+AUmS4G/crXZJRERECYkBpYN+OmiF8AZuee/d81+VqyEiIkpMDCgd1OQzwKsEO3nqtqlcDRERUWJiQOmg3L4D4HZ7AACSbFG5GiIiosTEgNJB486/CBZ7SyePysUQERElKAaUDho7/lwcarQDCHby+NnJQ0REFGkRDyg+nw/3338/iouLYTKZ0LdvXzzyyCMQQoSWEUJgzpw5KCgogMlkwsSJE7FjR3zcmTU3Nxeb9jUd6eRp3q92SURERAkn4gHliSeewHPPPYc//elP2LJlC5544gnMnz8fzz77bGiZ+fPnY9GiRVi6dCnWrFmDlJQUTJo0CW63O9LlRJwkSdh00Bzq5PHVrFO5IiIiosQT8YDyzTff4PLLL8cll1yCPn364Morr8QFF1yA774LTK4nhMDChQvxhz/8AZdffjkGDx6MV155BQcPHsSKFSsiXU6n2GdV4PMEA8qhzSpXQ0RElHgiHlBGjx6NVatWYfv27QCADRs24KuvvsJFF10EAKiurkZtbS0mTpwYek9GRgZGjhyJ1atXt7lOWZZhtVrDHmrSpOcd6eRxNapaCxERUSKKeB/KvffeC6vVioqKCmi1Wvh8Pjz22GO49tprAQC1tbUAgLy8vLD35eXlhV471rx58/DQQw9FutRTVll1FmyOg0jLSYVO41e7HCIiooQT8SMof/vb3/D666/jjTfewA8//ICXX34ZTz31FF5++eVTXufs2bNhsVhCj5qamghW3HHjJ16I2qbAbMaBTh6fqvUQERElmogHlLvvvhv33nsvrr76agwaNAjTpk3DnXfeiXnz5gEA8vPzAQB1dXVh76urqwu9diyDwYD09PSwh5rOqKrCjoPNECLQySOsh1Sth4iIKNFEPKA4nU5oNOGr1Wq18PsDp0KKi4uRn5+PVatWhV63Wq1Ys2YNRo0aFelyOkVqaiq2HDRDeAM/k//AjypXRERElFgifg3K5MmT8dhjj6FXr14YMGAA1q1bhwULFuDGG28EEGjTveOOO/Doo4+iX79+KC4uxv3334/CwkJMmTIl0uV0mp2H7fB5vNAkaeE9uAnaARerXRIREVHCiHhAefbZZ3H//ffjlltuQX19PQoLC/HrX/8ac+bMCS1zzz33wOFw4Oabb4bZbMbZZ5+NlStXwmg0RrqcTmPxGyC7vUhKNgCOerXLISIiSiiSOPoWr3HCarUiIyMDFotFtetRbrj6Csw7NwP5PbPh9figm7JQlTqIiIjiRUc+vzkXzykaOfZcNDQHOnm0Og0g2G5MREQUKQwop2js+AnYVWs50sljqzv5m4iIiKhdGFBOUVlZGbbXmoGWTh7e8p6IiChiGFBOUVJSEnbW2eDzeAEA/oM/qVwRERFR4mBAOQ21dg8UORBQeLM2IiKiyGFAOQ0iNQcOpwIA0AhZ5WqIiIgSBwPKaeg7YCgaLE4AgFYnsZOHiIgoQhhQTsPZ4yZg32HrkU4eR6PaJRERESUEBpTTcNboMdhZZw118ojaLSpXRERElBgYUE5DYWEhdtVZ4fP4AAC+2k0qV0RERJQYGFBOgyRJ2NfkhKIEO3ma96tcERERUWJgQDlNNr8OLlegg0fjc6pcDRERUWJgQDlNmQW90WR1AwC0WgmIv7kXiYiIYg4DymkaNHwU9h+2BTp5NBKEs0ntkoiIiOIeA8ppGjt+PKoPWwFfsJPn8HaVKyIiIop/DCinaejQYag+bAt18nDSQCIiotPHgHKaMjIysLfBBk+ok2efyhURERHFPwaUCKhzeOFyBebkkRS7ytUQERHFPwaUCBCmDJhtLZ08gp08REREp4kBJQKKSitwqNF+pJPHbVG7JCIiorjGgBIBZ44ai70NtqM6eXaqXBEREVF8Y0CJgDFjz8HeBhv8wU4eUctOHiIiotPBgBIBZWVl2Ndoh0cJtho37VW5IiIiovjGgBIBBoMB+81uuN3BTh6Z16AQERGdDgaUCLF7NbDYg508Gj87eYiIiE4DA0qEpHTLR22j40gnj2xVuyQiIqK4xYASIRWDhmF/sz3UyYPGParWQ0REFM8YUCJk1NjxqGl0wO8NthrXbVG5IiIiovjFgBIhw888EzVNdniDc/L4G6tVroiIiCh+MaBESFFREfY3O+F2ewIDriZ1CyIiIopjDCgRotFo0GBXYHXIgeeST+WKiIiI4hcDSgR59ck43Bzo5NFoJEDmzMZERESnggElgvJ6luBgkx3wB+6BIpr3qFsQERFRnGJAiaChI85CTbPzyJw8ddtUroiIiCg+MaBE0KgxZ+Ngsx3eYEDxN+xSuSIiIqL4xIASQYMHD8GBZifklk4eZ6O6BREREcUpBpQIysnJwSGLC/aWTh54VK6IiIgoPjGgRJhVARrMTgAIdPIoTpUrIiIiij8MKBFmyuyGQ2YnRHBOHmHep3JFRERE8YcBJcKKyytxsNkB4Q128tRvV7kiIiKi+MOAEmFVI0fjoNkJrxIMKId3qlwRERFR/GFAibCRZ43CQbMdstzSyXNY3YKIiIjiEANKhJWXl6PW7IbDqQAAJL+sckVERETxhwElwpKTk9HgcKPRclQnj8elclVERETxhQGlEyhaI+osR3XyWParXBEREVF8YUDpBNl5PQOtxt5gQKnfoXJFRERE8YUBpRNUDj4Dh8xO+DxeAIDgnDxEREQdwoDSCUaMGo1aswuKHAgosNepWxAREVGcYUDpBGdUVaHe6oLDGejgkXy8SJaIiKgjGFA6Qe/evVFndaLJ5gYAaDQAvG51iyIiIoojDCidQKfTwSz7cfjoOXmsh1SuioiIKH4woHQSXUoGai2uIwHlMDt5iIiI2osBpZP07NMPtRYnfME5edDAOXmIiIjaiwGlkwypGo56qwuKEpiTR1hrVa6IiIgofjCgdJIRZ41GvdUNlys4J4/XqXJFRERE8YMBpZMMGjQIdRYnzNZA944k+QEvJw4kIiJqj04JKAcOHMB1112HnJwcmEwmDBo0CP/9739DrwshMGfOHBQUFMBkMmHixInYsSOxLiLNzc1Fo0PGYasLwu+HJEkQNt6wjYiIqD0iHlCam5sxZswYJCUl4aOPPsLmzZvx9NNPIysrK7TM/PnzsWjRIixduhRr1qxBSkoKJk2aBLc7ce4VIkkS3EKHWqsTCM7JwwtliYiI2kcX6RU+8cQTKCoqwrJly0JjxcXFoe+FEFi4cCH+8Ic/4PLLLwcAvPLKK8jLy8OKFStw9dVXR7ok1aTmdMdhqxs+jw86vQ6iYRekfhPULouIiCjmRfwIynvvvYfhw4fjZz/7GXJzczFs2DD8+c9/Dr1eXV2N2tpaTJw4MTSWkZGBkSNHYvXq1W2uU5ZlWK3WsEc8KK0YiMNWFxQlOGmg9aDKFREREcWHiAeU3bt347nnnkO/fv3w8ccf4ze/+Q1++9vf4uWXXwYA1NYG2m3z8vLC3peXlxd67Vjz5s1DRkZG6FFUVBTpsjvFGWeORJ3VBbcz2Mmj2FSuiIiIKD5EPKD4/X6cccYZmDt3LoYNG4abb74ZM2bMwNKlS095nbNnz4bFYgk9ampqIlhx5zlzxEgctrphth/VyePzqFwVERFR7It4QCkoKEBlZWXYWP/+/bFv3z4AQH5+PgCgri68o6Wuri702rEMBgPS09PDHvGgvLwcDXYXGq0uCL8IdPLY69Uui4iIKOZFPKCMGTMG27ZtCxvbvn07evfuDSBwwWx+fj5WrVoVet1qtWLNmjUYNWpUpMtRVVpaGppdXtRb3YC35Zb3u9QtioiIKA5EPKDceeed+PbbbzF37lzs3LkTb7zxBl544QXMnDkTQKD99o477sCjjz6K9957Dxs3bsQvf/lLFBYWYsqUKZEuR336FBy2Bzp5AEAwoBAREZ1UxNuMzzzzTLz77ruYPXs2Hn74YRQXF2PhwoW49tprQ8vcc889cDgcuPnmm2E2m3H22Wdj5cqVMBqNkS5Hdbk9itBgdcHj8UIHA2DZr3ZJREREMU8SQgi1i+goq9WKjIwMWCyWmL8e5a5Zd0Cz9XPMvqIKWQWZ8AsNNJc+qXZZREREUdeRz2/OxdPJRowchUa7G1ZHsJMHPsDnVbkqIiKi2MaA0smGDB2Kw3YXmqzuI508DnbyEBERnQgDSicrLi5Gg82Nw1YX4At28jTtUbUmIiKiWMeA0sn0ej1cPgkNdhk+T8ukgezkISIiOhEGlCgwpGfisM0Nb8ucPOb4uBMuERGRWhhQoqBXcRkabG643YE5eeC2qFsQERFRjGNAiYIhZwxHo8MNm0MGAEjwAH6fylURERHFLgaUKDhz5FlosLrRbDvSyQNHg9plERERxSwGlCiorKxEk8ONBrsM+AIXyormvSpXRUREFLsYUKKgsLAQzU4FjXY3/JyTh4iI6KQYUKJAo9HAq9GjweaG1xO8i6x5n7pFERERxTAGlCjJyi1Ak12G2+0JDLia1S2IiIgohjGgREm//gPRYHfD7gi0GkuCnTxERETHw4ASJcOqhqPR5oLZ7oIQApIEwNmkdllEREQxiQElSs6oGo5mh4JGmwx4g508vA6FiIioTQwoUVJWVoYGuxtNDjf8XnbyEBERnQgDSpRkZ2fD4fGhwX5kTh408wgKERFRWxhQokhrSkOzQ4EsBwOKq1HdgoiIiGIUA0oUFRT1QYNNhsMZ7OTxK4Dwq1wVERFR7GFAiaLKgUNgdrphtrnZyUNERHQCDChRVHXmCDTaZTQ7j+rksRxQuSoiIqLYw4ASRYMGD0azUw7MyRMMKGAnDxERUSsMKFHUt29fmB0ymmwyfME5eTirMRERUWsMKFFkMpng8mlgdspHOnmcDeoWRUREFIMYUKIsNbsbGu1uOFs6eXxudvIQEREdgwElynr37YdmpwKL/ahOHpdZ7bKIiIhiCgNKlA0eMgxNdjfMDhnwBTt5rAdVroqIiCi2MKBE2fARI2B2KWh0yBDs5CEiImoTA0qU9e9fiWa7jGaHHJqTh508RERE4RhQoqyoqAhWtwfNDgWelkkDHYfVLYqIiCjGMKBEmVarhUgyotlxVCeP1wkIoXJlREREsYMBRQU5eYWtO3ncZrXLIiIiihkMKCoorahEs0OGxaUc1clzSOWqiIiIYgcDigrOqBoOi1MO7+Rp2q1uUURERDGEAUUFQ4edgSaHDKtDgc/jCww27VO3KCIiohjCgKKC8vJyWF0KmhwyPME5eYS9VuWqiIiIYgcDigq6desGu+KD2anA5Qp28njYyUNERNSCAUUFkiTBmJqBZqcMi6Olk0cAslXt0oiIiGICA4pKCnr1gdkpw+ryHOnksbGTh4iICGBAUU3/AYNhdipotruPdPI07lG1JiIioljBgKKS4WeOgMUpw+zyHOnk4Zw8REREABhQVDNg4EBYnAqaHXJoTh5hYycPERERwICimtLSUphdCqwuBW53SyePjZ08REREYEBRTWpqKjzQoskhw+aQA508EIBiV7s0IiIi1TGgqCg9qzusTg8sTgXwBY6c8DQPERERA4qq+pSWodnphtmpQPhabnm/R9WaiIiIYgEDiooGDRkKq8sDi0uBn508REREIQwoKjqjajianXJ4J4+VN2sjIiJiQFFRRUUF7G4FNpcHbrcHACApvN09ERERA4qK+vTpA4vTgyaHDLsj2GoMPyCzk4eIiLo2BhQVJSUlQWtMhs3tgdUlQwTn5IG9Tt3CiIiIVMaAorLuBT1gdsgwOxUgOCeP4IWyRETUxTGgqKy0vD+sLg+sR8/J08SAQkREXRsDisqGnTEcFpeMZocCryfQyQPrQXWLIiIiUhkDisoGDxkCq0uBzaVADnbyQLaoWxQREZHKGFBUVlZWBotLgdl1dCePD1CcKldGRESknk4PKI8//jgkScIdd9wRGnO73Zg5cyZycnKQmpqKqVOnoq6ua3auFBQUwOkRsLo8sLkVdvIQERGhkwPK999/j+effx6DBw8OG7/zzjvxz3/+E2+99Ra++OILHDx4EFdccUVnlhKzJElCcnomLC4ZFqcMBAOKMNeoXBkREZF6Oi2g2O12XHvttfjzn/+MrKys0LjFYsGLL76IBQsWYMKECaiqqsKyZcvwzTff4Ntvv+2scmJaYVGfwKzGYZ08e1StiYiISE2dFlBmzpyJSy65BBMnTgwbX7t2LTweT9h4RUUFevXqhdWrV3dWOTGtcuAg2FwKLE4FXoWdPERERLrOWOmbb76JH374Ad9//32r12pra6HX65GZmRk2npeXh9ra2jbXJ8syZFkOPbdaE2u+mmFVw7Hhk7/D4lKguD0wAoC7We2yiIiIVBPxIyg1NTW4/fbb8frrr8NoNEZknfPmzUNGRkboUVRUFJH1xorKysrg7e49sLuCnTzCC3hcKldGRESkjogHlLVr16K+vh5nnHEGdDoddDodvvjiCyxatAg6nQ55eXlQFAVmsznsfXV1dcjPz29znbNnz4bFYgk9amoS6wLSQKuxDKtLgd3lOaqTp17dwoiIiFQS8VM85513HjZu3Bg2dsMNN6CiogK///3vUVRUhKSkJKxatQpTp04FAGzbtg379u3DqFGj2lynwWCAwWCIdKkxIyMjA35JF7wOJdjJo9VAWPZDyuqtdnlERERRF/GAkpaWhoEDB4aNpaSkICcnJzR+0003YdasWcjOzkZ6ejpuu+02jBo1CmeddVaky4kb6Tl5MLsU2Nwe+D0+aPU6oKka6DNG7dKIiIiirlMukj2ZP/7xj9BoNJg6dSpkWcakSZOwZMkSNUqJGcV9S2E7tBkWlwdejw9aALCwk4eIiLqmqASUzz//POy50WjE4sWLsXjx4mhsPi4MGjIUa3avg8WpQJY9MACAq0ntsoiIiFTBuXhixNBhZ8Du9sLmVuB0tnTyeACvfJJ3EhERJR4GlBhRUVEBi1uB2anA7lYg/JyTh4iIui4GlBhRUlICu9sDR/B+KPAG5+ThHWWJiKgLYkCJEQaDATpjCswuBVaXB/5gQEFjtbqFERERqYABJYZ0z+8Bu+yBzaXAxzl5iIioC2NAiSH9KipgdSqwuBTIiicw6GxUtygiIiIVMKDEkKHDqmBze2B3e0KdPPDJgE9RtzAiIqIoY0CJIYMGD4Zd9sDiUuB0eyD8fkgSOCcPERF1OQwoMaSsrAxWpwK72wNbWCfPIZUrIyIiii4GlBjSs2dPuH0CVqcCs0s50snTxE4eIiLqWhhQYohGo4EpLRNW2QO77IXPE+zksRxQtzAiIqIoY0CJMT17F8Ph9sDikKHIwYDibFC3KCIioihjQIkx/SsHwOJS4JC9cLtbOnncgM+jbmFERERRxIASY4ZVDYdD9sLiUmB3eSD8AhIAOA6rXRoREVHUMKDEmP79+8PqUmCTA/dDgc8HABA2dvIQEVHXwYASY8rKymCXvbC7A508ItTJs0fVuoiIiKKJASXG5OTkwCtpYHF64JS98LbMyWPer25hREREUcSAEoOycnLhVLywOBV4FHbyEBFR18OAEoOKS8tgcymwyx64XcHuHa8T8HvVLYyIiChKGFBi0KDBQ0K3u3e4j+7k4VEUIiLqGhhQYtDgIUNhkz2wugNHUeALzsnDTh4iIuoiGFBiUHl5OWwuD5zuwHUowhtoNUbTXnULIyIiihIGlBhUWloauEjWJcMhe+HzBAOKhZ08RETUNTCgxKDk5GRoDCY4ZB9sbgWeljl5HPXqFkZERBQlDCgxKr+wJ2yyBza3F253sJPH4wD8PnULIyIiigIGlBjVr7w/bC4FDrcHDrdypJOH90MhIqIugAElRg0ddgZcihfW4MzGoU4ea63KlREREXU+BpQYVTlgAKxuDxyKFzbXUZ085n3qFkZERBQFDCgxqqysDA7ZE7yjrBe+UECpUbcwIiKiKGBAiVG9e/eGy+OHze2Bze1hJw8REXUpDCgxSqfTITkjE07FC5vbA7kloCh2dvIQEVHCY0CJYUW9igOdPLIXTpcCIQQkCMDVpHZpREREnYoBJYb1rxwQukjWKXsBb6CTBzZ28hARUWJjQIlhQ4edAbvbA4fshcXlgWhpNeaFskRElOAYUGJYeUUFbG4P7LICh+KBv2VOnma2GhMRUWJjQIlh5eXlcCo+WF0eONweeBR28hARUdfAgBLDcnNz4YUEp+KF1eWBIgfn5JGtgPCrWxwREVEnYkCJYZIkIbt7HhxuD5yKF46wTp5mtcsjIiLqNAwoMa64pDRwHYrbA5fiC83JA1uduoURERF1IgaUGDdw8BC4gjdrs7o9EMFWY2HZr3JlREREnYcBJcYNGjwEtuApHrvbA3/LnDzNe9UtjIiIqBMxoMS48vJyOBQvrC4FTsULrxIMKHae4iEiosTFgBLj+vXrB5fiDXbyKJDdSuAFt4WdPERElLAYUGJcWloapCQjnLIHTtkLl9sT7OTxAy6z2uURERF1CgaUOJDfowi24M3anPJRnTw8zUNERAmKASUO9Csrh9Pjhc3thV1WjurkOahyZURERJ2DASUODBk6LHizNg87eYiIqEtgQIkDlQMGwCYH2ozDOnlsh9QtjIiIqJMwoMSBsrIyuBQv7LIXVpf3qDl5LIAQ6hZHRETUCRhQ4kBxcTFcHl9gPh7FA5cr2MkjfIF2YyIiogTDgBIH9Ho9ktMz4WhpNfZ42clDREQJjQElThT17gO77IHdrcDu9oQCirCyk4eIiBIPA0qc6F85MHBHWdkHu+yFP9hqzE4eIiJKRAwocWLI0GGwuwPXoDhlL7yKN/ACO3mIiCgBMaDEicCkgR5Y3R7YZQWKHAwoLjM7eYiIKOEwoMSJllZjd7Dd2OVSgp08XkC2qV0eERFRREU8oMybNw9nnnkm0tLSkJubiylTpmDbtm1hy7jdbsycORM5OTlITU3F1KlTUVfHbpQTKSwshOKX4JC9cIU6eYJHTuy16hZHREQUYREPKF988QVmzpyJb7/9Fp988gk8Hg8uuOACOByO0DJ33nkn/vnPf+Ktt97CF198gYMHD+KKK66IdCkJRaPRIKd7HuxuD2xuL5xuL+AL3FFWWBlQiIgosegivcKVK1eGPV++fDlyc3Oxdu1anHPOObBYLHjxxRfxxhtvYMKECQCAZcuWoX///vj2229x1llnRbqkhFHctxSuvRvhVDywyh4Irx+SAezkISKihNPp16BYLIE7nWZnZwMA1q5dC4/Hg4kTJ4aWqaioQK9evbB69erOLieuDRw8BA7ZG7hZm3J0Jw/vhUJERImlUwOK3+/HHXfcgTFjxmDgwIEAgNraWuj1emRmZoYtm5eXh9ratk9VyLIMq9Ua9uiKBg4cFLhZm+yBQ/ZCaQkoriZ28hARUULp1IAyc+ZM/PTTT3jzzTdPaz3z5s1DRkZG6FFUVBShCuNLWVkZ3B4fnMGZjd3u4Jw8fi+g2NUuj4iIKGI6LaDceuuteP/99/Hvf/8bPXv2DI3n5+dDURSYzeaw5evq6pCfn9/mumbPng2LxRJ61NTUdFbZMa1fv35wuL1wKl64FB9cshfwt3TysAuKiIgSR8QDihACt956K95991189tlnKC4uDnu9qqoKSUlJWLVqVWhs27Zt2LdvH0aNGtXmOg0GA9LT08MeXVF2djYkvQEO2ROYOFDxAsFb3gsbO3mIiChxRLyLZ+bMmXjjjTfwj3/8A2lpaaHrSjIyMmAymZCRkYGbbroJs2bNQnZ2NtLT03Hbbbdh1KhR7OBph8IeRXAqTbAHT/MIrw+SQQc07wP6qF0dERFRZEQ8oDz33HMAgPHjx4eNL1u2DNdffz0A4I9//CM0Gg2mTp0KWZYxadIkLFmyJNKlJKR+ZeU4sOE/gYkDFS+8Hh/0AGA9oHZpREREERPxgCLa0U1iNBqxePFiLF68ONKbT3iDhgzF9jX/hsPtgUPxQpG9gYDibFK7NCIioojhXDxxpn///nAG5+Oxu72QZQUAIPkVdvIQEVHCYECJMy2TBro8gZu1uRQfhC9woSzs9eoWR0REFCEMKHGmb9++cCheOGVP8Cs7eYiIKPEwoMQZk8mE1IwsOJRAF49dDnTyAADMXfP+MERElHgYUOJQUa/ecCleuJXAaR5fS0Cx7Fe3MCIioghhQIlD/QcMhFPxwqF4A3PyyME5eZyN6hZGREQUIQwocWjgoMFwuAOneBxuD2S3BwAg+WTA41S5OiIiotPHgBKHysvL4fJ4AxMHenxwe47q5LFxTh4iIop/DChxqLy8HM5gJ48zeEdZhFqNGVCIiCj+MaDEoaKiIsg+wCF74XB7YHcrEC2txrxQloiIEgADShzSarXolpsXvFmbD07FB58neKGsmQGFiIjiHwNKnCouKQ1NGOhSvPAoLZ08DeoWRkREFAEMKHFq4KDBcMie4MMLxR0IKJLXBXjcKldHRER0ehhQ4lTlgAFwKr7QRbIuxXvUnDy8UJaIiOIbA0qcamk1dilHHuzkISKiRMGAEqfKysrglI/cTdYhe4/q5DmgcnVERESnhwElTnXr1g2SzgCX7A2d5vFz0kAiIkoQDChxSpIkFPToCZfHF+jm8RzVyeM4rG5xREREp4kBJY71KwvcUdbh9sDh9kKWg3PyeJ2AV1a5OiIiolPHgBLHBg4eErzdfeAoiiz7IPwtF8rWq1scERHRaWBAiWP9+/eH2+M7ckdZjxfwspOHiIjiHwNKHCsrKwtOGuiFQwnctK3lXijCelDl6oiIiE4dA0ocKy0tDYQT2QOn7IVL9sHvYScPERHFPwaUOJaamoqU9AzIXj9cnkCrsUcJBhReg0JERHGMASXOFfXqE7oPilPxQgl28sBjB3yKusURERGdIgaUONd/wMDA9SfuQECRFS+E3w8J4FEUIiKKWwwocW7goEGQFV+gm0cJdPOwk4eIiOIdA0qcKysrO3I3WSXQzXOkk+eQytURERGdGgaUOBeYNDDQYuyQAy3HomVOnvotgOJUt0AiIqJTwIAS5/r06QPZJ+D2+CB7fHB5fFBcHgghINlrgS8eB2rWAMKvdqlERETtxoAS55KSkpDTPRcujw9OxQuX4oUie+G3uCB0yYDiAH78G/DNnwDLfrXLJSIiahcGlARQ0rdf2GkexecHPD74fOkQFZcCWgNg3gt8tRD46R3A41K7ZCIiohNiQEkAAwYNhsvjhdsT6OZxtsxqXL8D/o1fQJRdBlEwDIAA9n4NfP44UPMdT/sQEVHMYkBJAKFJA5XAaR6r24MmhwyhTQLMB+H/8iX46w5BVFwOpOYBih348f+A1YsBztlDREQxiAElAZSVlQXDSeA0j8fnh83tQVNmGaSBkwCNDqjbAf9/XoPfnw5RPB7Q6oHmPcB/FgCbVvC0DxERxRQGlARQVlYGhxKYMFD2+OAOzsdj3/EdGg7XwzfhVkilowFIEHt/gP/7D+BPK4fIHQBAAHv+A3zxBLD/v4AQqv4sREREAANKQigoKICk1QcmDVR8sLhkOBUvIATsm/+D/f/3GA43W+Ed+yugx0BA+CF2fAP/tnXwdxsCkdIdkG3Ahr/ytA8REcUEBpQEIEkSCnv0hEvxwiF7IHv9qLe64C06A8l9qwAIOLZ/iwMr/ojDDg+8w68CcnoDXhliy1fw1x2GP6d/4JqV5mrgqz8Cm//B0z5ERKQaBpQEUVpWDofsCdwHxRPozqnfuRFS8ZkovOYRpJSfBUCCc9daHPj4RdS7JXgHXgykdQNcNoit38Hv1EKk9wp091R/GTjtc2AtT/sQEVHUMaAkiIGDBkP2BtqMbW4P/EJAsTVh05tP4r/LHoLD2A25P/tfpA44B5A0cO37CQe++BvqFAO8pWMBQypgPQz/rk3wIQPCmBk47bP+DeDbJYCN8/oQEVH0MKAkiPLy8tCMxk7Fi4NNTpiKKqFPy4Jia8aeVX/F98/fh/pmKzIm/QZpgycAWh3cB7fhwJqPUOczwttzGKBNAg7vh7+mBn5dNoRGBzTtDnT7bH4P8LjV/lGJiKgL0KldAEVGoJPHG7iTrNcHnxAwOz2YcPtimHetx/7V78OyZzPqf/wP6n/8D1ILitFj+BTo3WbYN30Jd90eHKjbA2O3nsjJzYXu8A6IQ3shtFpo8gogeSxA9RfAwXVA/8lA4TBAktT+sYmIKEFJQsTfBQZWqxUZGRmwWCxIT09Xu5yYYLFY0LswF2P65WFUaT56ZKUAAHQGI3oPG4u+IyciNTMLB79bibr1n8PvUQKvG1NQMOwcpBuS4Ny2GiJ4hMSUlYvs7GzozMH5e4wGaDLTIfmCR1Cy+wIDrwDS8qP+sxIRUXzqyOc3A0oCKczthopuBlT16Y6CzGTk5naHx2ENvW5Kz0LxmRPQa8hoKIf34MCaj+Buqg28KEnIKR2Kbt27w7P3R/hlBwAgOSMb2emp0DqbAoulp0EyaiAJPyBpgOJzgH7nAzpj1H9eIiKKLwwoXdTIM6ugaa7ByL75yEjW48wLf4YREy/FrjWfovr7zyDbj4SV9LwilIyYgJzcfDRtWY2m7T+EXkvOyUd+r75AQzX8LhsAIDU9E1kpBmgUB6CRAkdTtMG5fAzpQOVlQMFQnvYhIqLjYkDpoq6f/kus//wDjC7NR/d0E4wpaRgy/hKUVY1BUcVg1O/4Ebu+/RT7NnwNnyKH3te9pBK9B50JnceBwz/+B1534OiJNsmAgpJy6J2N8LsC4SYtLQ2ZpiRofAqg10KTngpJCgaVnFJgwBVAWl7Uf3YiIop9DChd1Pz587Fs4VwML85Fn25p0GiOHM1IMhhRMvhM9Ks6G8UDz4B573bsWvMpDm35ASI4q7Gk1aJHRRVyCwrgOrgdzvqa0Ptze/RGiuSBcNsgAchIS0G6QQdJ+CAl6yGlGCFBBE/7jAue9jFEexcQEVEMY0DpolasWIHbfzUNw4u7I82YhAmXXoHMtFTs+OFrWBvrw5bN612KfmeMQe+KwZDNdaj+bhUa924Pva4zmNCrYjCStQK2/VsBfyDEZGZmIjPFBMh2aCQJmakmpOq1kDSAJtUIyRBsDDNmAJWXA/mDedqHiIgAMKB0WVu2bME5I4dhdGk+MpMNGDhiLH7zwJNISc9E3Z4d2L72K+xY+zVqtm+ECAYOADCmpKHv0LPQq7QCcNtRs+Fr2BuO3JgtJT0TBUW9Iax18LrsgTGjATlZGdB4XNBpJGSlmpCcpAmc9kk1QtIGb7HTrV/gtE9qblT3BRERxR4GlC5KlmXkZadjZEl35GekhMbzi/qg74ChKB04FKUDhiG7ey6qN36H7f/9GjvXfQOnzRJaVpIkFPbtj6LScuh8Mg5v3wD5qE6gbrl5yEgxwmtrBACY9FrkZKRDJ7zQ6zTISjHCqNMETvsk6yFJEoSkhVQyDiidyNM+RERdGANKF1bSqydykxQUZKagR49C2JoaWi1jNCWjpHIw+lYORd/KwUhONmL/th+xY+3XOLR7a9iyqZnZ6F1aDgP8sBzYCV/w/il6rQbdc7tD53MDfh+MSVpkpSbDoAVMSVpkphigT9KGnfYRxkxIlZcD+YN42oeIqAtiQOnCJpw7Hubqn5Bu0uOaGbfiml/dgl2bNmDXpvXY+dN67Nq8AW6no9X78nr2QenAoSgqKYUOPjTs24nqH7+H7DqyrFarRVHvYpiSNHA11QJCQCMBqSYDMtOSIfk8MOi0yEzWw6TXIdWgQ0ayHjpjUvhpn+7lQOX/AKndo7RXiIgoFjCgdGG33XYbPl/xOnJSjcjv2QuTLr8SRX1KUFRciqI+JTAaTTiwZ2cgrGxaj52b1uPQ3t2t1mMwJaO4YiAKCgqhFR40HahG06EjXT1aSUK3nGykJRvhdQZOAZn0WqQnG2HUSdDrNMg06ZFiSEKaKQkZRj20qYZjTvuMB/pNBLT6aO0eIiJSEQNKF7Z48WIseGg2inJS23w9p3seior7BkNLX/TsXYJu3XPhMDeieutG7Ny0Abs3b4DLYW/13vwePZGXmweNUGCtOwCf1wMASNJqkGYyID3FBPg80GklpBmTkGrUw6DTIDNZj1RDEjKT9UhL0UObajpy2seQDmngFUDeQJ72ISJKcAwoXdinn36Ka6ZORnaKAZMvuxzdu3VDzZ5d2L9nN5obW1+P0kKr06GwqDeK+pSgZ59iZKRlwO+RYW2sQ83Ora2OskgA0lKT0b1bDjQ+BR63EwBg0GmRYtAhzWSARhKB7416pBh0yDDpkWFKQlaKASlpJmhSDaHTPiKnH6RBVwIp3Tpt3xARkbo68vnN2YwTTFlZGTxeP9weH1Ky83DPo/NDr9ksZtTs2Y39e3ZjX/Uu7N+7GzXBr7LbjZrqXaip3tVqnSmpaejZuw+ys7Jg0GrgdljRVHsAVrsTVnsgmCRpNTDptchIS4XsUNDkkGHSa5FqSILN5YFJr4PFqCDNqIPZqSDbpSDbaYApPTlw2qdxB8TnjwMl50IqO5+nfYiIujgeQUkwfr8f3TJSkW7UIkmvR8+eRcjKyUFWVjaysnOQnZODzKxsZGfnIDM7+DUrCz6vF9bmRhzctwf79wYDzJ7dqD1Qg+P9iiRpNcjJyUZ6Sgrg80B2BObtkSTAlKSDyaBDsl4HnVZCil6HFEMSUgw6pJv0yEjWIzvFgO5pRuSkm2DITIakD5720SUDg38OKZ+nfYiIEkncnOJZvHgxnnzySdTW1mLIkCF49tlnMWLEiJO+jwHlxAZU9oetvgaaU/hwT8/IRHZ2DrJyspGVlY2MjEwYDUmA3w+fR4bLboPV3ITGukOw26xh79VIgF6nhUGnhVGfBKNOC0BAr9PApA+EFZNei1RjElINgVM9mcl6dEszojAjGTnZKdClm46c9knrAZwxDRK7fYiIEkJcnOL5v//7P8yaNQtLly7FyJEjsXDhQkyaNAnbtm1Dbi7vOno6+lcOwDtbt+IP//u/uOTii9Dc3ITmpkY0NTbC3Nx05GtTI5obm9Dc3ASLuRkAYLWYYbWYsaeNUz3H0kjBC2RTU5FiMkKbpIXP74NVlmFxBe6XkqTVwKDTwqDTQK/TwpgUCCnJeh3STHqkm5KQk2LAoWYnCiwO9MxOQ073NGiS9ZBsByA+fxx+Uw6gSQI0OkCbBGiTIGn1oe8R+l4P6PSA1hD4qjMEHlo9JG1SYB1aXWA9Ld9LWh6lISKKQaoFlAULFmDGjBm44YYbAABLly7FBx98gJdeegn33nuvWmUlhLKyMggB7K3Zj7zCnsgr7HnS93i9XthtVljMZljMzbBYzLCYA2GlZcxqsRz5ammGzWqF7PVDNlvRYA4/mqLTSNBpNUg69qFrCSyBR4ZJjxSjDtkpBuQ0GFGQ6UDvRhtK8jOR0T0NGr0Okruxs3ZV4PSVAAABIQLPQ1/9Lc8F/AIQ/sBXvxDw+xH8HvD5Ad/RX4UEnx/wQgOvXwp8hQZ+ER6EAocuW4ejNg9pipO8HubE6xRtjJ1oxW0Niza2QUSJxZTbG2f9/BbVtq9KQFEUBWvXrsXs2bNDYxqNBhMnTsTq1atbLS/LMmRZDj23Wq2tlqEjysvLAQCvvPIKXnnllU7dlkYCNBoJWkkK+6qRJGiDX8NfB5J02rDQkmIIXJ+SZkxCdooB+ZnJKO7ejMoeWejXIxt6vQ6SRoIkBW7FL0kSEPoeCL4Q+MgMGwMCCyLse+moIybSUct1/kdu2x/1RESxyGH5SdXtqxJQGhoa4PP5kJeXFzael5eHrVu3tlp+3rx5eOihh6JVXty74IILUFpaigMHDkR9277gA6LlmxYCR44Z+KEJZIpAwJEkaKTAURejToNkgw45KXr0yk5FZY8spBqTICGwjFajCQQdjRQMRxpopaOeS1JgTAMkaTTQagOvaTUa6FqeS0eO7uh0Gmi1Gug0ErRaDbSh9wS2o9FooNEg+DUQuKSjvrYEJknCUc9xJCjhqMB0tNNOQ1E8gsGDJURdkto9NHHRZjx79mzMmjUr9NxqtaKoqEjFimJbQUEBduzYoXYZREQUx9q+3Wf0qBJQunXrBq1Wi7q6urDxuro65Ofnt1reYDDAYOAsuERERF2FRo2N6vV6VFVVYdWqVaExv9+PVatWYdSoUWqURERERDFEtVM8s2bNwvTp0zF8+HCMGDECCxcuhMPhCHX1EBERUdelWkC56qqrcPjwYcyZMwe1tbUYOnQoVq5c2erCWSIiIup6eKt7IiIiioqOfH6rcg0KERER0YkwoBAREVHMYUAhIiKimMOAQkRERDGHAYWIiIhiDgMKERERxRwGFCIiIoo5DChEREQUcxhQiIiIKOaodqv709Fy81ur1apyJURERNReLZ/b7bmJfVwGFJvNBgAoKipSuRIiIiLqKJvNhoyMjBMuE5dz8fj9fhw8eBBpaWmQJCmi67ZarSgqKkJNTQ3n+elE3M/Rwf0cHdzP0cH9HD2dta+FELDZbCgsLIRGc+KrTOLyCIpGo0HPnj07dRvp6en8CxAF3M/Rwf0cHdzP0cH9HD2dsa9PduSkBS+SJSIiopjDgEJEREQxhwHlGAaDAQ888AAMBoPapSQ07ufo4H6ODu7n6OB+jp5Y2NdxeZEsERERJTYeQSEiIqKYw4BCREREMYcBhYiIiGIOAwoRERHFnC4ZUBYvXow+ffrAaDRi5MiR+O677064/FtvvYWKigoYjUYMGjQIH374YZQqjW8d2c9//vOfMXbsWGRlZSErKwsTJ0486Z8LBXT097nFm2++CUmSMGXKlM4tMEF0dD+bzWbMnDkTBQUFMBgMKCsr478d7dDR/bxw4UKUl5fDZDKhqKgId955J9xud5SqjU9ffvklJk+ejMLCQkiShBUrVpz0PZ9//jnOOOMMGAwGlJaWYvny5Z1eJ0QX8+abbwq9Xi9eeuklsWnTJjFjxgyRmZkp6urq2lz+66+/FlqtVsyfP19s3rxZ/OEPfxBJSUli48aNUa48vnR0P19zzTVi8eLFYt26dWLLli3i+uuvFxkZGWL//v1Rrjy+dHQ/t6iurhY9evQQY8eOFZdffnl0io1jHd3PsiyL4cOHi4svvlh89dVXorq6Wnz++edi/fr1Ua48vnR0P7/++uvCYDCI119/XVRXV4uPP/5YFBQUiDvvvDPKlceXDz/8UNx3333inXfeEQDEu+++e8Lld+/eLZKTk8WsWbPE5s2bxbPPPiu0Wq1YuXJlp9bZ5QLKiBEjxMyZM0PPfT6fKCwsFPPmzWtz+Z///OfikksuCRsbOXKk+PWvf92pdca7ju7nY3m9XpGWliZefvnlzioxIZzKfvZ6vWL06NHiL3/5i5g+fToDSjt0dD8/99xzoqSkRCiKEq0SE0JH9/PMmTPFhAkTwsZmzZolxowZ06l1JpL2BJR77rlHDBgwIGzsqquuEpMmTerEyoToUqd4FEXB2rVrMXHixNCYRqPBxIkTsXr16jbfs3r16rDlAWDSpEnHXZ5ObT8fy+l0wuPxIDs7u7PKjHunup8ffvhh5Obm4qabbopGmXHvVPbze++9h1GjRmHmzJnIy8vDwIEDMXfuXPh8vmiVHXdOZT+PHj0aa9euDZ0G2r17Nz788ENcfPHFUam5q1DrczAuJws8VQ0NDfD5fMjLywsbz8vLw9atW9t8T21tbZvL19bWdlqd8e5U9vOxfv/736OwsLDVXwo64lT281dffYUXX3wR69evj0KFieFU9vPu3bvx2Wef4dprr8WHH36InTt34pZbboHH48EDDzwQjbLjzqns52uuuQYNDQ04++yzIYSA1+vF//t//w//+7//G42Su4zjfQ5arVa4XC6YTKZO2W6XOoJC8eHxxx/Hm2++iXfffRdGo1HtchKGzWbDtGnT8Oc//xndunVTu5yE5vf7kZubixdeeAFVVVW46qqrcN9992Hp0qVql5ZQPv/8c8ydOxdLlizBDz/8gHfeeQcffPABHnnkEbVLowjoUkdQunXrBq1Wi7q6urDxuro65Ofnt/me/Pz8Di1Pp7afWzz11FN4/PHH8emnn2Lw4MGdWWbc6+h+3rVrF/bs2YPJkyeHxvx+PwBAp9Nh27Zt6Nu3b+cWHYdO5fe5oKAASUlJ0Gq1obH+/fujtrYWiqJAr9d3as3x6FT28/33349p06bhV7/6FQBg0KBBcDgcuPnmm3HfffdBo+H/wSPheJ+D6enpnXb0BOhiR1D0ej2qqqqwatWq0Jjf78eqVaswatSoNt8zatSosOUB4JNPPjnu8nRq+xkA5s+fj0ceeQQrV67E8OHDo1FqXOvofq6oqMDGjRuxfv360OOyyy7Dueeei/Xr16OoqCia5ceNU/l9HjNmDHbu3BkKgACwfft2FBQUMJwcx6nsZ6fT2SqEtIRCwWnmIka1z8FOvQQ3Br355pvCYDCI5cuXi82bN4ubb75ZZGZmitraWiGEENOmTRP33ntvaPmvv/5a6HQ68dRTT4ktW7aIBx54gG3G7dDR/fz4448LvV4v3n77bXHo0KHQw2azqfUjxIWO7udjsYunfTq6n/ft2yfS0tLErbfeKrZt2ybef/99kZubKx599FG1foS40NH9/MADD4i0tDTx17/+VezevVv861//En379hU///nP1foR4oLNZhPr1q0T69atEwDEggULxLp168TevXuFEELce++9Ytq0aaHlW9qM7777brFlyxaxePFithl3lmeffVb06tVL6PV6MWLECPHtt9+GXhs3bpyYPn162PJ/+9vfRFlZmdDr9WLAgAHigw8+iHLF8akj+7l3794CQKvHAw88EP3C40xHf5+PxoDSfh3dz998840YOXKkMBgMoqSkRDz22GPC6/VGuer405H97PF4xIMPPij69u0rjEajKCoqErfccotobm6OfuFx5N///neb/9627Nvp06eLcePGtXrP0KFDhV6vFyUlJWLZsmWdXqckBI+DERERUWzpUtegEBERUXxgQCEiIqKYw4BCREREMYcBhYiIiGIOAwoRERHFHAYUIiIiijkMKERERBRzGFCIiIgo5jCgEBERUcxhQCEiIqKYw4BCREREMYcBhYiIiGIOAwoRERHFHAYUIiIiijkMKEQUdTt37oRer4ckSZAkCTfffPNJ3+Pz+XD55ZeH3mMymfDll19GoVoiUgMDChFFXWlpKX7961+Hni9btgw7d+484XtmzJiB9957DwCg0+nwt7/9Deecc06n1klE6mFAISJVzJkzB+np6QAAr9eLOXPmHHfZe+65B8uWLQMASJKEl156CZMnT45KnUSkDgYUIlJF9+7dcc8994Sev/nmm9i4cWOr5Z588kk8+eSToecLFy7EtGnTolIjEalHEkIItYsgoq7J6XSirKwMBw4cAABMnjw5dBoHAJYvX44bb7wRLf9MzZkzBw899JAqtRJRdPEIChGpJjk5OSxw/POf/8SaNWtC38+YMSMUTmbOnMlwQtSF8AgKEanK5/NhyJAh2LRpEwBgwoQJePDBBzFp0iS4XC4AwC9+8Qu89tpr0Gj4fyqiroIBhYhU9/7774dd9JqcnAyn0wkAuOiii/CPf/wDSUlJapVHRCpgQCGimHDuuefi888/DxsbM2YM/vWvfyE5OVmdoohINTxeSkQx4aqrrgp7XlZWhvfff5/hhKiLYkAhItWtWbMGd911V9hYQ0ODStUQUSxgQCEiVW3atAkXX3wxHA5H2HhTUxPmzZunUlVEpDZeg0JEqtm7dy/GjBkTug/KkCFDMG7cOCxatAgAYDQasX37dhQVFalZJhGpgAGFiFRRX1+Ps88+Gzt27AAAlJSU4Ouvv4bJZEJJSQmampoAANOnT8fy5ctVrJSI1MBTPEQUdVarFRdeeGEonOTn5+Nf//oX8vPzkZGRgdmzZ4eWffXVV/Hjjz+qVSoRqYRHUIgoqtxuNy688EJ88cUXAICMjAx88cUXGDJkSNgypaWloVM/F154IT766CNV6iUidfAIChFFjdfrxVVXXRUKJ0ajEe+9915YOGkZP3p245UrV+Kzzz6Laq1EpC4eQSGiqBBC4IYbbsDLL78MANBqtXjnnXdw2WWXtbm81+tFZWVl6DRQVVUVvv/+e0iSFLWaiUg9PIJCRFFx1113hcIJAPzlL385bjgBAJ1Oh0ceeST0fO3atfjrX//aqTUSUezgERQi6nRz587FfffdF3o+f/583H333Sd9nxACVVVVWLduHQCgT58+2LZtG/R6fafVSkSxgQGFiIiIYg5P8RAREVHMYUAhIiKimMOAQkRERDGHAYWIiIhiDgMKERERxRwGFCIiIoo5DChEREQUcxhQiIiIKOYwoBAREVHMYUAhIiKimMOAQkRERDGHAYWIiIhiDgMKERERxRwGFCIiIoo5DChEREQUcxhQiIiIKOb8f3O/k2s1biX/AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "#Paramètres à varier\n", "\n", "Lx = 0.1 \n", "Ly= 1\n", "Time = 50 #Temps \n", "k = 0.4 # Conductivité thermique\n", "rho= 900 #Densité\n", "Cp= 1550 #Chaleur massique\n", "P=0 # Puissance spécifique\n", "a=k/(rho*Cp) #diffusivité thermique\n", "T0=100 #Température T0\n", "\n", "# Paramètres de la grille\n", "NX = 10 #Nombres de divisions en x\n", "NY=100 #Nombres de divisions en y\n", "NT = 10000 #Nombre de pas\n", "\n", "dx = Lx/(NX-1) #Pas de la grille (en x)\n", "dy = Ly/(NY-1) #Pas de la grille (en y)\n", "dt = Time/NT #Pas de la grille (temps)\n", "\n", "grid = np.zeros((NX, NY))\n", "grid[:, 0] = T0\n", "\n", "\n", "plt.figure()\n", "\n", "\n", "for n in range(0,NT):\n", " \n", " for j in range(1,NX-1):\n", " grid[1:-1, 1:-1] = grid[1:-1, 1:-1] + (dt) * (P/(rho * Cp) + a * (\n", " (grid[1:-1, 2:] - 2 * grid[1:-1, 1:-1] + grid[1:-1, :-2]) / dy**2))\n", "tfin=NT*dt \n", "print('Time=', tfin, 's' ) \n", "\n", "plt.imshow(grid, cmap='turbo', interpolation='nearest')\n", "plt.xlabel(u'$x$', fontsize=26)\n", "plt.ylabel(u'$T$', fontsize=26, rotation=0)\n", "plt.colorbar()\n", "plt.show()\n", "\n", "x = np.linspace(0,Ly,NX)\n", "T = np.zeros((NX))\n", "T[0]=T0\n", "\n", "plt.figure()\n", "\n", "\n", "for n in range(0,NT):\n", "\n", " for j in range (1, NX-1):\n", " T[j] += dt*(P/(rho*Cp)+a*(T[j-1]-2*T[j]+T[j+1])/(dx**2))\n", "\n", "\n", "\n", " if (n%(NT/10) == 0):\n", " plotlabel = \"t = %1.2f\" %(n * dt)\n", " plt.plot(x,T, label=plotlabel,color = plt.get_cmap('copper')(float(n)/NT))\n", " \n", "\n", "plt.xlabel(u'$x$', fontsize=26)\n", "plt.title(u'Equation de la chaleur 1D')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "id": "4d7658df-888b-44cd-a46e-ed45b1f68048", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python", "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.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }