{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "*This notebook contains course material from [CBE30338](https://jckantor.github.io/CBE30338)\n", "by Jeffrey Kantor (jeff at nd.edu); the content is available [on Github](https://github.com/jckantor/CBE30338.git).\n", "The text is released under the [CC-BY-NC-ND-4.0 license](https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode),\n", "and code is released under the [MIT license](https://opensource.org/licenses/MIT).*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Linear Approximation of a Multivariable Model](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/03.03-Linear-Approximation-of-a-Multivariable-Model.ipynb) | [Contents](toc.ipynb) | [One Compartment Pharmacokinetics](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/03.05-One-Compartment-Pharmacokinetics.ipynb) >

\"Open

\"Download\"" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "# Fitting First Order plus Time Delay to Step Response" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "## Summary\n", "\n", "Linear first order plus time delay (FOPTD) models are often good approximations to process dynamics for process control applications. This notebook demonstrates the fitting of FOPTD models to step response data." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "## Initializations" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import control\n", "from scipy.optimize import minimize" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "## First Order plus Time Delay Models" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "### First Order Models\n", "\n", "A linear first-order plus time-delay model is a good approximation for many process control applications. Assume the manipulated process input, $u$, and measured process output, $y$, are initially at steady-state $u_0, y_0$. \n", "\n", "Without loss of generality, the response of a linear first-order system without time-delay can be written as a differential equation\n", "\n", "$$\\tau\\frac{d(y-y_0)}{dt} + (y-y_0) = K(u-u_0)$$\n", "\n", "or\n", "\n", "$$\\tau\\frac{dy}{dt} + (y-y_0) = K(u-u_0)$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "At time $t_0$, the input $u$ is changed to a new constant value $u_\\infty$. Provided the system is stable (i.e, $\\tau \\geq 0$), the new steady state value of $y$ will be \n", "\n", "$$y_\\infty = y_0 + K(u_\\infty - u_0)$$\n", "\n", "\n", "The solution to the differential equation can be written in a number of useful forms.\n", "\n", "\\begin{align*}\n", "y(t) & = y_0 + K(u_\\infty - u_0) (1 - e^{-(t-t_0)/\\tau)}) \\\\\n", "\\\\\n", "& = y_0 + (y_\\infty - y_0) (1 - e^{-(t-t_0)/\\tau)}) \\\\\n", "\\\\\n", "& = y_\\infty + (y_0 - y_\\infty)e^{-(t-t_0)/\\tau)}\n", "\\end{align*}" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "### Time Delay\n", "\n", "Chemical processes are frequently encumbered with time delays associated with the transport of materials, chemical measurement, or simply sluggish response to control inputs. A pure time delay is modeled by a single parameter, $\\tau_d$, such that \n", "\n", "$$y(t) = u(t-\\tau_d)$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "### First Order plus Time Delay (FOPTD) \n", "\n", "If we add the time delay feature to the first order process described above, then\n", "\n", "\\begin{align*}\n", "y(t) & = y_0 + K(u_\\infty - u_0) (1 - e^{-(t-\\tau_d - t_0)/\\tau)}) \\\\\n", "\\\\\n", "& = y_0 + (y_\\infty - y_0) (1 - e^{-(t-\\tau_d-t_0)/\\tau)}) \\\\\n", "\\\\\n", "& = y_\\infty + (y_0 - y_\\infty)e^{-(t-\\tau_d-t_0)/\\tau)}\n", "\\end{align*}" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "### Visualization\n", "\n", "First we write a function to compute the response of a first order system with time delay to a unit step input where $u_0 = 0$ and $u_\\infty = 1$. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def foptd(t, K=1, tau=1, tau_d=0):\n", " tau_d = max(0,tau_d)\n", " tau = max(0,tau)\n", " return np.array([K*(1-np.exp(-(t-tau_d)/tau)) if t >= tau_d else 0 for t in t])" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEWCAYAAAB1xKBvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8XVW5//HPt2k6pPNE59JSCqVAS0soKL0CKlCQWhnU\nVhAVpFevOF0n5HcF5+sV9aqIYkVEZNIrU4EyO4AydaADLYWW0iFt2qZz0rQZn98fZwcOscMpzclJ\nTr7v1+u8cvbaa+/zrEDPk7XX2nspIjAzMzuQdrkOwMzMWgcnDDMzy4gThpmZZcQJw8zMMuKEYWZm\nGXHCMDOzjDhhmJlZRpwwLKskrZK0W1JF2mtQsq+jpP+WtCaps1zSVyQp7fi/SdqTHLdZ0j2SBkp6\nOO18NZKq07ZvlHS6pPq0shJJf5J00gHivVzSMknlkjZKmi2pW7LvFknfzeLvKiTtSuJdJ+knkgqy\n9XlmB8sJw5rDlIjomvZan5T/H/Ae4FygG/BRYAbws0bHXxkRXYGjgJ7A/0bEOQ3nA24Hfph2/k8l\nx61P9ncDTgGWAU9Les/egpR0GvB9YHpEdAOOAf7YNL+CjI1LYj4N+DBwWTN/vtk+OWFYTiRf2mcB\nF0bESxFRGxHPAZcAn5F0ZONjImIrcDdw3MF8VqSURMQ1wE3A/+yj6knAsxHxYsPnRcTvI6Jc0gzg\nYuCrSQ/ggaQdgyTdLalM0uuSPpfWxm9K+rOkPyY9lvmSxmUY8wrgn8AJaefrIem3kkqTHsh3G3og\nko6U9HdJO5Ke2B/TjgtJn5O0Mtl3naR2yb52kv5L0mpJmyTdKqlHsm94cuzHkl7gZkn/L+28EyXN\nlbQz6Y39JG3fKZKekbRd0kJJp2fSbmvZnDAsV84Eno+ItemFEfE8UEKq5/EWkvoCFwIvHsLn3gNM\nkNRlL/ueB86W9C1Jp0rqmBbXTN7ak5mSfOk+ACwEBicxf0HS2WnnnEqqJ9UbuAO4T1LhgYKUNBr4\nN2BFWvEtQC1wJDCeVML9ZLLvO8BjQC9gCHB9o1OeDxQDE5KYGnouH09eZwBHAF2BXzQ6dhJwdNK+\nayQdk5T/DPhZRHQHRgJ/SmIfDDwEfDdp95eBuyX1O1C7rWVzwrDmcF/yl+Z2SfclZX2B0n3UL032\nN/i5pO2kvphLgf88hFjWAyJ1aestIuJp4AJSX6oPAVsOMI5wEtAvIr4dEdURsRL4DTAtrc68iPhz\nRNQAPwE6kbo8ti/zJe0CXgb+BvwSQFJ/UpfuvhARuyJiE/C/aZ9VAxwODIqIPRHxj0bn/Z+kx7QG\n+CkwPSm/GPhJRKyMiArg68A0Se3Tjv1WROyOiIWk/hs09JJqgCMl9Y2IiqSHCKle4uyImB0R9RHx\nODA3id9aMScMaw4fiIieyesDSdlmYOA+6g9M9jf4XHLs4Ii4OCLKDiGWwUAA2/e2MyIejogppP4y\nnkrqr+9P7q0uyRd0WjLcDlwN9E+r80YPKiLqSfWeBu0nvgmk/sr/MHAy0NATOhwoBErTPuvXwGHJ\n/q+SSoQvSFoiqfHYR3pPbnVaDIOS7fR97Ru1YUPa+8okPoDLSY0rLZM0R9J5abF+sNHvZRL7/u9t\nrUT7A1cxy4onSF2+GZp+WUrSycBQ4C9Z+tzzgfkRsWt/lZIv9ycl/YU3x0waP9p5LfB6RIzaz6mG\nNrxJLmENIdXL2d9nB/AnSVOBa4AvJJ9VBfSNiNq9HLMBuCL5nEnAE5KeSsZCGuJYkrwflhbDelJf\n8KTtqwU2JrHuL87lwPSkXRcAf5bUJ4n1DxFxxf6Ot9bHPQzLiYh4AniS1LXtYyUVSDoFuA34VfJl\n1CSUMljStaR6C1fvo95USdMk9UqOmUhqtlLDpZaNpK7zN3gBKJf0NUmdkzYcp7dO3T1R0gXJJZ4v\nkPrSf47M/AC4QtKAiCglNUbxY0ndk8HqkUrN7ELSByU1fMFvI5Xc6tPO9ZWkXUOBz/Pm7K87gS9K\nGiGpK6lZYn/cW1Lay+/rEkn9kuTa0GOrJ/XfcIqks5PfSSelpjnvNwFZy+eEYbl0IfBX4BGggtQX\nzW+BzzbR+QdJqkjOPQc4Hjg9Ih7bR/1tpP5KXw7sTOK5LiJuT/b/FhjTMBYTEXXAeaRmMr1O6jLa\nTUCPtHPeT+ry0jZS04YvSMYzDigiFgNPAV9Jii4FOgBLk/P9mTcv85wEPJ+0dxbw+WRMJT2OecAC\nUuMzv03Kbwb+kHzO68AeMv/9TwaWJJ/5M2BaMtaxltTlvKuBMlI9jq/g75tWT15AySw7JH0TODIi\nLslxHAGMSrs8Zfa2OOObmVlGnDDMzCwjviRlZmYZcQ/DzMwyklf3YfTt2zeGDx+e6zDMzFqNefPm\nbY6IjB7bklcJY/jw4cydOzfXYZiZtRqSVh+4VoovSZmZWUacMMzMLCNOGGZmlpGsJQxJQyX9VdLS\n5OmZn99LHUn6uaQVkhZJmpC2b7KkV5J9V2UrTjMzy0w2exi1wJciYgyp5/9/RtKYRnXOAUYlrxnA\nrwCS9QduSPaPIfVEzMbHmplZM8pawoiI0oiYn7wvJ7UgzOBG1aYCtyZLaD4H9JQ0EJgIrEgWdakG\n7krqmplZjjTLGIak4aSWlHy+0a7BvHVhl5KkbF/lezv3jGRd4bllZYeyro6Zme1P1u/DSJ6xfzep\npSV3NvX5k7WWZwIUFxf7OSdm1irV1tVTVVvPnpo69tTWU1VTx56aevbU1lH1xs+6N+vU1FNVm/pZ\nWNCOT58+MusxZjVhJIvd3w3cHhH37KXKOtJWJCO1wtc6UktR7q3czCynIoLK6jrK99RSvqeG8qpa\ndlXVsquqjt01tVRW11FZVZf6WVP7xvu37HtLvVp219RRU/f2/97t161j604YkkRqkZaXI+In+6g2\nC7hS0l2k1i/eERGlksqAUZJGkEoU04CPZCtWM2s76uuD8j21bN9dzbbKGrZVVrOjsoade2qSJJAk\ngj21VFS9+b6hvKKqlvoMv9s7tG9HUYcCigoLKOrYnqIOBXQuLOCwbp3o3FDeoYDOHdrTubCAToXt\n6FRYQMf2qZ+dCtvRsX0BHf+lPO19+3a0L2ieOySy2cM4ldQKY4slLUjKria1ZjARcSMwGzgXWEFq\ncflPJPtqJV0JPAoUADdHxBLMzNJEBOVVtWwur2JzRTWbK6rYsquaHZVvTQbbKqvZXlnD9t01bK+s\n3u8XfmGB6NapkK4d29OtU+o1tHcR3d7YLqRbp/Z0TX/fMfWF36UhKSTJoLm+yJtL1hJGRPwD0AHq\nBPCZfeybTSqhmFkbU1Vbx8YdVZTu2E1ZRdVbEkJZeRWbK1LbZRVVVNfW7/UcRR0K6FXUgR6dC+nV\npZCBPTrTs6iQXkUd6FlUSM+iDvQqKqRnUSE9OqfqdevUno7t25G6QGKN5dXDB82s5dtdXcf6HbvZ\nsGMPpTv2sGHHbkp37GHjzobtPWzZVf0vxxW0E727dKBv14707dqBkf260rdb6n3frh3p160jfbt2\npHeXVELo2L4gB63Lb04YZtakauvqKd2xh7VbK1m7rZK1W3ezdlsla7am3m+uqPqXY3oVFTKgR2cG\n9ujEuKE9Gdi9EwN6pF6HdetE364d6FXUgXbt/Jd/LjlhmNlBq6sP1m3bzWubK1hZtovXyipYtXkX\na7dVsn77HurSBgkK2omBPToxrHcR7xl9GEN7d2Zwr84MTBJE/+6d6FTo3kBr4IRhZvu0u7qO5ZvK\nWb6xgpWbK3ht0y5Wbq5g1ZbKt4wd9OhcyPC+XRg/tBfvH9eZob2KGNa7iKG9ixjYo1PeDf62VU4Y\nZkZ9fbB2WyXLNpSzrLScVzbuZFlpOau27HpjRlH7dmJY7yKO6NeF048+jCP6duGIfl0Z2a8Lvbt0\n8EBxG+CEYdbG1NTV8+rGchaX7GDRuh0sXb+TVzeWU1ldB4AEh/cu4ugB3ZgybhCjB3RjVP9uHN6n\niEL3FNo0JwyzPFZXH7xWVsGikh0sLtnOwpIdLC3d+cblpG6d2nPsoO58qHgoowd0Y/TA7hzVvytF\nHfzVYP/K/1eY5ZHK6loWrN3OvFXbmLt6G/NXb6O8qhaALh0KOG5wDz72jsM5fkhPxg7uweF9inwp\nyTLmhGHWim3bVc1zK7cwZ9U25q3eypL1O6lNBh2O6t+VKScM4sRhvRg3tAcj+nalwNNS7RA4YZi1\nIpXVtbzw+laeeW0L/1yxmaWlO4mAju3bMW5oT/79tCMoPrw3E4b1okdRYa7DtTzjhGHWgtXVBwtL\ntvPUq2U8s2ILL67dRk1d0KGgHeOH9eSL7z2KU4/sw/GDe9KhvQekLbucMMxamPI9NTy9fDNPvryJ\nv72yiS27qpHguEE9uGzSCE4d2ZeThvemcwff7GbNywnDrAVYvWUXT7y8ib8s28gLr2+lpi7o0bmQ\n04/ux7tHH8a7RvWjV5cOuQ7T2jgnDLMcWbGpgtmLS5m9uJRlG8oBGHVYVy6bNIL3jO7PhGE9fYe0\ntShOGGbNaG9JovjwXnzjvDGceUx/hvUpynGEZvvmhGGWZZsrqrh/wXrumV/CkvU7kVJJ4topYzjn\nuIEM6NEp1yGaZSSbS7TeDJwHbIqI4/ay/yvAxWlxHAP0i4itklYB5UAdUBsRxdmK0ywb9tTU8eTL\nm7hnfgl/e7WMuvpg7JAeXHPeGN43diD9uztJWOuTzR7GLcAvgFv3tjMirgOuA5A0BfhiRGxNq3JG\nRGzOYnxmTW7Zhp3c/twa7luwjvI9tQzo3okr/u0ILpwwmFH9u+U6PLNDks0lWp+SNDzD6tOBO7MV\ni1k27ampY/biUm5/fg3zVm+jQ/t2nHvcAC46cSjvGNnHd1db3sj5GIakImAycGVacQBPSKoDfh0R\nM/dz/AxgBsCwYcOyGarZW6zavIvbn1/N/80rYXtlDSP6duG/3ncMF04Y4imwlpdynjCAKcA/G12O\nmhQR6yQdBjwuaVlEPLW3g5NkMhOguLg49lbHrKlEBHNXb+M3T63k8Zc3UiBx9rEDuPjkYbxjZB8/\nyM/yWktIGNNodDkqItYlPzdJuheYCOw1YZg1h9q6eh5dspGZT69k4drt9Cwq5DOnH8ml7zicwzyA\nbW1EThOGpB7AacAlaWVdgHYRUZ68Pwv4do5CtDZuT00dd72whpv+8Tol23YzvE8R35l6LBeeOMRr\nRlibk81ptXcCpwN9JZUA1wKFABFxY1LtfOCxiNiVdmh/4N6ka98euCMiHslWnGZ7s6emjtufX8ON\nf3+NsvIqTkxurnvvMf09iG1tVjZnSU3PoM4tpKbfppetBMZlJyqz/dtdXcftz6/m10+tpKy8ilOO\n6M3Pp43nHSP75Do0s5xzn9oMqKqt4w/PrubGv69kc0UV7ziiD9dPH88pRzhRmDVwwrA2rb4+eGDR\neq579BVKtu3mnSP78MuLJzBxRO9ch2bW4jhhWJv17Gtb+P7sl1m8bgdjBnbntsvHMmlU31yHZdZi\nOWFYm7N8Yzk/eHgZTy7bxKAenfjxB8dx/vjBtPNgttl+OWFYm7FzTw0/fXw5v392FUWFBXxt8mg+\ncepwOhV65TqzTDhhWN6LCO5fsJ7vzX6ZzRVVTJ84jC+fdTS9/fgOs4PihGF57dWN5fzXfS/xwutb\nGTekB7/9WDFjh/TMdVhmrZIThuWl6tp6bvjrCn75txV07die/77geD5cPNTjFGaHwAnD8s6La7bx\ntbsX8erGCj5wwiC+cd4Y+nTtmOuwzFo9JwzLG7ur6/jRY69w8z9fZ0D3Ttz88WLePbp/rsMyyxtO\nGJYXFpVs5wt/XMDKsl1ccsowvjZ5NN06FeY6LLO84oRhrVptXT2/+ttr/OzJ5fTr1pHbP3kypx7p\nm+/MssEJw1qt1Vt28cU/LmD+mu28f9wgvjP1OHoUuVdhli1OGNYqPbBwPVfdvYh27cTPpp3A1BMG\n5zoks7znhGGtyp6aOr770FJue24NE4b15PqPTGBwz865DsusTXDCsFZj1eZdfOaO+SxZv5MZ7zqC\nr5x9NIUF7XIdllmbkbV/bZJulrRJ0kv72H+6pB2SFiSva9L2TZb0iqQVkq7KVozWejy6ZAPnXf8P\nSrbt5qZLi7n63GOcLMyaWTZ7GLcAvwBu3U+dpyPivPQCSQXADcCZQAkwR9KsiFiarUCt5aqvD67/\nywr+94lXGTukB7+8eAJDehXlOiyzNimbS7Q+JWn42zh0IrAiWaoVSXcBUwEnjDamoqqWL/1pAY8u\n2cgFEwbz/fOP95NlzXIo12MY75S0CFgHfDkilgCDgbVpdUqAk/d1AkkzgBkAw4YNy2Ko1pzWbKnk\nilvnsnxTOd84bwyXnTocyc+BMsulXCaM+cCwiKiQdC5wHzDqYE8SETOBmQDFxcXRtCFaLsxZtZUr\nbp1LBNx62cleBc+shcjZqGFE7IyIiuT9bKBQUl9SvY2haVWHJGXWBjy0qJSLb3qe3kUduP8zpzpZ\nmLUgOethSBoAbIyIkDSRVPLaAmwHRkkaQSpRTAM+kqs4rXlEBL95eiXfn72M4sN78ZtLi+nlBY7M\nWpSsJQxJdwKnA30llQDXAoUAEXEjcBHwaUm1wG5gWkQEUCvpSuBRoAC4ORnbsDxVVx98+4El/P7Z\n1bzv+IH8+EPjPLht1gIp9R2dH4qLi2Pu3Lm5DsMOQlVtHZ+/cwGPLNnAjHcdwVWTR3uRI7NmJGle\nRBRnUjfXs6SsDausruXf/zCPp5dv5hvnjeHySSNyHZKZ7YcThuXEzj01XPa7Ocxfs40fXjiWD500\n9MAHmVlOOWFYs9tSUcXHfvcCr2wo5/rpE3jf2IG5DsnMMuCEYc1q0849fOSm51m7tZKZlxZzxtGH\n5TokM8uQE4Y1m7LyKj5y0/Os376b3182kVOO6JPrkMzsIDhhWLPYUlHFxTc9x7ptu7nlEydxspOF\nWavj50Nb1m3bVc3FNz3Pmq2V/PbjxU4WZq2UE4Zl1Y7KGi757fO8vnkXN116Eu8c6Ud9mLVWThiW\nNbuqarn0dy+wfGMFMy8t9nOhzFo5j2FYVlTX1vOp2+bx0rod3HjJiZx2VL9ch2Rmh8g9DGty9fXB\nl/5vIU8v38x/X3A8Z47pn+uQzKwJOGFYk4oIvv3gUh5YuJ6vTR7Nh4p9B7dZvnDCsCZ1w19XcMsz\nq7h80gg+ddoRuQ7HzJqQE4Y1mT/NXcuPHnuV88cP5v+de4yXVDXLM04Y1iSefW0LV9+zmElH9uWH\nF431I8rN8pAThh2y1zfv4tO3z+PwPkXccPEECgv8v5VZPsrav2xJN0vaJOmlfey/WNIiSYslPSNp\nXNq+VUn5AkleEakF215ZzeW3zEHAzR8/iR6dC3MdkpllSTb/FLwFmLyf/a8Dp0XE8cB3gJmN9p8R\nESdkuhKUNb+auno+fdt81m6r5NcfLebwPl1yHZKZZVHWbtyLiKckDd/P/mfSNp8DhmQrFmt6EcE1\n97/Esyu38OMPjmPiiN65DsnMsqylXGy+HHg4bTuAJyTNkzRjfwdKmiFprqS5ZWVlWQ3S3nTHC2u4\n84W1/MfpI7nwROd6s7Yg548GkXQGqYQxKa14UkSsk3QY8LikZRHx1N6Oj4iZJJeziouLI+sBGy+u\n2cY3Zy3hXUf140tnHZ3rcMysmeS0hyFpLHATMDUitjSUR8S65Ocm4F5gYm4itMY2V1TxH7fPp3/3\nTvx82gkUePqsWZuRs4QhaRhwD/DRiHg1rbyLpG4N74GzgL3OtLLmVVtXz2fveJGtu6q58ZIT6VnU\nIdchmVkzytolKUl3AqcDfSWVANcChQARcSNwDdAH+GVyR3BtMiOqP3BvUtYeuCMiHslWnJa56x57\nhWdXbuFHHxzHcYN75DocM2tmGSUMSUXAl4BhEXGFpFHA0RHx4L6OiYjp+ztnRHwS+OReylcC4/71\nCMulR14q5dd/X8nFJw/jIg9ym7VJmV6S+h1QBbwj2V4HfDcrEVmLU7Ktkq/+eRHjhvTgmiljch2O\nmeVIpgljZET8EKgBiIhKwKOdbUBtXT1fuGsB9QHXT59Ax/YFuQ7JzHIk0zGMakmdSd0fgaSRpHoc\nlud+/pcVzF29jZ9NO4FhfYpyHY6Z5VCmCeNa4BFgqKTbgVOBj2crKGsZnlu5hV/8ZTkXnTiEqScM\nznU4ZpZjGSWMiHhc0nzgFFKXoj4fEZuzGpnl1LZd1XzhrgUc3qcL33r/sbkOx8xagIzGMCSdCuyJ\niIeAnsDVkg7PamSWMxHBV+9exJZdVVw/fTxdOub8gQBm1gJkOuj9K6AyeQT5fwKvAbdmLSrLqf+b\nW8LjSzfytcmjfb+Fmb0h04RRGxEBTAVuiIgbgG7ZC8tyZd323Xz7waWcPKI3l506ItfhmFkLkum1\nhnJJXwcuAd4lqR3JXduWPyKCr/15EfURXHfROC+zamZvkWkP48OkptFeHhEbSK1dcV3WorKcuP35\nNfxjxWauPvcYT6E1s3+R6SypDcBP0rbX4DGMvLJmSyXfn/0yk47sy8UnD8t1OGbWAmU6S+oCScsl\n7ZC0U1K5pJ3ZDs6aR3198JU/L6RA4n8uGkvy4Eczs7fIdAzjh8CUiHg5m8FYbtz67Cqef30rP7xw\nLIN7ds51OGbWQmU6hrHRySI/rdu+mx8++gqnHdWPDxb7KbRmtm+Z9jDmSvojcB9pz5CKiHuyEpU1\ni4jg2vtfIgK++4HjfCnKzPYr04TRHagktfpdgyC1Yp61Uo8u2cgTL2/i6nNHM7S3Z0WZ2f5lOkvq\nEwd7Ykk3A+cBmyLiuL3sF/Az4FxSyejjETE/2Tc52VcA3BQRPzjYz7f9K99TwzdnLeGYgd35hG/Q\nM7MMZDpLaoikeyVtSl53SzrQBe9bgMn72X8OMCp5zSD1+BEkFQA3JPvHANMledWeJvbjx15lY/ke\nvn/+cRQW5GxpdzNrRQ5mxb1ZwKDk9UBStk8R8RSwdT9VpgK3RspzQE9JA4GJwIqIWBkR1cBdSV1r\nIgvXbuf3z67io6cczvhhvXIdjpm1EpkmjH4R8buIqE1etwD9DvGzBwNr07ZLkrJ9le+VpBmS5kqa\nW1ZWdogh5b/aunquvncx/bp25MtnH53rcMysFck0YWyRdImkguR1CbAlm4FlKiJmRkRxRBT363eo\nOSz/3fbcapas38m1U46leyc/DszMMpdpwrgM+BCwIXldBBz0QHgj64ChadtDkrJ9ldsh2rqrmp88\n/iqTjuzLuccPyHU4ZtbKZDpLajXw/ib+7FnAlZLuAk4GdkREqaQyYJSkEaQSxTTgI0382W3STx5/\nhV3VdVwzZYzvuTCzg5ZRwpB0BKlprqeQuv/iWeCLEbFyP8fcCZwO9JVUQmpd8EKAiLgRmE1qSu0K\nUtNqP5Hsq5V0JfAoqWm1N0fEkrfTOHvTy6U7ueP5NVz6juEc1d9LmZjZwcv0xr07SE11PT/Zngbc\nSapnsFcRMX1/J0wWZPrMPvbNJpVQrAlEBN96YAk9OhfyhfeOynU4ZtZKZTqGURQRf0ibJXUb0Cmb\ngVnTeeSlDTy3civ/edbR9CzqkOtwzKyVyrSH8bCkq0jdExGkFlSaLak3QETs734Ly6E9NXV8b/bL\njB7QjeknDT3wAWZm+5BpwvhQ8vPfG5VPI5VAjmiyiKxJ/eaplZRs280dV5xMe9/RbWaHINNZUn7Y\nUCu0qXwPv/r7a5xz3ADeObJvrsMxs1Yu02dJfVBSt+T9f0m6R9L47IZmh+r6J1dQXVvP1yaPznUo\nZpYHMr1G8Y2IKJc0CXgv8FvgxuyFZYfq9c27uPOFNUyfOIzhfbvkOhwzywOZJoy65Of7gJkR8RDg\n6TYt2I8ee4UO7dvx2fccmetQzCxPZJow1kn6NW/Ojup4EMdaM1tUsp2HFpXyyUkjOKybZz+bWdPI\n9Ev/Q6TuvD47IrYDvYGvZC0qe9sigh88vIzeXTpwxbs8ec3Mmk5GCSMiKoFNwKSkqBZYnq2g7O17\nevlmnnltC59995F089NozawJZTpL6lrga8DXk6JC4LZsBWVvT3198D+PLGNIr8585ORhuQ7HzPJM\nppekzif1tNpdABGxHvAT7FqYBxeXsmT9Tr581tF0bF+Q63DMLM9kmjCqk4cFBoAkz9NsYerqg58+\n8SqjB3Tj/eMG5TocM8tDmSaMPyWzpHpKugJ4Argpe2HZwXpw0XpWlu3ic+8ZRbt2XuvCzJpepo8G\n+ZGkM4GdwNHANRHxeFYjs4zV1Qc/f3I5R/fvxuRjvZKemWVHpg8fJEkQjwNIaifp4oi4PWuRWcYe\nXLSe18p28cuLJ7h3YWZZs99LUpK6S/q6pF9IOkspVwIrefMJtvs7frKkVyStSB6P3nj/VyQtSF4v\nSapreGS6pFWSFif75r7dBuY79y7MrLkcqIfxB2AbqSVZPwlcDQj4QEQs2N+BkgpIrdJ3JlACzJE0\nKyKWNtSJiOuA65L6U0gt+5q+tsYZEbH54JrUtjy0uJTXynZxw0fcuzCz7DpQwjgiIo4HkHQTUAoM\ni4g9GZx7IrCiYd1vSXcBU4Gl+6g/ndSyr5ahht7FUf27cs5x7l2YWXYdaJZUTcObiKgDSjJMFgCD\ngbVp2yVJ2b+QVARMBu5OKw7gCUnzJM3Y14dImiFprqS5ZWVlGYaWHx5aXMqKTRWeGWVmzeJAPYxx\nknYm7wV0TrYFRER0b6I4pgD/bHQ5alJErJN0GPC4pGUR8VTjAyNiJjAToLi4OJoonhavvj64/snl\njDqsK+ceNzDX4ZhZG7DfhBERh3K78DogfRHpIUnZ3kyj0eWoiFiX/Nwk6V5Sl7j+JWG0VY8t3cjy\nTRX8fPp49y7MrFlk8xHlc4BRkkZI6kAqKcxqXElSD+A04P60si5pK/x1Ac4CXspirK1KRHDj319j\nWO8izvXYhZk1k4zvwzhYEVGbTMF9FCgAbo6IJZI+lexvWLHvfOCxiNiVdnh/4F5JDTHeERGPZCvW\n1mbOqm0sWLud70w9lvYFXpbEzJpH1hIGQETMBmY3Krux0fYtwC2NylYC47IZW2t2499fo0+XDnyw\neOiBK5v5Wb3KAAANt0lEQVSZNRH/edrKvLKhnL8s28TH3jmcToV+Iq2ZNR8njFbm10+9RufCAj56\nyuG5DsXM2hgnjFZk/fbdzFqwnmkTh9KrS4dch2NmbYwTRity8z9eJ4DLJ43IdShm1gY5YbQSOypr\nuPOFNUwZO5AhvYpyHY6ZtUFOGK3Ebc+vZld1Hf9+2shch2JmbZQTRitQU1fP759Zxb+N6ssxA5vq\naSxmZgfHCaMVePilDWwqr+KyUz12YWa544TRCtzyz9cZ3qeI047ql+tQzKwNc8Jo4RaVbGf+mu1c\n+o7hfsigmeWUE0YLd8szq+jSoYCLiofkOhQza+OcMFqwsvIqHlxYykUnDqF7p8Jch2NmbZwTRgt2\n5wtrqK6r59J3Ds91KGZmThgtVXVtPbc9t5p3HdWPkf265jocMzMnjJbqkSWpqbSfcO/CzFoIJ4wW\nylNpzaylyWrCkDRZ0iuSVki6ai/7T5e0Q9KC5HVNpsfms8UlOzyV1sxanKytuCepALgBOBMoAeZI\nmhURSxtVfToiznubx+alO15YQ6fCdlx4oqfSmlnLkc0exkRgRUSsjIhq4C5gajMc26pVVNUya8E6\npowdRI/OnkprZi1HNhPGYGBt2nZJUtbYOyUtkvSwpGMP8lgkzZA0V9LcsrKypog7px5YuJ5d1XVM\nP3lYrkMxM3uLXA96zweGRcRY4HrgvoM9QUTMjIjiiCju16/1DxDf+cIaju7fjfFDe+Y6FDOzt8hm\nwlgHDE3bHpKUvSEidkZERfJ+NlAoqW8mx+ajl9btYFHJDqZPHIrkwW4za1mymTDmAKMkjZDUAZgG\nzEqvIGmAkm9GSROTeLZkcmw+uvOFNXRs347zx3uw28xanqzNkoqIWklXAo8CBcDNEbFE0qeS/TcC\nFwGfllQL7AamRUQAez02W7G2BLuqarl/wXreN3YgPYo82G1mLU/WEga8cZlpdqOyG9Pe/wL4RabH\n5rOHFpVSUVXLRyZ6sNvMWqZcD3pb4o4X1jDqsK6ceHivXIdiZrZXThgtwNL1O1mwdjvTJw7zYLeZ\ntVhOGC3AXXPW0KF9Oy6YsNdbTczMWgQnjBzbU1PHfS+u45zjBtCzqEOuwzEz2ycnjBx78uVN7NxT\ny0V+bpSZtXBOGDl2z/wSBnTvxDtH9s11KGZm++WEkUNl5VX87dUyPjB+MAV+jLmZtXBOGDk0a+F6\n6uqDCz3YbWatgBNGDt09r4SxQ3owqn+3XIdiZnZAThg58nLpTpaW7uSC8e5dmFnr4ISRI/e+uI72\n7cT7T3DCMLPWwQkjB2rr6rn3xXWcMfowenfxvRdm1jo4YeTAP1Zspqy8igsn+N4LM2s9nDBy4O75\n6+hZVMgZo1v/CoFm1nY4YTSznXtqeGzJBqaMHUTH9gW5DsfMLGNOGM3s4cWlVNXW+0GDZtbqZDVh\nSJos6RVJKyRdtZf9F0taJGmxpGckjUvbtyopXyBpbjbjbE4PLCxleJ8iThjaM9ehmJkdlKytuCep\nALgBOBMoAeZImhURS9OqvQ6cFhHbJJ0DzAROTtt/RkRszlaMza2svIpnXtvMf5x+pNe9MLNWJ5s9\njInAiohYGRHVwF3A1PQKEfFMRGxLNp8D8nra0CMvlVIfMGXcoFyHYmZ20LKZMAYDa9O2S5Kyfbkc\neDhtO4AnJM2TNGNfB0maIWmupLllZWWHFHC2PbCwlFGHdeXoAX4UiJm1Pi1i0FvSGaQSxtfSiidF\nxAnAOcBnJL1rb8dGxMyIKI6I4n79Wu401dIdu5mzeqt7F2bWamUzYawDhqZtD0nK3kLSWOAmYGpE\nbGkoj4h1yc9NwL2kLnG1Wg8tKiUCzhs7MNehmJm9LdlMGHOAUZJGSOoATANmpVeQNAy4B/hoRLya\nVt5FUreG98BZwEtZjDXrHlhUyrGDunNEv665DsXM7G3J2iypiKiVdCXwKFAA3BwRSyR9Ktl/I3AN\n0Af4ZTJrqDYiioH+wL1JWXvgjoh4JFuxZtvarZUsXLudq84ZnetQzMzetqwlDICImA3MblR2Y9r7\nTwKf3MtxK4FxjctbqwcWrQfgfcf7cpSZtV4tYtA73z24sJTxw3oytHdRrkMxM3vbnDCy7LWyCpaW\n7uS8sZ4dZWatmxNGlj24sBTJl6PMrPVzwsiiiOCBReuZOLw3A3p0ynU4ZmaHxAkji1ZsqmDFpgre\n53svzCwPOGFk0aNLNgBw9rEDchyJmdmhc8LIokeWbGD8sJ707+7LUWbW+jlhZEnJtkpeWrfTvQsz\nyxtOGFny2JKNgC9HmVn+cMLIkkeXbOCo/l0Z0bdLrkMxM2sSThhZsKWiijmrtjLZvQszyyNOGFnw\nxMsbqQ84ywnDzPKIE0YWPLpkI4N7dubYQd1zHYqZWZNxwmhiFVW1/GP5Zs4+dgDJ49nNzPKCE0YT\n+9srm6iuq+fsY/vnOhQzsyblhNHEHnlpA326dKB4eO9ch2Jm1qSymjAkTZb0iqQVkq7ay35J+nmy\nf5GkCZke2xJV1dbxt1fKOHNMfwra+XKUmeWXrCUMSQXADcA5wBhguqQxjaqdA4xKXjOAXx3EsS3O\nP1dspqKq1jfrmVleyuYSrROBFclyq0i6C5gKLE2rMxW4NSICeE5ST0kDgeEZHNtkplz/D/bU1B3S\nOWrq6lmztZJundrzziP7NFFkZmYtRzYTxmBgbdp2CXByBnUGZ3gsAJJmkOqdMGzYsLcV6Mh+Xaiu\nq39bx6bFwfvHDWLycQPp2L7gkM5lZtYSZTNhNIuImAnMBCguLo63c46fThvfpDGZmeWjbCaMdcDQ\ntO0hSVkmdQozONbMzJpRNmdJzQFGSRohqQMwDZjVqM4s4NJkttQpwI6IKM3wWDMza0ZZ62FERK2k\nK4FHgQLg5ohYIulTyf4bgdnAucAKoBL4xP6OzVasZmZ2YEpNUMoPxcXFMXfu3FyHYWbWakiaFxHF\nmdT1nd5mZpYRJwwzM8uIE4aZmWXECcPMzDKSV4PeksqA1W/z8L7A5iYMpzVwm/NfW2svuM0H6/CI\n6JdJxbxKGIdC0txMZwrkC7c5/7W19oLbnE2+JGVmZhlxwjAzs4w4YbxpZq4DyAG3Of+1tfaC25w1\nHsMwM7OMuIdhZmYZccIwM7OMtPmEIWmypFckrZB0Va7jyQZJN0vaJOmltLLekh6XtDz52SuXMTY1\nSUMl/VXSUklLJH0+Kc/bdkvqJOkFSQuTNn8rKc/bNgNIKpD0oqQHk+28bi+ApFWSFktaIGluUpb1\ndrfphCGpALgBOAcYA0yXNCa3UWXFLcDkRmVXAU9GxCjgyWQ7n9QCX4qIMcApwGeS/7b53O4q4N0R\nMQ44AZicrDOTz20G+Dzwctp2vre3wRkRcULa/RdZb3ebThjARGBFRKyMiGrgLmBqjmNqchHxFLC1\nUfFU4PfJ+98DH2jWoLIsIkojYn7yvpzUF8pg8rjdkVKRbBYmryCP2yxpCPA+4Ka04rxt7wFkvd1t\nPWEMBtambZckZW1B/2R1Q4ANQP9cBpNNkoYD44HnyfN2J5dnFgCbgMcjIt/b/FPgq0B9Wlk+t7dB\nAE9ImidpRlKW9XZnc01vayUiIiTl5fxqSV2Bu4EvRMROSW/sy8d2R0QdcIKknsC9ko5rtD9v2izp\nPGBTRMyTdPre6uRTexuZFBHrJB0GPC5pWfrObLW7rfcw1gFD07aHJGVtwUZJAwGSn5tyHE+Tk1RI\nKlncHhH3JMV5326AiNgO/JXU2FW+tvlU4P2SVpG6nPxuSbeRv+19Q0SsS35uAu4ldXk96+1u6wlj\nDjBK0ghJHYBpwKwcx9RcZgEfS95/DLg/h7E0OaW6Er8FXo6In6Ttytt2S+qX9CyQ1Bk4E1hGnrY5\nIr4eEUMiYjipf7t/iYhLyNP2NpDURVK3hvfAWcBLNEO72/yd3pLOJXUdtAC4OSK+l+OQmpykO4HT\nST0CeSNwLXAf8CdgGKlHwn8oIhoPjLdakiYBTwOLefP69tWkxjHyst2SxpIa7Cwg9cfgnyLi25L6\nkKdtbpBckvpyRJyX7+2VdASpXgWkhhXuiIjvNUe723zCMDOzzLT1S1JmZpYhJwwzM8uIE4aZmWXE\nCcPMzDLihGFmZhlxwjAzs4w4YVibJalP8njoBZI2SFqXtv1MFj7v45LKJN104NpvOe7bkt57gDof\nTh7R/+ChRWm2b74PwwyQ9E2gIiJ+lMXP+DhQHBFXZun8p5PcvJaN85u5h2G2F5Iqkp+nS/q7pPsl\nrZT0A0kXJwsVLZY0MqnXT9LdkuYkr1Mz+IyPS7ovWexmlaQrJf1nshjQc5J6J/VukXRR8n6VpG9J\nmp98/uhs/h7M0jlhmB3YOOBTwDHAR4GjImIiqTUYPpvU+RnwvxFxEnAhb12fYX+OAy4ATgK+B1RG\nxHjgWeDSfRyzOSImAL8CvnzwzTF7e/x4c7MDm9OwzoCk14DHkvLFwBnJ+/cCY9Ien95dUte0BY32\n5a/JAk/lknYAD6Sde+w+jml48u48UsnGrFk4YZgdWFXa+/q07Xre/DfUDjglIvZk4dz7OqZuP3XM\nmpwvSZk1jcd48/IUkk7IYSxmWeGEYdY0PgcUS1okaSmpMQ+zvOJptWbNxNNqrbVzD8Os+ewGzjnY\nG/cyIenDwC+BbU19brMG7mGYmVlG3MMwM7OMOGGYmVlGnDDMzCwjThhmZpaR/w+adFx7xeGSFAAA\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t = np.linspace(0,50,200)\n", "tau = 10\n", "tau_delay = 3\n", "K = 2\n", "\n", "y = foptd(t,K,tau,tau_delay)\n", "plt.plot(t,y)\n", "plt.xlabel('Time [min]')\n", "plt.ylabel('Response')\n", "plt.title('FOPTD Step Response')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "## Fitting an FOPTD model" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "### Sample Problem Statement\n", "\n", "A distillation column is initially at steady state where the cooling water flow to the condensor is 110 kg/hr and the vapor phase mole fraction of the volatile compound is 0.87. At t = 60 min, the steam flow is raised to 120 kg/hr. The vapor phase mole fraction increases as shown in the following chart. \n", "\n", "The problem task to fit a FOPTD model to this experimental result." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# create the hypothetical problem data\n", "delta_y,t = control.step(0.05*control.tf([-2, 1],[25, 10, 1]))\n", "y = 0.87 + delta_y\n", "t = t + 60\n", "\n", "plt.plot(t,y)\n", "plt.xlabel('Time [min]')\n", "plt.ylabel('mole fraction')\n", "plt.title('Vapor mole fraction response to 10 kg/hr increase in condensor coolng')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "### Step 1. Shift and scale the experimental data to correspond to a unit step input at time t = 0.\n", "\n", "The first step is to scale the experimental data to fit the framework of an FOPTD model. This generally involves three steps:\n", "\n", "* Shift the time scale to t = 0 corresponds to the start of the experiment.\n", "\n", "$$ t_s = t - t_0$$\n", "\n", "* Shift the response so y = 0 is the initial steady state\n", "* Rescale the response to a unit change in input\n", "\n", "$$ y_s = \\frac{y(t) - y_0}{u_\\infty - u_0}$$" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEICAYAAABfz4NwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8VNX9//HXh5CwhCUsAYSETcImCGJE/NYW27qAXVBb\nW+niVhes+m391lpb69LNWm1ra+tXq/1atXWjdYGqlWJbbauiBGQLa0CWhBACISEhZP/8/piLv0hJ\nMpDlzmTez8djHjNz7zkzn3sg9zP3nHvPNXdHRESkS9gBiIhIbFBCEBERQAlBREQCSggiIgIoIYiI\nSEAJQUREACUEaQNmdqmZ/buZ9X8xs0savf+hme0xs11t9P2vmdkVbfFZLXzPSDNzM+va3t/V6Dub\nbdv2qiuJSQlBomJmp5vZm2ZWZmYlZvaGmZ0STV13n+3ujwWfMxz4BjDR3YeEsZNtL61po47WqN0r\ngkeRmb1oZmcdxWco4XQySgjSIjPrA7wI/AroDwwDvgdUH8PHDQf2uvvutoswfG3cRh0pzd17AVOA\nxcDzZnZpuCFJWJQQJBpjAdz9KXevd/eD7v5Xd1/VuJCZ/dTM9pnZe2Y2u9Hy18zsCjM7k8hOZ2jw\nq/RR4J9BsdJg2WlBncvNbF3weYvMbESjzzvLzNYHv8R/DVhTgZvZdDN7y8xKzazQzH5tZimN1ruZ\nzTOzTUGZ+83MgnVJwTbtMbMtwCda00ZmdmWwTeVmttbMpgXLbzazzY2Wn9/M9ow3s8XBEcgGM/tc\no3UDzGyhme03s3eA45uJ9wPcfZe7/xK4A/iJmXVpLjYzmwA8CJwW/LuVBss/YWbvBjHsMLM7oo1B\nYoC766FHsw+gD7AXeAyYDfQ7bP2lQC1wJZAEXAPsBCxY/xpwRfD6DCC/Ud2RgANdGy2bA+QBE4Cu\nwHeBN4N1A4Fy4LNAMnADUHfo848Q+8nAjOBzRgLrgK83Wu9EftmnETl6KQZmBevmAeuBTCK/+v9x\neKxH0UYXAgXAKUQS2BhgRKN1Q4n8QPs8cAA4rlHb/jt4nQrsAC4LtuckYA+R7jeAp4H5QblJwff9\nu4l2+Y92D5aPDpZPOJrYGtU/A5gclD8RKALOC/v/sB7RPXSEIC1y9/3A6UR2FA8DxcEv0cGNim1z\n94fdvZ7ITvE4YPB/flpU5gE/dvd17l4H3AlMDY4SzgVy3f1P7l4L/AJocnDa3Ze5+xJ3r3P3rcBv\ngJmHFbvL3UvdfTuRnf7UYPnngF+4+w53LwF+3Mz3tNRGVwB3u/tSj8hz921B3T+6+053b3D3Z4BN\nwPQjfM0nga3u/rtge94FngUuNLMk4DPAbe5+wN3XEPl3OFo7g+f+RxnboXZ4zd1XB+VXAU/xn+0t\nMUoJQaIS7JwvdfcMIr8+hxLZGR+yq1HZyuBlr2P8uhHAL4MunFKghMiv6mHB9+5o9F3e+P3hzGxs\nMFi6y8z2E0kuAw8r1jihVDaK+wPfBWxrLugW2igT2NxEjBeb2YpG2zvpCDFCpF1OPVQuKPtFYAiQ\nTuSoIep4mzAseC45ytgObcupZvYPMys2szIiyb3J8hJblBDkqLn7euBRIjuHVn/cEZbtAK5297RG\njx7u/iZQSGTnCkDQ3595hM845AEi3T5Z7t4H+A7NjDkc5gPfRaRLKSpHaKMdHKFPPzjqeRi4Dhjg\n7mnAmiZi3AG8fli79HL3a4h0ddUda7yNnA/sBjZEEduR/u2eBBYCme7el8g4Q7TtLSFTQpAWBQOZ\n3zCzjOB9JjAXWNIGH18MNBDpuz7kQeDbZnZC8H19zezCYN1LwAlmdkFwqup/E/mF3JTewH6gwszG\nExnfiNZ84L/NLMPM+gE3N1Uwijb6LXCjmZ1sEWOCHW4qkR1rcVDvMppOtC8CY83sy2aWHDxOMbMJ\nQVfdc8AdZtbTzCYClzTxOUeKf7CZXQfcDnzb3RuiiK0IyGg8SE+kvUvcvcrMpgNfiDYGCZ8SgkSj\nHDgVeNvMDhDZya0hcj1BqwTdSz8C3gi6JWa4+/PAT4Cng26eNUQGanH3PUQGOu8iMoibBbzRzFfc\nSGSnVE7k1+4zRxHew8AiYCWwnMgOtynNtpG7/zHYzieDsi8A/d19LfAz4C0iO9jJTW2Pu5cDZwMX\nEenr30WknboFRa4j0t21i8jRye+i2MbSIN7VRMZnLnT3R4Lvaym2vwO5wC4z2xMs+yrwfTMrB24j\nklQlThw6C0RERBKcjhBERARQQhARkYASgoiIAEoIIiISiKsZJgcOHOgjR44MOwwRkbiybNmyPe6e\n3lK5uEoII0eOJCcnJ+wwRETiiplFddW6uoxERARQQhARkYASgoiIAFEmBDObFdyMI8/M/mM+l2Bu\nlvuC9asO3fijubpmdoeZFQQzKa4ws3PbZpNERORYtJgQgnnW7ycyl8xEYG4wcVZjs4nMKZMFXEVk\nhslo6t7r7lODx8ut3RgRETl20RwhTAfy3H2Lu9cQuSvTnMPKzAEeD278sQRIM7PjoqwrIiIxIJqE\nMIwP3nQjn/9/E42WyrRU9/qgi+mRYHrh/2BmV5lZjpnlFBcXRxGuiIgcizCvQ3gA+AGR+dZ/QGSa\n3csPL+TuDwEPAWRnZ2tqVhGJew0NzsHaeg7U1FFZHXk+WFPPwdp6Kmvqqaqtf//9wdp6qmrquWBa\nBiMHprZrXNEkhAI+eBemjGBZNGWSm6rr7kWHFprZw0Ru/iEiErPcnQM19ew/WMv+qlr2H6x7/3V5\nVR3lVbWUV9dRXlVHRVUdFdXBo6qOypo6Kqrrqaypo7Km/qi/e9qIfjGREJYCWWY2isjO/CL+8y5I\nC4HrzOxpIjcJKXP3QjMrbqqumR3n7oVB/fOJ3ExERKRD1Dc4pZU1lByoYe+ByHPJgRr2HahhX2Ut\npZU17KusofRgLWUHaymrjDzXNTTfUZHStQt9unelV7eupHaLPB/XtzupwfvUlCR6dutKr25J9Ejp\nSs/kJFIPvU5JokdyEj2C554pSXRPTqJb1y5E7hbbvlpMCO5eF9xabxGQBDzi7rlmNi9Y/yDwMpG7\nLeURuUn5Zc3VDT76bjObSqTLaCtwdVtumIgkpvKqWor2V7F7fzW7y6vZXV5FcXl15FFRzZ7yGvYe\nqKbkQA1N7dtTU5JI65lCv9Rk+vVMYWhaD/r2SCatRzJ9Gz369Eimd/eu9Okeee7dPZmUrvF7eVdc\n3TEtOzvbNZeRSOKqrKljZ+lBCkqrKNh3kMKyg+wsrWLX/oMUllVRVFbFgSN0x3RP7kJ6724M7NX4\nkcKA1BT69+oWeQ4eaT2T6dY1KYStaz9mtszds1sqF1eT24lI51bf4BSWHWTb3kq27a1ke0klO0oq\nyd9XSf6+g+w9UPOB8l0MBvfpzpC+3Rk/pDczx6YzJHg/qHd3BvXpxqDe3ejVrWuHdLnEOyUEEelw\neyuq2Vx8gM3FFby35wBbig/w3p4KdpQcpKa+4f1yyUlGRr+eZPTrwdlD+5LRrwcZ/XowLK0HQ9N6\nMKh3N7omxW8XTaxRQhCRdlNyoIYNu8rZsGs/m3ZXsKmogk27y9lXWft+mZSuXRg1IJUxg3px1sQh\njBzQk+EDejJyQCqD+3QnqYt+2XcUJQQRabWGBmfr3gOs2bmfdYX7WbtzP2sL91NcXv1+mb49khk7\nuBezJg1hzKDeHJ+eyvHpvRiW1oMu2unHBCUEETkq7s62vZWszC9lVX4Zq/PLyN1Z9v5gbnKSMWZQ\nbz6cNZAJQ/owbkhvxg/pTXrvburHj3FKCCLSrAPVdazYUcrybft4d0cp727f936XT7euXZg4tA+f\nOTmDScP6csLQPmQN6h3Xp14mMiUEEfmAfQdqeGdrCW9vKWHp1hLWFu6nPjhhP2tQL86aOJipmf2Y\nktmXsYN7k6xB3U5DCUEkwZVX1fLOeyW8uXkvb27ey7rC/UDk1//UzDSumXk8J4/sx7Th/ejbIznk\naKU9KSGIJJj6BmdVfin/3LiHf+cVs3x7KfUNTreuXcge2Y8bzx7LqaMHcGJG3053gZY0TwlBJAGU\nHazltQ27eW1DMa9vLKbkQA1mMHlYX+bNHM2Hxgxk2vB+dE9WAkhkSgginVRB6UEWrdnFq+uKeOe9\nEuoanP6pKcwcm84Z49L5cFY6/VNTwg5TYogSgkgnsm3vAV5cVcii3F2syi8DYMygXlz5kdGcOWEw\nUzPTdKGXNEkJQSTOFZYd5M8rd/LnlYWsLogkgSmZaXxr1njOOWEwo9N7hRyhxAslBJE4tL+qlpdX\nFfL8uwW8s7UEd5iS0Zdbzp3A7MlDyOjXM+wQJQ4pIYjEiYYG543Ne/jTsnxeWbOL6roGRg9M5esf\nH8ucqUPb/W5a0vkpIYjEuKL9VcxfuoNncnaQv+8gfbp35cLsDD4zLYOpmWmaDkLajBKCSAxyd97a\nvJfH39rG4nVF1Dc4p40ewDfPGcc5JwzR6aHSLpQQRGJIZU0dzy4v4LE3t5K3u4J+PZO54vRRzJ0+\nXF1C0u6UEERiQGHZQR59cytPvb2d/VV1nJjRl59eOIVPnnicjgakwyghiIRoY1E5v3l9CwtWFNDg\nzqxJQ/jK6aOYNryfxgakwykhiIRg5Y5Sfv2PPBavLaJ7che+NGMEXzl9FJn9dbqohEcJQaQDLdtW\nwi//lsc/NxbTt0cyX/t4Fpf810hNISExQQlBpAOs3FHKzxdv5PWNxQxITeFbs8bzpRnD6d1d00lL\n7FBCEGlHm4rKuXvRBhavLaJfz2Runj2ei08bQc8U/elJ7NH/SpF2UFh2kF8s3sQfl+0gNaUr3zhr\nLJedPope3fQnJ7FL/ztF2tCB6jp+8/pmHvrXFhoa4LIPjeLaj47RGIHEBSUEkTbQ0OA8uzyfexZt\nYHd5NZ+aMpSbzhmns4YkrighiLTSqvxSbluQy4odpUzNTOOBL53MySP6hR2WyFFTQhA5RqWVNfzk\nlQ08vXQ7A1K78bMLp3D+ScPoohvQSJzqEk0hM5tlZhvMLM/Mbj7CejOz+4L1q8xs2lHU/YaZuZkN\nbN2miHQMd+f5d/P5+M9eZ37ODi7/0Cj+fuNMPnNyhpKBxLUWjxDMLAm4HzgLyAeWmtlCd1/bqNhs\nICt4nAo8AJzaUl0zywTOBra33SaJtJ/teyv5zvOr+XfeHqZmpvH78yczcWifsMMSaRPRdBlNB/Lc\nfQuAmT0NzAEaJ4Q5wOPu7sASM0szs+OAkS3UvRe4CVjQBtsi0m7qG5xH39zKTxdtIKmL8YM5J/CF\nU0fo/sTSqUSTEIYBOxq9zydyFNBSmWHN1TWzOUCBu69sbhIvM7sKuApg+PDhUYQr0ra2FFdw4x9X\nsnx7KR8dl86Pzp/M0LQeYYcl0uZCGVQ2s57Ad4h0FzXL3R8CHgLIzs72dg5N5H0NDc7vl2zjx39Z\nR7euSdz7+SmcN3WYZiGVTiuahFAAZDZ6nxEsi6ZMchPLjwdGAYeODjKA5WY23d13Hc0GiLSHXWVV\n3PjHlfw7bw8zx6Zz92dPZHCf7mGHJdKuokkIS4EsMxtFZGd+EfCFw8osBK4LxghOBcrcvdDMio9U\n191zgUGHKpvZViDb3fe0doNEWuuVNbu4+blV1NQ1cOf5k5k7PVNHBZIQWkwI7l5nZtcBi4Ak4BF3\nzzWzecH6B4GXgXOBPKASuKy5uu2yJSKtdLCmnu+/uJan3tnO5GF9+eVFUxmd3ivssEQ6jEVODIoP\n2dnZnpOTE3YY0gnl7a7g2ieWs6GonKtnjuYbZ40jpWtUl+mIxDwzW+bu2S2V05XKkvBeeLeA7zy/\nmu7JSTx2+XRmjk0POySRUCghSMKqrqvn+39eyxNvb2f6yP7cN/ckhvTVwLEkLiUESUi7yqq45oll\nvLu9lKtnjuabZ4+ja5K6iCSxKSFIwnnnvRK++sQyDtbU88AXpzF78nFhhyQSE5QQJKE8/c52bl2w\nhsx+PXn6qhmMGdQ77JBEYoYSgiSEuvoGfvjSOh59cysfGZvOr+aeRN8eusG9SGNKCNLplVfVcu2T\n7/LPjcVccfoobp49XuMFIkeghCCdWkHpQb7y6FLydldw1wWTuWi6JkgUaYoSgnRaawrKuOzRpVTV\n1PPoZdM5PUv3YBJpjhKCdEr/2lTMvN8vI61nCn+45lTGDdHgsUhLlBCk03nh3QJu/ONKxgzqxWOX\nT9cspSJRUkKQTuW3/9rCD19ax4zR/Xno4mz6dNeZRCLRUkKQTsHduXfxRu77ex7nTh7CvZ+fSreu\nSWGHJRJXlBAk7jU0ON9/cS2PvrmVz2dncucFk3WvY5FjoIQgca2+wfnWs6v407J8rjh9FLd8YoJu\nZiNyjJQQJG7V1TfwjT+uZMGKnXz9zCy+9vEsJQORVlBCkLhUW9/A159ewUurC7lp1ji+esaYsEMS\niXtKCBJ3ausbuP7Jd3kldxff/cQErvjw6LBDEukUlBAkrtQFRwav5O7itk9O5PLTR4UdkkinoRm+\nJG7UNzj/M38lL60u5JZzJygZiLQxJQSJCw0Nzjf/tJKFK3dy06xxXPkRdROJtDUlBIl57s7tC3N5\nbnkBN5w5VgPIIu1ECUFi3j2LNvD7Jdu46iOj+e+PKxmItBclBIlpD76+mf99bTNzpw/n27PH6zoD\nkXakhCAx65ml27nrL+v51JSh/PC8SUoGIu1MCUFi0uK1RXz7udV8OGsgP7twiuYmEukASggSc3K2\nlnDdk8uZPKwvD37pZFK66r+pSEfQX5rElLzdFXzlsRyGpvXgkUtPIbWbrp0U6ShKCBIzisurufR3\n75CcZDx++XQG9OoWdkgiCSWqhGBms8xsg5nlmdnNR1hvZnZfsH6VmU1rqa6Z/SAou8LM/mpmQ9tm\nkyQeVdbUccVjS9lbUcP/XXIKmf17hh2SSMJpMSGYWRJwPzAbmAjMNbOJhxWbDWQFj6uAB6Koe4+7\nn+juU4EXgdtavzkSj+obnK89vYLVBWXcN/ckpmSmhR2SSEKK5ghhOpDn7lvcvQZ4GphzWJk5wOMe\nsQRIM7Pjmqvr7vsb1U8FvJXbInHqrr+sY/HaIm7/1AmcNXFw2OGIJKxoEsIwYEej9/nBsmjKNFvX\nzH5kZjuAL9LEEYKZXWVmOWaWU1xcHEW4Ek+efmc7D//rPS45bQSX/NfIsMMRSWihDiq7+y3ungk8\nAVzXRJmH3D3b3bPT09M7NkBpV29u3sN3X1jDh7MGcusnD++FFJGOFk1CKAAyG73PCJZFUyaauhBJ\nCJ+JIhbpJLbtPcBXn1jOiAE9+fUXptE1SSe8iYQtmr/CpUCWmY0ysxTgImDhYWUWAhcHZxvNAMrc\nvbC5umaW1aj+HGB9K7dF4kRFdR1XPp6DOzxy6Sn07ZEcdkgiQhR3THP3OjO7DlgEJAGPuHuumc0L\n1j8IvAycC+QBlcBlzdUNPvouMxsHNADbgHltumUSkxoanG/MX0He7goev/xURgxIDTskEQmYe/yc\n3JOdne05OTlhhyGt8MtXN3Hvqxt1L2SRDmRmy9w9u6Vy6riVDvPq2iLufXUjF5w0jK/o9pciMUcJ\nQTrE1j0HuGH+CiYN68OdF0zWVNYiMUgJQdpdZU0d8/6wjKQuxgNfPJnuyUlhhyQiR6CpJKVduTvf\nfm41G4rKefSy6ZqjSCSG6QhB2tUflmxjwYqd/M+ZY5k5VhcWisQyJQRpN6vzy/jBi+s4Y1w61350\nTNjhiEgLlBCkXZQdrOWrTy5jYK8U7v3cVLroFpgiMU9jCNLm3J2b/rSSwtIqnrn6NPqlpoQdkohE\nQUcI0uYefXMri3KLuHn2eE4e0S/scEQkSkoI0qbWFJTx45fXc+aEQbr4TCTOKCFIm6moruP6p96l\nf2oK93x2ii4+E4kzGkOQNnPbgjVs23uAJ6+coXEDkTikIwRpEy+8W8Bzywu4/mNZzBg9IOxwROQY\nKCFIq+0oqeTWF9aQPaIf139M1xuIxCslBGmVuvoGbnhmBQD3fn6q7nwmEsc0hiCt8r+vbSZn2z5+\nedFUzVMkEuf0c06O2bvb9/HLv23ivKlDmTN1WNjhiEgrKSHIMamsqeOGZ1YwpE93vn/epLDDEZE2\noC4jOSZ3vryObSWVPHXlDPp0Tw47HBFpAzpCkKP22obd/GHJdr7yoVE6xVSkE1FCkKNSWlnDTX9a\nRdagXtx4zriwwxGRNqQuIzkqty3IpeRADY9ceopuhSnSyegIQaL2l9WFLFy5k+s/lsWkYX3DDkdE\n2pgSgkRlb0U1331hDZOG9eGrHz0+7HBEpB2oy0iictuCXPZX1fLkhTNI1tXIIp2S/rKlRS+u2slL\nqwv5+pljGTekd9jhiEg7UUKQZu2tqOa2BbmcmNGXqz8yOuxwRKQdKSFIs77357WUV9Vyz2enaOI6\nkU5Of+HSpL/m7nr/rCJ1FYl0flElBDObZWYbzCzPzG4+wnozs/uC9avMbFpLdc3sHjNbH5R/3szS\n2maTpC2UHazluy+sYfyQ3lxzhs4qEkkELSYEM0sC7gdmAxOBuWY28bBis4Gs4HEV8EAUdRcDk9z9\nRGAj8O1Wb420mR+9tJa9B2q457NTdFaRSIKI5i99OpDn7lvcvQZ4GphzWJk5wOMesQRIM7Pjmqvr\n7n9197qg/hIgow22R9rAG3l7mJ+Tz5UfHs3kDF2AJpIookkIw4Adjd7nB8uiKRNNXYDLgb8c6cvN\n7CozyzGznOLi4ijCldaoqq3nO8+vZuSAnnz9zKywwxGRDhR6X4CZ3QLUAU8cab27P+Tu2e6enZ6e\n3rHBJaBfvLqJbXsrufOCyZqrSCTBRHOlcgGQ2eh9RrAsmjLJzdU1s0uBTwIfd3ePOmppF2sKynj4\nX1u46JRM/uv4gWGHIyIdLJojhKVAlpmNMrMU4CJg4WFlFgIXB2cbzQDK3L2wubpmNgu4Cfi0u1e2\n0fbIMaqrb+Dbz62mX88Uvj17QtjhiEgIWjxCcPc6M7sOWAQkAY+4e66ZzQvWPwi8DJwL5AGVwGXN\n1Q0++tdAN2CxmQEscfd5bblxEr3H3trG6oIyfv2Fk+jbU3dAE0lEFk89NdnZ2Z6TkxN2GJ1OQelB\nzvr565w6qj+PXHoKQYIWkU7CzJa5e3ZL5UIfVJZwuTu3L1iDO3x/ziQlA5EEpoSQ4Bbl7uLVdbu5\n4awsMvv3DDscEQmREkICq6iu4/aFuUw4rg+Xf2hU2OGISMiUEBLYz/+6kd3l1dx5/iTNZCoiSgiJ\nak1BGY+++R5fmD6ck4b3CzscEYkBSggJqL7BueWFNfRPTeGmc8aHHY6IxAglhAT01DvbWbmjlFs+\nMUHXHIjI+5QQEkxxeTV3v7Ke00YP4LypR5pnUEQSlRJCgvnxX9ZxsLaeH5ynaw5E5IOUEBLIO++V\n8NzyAq788GjGDOoVdjgiEmOUEBJEbX0Dt76whmFpPbjuY2PCDkdEYpASQoJ47M2tbCgq5/ZPTaRn\nSjSznotIolFCSABF+6u4d/FGPjZ+EGdNHBx2OCISo5QQEsCPXlpHbYNzx6dO0ECyiDRJCaGTe3Pz\nHhau3Mk1M49n+ABNXiciTVNC6MRq6xu4fUEumf17cM0Zx4cdjojEOCWETuzRN7ayaXcFt3/yBLon\nJ4UdjojEOCWETqpofxW/eDUykHymBpJFJApKCJ3UnS9HBpJv/9TEsEMRkTihhNAJvb1lLwtW7GTe\nR0YzYkBq2OGISJxQQuhk6uobuH1hLsPSenDNGboiWUSip4TQyfxhyTbW7yrn1k9OoEeKBpJFJHpK\nCJ3InopqfrZ4Ix/OGsg5JwwJOxwRiTNKCJ3I3a+sp6q2ntt1RbKIHAMlhE7i3e37mJ+Tz+UfGqWp\nrUXkmCghdAINDc7tC3MZ1Lsb1388K+xwRCROKSF0AvNzdrAqv4xbPjGBXt00tbWIHBslhDhXVlnL\n3Ys2MH1kfz49ZWjY4YhIHFNCiHM/W7yB0soa7vi0BpJFpHWiSghmNsvMNphZnpndfIT1Zmb3BetX\nmdm0luqa2YVmlmtmDWaW3Tabk1hyd5bxhyXb+PKMEUwc2ifscEQkzrWYEMwsCbgfmA1MBOaa2eET\n5MwGsoLHVcADUdRdA1wA/LP1m5F43J3bF+SS1jOF/zlrXNjhiEgnEM0RwnQgz923uHsN8DQw57Ay\nc4DHPWIJkGZmxzVX193XufuGNtuSBPPCigJytu3jW7PG0bdnctjhiEgnEE1CGAbsaPQ+P1gWTZlo\n6jbLzK4ysxwzyykuLj6aqp1WeVUtd768nikZfbnw5MywwxGRTiLmB5Xd/SF3z3b37PT09LDDiQn3\n/W0Teyqq+d6cSXTpooFkEWkb0Zy0XgA0/hmaESyLpkxyFHXlKGwqKud3b2zl89mZTM1MCzscEelE\nojlCWApkmdkoM0sBLgIWHlZmIXBxcLbRDKDM3QujrCtRcnduW5BLareu3DRrfNjhiEgn02JCcPc6\n4DpgEbAOmO/uuWY2z8zmBcVeBrYAecDDwFebqwtgZuebWT5wGvCSmS1q0y3rhF5cVchbW/Zy4znj\n6J+aEnY4ItLJmLuHHUPUsrOzPScnJ+wwQnGguo6P/+x1BvRKYeF1p5OksQMRiZKZLXP3Fq/30sQ3\nceK+v29i1/4q7v/iNCUDEWkXMX+WkUQGkv/vX+/xuewMTh7RL+xwRKSTUkKIce7OrQvWkNqtK9/S\nQLKItCMlhBi3cOVOlmwp4ZvnjGNAr25hhyMinZgSQgzbX1XLD19ax4kZfZk7fXjY4YhIJ6dB5Rh2\n7+KN7Kmo5rcXZ2sgWUTanY4QYtSagjIee3MrXzp1BFN0RbKIdAAlhBhU3+Dc8vxq+qd248ZzNLW1\niHQMJYQY9OTb21iZX8atn5xA3x6a2lpEOoYSQozZXV7F3a9s4PQxA3WPZBHpUEoIMeb7f15LdX0D\nPzhvku6RLCIdSgkhhvx9fREvrirk+o+OYdTA1LDDEZEEo4QQIyqq6/ju82sYN7g3V888PuxwRCQB\nKSHEiJ8u2kDh/iruvGAyKV31zyIiHU97nhjw7vZ9PPbWVr48Y4QmrxOR0CghhKy6rp5vPbuKwb27\n801dcyAAM1+YAAAI9klEQVQiIdLUFSH71d/y2FhUwe8uPYXe3XXNgYiER0cIIVqdX8YDr2/msydn\n8NHxg8IOR0QSnBJCSGrqGvjmn1YysFcKt35iYtjhiIioyygsv/77JtbvKueRS7Pp21NdRSISPh0h\nhGD59n3c/9pmLpg2jI+NHxx2OCIigBJChztQXccNz6xgSJ/u3PHpE8IOR0Tkfeoy6mA/fGkt20sq\neeaq0+ijs4pEJIboCKEDLV5bxFPv7GDezOOZPqp/2OGIiHyAEkIH2Vl6kG/+aSUnDO3DDWeODTsc\nEZH/oITQAWrrG7juyeXU1jXwq7knaa4iEYlJGkPoAPcs2sDy7aX8au5JjE7vFXY4IiJHpJ+q7ezV\ntUU89M8tfGnGcD6lO6CJSAxTQmhHm4sruGH+Ck4Y2ofv6mpkEYlxUSUEM5tlZhvMLM/Mbj7CejOz\n+4L1q8xsWkt1zay/mS02s03Bc6ea97m0soYrHsshJakLv/nyyXRPTgo7JBGRZrWYEMwsCbgfmA1M\nBOaa2eE/d2cDWcHjKuCBKOreDPzN3bOAvwXvO4Xa+gaufXI5BfsO8psvn0xGv55hhyQi0qJojhCm\nA3nuvsXda4CngTmHlZkDPO4RS4A0MzuuhbpzgMeC148B57VyW5r09DvbufaJ5bh7e33F+9yd7/05\nlzfy9vKj8yeRPVLXG4hIfIgmIQwDdjR6nx8si6ZMc3UHu3th8HoXcMRJfczsKjPLMbOc4uLiKML9\nT5U19by0upD5OTtaLtxK9y7eyB+WbOfqmaO5MDuz3b9PRKStxMSgskd+uh/x57u7P+Tu2e6enZ6e\nfkyff+l/jeTUUf35wYvryN9X2ZpQm/Wb1zdz39/z+Hx2JjfPGt9u3yMi0h6iSQgFQOOfuhnBsmjK\nNFe3KOhWInjeHX3YR6dLF+OnF07B3fnWs6toaGj7rqPfL9nGj/+ynk9NGcqdF0zGzNr8O0RE2lM0\nCWEpkGVmo8wsBbgIWHhYmYXAxcHZRjOAsqA7qLm6C4FLgteXAAtauS3Nyuzfk+98YgJv5O3libe3\ntdnnuju//vsmbn1hDWdOGMTPPzeFpC5KBiISf1q8Utnd68zsOmARkAQ84u65ZjYvWP8g8DJwLpAH\nVAKXNVc3+Oi7gPlm9hVgG/C5Nt2yI/jC9OG8smYXP3xpHaMG9uL0rIGt+ry6+gZuXbCGp97ZwXlT\nh/KTz55IclJM9MKJiBw164gzb9pKdna25+TktOoz9lZU88Xfvs17ew7w8MXZfGTssY1L7Kmo5hvz\nV/L6xmKu/ejx3Hj2OHUTiUhMMrNl7p7dUrmE+zk7oFc3nrxyBqMGpnLF4zm8vvHoz1x6aVUhZ9/7\nT97avJc7z5/MN88Zr2QgInEv4RICQP/UFJ66cgZj0nvxlUeXcsfCXEoO1LRYb/2u/Vz7xHKufXI5\nw9J68OfrT+cLpw7vgIhFRNpfws522i9ICncvWs/jb23l2eX5zJt5PB8aM5Bxg3vTIyWJuvoGdpZW\nsTK/lD8s2cbb75XQrWsXbjx7LPNmHk9XjReISCeScGMIR7KxqJw7X17Haxsi3UddDAb36c6eimpq\n6yPtMyytBxefNoLPn5JJWs+UNo9BRKS9RDuGkLBHCI2NHdybRy+bzo6SSnJ37mdd4X62l1QypG93\nRg1IZVR6KtOG99PppCLSqSkhNJLZvyeZ/Xsya9KQsEMREelw6gQXERFACUFERAJKCCIiAighiIhI\nQAlBREQAJQQREQkoIYiICKCEICIigbiausLMioncO+FYDAT2tGE47S2e4o2nWCG+4o2nWCG+4o2n\nWKF18Y5w9xbn+o+rhNAaZpYTzVwesSKe4o2nWCG+4o2nWCG+4o2nWKFj4lWXkYiIAEoIIiISSKSE\n8FDYARyleIo3nmKF+Io3nmKF+Io3nmKFDog3YcYQRESkeYl0hCAiIs1QQhARESBBEoKZzTKzDWaW\nZ2Y3hx1Pc8xsq5mtNrMVZtb29wttJTN7xMx2m9maRsv6m9liM9sUPPcLM8ZDmoj1DjMrCNp3hZmd\nG2aMh5hZppn9w8zWmlmumX0tWB6rbdtUvDHXvmbW3czeMbOVQazfC5bHats2FW+7t22nH0MwsyRg\nI3AWkA8sBea6+9pQA2uCmW0Fst09Ji+YMbOPABXA4+4+KVh2N1Di7ncFCbefu38rzDiDuI4U6x1A\nhbv/NMzYDmdmxwHHuftyM+sNLAPOAy4lNtu2qXg/R4y1r5kZkOruFWaWDPwb+BpwAbHZtk3FO4t2\nbttEOEKYDuS5+xZ3rwGeBuaEHFPccvd/AiWHLZ4DPBa8fozIjiF0TcQak9y90N2XB6/LgXXAMGK3\nbZuKN+Z4REXwNjl4OLHbtk3F2+4SISEMA3Y0ep9PjP7HDTjwqpktM7Orwg4mSoPdvTB4vQsYHGYw\nUbjezFYFXUox0U3QmJmNBE4C3iYO2vaweCEG29fMksxsBbAbWOzuMd22TcQL7dy2iZAQ4s3p7j4V\nmA1cG3R7xA2P9EHGcj/kA8BoYCpQCPws3HA+yMx6Ac8CX3f3/Y3XxWLbHiHemGxfd68P/q4ygOlm\nNumw9THVtk3E2+5tmwgJoQDIbPQ+I1gWk9y9IHjeDTxPpMsr1hUFfcqH+pZ3hxxPk9y9KPhjawAe\nJobaN+gvfhZ4wt2fCxbHbNseKd5Ybl8Ady8F/kGkPz5m2/aQxvF2RNsmQkJYCmSZ2SgzSwEuAhaG\nHNMRmVlqMECHmaUCZwNrmq8VExYClwSvLwEWhBhLsw7tAALnEyPtGwwk/h+wzt1/3mhVTLZtU/HG\nYvuaWbqZpQWvexA5wWQ9sdu2R4y3I9q2059lBBCcnvULIAl4xN1/FHJIR2Rmo4kcFQB0BZ6MtVjN\n7CngDCJT8RYBtwMvAPOB4USmJ/+cu4c+mNtErGcQOeR2YCtwdaN+5NCY2enAv4DVQEOw+DtE+uVj\nsW2bincuMda+ZnYikUHjJCI/gue7+/fNbACx2bZNxft72rltEyIhiIhIyxKhy0hERKKghCAiIoAS\ngoiIBJQQREQEUEIQEZGAEoKIiABKCCIiEvh/oJVto3UaMrIAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ts = t - t[0]\n", "ys = (y - y[0])/(120 - 110)\n", "\n", "plt.plot(ts, ys)\n", "plt.title('Shifted and Scaled Data')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "### Step 2. Create a function to compute the response of an FOPTD model." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For a given list of times $t$ and parameters $K$, $\\tau$, and $\\tau_d$, the `foptd` returns the response of an FOPTD system to a unit change in input at $t = 0$." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def foptd(t, K=1, tau=1, tau_d=0):\n", " tau_d = max(0,tau_d)\n", " tau = max(0,tau)\n", " return np.array([K*(1-np.exp(-(t-tau_d)/tau)) if t >= tau_d else 0 for t in t])\n", "\n", "z = foptd(ts, 0.005, 10, 3)\n", "plt.plot(ts,ys,ts,z)\n", "plt.legend(['Experiment','FOPTD'])" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "### Step 3. Create a function to measure the error between an FOPTD model and the experimental data.\n", "\n", "Let's called the step response of the fitted model to be $\\hat{y}_s$. We seek to minimize\n", "\n", "$$\\min_{K,\\tau,\\tau_d} \\int_0^T \\|\\hat{y}_s - y_s\\|\\,dt$$\n", "\n", "for some suitable norm $\\|\\cdot\\|$. A common choice of norm for process control is the absolute value of the difference called Integral Absolute Error (IAE)\n", "\n", "$$\\text{IAE} = \\min_{K,\\tau,\\tau_d} \\int_0^T |\\hat{y}_s - y_s|\\,dt$$\n", "\n", "The advantage of IAE over other choices of norms is that it tends to be more robust with respect to larger errors." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/plain": [ "0.0077632135835474644" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def err(X,t,y):\n", " K,tau,tau_d = X\n", " z = foptd(t,K,tau,tau_d)\n", " iae = sum(abs(z-y))*(max(t)-min(t))/len(t)\n", " return iae\n", "\n", "X = [0.005,10,3]\n", "err(X,ts,ys)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "### Step 4. Use scipy.optimize.minimize() to find the best fitting FOPTD model." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "K = 0.00512\n", "tau = 8.04\n", "tau_d = 4.61\n" ] } ], "source": [ "K,tau,tau_d = minimize(err,X,args=(ts,ys)).x\n", "\n", "print(\"K = {:.5f}\".format(K))\n", "print(\"tau = {:.2f}\".format(tau))\n", "print(\"tau_d = {:.2f}\".format(tau_d))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "### Step 5. Rescale FOPTD output and compare to experimental data." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nY4wxHvl/1RPYw5VyIZ4AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "z = foptd(ts,K,tau,tau_d)\n", "ypred = y[0] + z*(120 - 110)\n", "\n", "plt.plot(t,y,t,ypred)\n", "plt.xlabel('Time [min]')\n", "plt.ylabel('vapor mole fraction')\n", "plt.legend(['Experiment','FOPTD'])" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Linear Approximation of a Multivariable Model](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/03.03-Linear-Approximation-of-a-Multivariable-Model.ipynb) | [Contents](toc.ipynb) | [One Compartment Pharmacokinetics](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/03.05-One-Compartment-Pharmacokinetics.ipynb) >

\"Open

\"Download\"" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }