{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## ADM1F_SRT: Ph control method \n", "\n", "The `ph control` method was developed by Wenjuan Zhang and uses Data Consistent Inversion Method.\n", "\n", "Authors: Wenjuan Zhang and Elchin Jafarov" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T23:36:39.340347Z", "start_time": "2020-09-22T23:36:38.535234Z" }, "code_folding": [] }, "outputs": [], "source": [ "import os\n", "import adm1f_utils as adm1fu\n", "import numpy as np\n", "from scipy.stats import norm\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1. Relation between cation and PH\n", "\n", "Here we explore the cation/ph relationships using diffrerent configurations. Note, based in the results will be different based on the ADM1F code version (i.e. original or SRT). " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# navigate to simulations folder\n", "os.chdir('../simulations')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Configuration of the one-phase reactor\n", "config_default = {'Vliq':3400, 't_resx':0, 'Q':134}\n", "config1 = {'Vliq':340, 't_resx':1.5, 'Q':618}\n", "config2 = {'Vliq':3400, 't_resx':700, 'Q':618}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Configurations**\n", "\n", "| Configuration | Vliq (m$^3$) | t\\_resx (d) | Q (m$^3$/d)| \n", "| ------ | ------ | ------ | ------|\n", "Default | 3400 | 0 | 134 |\n", "Phase 1 | 340 | 1.5 | 618 |\n", "Phase 2 | 3400 | 700 | 618/--- |\n", "\n", "where t\\_resx = SRT - HRT" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# check if file exsits read from file\n", "# otherwise run the simulations with different cations `cat_test`\n", "cat_test = [i*0.001 for i in range(200)]\n", "\n", "filename='data/no-configuration.dat'\n", "if adm1fu.check_filename(filename):\n", " ph_test = np.loadtxt(filename)\n", "else:\n", " ph_test = [adm1fu.ph(i,verbose='off',**config_default)[0] for i in cat_test]\n", " np.savetxt(filename, ph_test, fmt='%5.6f')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Relation b/t cation and Ph under Default config**" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T23:36:39.946071Z", "start_time": "2020-09-22T23:36:39.715715Z" }, "code_folding": [] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Relation b/t cation and Ph under Default config\n", "plt.figure(figsize=(12,5))\n", "plt.scatter(cat_test, ph_test)\n", "plt.ylabel('PH',fontsize=15)\n", "plt.xticks(fontsize=15)\n", "plt.yticks(fontsize=15)\n", "plt.xlabel('Cation (kmole/m3)',fontsize=15)\n", "plt.title(\"Default configuration\",fontsize=20);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Relation b/t cation and Ph under Phase 1 config**" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T23:36:40.176521Z", "start_time": "2020-09-22T23:36:39.950122Z" }, "code_folding": [] }, "outputs": [], "source": [ "filename='data/configuration1.dat'\n", "if adm1fu.check_filename(filename):\n", " ph_test_config1 = np.loadtxt(filename)\n", "else:\n", " ph_test_config1 = [adm1fu.ph(i, verbose='off', **config1)[0] for i in cat_test]\n", " np.savetxt(filename, ph_test_config1, fmt='%5.6f')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(12,5))\n", "plt.scatter(cat_test, ph_test_config1)\n", "plt.ylabel('PH',fontsize=15)\n", "plt.xticks(fontsize=15)\n", "plt.yticks(fontsize=15)\n", "plt.xlabel('Cation (kmole/m3)',fontsize=15)\n", "plt.title(\"Phase 1 Configuration with only cation being changed\",fontsize=20);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Relation b/t cation and Ph under Phase 2 config**" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T23:36:40.419101Z", "start_time": "2020-09-22T23:36:40.181624Z" }, "code_folding": [] }, "outputs": [], "source": [ "filename='data/configuration2.dat'\n", "if adm1fu.check_filename(filename):\n", " ph_test_config2 = np.loadtxt(filename)\n", "else:\n", " ph_test_config2 = [adm1fu.ph(i, verbose='off', **config2)[0] for i in cat_test]\n", " np.savetxt(filename, ph_test_config2, fmt='%5.6f')" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAt0AAAFcCAYAAAAUMwISAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA/u0lEQVR4nO3debgcVZn48e+bBQigCQjKoiEqCi6jokEBFzZHQEREGIkzOuKIuAxuw6CiMCKOG7gwrj8YF9RRwFFcEAQUDLKoLAKjgihKVBZRkLCEAEk4vz/OadKpdN/b3be32/39PM99+nbVqapTp6ur3z791qlIKSFJkiSpd2YMugKSJEnSqDPoliRJknrMoFuSJEnqMYNuSZIkqccMuiVJkqQeM+iWJEmSesyge8xExIKISBFx0qDros5FxMKI+EFE3FpezyvL9JPK8wWDrWF/lH1dPOh6DKtOjoeI2KUsc3TvatY9o3xOG8Z968fxMYz73a6IWBwRjslcERFHl9d2l0HXZRAMukdAOYDr/1aVYOy8iPjHQdevHyJidkTsFxGfj4hfRsSdEXFPRPwiIo6JiId0uN4NIuKtpS3/EhH3R8TSiLgkIt4fEY/p9r60UKeHAmcAzwROAd4L/L9+16MfImJJRCwZdD1aFREPi4iDI+JbEXFdRCyPiDsi4sKIeE1EDPycOwoBzSjxi6M0PmYNugLqqveWx9nAtsC+wK4RsTCl9G+Dq1ZfPBY4DVgG/IgclG4I7AEcBRwYEc9OKd3a6gojYgfgG8CWwA3AmcBNwAbAdsA7gMMjYoeU0s+7uC+TeSbwcODdKaUPVOYdAXwIuLGP9RmkJwD3DLoSdf4B+CxwM/k4/CPwCOClwOeAvSLiH1L/7ko2bsfDqLmRfIzfMeiK9Nm47rdGnEH3CEkpHV3/PCJ2B34AvDUiPpFSWjKIevXJXcC/Al9KKS2rTYyIdcjB+N7Ae4A3tbKyiNgWOJscuL8T+GhKaWWlzKOBDwMP7cYOtGGL8nhTdUZK6WZywDcWUkq/HnQdKn4DvBg4I6X0QG1iRLwLuATYnxyAf7MflRm342HUpJRWAMN2jPfcuO63Rt/Af+pU76SUziWfuALYvjq//Mx8SklFuTciLouIFzUoNzciDi8pFjeUFIu/RsR3I2LHRtuOiOdGxOml/H0R8eeI+GlEvKdB2fUj4oiIuDIilkXE3RHxk4h4eRv7emNK6TP1AXeZfj9Q6w3epdX1AZ8kB9MfTil9uBpwl3Vfn1J6GfCTyv48LiK+HBE3lra6qTx/XHUd9fltEXFASVu5JyL+Vl6bLevKLig5gl8qk75Yl1J0UCnTMIc3srdExNXltb4xIj5VXtu1Ujgmyrtrlp5Qt+3HRMSbIuL/SnrF4jJ/nYg4NCLOjIg/lOPibxHxw4jYq7KuXcq+bgVsFWumT51UV67hT/Nlvz4YEdeW/b09Is6OiOc3KPtgjmpEPC0izoicQnRPRJwfETtVl2kmpXReSun0+oC7TP8zq1OAdmllXeW4WauHurRdioijKtP3KtOPqZu2xvEQOQ/3+jL7VZV2PajBtqbUHnXreVlE/Dhyqs3yyGlfR0TEug3KLil/G0TEcRHxx3KsXBcR74iIaGF7J5d92rnJ/P3L/E+1sQ8HRsS55Zi9t9Tx5IhYWFem5XNlRBwUq3N+d668FkeXMk1TgSJi84j4dKlHbTunRcQzGpQ9qPYaR8SukfON74qchndGRDyh1XaorHfH8v69o6zv7Pr2qJSdFRFvjPw5UEv/uyLyOWFGpexk55gFEfG6chzdGxG3RMSJETG3ybb3iIiLIn++/C0ivh0R21bfHy3u88aRUwt/Wfbhjoi4KiI+FBEbNNnvd0XEb8tx/KeI+HDkDqFq2ZdExP9ExG9KXZdFxOUR8eZqG/W7PSLiWRHxjcif5feX/TghIrZosAki4hkRcVbdcfbD6ntgHNnTPfpqH1DVn7O3Ive8/R74CrAxcCDwnYh4fkrpR3VlnwC8H/gxOW3jdmA+uUdvr4jYJ6V01oMbjNizlLsT+C75p8KNy3reyOo0GCJiHnAeOV3j58AXyF8G9wC+FhFPSikdObUmYEV5XCtwbiRyD/bzgXuBYycrn1K6r27Z7YEfAg8h7/vV5FSfVwD7lra9tMFq3khuz+8C5wPPIr8eT42Ip5VtLCW33dPIqUPfAa4sy1/JxD4NvIHcO34icH/Z3jPJ6Ugrmi/atv8Cnks+Bs4EVpXpG5d5F5N/gfkrsDmwD3BmRLw2pfS5UnYJeV/fWp4fX7f+KyfaeDmmLgKeCFxalt0EeBlwTkS8IaV0QoNFFwJvJ3+J+hz5GN8fOLe8BtdOst+Taes4JL8v/ikitq316EfE1qVeALsD76srv3t5PHeCdS4G5gFvAa4Cvl0378pK2a60R0R8gJzmcivwNeBuYC/yl+E9IuIF5ctxvdnkX5q2AL5PbrOXkFNl1qPuHNLEZ4FFwCHk91PV68rjpNdCREQAXwReVfbhNPKx+0hgV+Ba4LJSvJ1z5ZVlP94D/AE4qW6ziyep06OBC8ntcx5wMvAocnrT3hGxf0rpew0WfRH53PH9su9PBF4IbB8RT2wn/Y58jjqCfL77NLA1+Vec55XX9IK6+s4GTief168lHwf3ktvvk2Vdr2xj28eWdZ0OnFPW89pSh93qC0bEorrtfZ38y89O5OP6qja2WWv3H5E/Py8nH2czgMcDbyO36bLKYl8jnw+/T/5MfCH5ffVw4NWVsh8CHgB+Rv7cnFv257/IHWfN2qin7RER/0L+3LiP/Bn1J+BxwMHAPpFTLP9YV34n8nFR+6X5OvLn1mLy8Tq+Ukr+TfM/ckCdGkx/PvkN/ACwVZm2oFYeeE+l/B5l+pmV6XOBTRqs/5HkIO6ayvRvlvU8tcEym1Sen1TKvr0yfT3grFL3p02xfT5btvHBFsu/spS/sM3tBHBNWfafKvMOLNN/Dcyom350mX4n8HeVZb5W5r2sMv2gMv2gBnWoteeCumnPLdOuBebVTV+HHBwkYEllPbV67dJgG7Vj6KQm274ReHSD5dYFHtlg+lzgl8DfgDmVeUuqdWtw7C+uTDuhTD8BiLrpjyPniN5XaZ9d6t4TB1XW9boy/TNTPAZnAb8o69qjxWX+pZT/1wb1Oafsx/p1864g57evM8nx0PD160V7ADuW8n8ENqu0x+ll3rsavOaJ/IVtTt30h5O/eC4FZrdwPP6SHFg8rDL9MeTzykUt7sMhZf2XAHMr82YCm1eO5ZbPlc2O4Rb27ewy/d2V6TuRv6DcBmxYN/2gUn4lsHtlmQ/S4Bw8QXvUHx+HVubtW6b/lsbnuU8CMyvt9/kyb98W9rt2PP8RmF85nmrnsmfWTX8I+YvPfVQ+j8gBbm0/FrS47xeX8kc0mLcJsF7d88Wl7OXAxnXTNyAHoauoe0+UeY9tsN4Z5F83E/CsfrcH+QvF/aXOW1aW2b3sx7fqpgX5c26N17TMe0vdNnZppc1H7W/gFfCvCy/i6oP46PL3fvIFgCvL9I/Vla2dzJbUn/zq5v8BuLWNbX+irK/+DV8Luh8/ybIPK3W8tMn8p5b1HDuFtnkx+QP2T8BGLS7z9rLdU9rc1rPLchc3mX9Bmf+8umlHl2n/2aD8rmXeRyrTD6K9oPtzZdo/T1DnJZXptXrt0mCZ2jF0UpNtv6WD1+nfqm1Tpi+p1q3Bsb+47vk65J6mu6j7oKub/76yzH/UTduFJl+yWP0rwGWdHoNlPR8p2zijjWW2KsucVjft68CfyT2WCXhBmf6wcpyf08Lx0PD160V7AP9d1nVIg3mPJ39g/77Ba56ArRssUws+ntzC8fivZfphlem1IHOt90OTfah9WdpuisfAWufKRsdwZd5a+0YO4BP5XD27wTJfqe4fq88Z/9Og/KPLvG+0uB+142ONwLpu/uIyf+fyfAb5S8DNwKwG5eeVY/frLbymteP54AbreTWVLwLkXxgT8IUG5TckB6BrvD8m2O9nlLJXNNrvCdrh+Q3mvbfMe1GLbf50KuetfrUH8PEybe8mdfsW+XP8IeV57TPl/AZlZ5KD94afLePwZ3rJaHlPeUzk3qALgM+nlP6nQdkrU0qrGkz/E7l3ag0R8Wzyt9QdyT1O1Xy0LcnftgG+Sv6Z8WcRcSr557iLUko3VJbZnvwmbDbm6+zy2Gm+4U7k3uJlwP4ppds7WU8bnl4em/18dh7wHHIqzY8r8y5buzh/Ko8bTbFe25XHCxvM+ymtpzu06pJmMyLiScDhwPPIqSXrVYpsudZC7dkGWJ98vP2twfzzgCNZ3Sb11noNUkorIuIWpvAaRMSbgcPIvT8t/4SeUvpDRPwe2KXkcyZywPNDcsrESnJPU+3n5KC7P912oz2avidSSr+JiBuAR0fE3JRS/UgVd6SUrmuwvnbeE18m994dAnwUHkxzOIgcXHx9shWUHN0nA7eklK5oYZvtnis7UTt2L0j5gsOq88jB1XbkNqjXzfPMBaly7UKxGNi5bP988perjclB+pHROCV/Oe2d51vdj6bnvpTS3ZHvb7BLi9vcoTye3WS/m2m5zSPiYeTz4wvJv8hUc8SbnR972R61eGDnkj5Z9XDy5/jjyb36tff8WmldKaVVEXEhebSxsWTQPUJSSpNeYFRnaZPpK6lcYBsR+5F7zu8l5+L+jhzIPkB+g+5MTh2o1eO0yBdkHkb+ifx1ZT2Xk3+W+0Ep+rDyuD0NLvSss2GL+1Rf5x3JOXQPAHullJoGgg3URntoNwCcW1m+2XrnNZi3tMG0WjA8s816VNXqdUt1RjkJ3jbF9Vf9udHEyEMwnkc+75xLzg28k5JCRP5peq0L69rU7dcA8uvQ0WsQEYeS8zGvJv+s3+iLwETOJedmPp3cw7wpcG5K6a6IuJTVedyt5HO3a2mT6e20Ryuvx3zy61EfdE+0bVrZfmmj/wFeHxG7pnydyouBzYDjU0r3TrYOVh8nLQ252O65skNdPcZTSitLINzuMb7W+aSovf9r9ayd5x/H6o6hRto5zy9tMK3RsdH03DfJ9Ebmlce2ht9MKS1tMHmtupZrUS4l//JwCfkL099K2XnkL3LNjp2WtkFn7VF7/Q5vskxN7fWbbBsNPx/GhUG3WvE+ck7XwpTSNfUzIuIE8gfJGlJKZwBnlJ6iZ5F/Dn8D8L2I2C6ldDWrP2Q/nro4jnhE1C7ie4CcP/vTNldR6wVY2KAHbiK1cps1mb95pVy/3FkeH0G+cPZBETGTfFKtfpDUenIanSPmTbK91GT6kcAcYNeU0uJKPY4gB91TNTSvQUS8lfzT7C/JAfdfOljNeeSg+/nk9yCsDqzPA46IiI3JQfcd5IuRh0n96/G7BvN7/Xp8Fng9+Yv/j1h9AeWJLS6/tDy2+gW87XNlB4blGH9Ek+m1et1RefxWSumlva3SWurPfY00m97I0vI41V/jmjmYHHC/N609/O+O5KB7qjppj9rrNzeldGeD+c3KT3Z8jCWHDFQrtgaubvAhMoOcLtFUSmlZysOo/Rt5tIJ1yCMXQP42/wD5Qr+uiIjdyBdgrgT+voOAm5TS9eSf8Ndj8m/3xOphz2o/P+/SpOiu5bHfgVGtXo1eqx1oHFjXUnEe1WBewyHBWrA18LdqwF00C0ZW0V4P3LXkiwmfWnqOqvryGkTEO8gB95XkLxmdBNyQA+tEDqp3I+c/LynzziWfw/+Z3Iu4uEnKWFWtzFR/QWlF0/dEGYnlkcD1TXoDpyyl9H/kkWz2i4hnkb+8/Lh6Lptg+WXkL02PiIhGKUlVnZwrH6C91+LB93NENHrv9us885xGw9ix+rWu1fPX5IB1h5Le009Nz30RsSH5F7ZW1T5L9miy31O1dXlsNIZ/N76sQWftUdvvVj+na8fdWnUunTwTxgyjzqBbrVgCPK5+PM4yjNbR5CGn1hARz2vyYVD75nsPQAlEvkruUT6qvCGr63psGaZpUhHxAuB75PzA3VPjofla9WZyr8AREXFYo/2JiPkRcQqrc94uIgd9z4mIAyplDyCftH5D49zqXqrldb476sZtjTxObPWOljW1dJxX1+97RDwK+I8O67EE2DginlI/MSJeQx45p5HbgE0jYk4rG0h56Lmvkq/Srx9Oj4h4LPl1XUG+2KwnIo+f/SFyfuPuqb1h2NZQ3iO/Il+c9DzWTB+5mJzGcER53mo+d+1iqfmTFeyCL5THIyNi09rE8l7/CPkz6PM9rsNnyV/2v0nOe590mMCKT5THE6Iy7nFEzIiIzesmLaGNc2VxG42/3DZUro35Afliw7dW6vMs4B/Jr/G3Wl1nhx5HHuq0fvv7koOt68jXFJHyPQ4+Se6B/0Sj93LkMcebtc9UfIfc8/pPEfHUyrwjmfxXuwellC4nv+eeRr4b8Roi4mERUb1GpR1LyuMulfVux+r3+FR10h6fIp8zPx4Rj6/OjHz/hfqA/GLy5+DzyvFQ71DGOJ8bTC9Raz5O/qC6IiK+SX4DPpv8IXI6eZzlep8AtoyIi8gnkvvJV37vRr7i/pS6soeST97HAK8sF1ncQh5/9gnkXO+Xs/qGHg1FxDbkE8p65KHG9m3whqf6s10zKaVrImIPcn7mR4C3RMS5rL4N/FNZfZX2h8syKSJeRf5APDUivkPu5dmGPMbwXeQRBdq5CGfKUkrnR8SJ5AvKflX3Gu5DPgHfxOp0ktoyP4uIH5MDvUsi4jzyl6Z9yMOVtRwk1DmeHFxfGBFfL9teSO75+AZwQINlziUfA2eV+twHXJVSOn2C7byT/AXn0HLhz49YPU73Q8hX8094PHWqvP7HkHuTLwDe3ODCsSUppZPaWO255Iv5av8DkFK6r7zH2srnLhdM/Qx4bkR8lfxFcBXw3dIz3DUppYsj4ljyiEC/jIhvkHOc9yLv04XAcd3cZgP/Sz6Hbcnqcbbb8Tny8fRK4Lflff1X8jlqN/IXi6NL2XbPlZBft0URcTq5l3AFuTe+erF1vdeTv+QfVzobLmP1ON0PAK9OKd3V5n626yzgo5FvbHUVq8fpvhf4l8p57n3kc+bryeM6n0dOaXs4+fz/bODd5GsfuialdGdE/Cv5S/bF5bxTG5f6qeSL/Xamcv6bwCvIF4p+ICL2L/8HeR9eQL4nw5IOq/tl8i+rx0fEruQLTx9HTs08jTzs7JR00h4ppV9HHqf7C+TPj7PI54zZ5C/uzyW/H7Yt5VPpSPkB8M2IqB+ne3fycbPnVPdl2hr08Cn+Tf2PMmRgi2UXMPFwYYsbrYt8xf+V5A/MW8m9KH9Hg6HlyMHNyeSTxt3kHuNfkocy3LTButchB98Xs3oc5T+SP4zeSmWc3Sb13qXWDhP9ddC2G5JvevAj4C/kD8Q7yL2YH6TxeNTbkE9qN5fyNwP/A2zToOxa7TfZa0WbQwaW6TPKfvy6tO9N5BtazCV/GbiywbrmkYd8+0tZ5pfkwL1ZvRpuu1LmReSfK+8i/+R8Djmwb7hP5C84nwVuYPUQmCfVzU80GG6t1P3D5Ris3VjoB5Qh9pocO0c3qfMSJhi2sMnrOdHfWvWdZJ37lOUeAB5emXdEmffnJss2Ox62JgeBt5X1Ptj23WyPumUWkQPsu8hB2a/IQdZ67ayfxuebhsdjZbmPlzLHtVPvyjr+iRyU3FH24XryrypPb/D+vJIWzpWl/MPJoyzdQv7y82DbT7Rv5C8RnyV3ZNxftvVtYPsGZQ+iyTljovdRk7IPHh/kX/l+SD7H30V+P6+1/bJckL+4nEu+QPB+cuB9IfAu4FGTvabNjufJjlvyl7yLyb+y3k7uoNmW/Mtoou7+BS3s/8PI55Zry3GwtLze72fNcfMX0+Qzp9nrQf5y9l3yOXcZ+XPm4GFoD/IxfFI53u4rr+EvyfdD2K1B+WeQA+y7yt8Py/FyNGM8ZGCUxpE0hiLfmv435DHJXz7o+ki9EBGLyV/utkkp/XbA1dEQKClOvyffTGrzycqPOtujP8zplsZARGxWvfgnItZn9e3Vv9X3Skl9EBHPJP9kfrYB9/iJiHnlXFc/Lcg5zPMZs3Of7TFY9nRLYyAiPkTOjV9MTnfZjJxf90jyeOZ7J08GGiER8QZyCsarycf7jqm98fo1AiJiT+BUcurLEnLK4A7kHOM/kYd37HR0oWnH9hgsg25pDETE7sC/k0+sG5Pzo39DziU9PjW+s500bUXEEvKXyt+T81q/NtgaaRDK6Ff/Sb5Yc1PyABI3kPOXP5BSaucGOdOe7TFYBt2SJElSj5nTLUmSJPXYWIzTvckmm6QFCxYMuhqSJEkacZdffvmtKaVNq9PHIuhesGABl1122aCrIUmSpBEXEX9oNN30EkmSJKnHDLolSZKkHjPoliRJknrMoFuSJEnqMYNuSZIkqccMuiVJkqQeM+iWJEmSemwsxumWJEnS6Pv2FTdy3NnXctPS5Wwxbw6H77ENL9luy0FXCzDoliRJ0jRWC7RvXLqcAFKZfuPS5Rxx2i8AhiLwNuiWJEnStNIs0E6VcstXrOK4s6816JYkSZJa0WqgXXXT0uU9rllrDLolSZI0NOrzsufOmU0E3H7PirYC7XpbzJvTg1q2z6BbkiRJA9WsF3vp8hUPlmkn0K6ZM3smh++xTTeqOGUG3ZIkSeq7TtNFJlNb15aOXiJJkqRxNG6Bdj2DbkmSJHVVt/OyG5kOgXY9g25JkiRNWa/ysutNt0C7nkG3JEmSOtLrdJF5pZd86T0rhu4Ok+0y6JYkSVJLqmkjy+5fyYpVOcQe517sVhh0S5IkqalW0kY6NeqBdj2DbkmSJK2hV2kjMF6Bdj2DbkmSpDHVy1FGRjEveyr6HnRHxGJg5yazd0op/WSCZV8KHAE8GbgHuBTYP6W0rNv1lCRJGkW9HGVkXHuxWzGInu43Ag+tTDsG2I4cRDcUEQcDnwKOBQ4HNgJ2w956SZKkCfUqXWT2jGDD9WaNfS92K/oesKaUrq5/HhHrAAuBU1NKKxstExGbAB8H3pRS+u+6Wd/qWUUlSZKmsXG+++MwGoZe4j3JvdYnT1DmZeXxS72vjiRJ0vRkoD28hiHoXgTcAFwwQZlnAdcCr4mIdwOPAH4OvC2ldHHvqyhJkjQ8vM369DPQoDsi1gdeDJyQUpro2NgM2AY4Eng7cFt5PCsiHpdSuqXBug8BDgGYP39+t6suSZLUV726ANJRRvpj0D3d+wAbMHFqCeTjYUPgH1JKZwFExMXAH4BDgaOqC6SUTgROBFi4cGE3hpWUJEnqK9NFRsegg+5FwHUppcsmKXc7+dhYXJuQUrozIi4Hnti76kmSJPWXgfZoGljQHRFzgb3IQwBO5hrysRLV1QAPdLlqkiRJfWWgPfoG2dO9H7Auk6eWAHwPeA+wK3AmPBi0PwP4SK8qKEmS1CsG2uNlkEH3IuCqlNI11RkRcR1wfkrpNQAppcsi4jvA5yPincCt5AspVwCf7mOdJUmSOtbNQNsLIKeXgQTd5WY3u9PgAshiFjCzMu0VwHHAx4D1gYuA3VJKt/eqnpIkSe1qNJzf0ntWMHfObJbdv5IVq3KIPZVA217s6WcgQXdK6VZg9gTzFzSYdjfwhvInSZI0NFoZzq/+/3YYaI+GQY9eIkmSNC31KicbDLRHkUG3JElSiwy01SmDbkmSpAkYaKsbDLolSZIqehVoz54RbLjeLEcaGUMG3ZIkSTicn3rLoFuSJI2tXgTapoqoEYNuSZI0Vgy0NQgG3ZIkaeQZaGvQDLolSdJIMtDWMDHoliRJ01qj267ffs8KA20NFYNuSZI07bRy23UDbQ0Tg25JkjQt9GrsbANt9YNBtyRJGloG2hoVBt2SJGloVPOzl92/khWrcohtoK3pzKBbkiQNVCv52Z0y0NawMOiWJEl91+20EW+7rmFn0C1JkvqiV4G2vdiaDgy6JUlSzxhoS5lBtyRJ6qpuBtqzZwQbrjfLdBFNewbdkiRpyrzlujQxg25JktQRA22pdQbdkiSpZQbaUmcMuiVJ0oQMtKWpM+iWJElrMdCWusugW5KkMVa97XoE3H7PCgNtqcsMuiVJGjOt3HbdQFvqLoNuSZLGQLdvUlNjoC21xqBbkqQRZaAtDQ+DbkmSRoiBtjSc+h50R8RiYOcms3dKKf2kwTILgOsblD81pbSoe7WTJGl6qV4Iuez+laxYlUNsA21peAyip/uNwEMr044BtgMunWTZfwcuqnt+axfrJUnStNDKhZDtqK1jXhm9ZOk9K9jCQFvqqr4H3Smlq+ufR8Q6wEJyr/XKSRa/NqX0055VTpKkIdXttBF7saX+Goac7j2BjYCTB10RSZKGiYG2NDqGIeheBNwAXNBC2S9GxMbAX8hB+rtTSst7WTlJkvrJQFsaTQMNuiNifeDFwAkppYnOJ/cBnwbOAe4EdgHeATwW2LfH1ZQkqae6GWjPnhFsuN4s87KlITPonu59gA2YJLUkpXQzcGjdpMURcQvwmYh4akrpquoyEXEIcAjA/Pnzu1djSZK6oJuBtr3Z0vAbdNC9CLgupXRZB8t+A/gM8AxgraA7pXQicCLAwoULpzpqkiRJU2agLY2vgQXdETEX2As4tsNVdGu8f0mSesZAWxIMtqd7P2BdOh+15IDyeHl3qiNJUncYaEuqGmTQvQi4KqV0TXVGRFwHnJ9Sek15fjTwEPKNce4EngccDpyWUvq/vtVYkqQmDLQlTWQgQXdEbALsDhzVpMgsYGbd81+T70Z5MDAH+CNwHPD+HlZTkqQJGWhLatVAgu6U0q3A7AnmL6g8PwU4pcfVkiRpUgbakjox6NFLJEkaegbakqbKoFuSpAYMtCV1k0G3JEmFgbakXjHoliSNNQNtSf1g0C1JGlvfvuJGjjjtFyxfsQow0JbUOwbdkqSxUuvZvmnpcmZEsCq1H2obaEtql0G3JGnkNUshaSfgNtCWNBUG3ZKkkdSNXG0DbUndYtAtSRoZBtqShpVBtyRpWutGoD0zggdSYgsDbUk9YtAtSZp2ujnM35zZM/ngS//OQFtSTxl0S5KmBcfTljSdGXRLkoaWgbakUWHQLUkaKgbakkaRQbckaeAMtCWNOoNuSdJAGGhLGicG3ZKkvjHQljSuDLolST1loC1JBt2SpB4w0JakNRl0S5K66ttX3MgRp/2C5StWAQbakgQG3ZKkLqnv3e6EgbakUWbQLUnqWLM0klYZaEsaFwbdkqS2TDVf20Bb0jgy6JYkTagWZN+0dDlz58xm2f0rWbEqh9gG2pLUGoNuSdJamvVmL12+ou11GWhLkkG3JKno5jB/AHNmz+SDL/07g21JwqBbksZatwNt00gkqTGDbkkaMwbaktR/Bt2SNEa6ceOa2TOCDdebxdJ7VrCFgbYktcSgW5LGgDeukaTB6nvQHRGLgZ2bzN4ppfSTSZafAVwCPAPYJ6X0ve7WUJJGgzeukaThMYie7jcCD61MOwbYDri0heUPBh7Z7UpJ0ijwxjWSNJz6HnSnlK6ufx4R6wALgVNTSisnWjYiNgLeD7wT+FzPKilJ04iBtiQNv2HI6d4T2Ag4uYWy7wMuAs7taY0kach1awQSA21J6o9hCLoXATcAF0xUKCKeAvwL8JR+VEqShk03h/rzxjWS1F8DDbojYn3gxcAJKaXJPjc+CXwqpXRdRCzoeeUkaYh0Y6g/00gkaXAG3dO9D7ABk6SWRMQiYJtSviURcQhwCMD8+fOnUEVJGhyH+pOk0TDooHsRcF1K6bJmBSJiNnAc8GFgRkTMY/XoJxtExENSSndVl0spnQicCLBw4cJOb7QmSX3nUH+SNHoGFnRHxFxgL+DYSYpuQB4i8GPlr94pwO+ArbteQUnqI0cgkaTRNsie7v2AdZl81JK7gV0r0zYry70LOK/7VZOk3jPQlqTxMcigexFwVUrpmuqMiLgOOD+l9JoydvfiyvwF5d9fpJR+1uuKSlK3ONSfJI2ngQTdEbEJsDtwVJMis4CZ/auRJPWOQ/1JkgYSdKeUbgVmTzB/wSTLLyH/sipJQ82h/iRJMPjRSyRp5NR6tm9aupwZEaya9DYEazPQlqTRYtAtSV3QLIWknYDbQFuSRpdBtyR1qBu52gbakjQeDLolqQ0G2pKkThh0S1KLpnJR5MwIHkiJLQy0JWksGXRL0iTqe7c74TB/kiSDbklqoFkaSatMIZEk1TPolqTC27JLknpl0qA7Ii6ljU6elNIzp1QjSeojA21JUj+00tP9K9b8/Angn4HvAbf1olKS1A9TvVukgbYkqVWTBt0ppYPqn0fELHLQfXRK6ec9qpck9YwXRkqS+q2TnO7272csSQPmhZGSpEHyQkpJI8t8bUnSsDDoljRSDLQlScNoKkG3aSaShooXRkqShlUrQwb+lcafXedGxMrqxJTSw7tRMUlqlRdGSpKGXSs93Z/GXm1JQ8YLIyVJ00krQwYeHRFzgBcCC4A/Az9MKd3S47pJ0hrM15YkTVetpJc8BvghsBX5Mwvgzoh4WUrpnF5WTpJqOs3XNtCWJA2DVtJLjgUeAJ4HXA48GvgMcEL5X5J6Zir52gbakqRh0UrQvSNwWErpovL8moh4XXncPKV0c++qJ2kcTTVf2wsjJUnDppWge3Pg95VpvyP/arsZYNAtaUpqQfZNS5czd85slt2/khWrcqhtGokkaRS0Ok63o5dI6olqrvbS5StaXtZAW5I0XbQadJ/daExuGozV7Tjdklox1bG1DbQlSdNJK0H3e3teC0ljYaq52mC+tiRpemplnG6Dbkkdm+rY2mAaiSRp+ms1vUSS2tbp2NqzZwQbrjeLpfesYAsDbUnSCDDoltR1jq0tSdKaDLoldYVja0uS1Fzfg+6IWAzs3GT2TimlnzRY5knAR4GnAA8DbgHOAY7y5jzS4Ew1X9tcbUnSuBhET/cbgYdWph0DbAdc2mSZucD1wJeBm8i3n38P8IyI2D6l1Gg4Q0k91Gm+toG2JGkc9T3oTildXf88ItYBFgKnNgueU0oXAxfXTVocETeQe7ufAvy8R9WVVGG+tiRJ7RuGnO49gY2Ak9tc7rbyuE53qyOpynxtSZKmZhiC7kXADcAFkxWMiBnkOj8a+BA5HeWSntZOGlPma0uS1D0DDbojYn3gxcAJKaVWPsvPBPYo/18OvDCl9ECv6ieNK/O1JUnqrkH3dO8DbEDrqSVvAjYGHgccCXw/Ip6dUrq3WjAiDgEOAZg/f353aiuNOPO1JUnqjWitg7lHG4/4FvDklNLjOlh2K/KIJgenlL4wUdmFCxemyy67rMNaSqPNfG1JkronIi5PKS2sTh9YT3dEzAX2Ao7tZPmU0h8i4m/AY7paMWmMmEYiSVJ/DDK9ZD9gXdoftQSAiNiGfKOc67tZKWkcdJJGYqAtSVLnBhl0LwKuSildU50REdcB56eUXlOefwRYCfwMWAo8AXg78DvglH5VWJrOppJGYqAtSdLUDCTojohNgN2Bo5oUmQXMrHt+GfkiykOA9YA/At8EPphSWtbDqkrT2lSH/TNfW5Kk7hhI0J1SuhWYPcH8BZXnp2CPttQW87UlSRoegx4yUFKXOeyfJEnDx6BbGgEO+ydJ0nAz6JamOdNIJEkafgbd0jRU69m+aelyZkSwqsWbXBloS5I0GAbd0jTRLIWk1YDbQFuSpMEx6JamgU5TSMB8bUmShoFBtzTEOh2JxDQSSZKGi0G3NGQ6HYlkZgQPpMQWBtqSJA0dg25piHSaRmIKiSRJw82gWxoCnaSRmEIiSdL0YdAtDchUbmhjoC1J0vRi0C0NgGkkkiSNF4NuqY9MI5EkaTwZdEs9ZhqJJEky6JZ6yDQSSZIEBt1ST5hGIkmS6hl0S11iGokkSWrGoFvqAtNIJEnSRAy6pSkwjUSSJLXCoFvqULV3uxUG2pIkjSeDbqlNnfRum0YiSdJ4M+iWWtDJRZKmkUiSpBqDbmkSnVwkaaAtSZLqGXRLTZhGIkmSusWgW6rjWNuSJKkXDLqlwrG2JUlSrxh0a+w51rYkSeo1g26NNcfaliRJ/WDQrbHkRZKSJKmfDLo1FmpB9k1LlzN3zmyW3b+SFasmz9o2jUSSJHVDX4PuiFgM7Nxk9k4ppZ80WGZ74I3Ac4EtgD8BXwM+nFK6t0dV1QipppAsXb6ipeUMtCVJUrf0u6f7jcBDK9OOAbYDLm2yzIHAY4EPA78FngK8rzzu35tqahR0kkICppFIkqTu62vQnVK6uv55RKwDLAROTSmtbLLYh1JKt9Y9XxwR9wInRMRWKaU/9Ki6msY6uUAS7N2WJEm9Meic7j2BjYCTmxWoBNw1V5THLQCDbj3I3m1JkjSMBh10LwJuAC5oc7kdgQeA33W9Rpp2OrmL5OwZwYbrzWLpPSvYwt5tSZLUYwMLuiNifeDFwAkppZbvth0RmwFHAl9JKf2lV/XT9NDJXSRNIZEkSf02yJ7ufYANmCC1pKrkgH8duBt42yRlDwEOAZg/f37ntdRQcpxtSZI0ncwY4LYXAdellC5rpXBEBPBl4EnAC1NKt09UPqV0YkppYUpp4aabbjr12mpo1Hq32wm4t5w3x4BbkiQNzEB6uiNiLrAXcGwbix0P7Av8fUrp172ol4abvduSJGm6GlR6yX7AurSYWhIRRwCHAi9LKV3Yy4ppuHRykaR3kZQkScNmUEH3IuCqlNI11RkRcR1wfkrpNeX5PwIfAE4CboyIHeqK/y6l9Nc+1FcD4EWSkiRpVPQ96I6ITYDdgaOaFJkFzKx7/oLyeFD5q/dqcjCuEWIaiSRJGjV9D7rLzW5mTzB/QeX5QawdbGtEdXInSXu3JUnSsBv0zXEkwN5tSZI02gy6NXDt9G57kaQkSZqODLo1MO32bhtoS5Kk6cqgWwPRTu+2aSSSJGm6M+hWX9m7LUmSxpFBt3qukxvc2LstSZJGiUG3esob3EiSJBl0q0ccAlCSJGk1g251nTe4kSRJWpNBt7rG3m1JkqTGDLrVFd7gRpIkqTmDbk2JQwBKkiRNzqBbHfMGN5IkSa0x6Fbb7N2WJElqj0G32mLvtiRJUvsMutUSe7clSZI6Z9CthmpB9k1LlzN3zmyW3b+SFasmv5+kvduSJElrM+jWWqopJEuXr2hpOXu3JUmSGjPo1oM6ubkN2LstSZI0GYNuAZ3duh3s3ZYkSWqFQfeYs3dbkiSp9wy6x1g7vduzZwQbrjeLpfesYAt7tyVJktpi0D2GHP5PkiSpvwy6x4w3t5EkSeo/g+4xYe+2JEnS4Bh0jwF7tyVJkgbLoHuE2bstSZI0HAy6R5S925IkScPDoHvE2LstSZI0fAy6R4i925IkScOp70F3RCwGdm4ye6eU0k8aLLMO8H5gB2AhsF5KKXpWyWnG3m1JkqThNoie7jcCD61MOwbYDri0yTLrAwcDlwAXA7v1rHbTjL3bkiRJw6/vQXdK6er656UXeyFwakppZZNllkbEximlFBGHYtBt77YkSdI0Mgw53XsCGwEnT1QopZT6U53hZ++2JEnS9DIMQfci4AbggkFXZNjZuy1JkjQ9DTTojoj1gRcDJ3S7JzsiDgEOAZg/f343Vz0Q9m5LkiRNX4Pu6d4H2IBJUks6kVI6ETgRYOHChdM2NcXebUmSpOlv0EH3IuC6lNJlA67HULJ3W5IkaTTMGNSGI2IusBc96OUeFcedfW1LAfeW8+YYcEuSJA2xQfZ07wesi0H3WlpNKbF3W5IkaXoYZNC9CLgqpXRNdUZEXAecn1J6Td20vcj5308rzw8osy5NKf2h99Xtj1ZTSszdliRJmj4GEnRHxCbA7sBRTYrMAmZWpn0W2Kru+f+Wx1cDJ3WzfoNg77YkSdLoGkjQnVK6FZg9wfwFrUwbFfZuS5IkjbZBj14y1toZDnDLeXO46J279aFWkiRJ6jaD7gFpdzjAw/fYpg+1kiRJUi8YdPeZN7uRJEkaPwbdfeTNbiRJksaTQXcf2LstSZI03gy6e8zebUmSJBl094i925IkSaox6O4Be7clSZJUz6C7B447+9qWAm57tyVJksaDQXcP3OSt3CVJklRnxqArMIq2mDen6bwt580x4JYkSRozBt09cPge2zBn9sw1ps2ZPZPjD3waF71zNwNuSZKkMWN6SQ/Ugurjzr6Wm5YuZwtztyVJksaaQXePvGS7LQ2yJUmSBJheIkmSJPWcQbckSZLUYwbdkiRJUo8ZdEuSJEk9ZtAtSZIk9ZhBtyRJktRjBt2SJElSjxl0S5IkST0WKaVB16HnIuKvwB8GtPlNgFsHtO3pyPZqj+3VPtusPbZX+2yz9the7bPN2tPv9toqpbRpdeJYBN2DFBGXpZQWDroe04Xt1R7bq322WXtsr/bZZu2xvdpnm7VnWNrL9BJJkiSpxwy6JUmSpB4z6O69EwddgWnG9mqP7dU+26w9tlf7bLP22F7ts83aMxTtZU63JEmS1GP2dEuSJEk9ZtBdERFPjIhzI+KeiLgpIo6JiJktLDc3Ir4YEbdHxB0R8dWIeFiDcvtGxC8i4t6IuDoiDux0XcOiV20WETMj4h0RcUFE3Fb+zomI7RusKzX4+2m397UbenmMRcRJTdpi23bXNUx63GaN2itFxH11ZRY0KXNKL/Z3qjppr4hYJyKOK++35RHR9GfQUTuP9aq9RvUcBr09xkbxPNbj9hq5cxh03Gbbl2PiurLctRHxnohYr0HZZ0fEz8p57PqIeHODMutGxEcj4i8RsSwizoiIBR3vVErJv/IHbATcBPwQ+Hvg9cAy4D9bWPZs4Hpgf2A/4DfABZUyzwFWAp8AdgWOAx4AXtDuuoblr5dtBmwI3A58DHghsBdwBnAf8IzKuhLwEWCHur8nDbp9BnCMnQRcU2mHHYD1PMaatlm1rXYA/gp8u67MgnKMHVYpt/Wg26db7QXMK++3s4FzgdSk3Eidx3rZXqN4DuvTMTZS57E+tNdIncOm2GYfAX4MvBbYBXgzcAfwzUq5rYG7gVOA3YB3ks9rB1fKnQDcBvxzef/+DPht9Vhseb8G3bDD9AccUQ7wh9ZNeztwT/20BsvtWA7m59VNe2aZ9vy6aWcD51WWPRO4sN11DctfL9sMmAlsVFluHWAJ8MXK9AQcOuj2GIJj7CTgsknq4DE2wX4C25cyB9ZNW1CmvWjQ7dGr9irlatf5HErzD/iROo/1sr1G8RzWp2NspM5jvW6vBstM63PYVNoM2KTBtEPKvm9VN+0E8pe0WXXTPgP8qa7NH0kOxP+5rsyWwP1UgvNW/0wvWdNewNkppTvrpp0CzAF2nmS5W1JKP65NSCldQv4GvhfknyjIvUJfryx7CrBjRMxtdV1DpmdtllJalVK6vX6hlNL9wK+ALbpT/b7rWXu1WQePseZeTu5ROb3jGg9Wp+2VP9EnMKLnsZ6114iew6CHbdZmHcb+GGtiup/DoMM2Syk1uuvkFeWx/j23F3BaSmllZf2PBJ5cnr+gPJ5Wt/4bgQvp8Bgz6F7TtsCv6yeklP5I/ma1bcMlmixXXFO33GOB2Q3KXUN+HR7fxrqGSS/bbC3lQ//p5G+oVUdHxMqIuDUivhARG09W+QHoR3s9MSLujIj7IuLCiKieoDzGmiwXEQG8DPhOSumeBkW+GBGrIuLmiPhYRMxpZQf6rNP2asUonsd62V5rGYFzGPSnzUbpPNa3Y2xEzmHQ3TbbkZwC9zuAiNgAeFR1/eRjp7bt2uMNKaW7G5Tr6HWb1clCI2wjYGmD6beXeZ0s95i6MjQod3tlfivrGia9bLNG3g1sDHyqMv1L5G/1fwUWAkcBT42IZ6aUVk2wvn7rdXtdQc45uxrYlJy/94OIeE7pBWpnXcOin8fYc8k/H1YvLroP+DRwDnAnOVfwHeQgdN8J6jAInbZXq+umwfqn83msl+3VyHQ/h0Hv22zUzmP9PMZG4RwGXWqziNgMOBL4SkrpL2XyvPJYXX8757GOXjeDbk0bEbE3+QPrsJTStfXzUkoH1T39cURcQ84z3Qf4dr/qOGgppf+qfx4RZ5J/yn4X8JJB1GmaeTmrL1x6UErpZnJOZc3iiLgF+ExEPDWldFUf66hpynNYazyPTYnnsCIi1iGnwt0NvG3A1QFML6m6HZjbYPpGrP4G1OlytcdquY0q8zutw6D0ss0eFHmIrVOB/5dSOr6Fep1FfqM9vYWy/dSX9qopPy+eyZrt4DHW+BibRR4F4Zsl73Yy3yiPz2ihbD/18vUdxfNYX+o6Qucw6PPrOwLnsX4dY6NyDoMptllJs/ky8CTghZVrK5aWx76fxwy61/RrKnk6EfEoYH0a5441Xa6oz0n6HbCiQbltyblGtfy+VtY1THrZZrX1PZ48zNa55OF/JlV38Um3Ltrplp63VwOJNdvBY6zxcruTf8o+ucV6jdox1opRPI/1sr1q6xulcxj0oc0amM7nsX6116icw2DqbXY8OW1m35RSNTd8GXmUkkbnsdq2a4+PKjng1XIdvW4G3Wv6PrBHRDykbtqBwHLg/EmW2ywinlObEBELyXll3wdIKd0H/Aj4h8qyBwI/SSnd0eq6hkzP2qxM25z8M9nvgJe3mtsYEXuSx8i9vMX96JeetldVuUhmb9ZsB4+xxvv5cuBmYHGL9TqgPI7KMTapET2P9ay9YCTPYdDjNqsagfNYv9prVM5hMIU2i4gjyKk0r0gpXTjB+ver3GznQHIw/svy/JzyuF/durcg5813dox1Ms7gqP6RfzK4GfgB8Hzy2I53UxmMHbgO+Hxl2tnA74GXknPOrqX5zXGOJ1/EcCzNbyox4bqG5a+XbUYeGuhK8k9Be7PmgP7b1ZU7BDiRfMX2bsC/l2V+BswcdBv1sb3mAhcAryP3eBwI/JR8Ac1Cj7Hm+wmsW46Z45vU4Wjgo2U9zweOIZ/8v9mNfRyi9tqL/EH8OXLv1wHlb6u6MiN1HutlezGC57A+tNnIncd6/Z4s5UbmHDaVNgP+sbTTF1n7hkGb1pWr3Rzna+RhUN9O/hWv0c1xbgVeCexZjkVvjtPFF/qJwHnlYLwZeF/1pEe+scFJlWnzyou8lHxl8NdoPEj7S8jfou4j/zyxqEGZltY1LH+9ajNWD+bf6G9JXbndgYvId41aQf6m+glg7qDbps/ttR55PNE/lePrDnJe6A4eYy29L1OjtirzFwGXlTa9n3yiPwZYd9Bt0+X2WtLk/XZQg/YamfNYr9qLET2H9bjNRvI81qf35MicwzptM/KNlZq956pt9hzgEuDesp43N6jDuuQ7yv6VPPb5mcCjO92n2l13JEmSJPWIOd2SJElSjxl0S5IkST1m0C1JkiT1mEG3JEmS1GMG3ZIkSVKPGXRLkiRJPWbQLUl1ImL/iDgvIpZGxH0R8ZuI+Fi5E1k763l7ROzSYHqKiEO7Vd8W6/LSiLiudve1iDio1GPDftajUqfFEfGNDpedXV6fF06xDgdExMURcVtE3BsR10bEkRGxTl2ZLSPi7oh4zFS2JUkG3ZJURMRHga+T73L3SuAFwMfJNy/5dJurezv5jo1VOwL/23kt2xMRM8g3wTgutXgL8mngOcBs8o0zpuJhZR0Hk+/89wXg3eSbYQCQUroROBX4jyluS9KYmzXoCkjSMIiIfYB/A16TUvpC3azzI+JEcgA+ZSmln3ZjPW3YHXgs+W59o2Jv4LyU0r1TWUlK6YTKpB9FxEOBf42IN6XVd4/7InBuRByWUrptKtuUNL7s6Zak7G3AzysBNwAppVUppe/XnkfEhyLiFyXt4IaI+GpEbFY3fwm5F/U9JY0j1VJNGqWXRMShEfHbks5yXUS8rTL/6Ii4NSK2i4ifRsQ9EXFFRDy3hf16FXBOSumuiQpFxOElxeLF5flJEXFZROwdEVeXbZ4RERtHxNYR8aOIWFbKPKWyrvUj4hMR8eeyzksjYtIvLRHx5LKNu8rf/9a3a529gTPKMruUNt09Ir5T6vTbiHhBRMyMiONK290YEf/WQnvdBqxTmXYR8DfyrbQlqSMG3ZLGXkTMBnYCzmpxkYcDHyAHf28FHgOcV1I5APYD7gA+T04n2RH4eZNtvxb4JPBdYB9y6slHI+KdlaLrA18CTgD2B+4DTouI9Sep627AxRMViIj/AN4LvDil9N26WfPJqSlHAoeQ2+hE4JTydwD5F9NTIiLqlvtv4NXA+8lt8SfgjIh4zgR12Joc3K4HvAI4CHgScHr9uktu9baUoLvOCcCFZXt/AL4BfAp4CPCP5flHI+JZDbY9s3xReA7wZuCzdb3clP9/Cjy/Wf0laTKml0hS7pVeF/hjK4VTSv9S+79cnPgT4AZyrvGPU0pXRMRK4IaJ0klKkH40cFJK6bAy+ZyImAscERHH16VQzAHemlI6ryx7M3AF8DyafFkoF39uDvxygjp8AHgTsFdK6fzK7I2BHVNKvytlnwIcDrwqpfTlMi3IAfC2wDUR8QTg5cCrU0pfKmXOBv4POArYo0lV3gP8udTj/rLc/wG/Bl7I6iB7b+AXKaU/VZb/SkrpuLLcDcCvgG1SSruVaT8EDgReCvyssuwy8usP8OWyj1VXAa9tUndJmpQ93ZK0Wpq8CETEXmXUizuAleSAG+DxbW7vkcAWrH1h5anAQ4G/q5t2P7C47vnVdetoppaacWuT+R8D3gi8oEHADbCkFnAX15XH8xpM27I8bg8EdfuUUnqgPG/a003uRf4W8EBEzIqIWcD1wBJgYV25B1NLKs6dqJ6lDr+vq2e9nYDnAocB+5J7yKtuBR5e6dGXpJYZdEtSzuO9j5xOMaGI2J6cCnIDeYSTHYEdyuz12tzu5uXxlsr02vON66bdVQJHAGq9wZNsszbvvibz9wcuBy5tMn9p5fn9DaZX67E5cHdK6Z7KsrcA60fEujS2CfAOYEXl7zHAowAiYgPyiDCNgu4H61TXNo3qv1Z7pZR+nlK6MKX0MXJ6yRsi4rGVYveRfx32F2JJHfHkIWnspZRWRMRF5NSHIycpvh/wV+DAWt5vRGzV4aZvLo8Pr0x/RHn8W4frraktP6/J/BcB3wO+HBGvqA/qp+BmYMOIWL8SeD8CuCel1OwLwN/IPd2fazCv1lO/O3APOZ2nV2q5948G6nv555G/TKzo4bYljTB7uiUpOx5YGBGvqs6IiBkRsWd5OgdYUX+hHfBPDdbXsFe14gbgJuAfKtNfBtwJ/KKFek9kSanHo5vM/wV5fOoXAf9vituquZScpnNAbUJJyTiAfKFjM+eSL5y8PKV0WeVvSSmzN3BWj8cbf3Z5vL4yfQHwmx5uV9KIs6dbkoCU0ukR8THg8xHxbOA7wN3kCwRfTw5gzwJ+ALw1Io4HTifnA7+iwSp/DewdEWeV9VxbHbYvpfRARBwNnBARt5V17wy8AXhXF8ahvjciLgeeQR5rulGZSyKPUf79iLgzpfTvU9zmNRFxMvCpiHgIubf4teR2fMMEix4NXEIe5eQL5N7tLYG/J19ouph8QWV1VJeOldfmh+SLLleRA+7DgFMrueyQ88ov6ta2JY0fg25JKlJKh0XExcCh5JvJzCEH298FPlLKnBkR7yCP+PFacqrDi1i7F/Rw8l0szyAP97cra14IWdvmf0fEesBbyt8NwGEppY93abdOI39paCqldH5EvBT4TkTclVJ67xS3+Vrgw+S7OM4j96i/KKXUtKc7pfSbiNgB+E/ysIRzgBvJPeDXRcRTyRedtjqsYysuJQ9NuIB8QezvgSOo9PpHxKbkLy5v7+K2JY2ZWPMXUknSKImIR5CHQnxOSqnZBZNDLyLeBeydUnr2pIW7v+3XAf8OPD75oSmpQwbdkjTiIuLTwNyUUqM0GE2g5KP/Cjg2pXTSgKsjaRrzQkpJGn3vI9+4ZuagKzINbQZ8FfjKoCsiaXqzp1uSJEnqMXu6JUmSpB4z6JYkSZJ6zKBbkiRJ6jGDbkmSJKnHDLolSZKkHjPoliRJknrs/wNlQeHish5mcgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(12,5))\n", "plt.scatter(cat_test, ph_test_config2)\n", "plt.xticks(fontsize=15)\n", "plt.yticks(fontsize=15)\n", "plt.ylabel('PH',fontsize=15)\n", "plt.xlabel('Cation (kmole/m3)',fontsize=15)\n", "plt.title(\"Phase 2 Configuration 2 with only cation being changed\",fontsize=20);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2. PH: one-phase reactor" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reactor run, ph phase-one:\n", "$ADM1F_EXE -steady -influent_file influent_cur.dat\n", "Predicted PH is 6.91367 if using the original cation value 0\n" ] } ], "source": [ "old_ph0 = adm1fu.ph(0)\n", "print('Predicted PH is {} if using the original cation value {}'.format(old_ph0[0], old_ph0[1]))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reactor run, ph phase-one:\n", "$ADM1F_EXE -steady -influent_file influent_cur.dat -Vliq 340 -t_resx 1.5\n", "Predicted PH is 4.57781 if using the original cation value 0\n" ] } ], "source": [ "old_ph1 = adm1fu.ph(0, **config1) \n", "print('Predicted PH is {} if using the original cation value {}'.format(old_ph1[0], old_ph1[1]))" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reactor run, ph phase-one:\n", "$ADM1F_EXE -steady -influent_file influent_cur.dat -Vliq 3400 -t_resx 700\n", "Predicted PH is 7.05983 if using the original cation value 0\n" ] } ], "source": [ "old_ph2 = adm1fu.ph(0, **config2) \n", "print('Predicted PH is {} if using the original cation value {}'.format(old_ph2[0], old_ph2[1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Set Target:** Let's calculate the amount of cation needed by the one-phase reactor to match required `ph` targets using Data Consistent Inversion method." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T23:36:42.450916Z", "start_time": "2020-09-22T23:36:42.412260Z" }, "code_folding": [] }, "outputs": [], "source": [ "class target:\n", " def __init__(self,ph,sig):\n", " self.ph = ph\n", " self.sig = sig\n", " def pdf(self,x):\n", " return norm.pdf(x,self.ph,self.sig)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T23:36:42.486277Z", "start_time": "2020-09-22T23:36:42.456042Z" }, "code_folding": [] }, "outputs": [], "source": [ "# Give the necessary information\n", "# target_ph = 6.5 # target_ph: target PH value, target_sig: allow some variations around target PH\n", "target_sig = 0.01 # The smaller this value is, the more accurate we will get in the end\n", "sample_size = 100\n", "\n", "infl_path = 'influent.dat'\n", "params_path = 'params.dat'\n", "ic_path = 'ic.dat'\n", "\n", "## Use data consistent inversion method to return the needed cation to get the target PH\n", "init_sample = np.random.uniform(0,0.2,sample_size) #the more samples we generate, the more accurate we will get in the end" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T23:36:42.522773Z", "start_time": "2020-09-22T23:36:42.493328Z" } }, "outputs": [], "source": [ "target72 = target(7.2,target_sig)\n", "target73 = target(7.3,target_sig)\n", "target75 = target(7.5,target_sig)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Target 1: target_ph=7.2 with Default configuration**" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Predicted PH is 6.91367\n", "The amount of cation in the reactor should be: 0.07135066533871785 kmole/m3\n" ] } ], "source": [ "## ph_control accepts target, initial sample, number of cation values and file path of each input file\n", "## ph_control return the needed cation to get the target PH\n", "cat_tar72_dc = adm1fu.ph_control(target72,init_sample,1,infl_path,params_path,ic_path,verbose='off', **config_default)\n", "\n", "# Print out the Needed Cation value!!\n", "print('The amount of cation in the reactor should be:', cat_tar72_dc[0], 'kmole/m3')" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T23:37:09.949150Z", "start_time": "2020-09-22T23:37:09.479170Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reactor run, ph phase-one:\n", "$ADM1F_EXE -steady -influent_file influent_cur.dat -Vliq 3400 -t_resx 0\n" ] }, { "data": { "text/plain": [ "[(7.18975, 0.07135066533871785)]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[adm1fu.ph(i, **config_default) for i in cat_tar72_dc]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Target 2: target_ph=7.2 with configuration 1**" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Predicted PH is 4.57781\n", "The amount of cation in the reactor should be: 0.19737738732010346 kmole/m3\n" ] } ], "source": [ "## ph_control accepts target, initial sample, number of cation values and file path of each input file\n", "## pph_control return the needed cation to get the target PH\n", "cat_tar72_c1 = adm1fu.ph_control(target72,init_sample,1,infl_path,params_path,ic_path,verbose='off', **config1)\n", "\n", "# Print out the Needed Cation value!!\n", "print('The amount of cation in the reactor should be:', cat_tar72_c1[0], 'kmole/m3')" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T23:37:33.157947Z", "start_time": "2020-09-22T23:37:32.996384Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reactor run, ph phase-one:\n", "$ADM1F_EXE -steady -influent_file influent_cur.dat -Vliq 340 -t_resx 1.5\n" ] }, { "data": { "text/plain": [ "[(7.19608, 0.19737738732010346)]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[adm1fu.ph(i, **config1) for i in cat_tar72_c1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Target 3: target_ph=7.2 with configuration 2**" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T23:38:59.509171Z", "start_time": "2020-09-22T23:37:33.164579Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Predicted PH is 7.05983\n", "The amount of cation in the reactor should be: 0.031198904067240532 kmole/m3\n" ] } ], "source": [ "## ph_control accepts target, initial sample, number of cation values and file path of each input file\n", "## ph_control return the needed cation to get the target PH\n", "cat_tar72_c2 = adm1fu.ph_control(target72,init_sample,1,infl_path,params_path,ic_path,verbose='off', **config2)\n", "\n", "# Print out the Needed Cation value!!\n", "print('The amount of cation in the reactor should be:', cat_tar72_c2[0], 'kmole/m3')" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reactor run, ph phase-one:\n", "$ADM1F_EXE -steady -influent_file influent_cur.dat -Vliq 3400 -t_resx 700\n" ] }, { "data": { "text/plain": [ "[(7.20101, 0.031198904067240532)]" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[adm1fu.ph(i, **config2) for i in cat_tar72_c2]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3. PH: two-phase reactor" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**PH control for both phase 1 and phase 2**\n", "\n", "reactor_cat(target_1=target1, target_2=target2, Q1=1, Vliq1=1, t_resx1=1, Q2=1, Vliq2=1, t_res2=1)\n", "\n", "**PH control for just phase 1 in two-phase reactor**\n", "\n", "reactor_cat(target_1=target1, Q1=1, Vliq1=1, t_resx1=1, Q2=1, Vliq2=1, t_res2=1)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T23:39:00.397914Z", "start_time": "2020-09-22T23:39:00.387116Z" } }, "outputs": [], "source": [ "## Configuration of two-phase reacotr\n", "# config12 = {\"Vliq1\":340, \"Vliq2\":3400, \"t_resx1\":1.5, \"t_resx2\":700, \"Q1\":618, \"Q2\":618}\n", "config12 = {\"Vliq1\":340, \"Vliq2\":3400, \"t_resx1\":1.5, \"t_resx2\":700, \"Q1\":618}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**target_ph1=7.5, target_ph2=7.2 with default configuration12**" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "verbose: off\n", "Predicted PH is 4.57781\n", "$ADM1F_EXE -steady -Vliq 340 -t_resx 1.5 -influent_file influent_cur.dat\n", "Phase 1, after changing cation to 0.197377 kmole/m3, new PH = 7.19608\n", "Predicted PH is 7.10724\n", "\n", "$ADM1F_EXE -steady -Vliq 3400 -t_resx 700 -influent_file influent_cur.dat\n", "Phase 2, after changing cation to 0.017699 kmole/m3, new PH = 7.18887\n" ] } ], "source": [ "config12 = {\"Vliq1\":340, \"Vliq2\":3400, \"t_resx1\":1.5, \"t_resx2\":700, \"Q1\":618}\n", "adm1fu.reactor2_cat(init_sample,target_1=target75,target_2=target72,verbose='off',**config12) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**target_ph1=7.5, target_ph2=None with default configuration12**" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "verbose: off\n", "Predicted PH is 4.57781\n", "$ADM1F_EXE -steady -Vliq 340 -t_resx 1.5 -influent_file influent_cur.dat\n", "Phase 1, after changing cation to 0.197377 kmole/m3, new PH = 7.19608\n", "\n", "$ADM1F_EXE -steady -Vliq 3400 -t_resx 700 -influent_file influent_cur.dat\n", "Phase 2, without changing cation, predicted PH = 7.65471\n" ] } ], "source": [ "adm1fu.reactor2_cat(init_sample,target_1=target75,verbose='off',**config12)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": { "height": "calc(100% - 180px)", "left": "10px", "top": "150px", "width": "217px" }, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 2 }