{ "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", "< [Step Response of a Gravity Drained Tank](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/03.01-Step-Response-of-a-Gravity-Drained-Tank.ipynb) | [Contents](toc.ipynb) | [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) >
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Linear Approximation of a Process Model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Key Idea\n",
"\n",
"Process models usually exhibit some form of non-linearity due to the multiplication of an extensive flowrate and an intensive thermodynamic state variable, chemical kinetics, or various types of transport phenomenon. Near a steady-state, however, an approximate linear models often provide a 'good-enough' dynamical model for control design and analysis. Here we show how a linear approximation is constructed using a Taylor series expansion."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Why is this Important?\n",
"\n",
"As we will learn later in this course, linear models are amenable to control design and analysis. For process systems that will be operated near a steady-state, linear models provide a useful framework for control design."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Procedure for a Single Variable System\n",
"\n",
"We start with a process model that consists of a single first-order\n",
"ordinary differential equation of the form\n",
"\n",
"$$\\frac{dh}{dt}=f(h,q)$$\n",
"\n",
"where $h$ is the state variable and $q$ is an input variable. Choose\n",
"a nominal value for the process input $q$, we'll call this nominal\n",
"value $\\bar{q}$. The following procedure will produce a linear approximate\n",
"valid near the steady-state."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Step 1. Find a Nominal Steady State Operating Condition\n",
"Find the steady-state value of $h$ by solving\n",
"\n",
"$$0=f(\\bar{h},\\bar{q})$$\n",
"\n",
"where $\\bar{q}$ is a nominal (i.e, typical, or desired value) of a manipulated process variable."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Step 2. Define deviation variables\n",
"\\begin{eqnarray*}\n",
"x & = & h-\\bar{h}\\\\\n",
"u & = & q-\\bar{q}\n",
"\\end{eqnarray*}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Step 3. Taylor Series Expansion\n",
"Compute the first terms in the Taylor series and evaluate at steady-state. The higher-order terms are not needed provided the lower-order terms are non-zero and the deviations are small.\n",
"$$\n",
"f(\\bar{h}+x,\\bar{q}+u)\\approx f(\\bar{h},\\bar{q})+\\left.\\frac{\\partial f}{\\partial h}\\right|_{\\bar{h},\\bar{q}}x+\\left.\\frac{\\partial f}{\\partial q}\\right|_{\\bar{h},\\bar{q}}u+\\cdots\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Step 4. Linear Approximation\n",
"The linear approximation is \n",
"$$\n",
"\\frac{dx}{dt}=\\underbrace{\\left.\\frac{\\partial f}{\\partial h}\\right|_{\\bar{h},\\bar{q}}}_{a}x+\\underbrace{\\left.\\frac{\\partial f}{\\partial q}\\right|_{\\bar{h},\\bar{q}}}_{b}u\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Example: Gravity Drained Tank\n",
"\n",
"A simple model for the liquid height in a gravity-drained tank with cross-sectional area $A$ is \n",
"\n",
"$$A\\frac{dh}{dt}=q_{in}-C\\sqrt{h}$$\n",
"\n",
"where $q_{in}$ is a volumetric inflow and $C$ is a constant associated with the drain. This is a non-linear process model that can be written\n",
"\n",
"$$\\frac{dh}{dt}=f(h,q_{in})$$\n",
"\n",
"where\n",
"\n",
"$$f(h,q_{in})=\\frac{1}{A}\\left(q_{in}-C\\sqrt{h}\\right)$$\n",
"\n",
"Given a nominal inlet flowrate $\\bar{q}_{in}$, the steady state value of $h$, that is $\\bar{h}$, is found by solving the steady state equation\n",
"\n",
"$$0=f(\\bar{h},\\bar{q}_{in})=\\frac{1}{A}\\left(\\bar{q}_{in}-C\\sqrt{\\bar{h}}\\right)$$\n",
"\n",
"which gives \n",
"\n",
"$$\\bar{h}=\\frac{\\bar{q}_{in}^{2}}{C^{2}}$$\n",
"\n",
"It's interesting to note the steady-state height of the liquid in a gravity-drained tank is proportional to the square of the nominal flowrate. A 50\\% increase in flowrate more than doubles the liquid height.\n",
"\n",
"Let $x$ and $u$ represent the deviations from steady-state\n",
"\n",
"\\begin{eqnarray*}\n",
"x & = & h-\\bar{h}\\\\\n",
"u & = & q-\\bar{q}\n",
"\\end{eqnarray*}\n",
"\n",
"Then\n",
"\n",
"\\begin{eqnarray*}\n",
"\\frac{d(\\bar{h}+x)}{dt} & = & \\frac{1}{A}\\left(\\bar{q}_{in}+u-C\\sqrt{\\bar{h}+x}\\right)\n",
"\\end{eqnarray*}\n",
"\n",
"The Taylor series expansion \n",
"\n",
"$$f(\\bar{h}+x,\\bar{q}_{in}+u)\\approx f(\\bar{h},\\bar{q}_{in})+\\left.\\frac{\\partial f}{\\partial h}\\right|_{\\bar{h},\\bar{q}}x+\\left.\\frac{\\partial f}{\\partial q}\\right|_{\\bar{h},\\bar{q}}u+\\frac{1}{2}\\left.\\frac{\\partial^{2}f}{\\partial h^{2}}\\right|_{\\bar{h}}x^{2}\\cdots$$\n",
"\n",
"For this example \n",
"\n",
"$$\\frac{dx}{dt}=\\left(-\\frac{C}{2A\\sqrt{\\bar{h}}}\\right)x+\\left(\\frac{1}{A}\\right)u$$\n",
"\n",
"An alternative form of the model is found by substituting the solution for $\\bar{h}$. While these have somewhat different analytical expressions for a given application they will yield identical numerical results.\n",
"\n",
"$$\\frac{dx}{dt}=\\left(-\\frac{C^{2}}{2A\\bar{q}_{in}}\\right)x+\\left(\\frac{1}{A}\\right)u$$\n",
"\n",
"How well does this approximation work? \n",
"\n",
"This question can be answered by comparing the results of two simulations. In the first case the simulation consists of integrating \n",
"\n",
"$$A\\frac{dh}{dt}=q_{in}-C\\sqrt{h}$$\n",
"\n",
"as shown in the graph below. \n",
"\n",
"where $A=1$, $C=2$, initial condition $h(0)=0$, and a constant input $q_{in}=\\bar{q}_{in}=1$. For these parameter values, the approximate linear model for the deviation from steady-state is given by\n",
"\n",
"\\begin{eqnarray*}\n",
"\\frac{dx}{dt} & = & \\left(-\\frac{C^{2}}{2A\\bar{q}_{in}}\\right)x+\\left(\\frac{1}{A}\\right)u\\\\\n",
"\\\\\n",
" & = & -2\\,x+u\n",
"\\end{eqnarray*}\n",
"\n",
"In terms of deviations from steady state, the input $u=q_{in}-\\bar{q}_{in}=0$ and the initial conditionis $x(0)=h(0)-\\bar{h}=-\\bar{h}$. Plotting $h(t)$ and $x(t)+\\bar{h}$ on the same axis produces the results shown in Figure \\ref{fig:LinearApproximation}. \n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
" "
]
}
],
"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
}