From acc9ebe592ef021aca5895bd5c17978345e54763 Mon Sep 17 00:00:00 2001 From: "Ryan C. Cooper" Date: Tue, 11 Apr 2017 09:31:47 -0400 Subject: [PATCH 1/3] added lecture 21 --- .../lecture_02-checkpoint.ipynb | 594 +++++++++++ lecture_21/lecture_21.ipynb | 945 ++++++++++++++++-- lecture_21/octave-workspace | Bin 0 -> 5105 bytes 3 files changed, 1438 insertions(+), 101 deletions(-) create mode 100644 lecture_02/.ipynb_checkpoints/lecture_02-checkpoint.ipynb create mode 100644 lecture_21/octave-workspace diff --git a/lecture_02/.ipynb_checkpoints/lecture_02-checkpoint.ipynb b/lecture_02/.ipynb_checkpoints/lecture_02-checkpoint.ipynb new file mode 100644 index 0000000..e34d82f --- /dev/null +++ b/lecture_02/.ipynb_checkpoints/lecture_02-checkpoint.ipynb @@ -0,0 +1,594 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Solution to Form #1" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans = 14\r\n" + ] + } + ], + "source": [ + "[1,2,3]*[1;2;3]" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "[1,2,3]*[1;2;3]=?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The first source of error is roundoff error\n", + "## Just storing a number in a computer requires rounding" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "realmax = 1.79769313486231570815e+308\n", + "realmin = 2.22507385850720138309e-308\n", + "maximum relative error = 2.22044604925031308085e-16\n" + ] + } + ], + "source": [ + "fprintf('realmax = %1.20e\\n',realmax)\n", + "fprintf('realmin = %1.20e\\n',realmin)\n", + "fprintf('maximum relative error = %1.20e\\n',eps)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans = 1\r\n" + ] + } + ], + "source": [ + "s=1;\n", + "for i=1:1000\n", + " s=s+eps/10;\n", + "end\n", + "s==1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Freefall Model (revisited)\n", + "## Octave solution (will run same on Matlab)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Set default values in Octave for linewidth and text size" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "%plot --format svg" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "set (0, \"defaultaxesfontname\", \"Helvetica\")\n", + "set (0, \"defaultaxesfontsize\", 18)\n", + "set (0, \"defaulttextfontname\", \"Helvetica\")\n", + "set (0, \"defaulttextfontsize\", 18) \n", + "set (0, \"defaultlinelinewidth\", 4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Define time from 0 to 12 seconds with `N` timesteps \n", + "function defined as `freefall`" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "function [v_analytical,v_terminal,t]=freefall(N)\n", + " t=linspace(0,12,N)';\n", + " c=0.25; m=60; g=9.81; v_terminal=sqrt(m*g/c);\n", + "\n", + " v_analytical = v_terminal*tanh(g*t/v_terminal);\n", + " v_numerical=zeros(length(t),1);\n", + " delta_time =diff(t);\n", + " for i=1:length(t)-1\n", + " v_numerical(i+1)=v_numerical(i)+(g-c/m*v_numerical(i)^2)*delta_time(i);\n", + " end\n", + " % Print values near 0,2,4,6,8,10,12 seconds\n", + " indices = round(linspace(1,length(t),7));\n", + " fprintf('time (s)|vel analytical (m/s)|vel numerical (m/s)\\n')\n", + " fprintf('-----------------------------------------------\\n')\n", + " M=[t(indices),v_analytical(indices),v_numerical(indices)];\n", + " fprintf('%7.1f | %18.2f | %15.2f\\n',M(:,1:3)');\n", + " plot(t,v_analytical,'-',t,v_numerical,'o-')\n", + "end\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time (s)|vel analytical (m/s)|vel numerical (m/s)\n", + "-----------------------------------------------\n", + " 0.0 | 0.00 | 0.00\n", + " 2.0 | 18.76 | 18.82\n", + " 4.0 | 32.64 | 32.80\n", + " 6.1 | 40.79 | 40.97\n", + " 8.0 | 44.80 | 44.94\n", + " 10.0 | 46.84 | 46.93\n", + " 12.0 | 47.77 | 47.82\n" + ] + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "Gnuplot\n", + "Produced by GNUPLOT 5.0 patchlevel 3 \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t20\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t30\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t40\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t50\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t2\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t4\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t6\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t8\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t12\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\n", + "\n", + "\tgnuplot_plot_1a\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\tgnuplot_plot_2a\n", + "\n", + "\t\t \n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "[v_analytical,v_terminal,t]=freefall(120);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Types of error\n", + "## Freefall is example of \"truncation error\"\n", + "### Truncation error results from approximating exact mathematical procedure" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We approximated the derivative as $\\delta v/\\delta t\\approx\\Delta v/\\Delta t$\n", + "\n", + "Can reduce error by decreasing step size -> $\\Delta t$=`delta_time`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Another example of truncation error is a Taylor series (or Maclaurin if centered at a=0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Taylor series:\n", + "$f(x)=f(a)+f'(a)(x-a)+\\frac{f''(a)}{2!}(x-a)^{2}+\\frac{f'''(a)}{3!}(x-a)^{3}+...$\n", + "\n", + "We can approximate the next value in a function by adding Taylor series terms:\n", + "\n", + "|Approximation | formula |\n", + "|---|-------------------------|\n", + "|$0^{th}$-order | $f(x_{i+1})=f(x_{i})+R_{1}$ |\n", + "|$1^{st}$-order | $f(x_{i+1})=f(x_{i})+f'(x_{i})h+R_{2}$ |\n", + "|$2^{nd}$-order | $f(x_{i+1})=f(x_{i})+f'(x_{i})h+\\frac{f''(x_{i})}{2!}h^{2}+R_{3}$|\n", + "|$n^{th}$-order | $f(x_{i+1})=f(x_{i})+f'(x_{i})h+\\frac{f''(x_{i})}{2!}h^{2}+...\\frac{f^{(n)}}{n!}h^{n}+R_{n}$|\n", + "\n", + "Where $R_{n}=\\frac{f^{(n+1)}(\\xi)}{(n+1)!}h^{n+1}$ is the error associated with truncating the approximation at order $n$.\n", + "\n", + "The $n^{th}$-order approximation estimates that the unknown function, $f(x)$, is equal to an $n^{th}$-order polynomial. \n", + "\n", + "In the Freefall example, we estimated the function with a $1^{st}$-order approximation, so \n", + "\n", + "$v(t_{i+1})=v(t_{i})+v'(t_{i})(t_{i+1}-t_{i})+R_{1}$\n", + "\n", + "$v'(t_{i})=\\frac{v(t_{i+1})-v(t_{i})}{t_{i+1}-t_{i}}-\\frac{R_{1}}{t_{i+1}-t_{i}}$\n", + "\n", + "$\\frac{R_{1}}{t_{i+1}-t_{i}}=\\frac{v''(\\xi)}{2!}(t_{i+1}-t_{i})$\n", + "\n", + "or the truncation error for a first-order Taylor series approximation is\n", + "\n", + "$\\frac{R_{1}}{t_{i+1}-t_{i}}=O(\\Delta t)$\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. digital representation of a number is rarely exact\n", + "\n", + "2. arithmetic (+,-,/,\\*) causes roundoff error" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.14159265358979311600\n", + "3.14159274101257324219\n" + ] + } + ], + "source": [ + "fprintf('%1.20f\\n',double(pi))\n", + "fprintf('%1.20f\\n',single(pi))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Octave", + "language": "octave", + "name": "octave" + }, + "language_info": { + "file_extension": ".m", + "help_links": [ + { + "text": "MetaKernel Magics", + "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" + } + ], + "mimetype": "text/x-octave", + "name": "octave", + "version": "0.19.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lecture_21/lecture_21.ipynb b/lecture_21/lecture_21.ipynb index c2547e6..6d1701d 100644 --- a/lecture_21/lecture_21.ipynb +++ b/lecture_21/lecture_21.ipynb @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 3, "metadata": { "collapsed": false }, @@ -208,111 +208,111 @@ "\n", "\n", "\n", - "\t\n", + "\t\n", "\t\n", "\tgnuplot_plot_2a\n", "\n", "\t \n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", "\n", "\t\n", "\n", @@ -393,7 +393,750 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Initial Value Problem" + "# Initial Value Problem\n", + "\n", + "## Euler's method\n", + "\n", + "$\\frac{dy}{dt}=f(t,y)$\n", + "\n", + "$y_{i+1}=y_{i}+f(t_{i},y_{i})h$\n", + "\n", + "The error of this method is:\n", + "\n", + "$E_{t}=\\frac{f'(t_i , y_i )}{2!}h^2 + \\cdots + O(h^{n+1})$\n", + "\n", + "or\n", + "\n", + "$E_{a}=O(h^2)$\n", + "\n", + "### Example: Freefalling problem\n", + "\n", + "An object is falling and has a drag coefficient of 0.25 kg/m and mass of 60 kg\n", + "Define time from 0 to 12 seconds with `N` timesteps \n", + "function defined as `freefall`\n", + "\n", + "Using the Euler ODE solution results in a conditionally stable solution *(at some point the time steps are too large to solve the problem)*" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "function [v_analytical,v_terminal,t]=freefall(N,tmax)\n", + " t=linspace(0,tmax,N)';\n", + " c=0.25; m=60; g=9.81; v_terminal=sqrt(m*g/c);\n", + "\n", + " v_analytical = v_terminal*tanh(g*t/v_terminal);\n", + " v_numerical=zeros(length(t),1);\n", + " delta_time =diff(t);\n", + " for i=1:length(t)-1\n", + " v_numerical(i+1)=v_numerical(i)+(g-c/m*v_numerical(i)^2)*delta_time(i);\n", + " end\n", + " % Print values near 0,2,4,6,8,10,12 seconds\n", + " indices = round(linspace(1,length(t),7));\n", + " fprintf('time (s)| error (m/s)\\n')\n", + " fprintf('-------------------------\\n')\n", + " M=[t(indices),abs(v_analytical(indices)-v_numerical(indices))];\n", + " fprintf('%7.1f | %10.2f\\n',M(:,1:2)');\n", + " plot(t,v_analytical,'-',t,v_numerical,'o-')\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time (s)| error (m/s)\n", + "-------------------------\n", + " 0.0 | 0.00\n", + " 1.7 | 0.64\n", + " 3.4 | 2.50\n", + " 6.9 | 3.12\n", + " 8.6 | 2.10\n", + " 10.3 | 1.23\n", + " 12.0 | 0.67\n", + "\n", + "O(h^2)=2.94\n" + ] + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "Gnuplot\n", + "Produced by GNUPLOT 5.0 patchlevel 3 \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t20\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t30\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t40\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t50\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t2\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t4\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t6\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t8\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t12\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\n", + "\n", + "\tgnuplot_plot_1a\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\tgnuplot_plot_2a\n", + "\n", + "\t\t \n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "[v_an,v_t,t]=freefall(8,12);\n", + "fprintf('\\nO(h^2)=%1.2f',min(diff(t).^2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Heun Method\n", + "\n", + "Increase accuracy with *predictor-corrector approach*\n", + "\n", + "$y_{i+1}=y_{i}^{m}+f(t_{i},y_{i})h$\n", + "\n", + "$y_{i+1}^{j}=y_{i}^{m}+\n", + "\\frac{f(t_{i},y_{i}^{m})+f(t_{i+1},y_{i+1}^{i-1})}{2}h$\n", + "\n", + "This is analagous to the trapezoidal rule\n", + "\n", + "$\\int_{t_{i}}^{t_{i+1}}f(t)dt=\\frac{f(t_{i})+f(t_{i+1})}{2}h$\n", + "\n", + "therefore the error is\n", + "\n", + "$E_{t}=\\frac{-f''(\\xi)}{12}h^3$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Example with Heun's method**\n", + "\n", + "Problem Statement. Use Heun’s method with iteration to integrate \n", + "\n", + "$y' = 4e^{0.8t} − 0.5y$\n", + "\n", + "from t = 0 to 4 with a step size of 1. The initial condition at t = 0 is y = 2. Employ a stopping criterion of 0.00001% to terminate the corrector iterations." + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dy =\n", + "\n", + " 3\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + "\n", + "y =\n", + "\n", + " 2\n", + " 5\n", + " 0\n", + " 0\n", + " 0\n", + "\n" + ] + } + ], + "source": [ + "yp=@(t,y) 4*exp(0.8*t)-0.5*y;\n", + "t=linspace(0,4,5)';\n", + "y=zeros(size(t));\n", + "dy=zeros(size(t));\n", + "dy_corr=zeros(size(t));\n", + "y(1)=2;\n", + "dy(1)=yp(t(1),y(1))\n", + "y(2)=y(1)+dy(1)*(t(2)-t(1))" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dy_corr =\n", + "\n", + " 4.70108\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + "\n", + "y =\n", + "\n", + " 2.00000\n", + " 6.70108\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + "\n" + ] + } + ], + "source": [ + "% improve estimate for y(2)\n", + "dy_corr(1)=(dy(1)+yp(t(2),y(2)))/2\n", + "y(2)=y(1)+dy_corr(1)*(t(2)-t(1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This process can be iterated until a desired tolerance is achieved" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "n=0;\n", + "e=10;\n", + "while (1)\n", + " n=n+1;\n", + " yold=y(2);\n", + " dy_corr(1)=(dy(1)+yp(t(2),y(2)))/2;\n", + " y(2)=y(1)+dy_corr(1)*(t(2)-t(1));\n", + " e=abs(y(2)-yold)/y(2)*100;\n", + " if e<= 0.00001 | n>100, break, end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y =\n", + "\n", + " 2.00000\n", + " 6.36087\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + "\n", + "dy_corr =\n", + "\n", + " 4.36087\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + "\n", + "n = 12\n", + "e = 6.3760e-06\n" + ] + } + ], + "source": [ + "y\n", + "dy_corr\n", + "n\n", + "e" + ] + }, + { + "cell_type": "code", + "execution_count": 127, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y_an =\n", + "\n", + "@(t) 4 / 1.3 * exp (0.8 * t) - 1.0769 * exp (-t / 2)\n", + "\n", + "dy_an =\n", + "\n", + "@(t) 0.8 * 4 / 1.3 * exp (0.8 * t) + 1.0769 / 2 * exp (-t / 2)\n", + "\n" + ] + } + ], + "source": [ + "\n", + "y_euler=zeros(size(t));\n", + "for i=1:length(t)-1\n", + " y_euler(i+1)=y_euler(i)+dy(i)*(t(i+1)-t(i));\n", + "end\n", + "\n", + "y_an =@(t) 4/1.3*exp(0.8*t)-1.0769*exp(-t/2)\n", + "dy_an=@(t) 0.8*4/1.3*exp(0.8*t)+1.0769/2*exp(-t/2)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "yp=@(t,y) 4*exp(0.8*t)-0.5*y;\n", + "t=linspace(0,4,5)';\n", + "y=zeros(size(t));\n", + "dy=zeros(size(t));\n", + "dy_corr=zeros(size(t));\n", + "y(1)=2;\n", + "for i=1:length(t)-1\n", + " dy(i)=yp(t(i),y(i));\n", + " dy_corr(i)=yp(t(i),y(i));\n", + " y(i+1)=y(i)+dy_corr(i)*(t(i+1)-t(i));\n", + " n=0;\n", + " e=10;\n", + " while (1)\n", + " n=n+1;\n", + " yold=y(i+1);\n", + " dy_corr(i)=(dy(i)+yp(t(i+1),y(i+1)))/2;\n", + " y(i+1)=y(i)+dy_corr(i)*(t(i+1)-t(i));\n", + " e=abs(y(i+1)-yold)/y(i+1)*100;\n", + " if e<= 0.00001 | n>100, break, end\n", + " end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y =\n", + "\n", + " 2.0000\n", + " 6.3609\n", + " 15.3022\n", + " 34.7433\n", + " 77.7351\n", + "\n", + "ans =\n", + "\n", + " 2.0000\n", + " 6.1946\n", + " 14.8439\n", + " 33.6772\n", + " 75.3390\n", + "\n" + ] + } + ], + "source": [ + "y\n", + "y_an(t)" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "Gnuplot\n", + "Produced by GNUPLOT 5.0 patchlevel 3 \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t20\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t30\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t40\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t50\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t60\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t70\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t80\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0.5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t1\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t1.5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t2\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t2.5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t3\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t3.5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t4\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\n", + "\t\n", + "\t\ty\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\ttime\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\tHeuns method\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\tHeuns method\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "\t\n", + "\tEuler\n", + "\n", + "\t\n", + "\t\tEuler\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "\t\n", + "\tanalytical\n", + "\n", + "\t\n", + "\t\tanalytical\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot(t,y,'o',t,y_euler,'s',linspace(min(t),max(t)),y_an(linspace(min(t),max(t))))\n", + "legend('Heuns method','Euler','analytical','Location','NorthWest')\n", + "xlabel('time')\n", + "ylabel('y')" ] }, { diff --git a/lecture_21/octave-workspace b/lecture_21/octave-workspace new file mode 100644 index 0000000000000000000000000000000000000000..398435fefbd4b6a70ccfb784b9a9ebd0fd888079 GIT binary patch literal 5105 zcmeHLi#wEQ8y{zq&V`DdlwEw$klGIFemjs()JQ9~PotrfW-POo4qq%vIv-YT$FXU* zw$foGmF=Di5h5iN6HOS0nV}?wd^7XBv$?LV{(@YW_j%v@exCdAyMOmQ@B4VJ6mTK} z?H%nGFtiv9hKKT>!RXOfUcy&$LO5XtY5~KU(ox=Uc;V{D-uec&_d(LaL6o*q!;Si& zUdIuH1xLQ`>FLo^3RSiZqLYv9{K{`ArJnSei)sNkiXXyN&*|+rO0SVj{_)Or69te)63NdV}?qd8WOUI!MH4U znvph^MV;-#eLc})8bt-$?m+QOitTm5X!2@TN?2$g5qZyz`r2oA{GHf2)YYQ3jk}-E zQCB6xzgNI?)$FnlSv{WVu1+>m?L-aZhX_>ORrng1+0S0mIm$>h>k;P=Lue@CZ`fR^ zXK5%pY;}xjeAGaclXsmvV7P&(HMIQn&_ntn3$ym-;luPr?l{URik%|sX2*N%jI>*r*Vc{fyMd(-Te|Sf z(B$Rf=1ydAD{H0FcewPjDeu*bw|Ji6)!tp*fx4c%{%2VA2K|oZ=?|`G$IDH+yDdsz zqtO(~)aF4Ou1MH$!m02TUVWVY&9uCi*w6aqg*n-+$PKrj#J<&nk+Bb=udP?$7^eH) z`(ZMClzB5*vZe{6mrc0b5zv6F_OrK5{OYlCpVdPvuUgzO?pMjT^CdW`pnuzfSv6Sv zps!I@gcxm%-`UE8o?yc4`gvyGJ;v%ykJiqdQ-aaFSn~>A0kUeA``LSDq3Dm$DLVcc z7(IOc#_vFgA~HfXkpo5M0lf~S#17DQfkpfP?H61~96-kf)g(@!gC(Sn&_(JBbe&-l zsXKHL9#AwdD4HkKdcqsZgYbx=c}3AYqY4P`C?Vk?Me~xPc}iIl-cm0Kk13kh)KS87 zDwOb^noatEqWePKL7)FwqkEW2DgQe*KmTh`{isIyb2$QzTJ@2JRCTJsFD+KO zfx>G1^LA>5tM7{fO3NiiA zsuR;*Wnr71_bHvCOkDK#r@UVhPJw3B$Tjmc>oj&Wb~S!9el>Au;(F|1kw4_YbL`HV zVO-@e!5>WZ2d@A91(t=ni``b#<8!-;D2s2H2*uOlUvw?Gjh&*?QUp9 zNnC+n({dT+34hvmGN~CGJ0*J;^JOS4^xkJUOo4U>3-$JIlB1#{YS;8LE%=wh+JC;T z05 z{`zthMyz0d>o3Euwz@Y`K_do@E;6wfH=wNBv?e)Iieuf+tntYai)8#qZ3C9C}8 zm34S(>%fspTTIK8uV(c zf??v|b3yzXcx1S_!BlIQ8JzA~T=I<3nSf2*j43tAS%zsc%BJ3{DbY}^QD1Fms* zV*2VS{eAq*T2uQl*6F_Q-|xXWFG){Tz`5n? zQ@pmfz!q!X@m1I5aCq(?+QoNTK=Q+;BH@M>5D%1Q?unLzb7j*;cr61rEs;@osvK@x zznqmeN&!yA;dA>5<#4=gPx_jva;RO)m|JvB2Cg}do=GR0;c0*N;I{KpC`i5I?7dtH zrpMZyU@C#$o&6b#tjLrxYvfRTEac6NK^0z2%+GS~Dhka$el8$ewI%i;4j zc(^A2Giv0Td75<^I~uzhKN`Q9I5cso_Vy_Mpx_WeVA!V`UA^;a8dEcVY0xhX`lUfX zG^py+Bg&u04-W73s{fHU*f0I_WrO>&!F_szBO6lqIzC^p`m-C7!S_SPfBk!M=7=p< z3U;_$#I{)NNC#&T9yuqB4w#&aM-nQuiUt*<_$#YXejN|7bH9n#;=D49r=G;!j(Lja z3#T`hTRcM(pBo*r1vTgvf4J}Px6jdXm<#*r-WS+o3I~`&>u{_2{>Yq|dQ7B7jdXl0 z#e*|kle7jlV#NI|0k2q1=ycTbLX~qf4jC)ol{P|#w_8(95?{!$d$f!7?p<*vTBd~vUF zXf?K+p6>mNR~44W1nek3U4iY!iGtITQq0^L(Oqv)f;F}&m#xMZU`^J*C2;^97qpQ$fsPw8NFG4v z1&2tUK<5qT2@b#}xWEB|6VSMUF2NCKT!F?JXxxFW1JHE=x=vt5>IPy`N1*Epbe&-! zsXMR;4}j(c&^&>7!W)PqJOY|mK=TY{5#B)`!b6~Wsa&V#DZC=Qg)+ippm_}&3D4mL z;XQQ5tNQ@xzHm_;aYcoa7V57Yf_~(!6a@2m%+(woHzcs1Qbf6Mczj;eI{uI0)0yK( zt0XppvCJr2rZdxy85kMLv|%|+Qr-$|nf6SU!vy7Rl&^#5MYlGp$M literal 0 HcmV?d00001 From 7a4d88b31a35185ecbe6268b611aaff8414fae80 Mon Sep 17 00:00:00 2001 From: "Ryan C. Cooper" Date: Thu, 13 Apr 2017 09:00:39 -0400 Subject: [PATCH 2/3] added lecture 22 --- 01_phugoid/.gitignore | 1 + .../01_01_Phugoid_Theory-checkpoint.ipynb | 764 +++++++++++ ...01_02_Phugoid_Oscillation-checkpoint.ipynb | 949 +++++++++++++ .../01_03_PhugoidFullModel-checkpoint.ipynb | 929 +++++++++++++ ...1_04_Second_Order_Methods-checkpoint.ipynb | 1187 +++++++++++++++++ 01_phugoid/01_01_Phugoid_Theory.ipynb | 764 +++++++++++ 01_phugoid/01_02_Phugoid_Oscillation.ipynb | 949 +++++++++++++ 01_phugoid/01_03_PhugoidFullModel.ipynb | 943 +++++++++++++ 01_phugoid/01_04_Second_Order_Methods.ipynb | 1187 +++++++++++++++++ 01_phugoid/README.md | 43 + 01_phugoid/Rocket_Assignment.ipynb | 335 +++++ 01_phugoid/burn.rate.png | Bin 0 -> 11761 bytes 01_phugoid/figures/glider_forces-lesson3.png | Bin 0 -> 29182 bytes 01_phugoid/figures/glider_forces.png | Bin 0 -> 33331 bytes 01_phugoid/figures/glider_forces_fbd.svg | 465 +++++++ 01_phugoid/figures/glider_forces_nodrag.png | Bin 0 -> 16886 bytes 01_phugoid/figures/glider_forces_nodrag.svg | 368 +++++ 01_phugoid/figures/oscillatory_trajectory.png | Bin 0 -> 43076 bytes 01_phugoid/figures/rocket_CV.png | Bin 0 -> 42127 bytes 01_phugoid/figures/vonKarman-phugoids.png | Bin 0 -> 38199 bytes 01_phugoid/phugoid.py | 112 ++ .../lecture_22-checkpoint.ipynb | 821 ++++++++++++ .../lecture_22_python-checkpoint.ipynb | 6 + lecture_22/01_phugoid/.gitignore | 1 + .../01_01_Phugoid_Theory-checkpoint.ipynb | 764 +++++++++++ ...01_02_Phugoid_Oscillation-checkpoint.ipynb | 949 +++++++++++++ .../01_03_PhugoidFullModel-checkpoint.ipynb | 929 +++++++++++++ ...1_04_Second_Order_Methods-checkpoint.ipynb | 1187 +++++++++++++++++ .../01_phugoid/01_01_Phugoid_Theory.ipynb | 764 +++++++++++ .../01_02_Phugoid_Oscillation.ipynb | 949 +++++++++++++ .../01_phugoid/01_03_PhugoidFullModel.ipynb | 943 +++++++++++++ .../01_04_Second_Order_Methods.ipynb | 1187 +++++++++++++++++ lecture_22/01_phugoid/README.md | 43 + lecture_22/01_phugoid/Rocket_Assignment.ipynb | 335 +++++ lecture_22/01_phugoid/burn.rate.png | Bin 0 -> 11761 bytes .../figures/glider_forces-lesson3.png | Bin 0 -> 29182 bytes .../01_phugoid/figures/glider_forces.png | Bin 0 -> 33331 bytes .../01_phugoid/figures/glider_forces_fbd.svg | 465 +++++++ .../figures/glider_forces_nodrag.png | Bin 0 -> 16886 bytes .../figures/glider_forces_nodrag.svg | 368 +++++ .../figures/oscillatory_trajectory.png | Bin 0 -> 43076 bytes lecture_22/01_phugoid/figures/rocket_CV.png | Bin 0 -> 42127 bytes .../01_phugoid/figures/vonKarman-phugoids.png | Bin 0 -> 38199 bytes lecture_22/01_phugoid/phugoid.py | 112 ++ lecture_22/figures/glider_forces-lesson3.png | Bin 0 -> 29182 bytes lecture_22/figures/glider_forces.png | Bin 0 -> 33331 bytes lecture_22/figures/glider_forces_fbd.svg | 465 +++++++ lecture_22/figures/glider_forces_nodrag.png | Bin 0 -> 16886 bytes lecture_22/figures/glider_forces_nodrag.svg | 368 +++++ lecture_22/figures/oscillatory_trajectory.png | Bin 0 -> 43076 bytes lecture_22/figures/rocket_CV.png | Bin 0 -> 42127 bytes lecture_22/figures/vonKarman-phugoids.png | Bin 0 -> 38199 bytes lecture_22/lecture_22.ipynb | 882 ++++++++++++ lecture_22/lecture_22_python.ipynb | 771 +++++++++++ 54 files changed, 21305 insertions(+) create mode 100644 01_phugoid/.gitignore create mode 100644 01_phugoid/.ipynb_checkpoints/01_01_Phugoid_Theory-checkpoint.ipynb create mode 100644 01_phugoid/.ipynb_checkpoints/01_02_Phugoid_Oscillation-checkpoint.ipynb create mode 100644 01_phugoid/.ipynb_checkpoints/01_03_PhugoidFullModel-checkpoint.ipynb create mode 100644 01_phugoid/.ipynb_checkpoints/01_04_Second_Order_Methods-checkpoint.ipynb create mode 100644 01_phugoid/01_01_Phugoid_Theory.ipynb create mode 100644 01_phugoid/01_02_Phugoid_Oscillation.ipynb create mode 100644 01_phugoid/01_03_PhugoidFullModel.ipynb create mode 100644 01_phugoid/01_04_Second_Order_Methods.ipynb create mode 100644 01_phugoid/README.md create mode 100644 01_phugoid/Rocket_Assignment.ipynb create mode 100644 01_phugoid/burn.rate.png create mode 100644 01_phugoid/figures/glider_forces-lesson3.png create mode 100644 01_phugoid/figures/glider_forces.png create mode 100644 01_phugoid/figures/glider_forces_fbd.svg create mode 100644 01_phugoid/figures/glider_forces_nodrag.png create mode 100644 01_phugoid/figures/glider_forces_nodrag.svg create mode 100644 01_phugoid/figures/oscillatory_trajectory.png create mode 100644 01_phugoid/figures/rocket_CV.png create mode 100644 01_phugoid/figures/vonKarman-phugoids.png create mode 100755 01_phugoid/phugoid.py create mode 100644 lecture_22/.ipynb_checkpoints/lecture_22-checkpoint.ipynb create mode 100644 lecture_22/.ipynb_checkpoints/lecture_22_python-checkpoint.ipynb create mode 100644 lecture_22/01_phugoid/.gitignore create mode 100644 lecture_22/01_phugoid/.ipynb_checkpoints/01_01_Phugoid_Theory-checkpoint.ipynb create mode 100644 lecture_22/01_phugoid/.ipynb_checkpoints/01_02_Phugoid_Oscillation-checkpoint.ipynb create mode 100644 lecture_22/01_phugoid/.ipynb_checkpoints/01_03_PhugoidFullModel-checkpoint.ipynb create mode 100644 lecture_22/01_phugoid/.ipynb_checkpoints/01_04_Second_Order_Methods-checkpoint.ipynb create mode 100644 lecture_22/01_phugoid/01_01_Phugoid_Theory.ipynb create mode 100644 lecture_22/01_phugoid/01_02_Phugoid_Oscillation.ipynb create mode 100644 lecture_22/01_phugoid/01_03_PhugoidFullModel.ipynb create mode 100644 lecture_22/01_phugoid/01_04_Second_Order_Methods.ipynb create mode 100644 lecture_22/01_phugoid/README.md create mode 100644 lecture_22/01_phugoid/Rocket_Assignment.ipynb create mode 100644 lecture_22/01_phugoid/burn.rate.png create mode 100644 lecture_22/01_phugoid/figures/glider_forces-lesson3.png create mode 100644 lecture_22/01_phugoid/figures/glider_forces.png create mode 100644 lecture_22/01_phugoid/figures/glider_forces_fbd.svg create mode 100644 lecture_22/01_phugoid/figures/glider_forces_nodrag.png create mode 100644 lecture_22/01_phugoid/figures/glider_forces_nodrag.svg create mode 100644 lecture_22/01_phugoid/figures/oscillatory_trajectory.png create mode 100644 lecture_22/01_phugoid/figures/rocket_CV.png create mode 100644 lecture_22/01_phugoid/figures/vonKarman-phugoids.png create mode 100755 lecture_22/01_phugoid/phugoid.py create mode 100644 lecture_22/figures/glider_forces-lesson3.png create mode 100644 lecture_22/figures/glider_forces.png create mode 100644 lecture_22/figures/glider_forces_fbd.svg create mode 100644 lecture_22/figures/glider_forces_nodrag.png create mode 100644 lecture_22/figures/glider_forces_nodrag.svg create mode 100644 lecture_22/figures/oscillatory_trajectory.png create mode 100644 lecture_22/figures/rocket_CV.png create mode 100644 lecture_22/figures/vonKarman-phugoids.png create mode 100644 lecture_22/lecture_22.ipynb create mode 100644 lecture_22/lecture_22_python.ipynb diff --git a/01_phugoid/.gitignore b/01_phugoid/.gitignore new file mode 100644 index 0000000..0d20b64 --- /dev/null +++ b/01_phugoid/.gitignore @@ -0,0 +1 @@ +*.pyc diff --git a/01_phugoid/.ipynb_checkpoints/01_01_Phugoid_Theory-checkpoint.ipynb b/01_phugoid/.ipynb_checkpoints/01_01_Phugoid_Theory-checkpoint.ipynb new file mode 100644 index 0000000..902854f --- /dev/null +++ b/01_phugoid/.ipynb_checkpoints/01_01_Phugoid_Theory-checkpoint.ipynb @@ -0,0 +1,764 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, C. Cooper, G.F. Forsyth, A. Krishnan." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Phugoid Motion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Welcome to [**\"Practical Numerical Methods with Python!\"**](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about) This course is a collaborative, online, open education project, where we aim to give a foundation in scientific computing. The focus is on numerical solution of problems modeled by ordinary and partial differential equations.\n", + "\n", + "This IPython Notebook introduces the problem we'll be studying in the **first module** of the course: the _phugoid model of glider flight_. We'll start with some background, explaining the physics, and working out the mathematical model. \n", + "\n", + "First, we'll look at an idealized motion where there is no drag, resulting in a simple harmonic motion. We can plot some interesting trajectories that will pique your imagination. In the next notebook, you'll learn to numerically integrate the differential equation using Euler's method. But hang on ... first things first. \n", + "\n", + "The term \"phugoid\" is used in aeronautics to refer to a motion pattern where an aircraft oscillates up and down —nose-up and climb, then nose-down and descend— around an equilibrium trajectory. The aircraft oscillates in altitude, speed and pitch, with only small (neglected) variations in the angle of attack, as it repeatedly exchanges kinetic and potential energy.\n", + "\n", + "A low-amplitude phugoid motion can be just a nuisance, as the aircraft does not exceed the stall angle of attack and nothing bad happens. But the mode can also be unstable leading to a stall or even a loop!\n", + "\n", + "Look at this video showing a Cessna single-engine airplane in phugoid motion:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkz\nODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2MBERISGBUYLxoaL2NCOEJjY2NjY2NjY2Nj\nY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY//AABEIAWgB4AMBIgACEQED\nEQH/xAAaAAACAwEBAAAAAAAAAAAAAAACAwABBAUG/8QAQBAAAgIBAwEDCAgFBAIDAQEBAQIAAxEE\nEiExE0FRBRQiMmFxgZEjQlJTcpKhsRUzYsHRBkOC4SRjovDxNMIW/8QAGQEBAQEBAQEAAAAAAAAA\nAAAAAAECAwQF/8QAKBEBAAIBBAICAQQDAQAAAAAAAAERAgMSMVETIUFhBCJSgaEyYnEU/9oADAMB\nAAIRAxEAPwBlFdfYp9GnqjuEcKqvu0/KJKax2Nf4R+0PYRPpxEU8coKaj/tp8oa01/dp8oPIlhyI\nqCzeyr+6r/KJfY0/cp+UQFsEMWCZ2ra+yp+7T8oliuof7SflkyDB57o2wWaqUfdp+UQxXQf9tPyi\nZt57xJvPuk2ltfYUn/bT8ok7Cn7pPyiZO1Yd8IXtG0to7CodKk/KJDVWf9tPyiKF5MMOTJtLEtVQ\n/wBqv8olGmvORUn5RJuMm4xULYjXSRg1Jn8IgCmjPNSflEvcZecxUFgfT6furT8ok7Cnb/Lr/KIR\nJlFj4RSWUdPVn+Un5RJ2FQ/20/KIRfxEE2CWi1dnV91X+USdjT92n5RL3r3S+090UWX2NP3SflEr\nsqvu0/KI4FD1/SUwTuYy1BZRqq+6T8ogNp6T/tp+URpU9xEEhx3RUJZLaav7tPyiLOnr+7X5TTk+\nEHM0WzHTp92v5RKFNf3a/lmk+6TEIQKqe+tPkIxaqs/yk+Qh9lmEtWIqF9qFFP3afljFop+7T8ol\npXHKoHSZmlL83p7qk/KJR09XdUn5RNG2Q5EgStNXfWn5RD83p+6T8olk5lB8SUWIU1D/AGk/KIa1\n1fdJ+USltHfGKymSltBVV90n5RC7Kr7pPyiECJczRYOwp+6T8ok83q+6T8ohyRRYOwq+6T8ok7Cn\n7pPyiMzKigs0VfdJ+USjRT90n5RG5lEiKCeyo+6T8oldjV90n5RGnEA++WiwGqr7qv8AKJR09P3a\n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\n", + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.display import YouTubeVideo\n", + "YouTubeVideo('ysdU4mnRYdM')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That doesn't look too good! What's happening? \n", + "\n", + "It can get a lot worse when an aircraft enters one of these modes that is unstable. For example, one of [NASA's Helios Solar Powered Aircraft](http://www.nasa.gov/centers/dryden/history/pastprojects/Helios/) prototype broke up in mid air due to extreme phugoid oscillations!\n", + "\n", + "Helios was a proof-of-concept solar electric-powered flying wing that broke the world altitude record for a non-rocket-powered aircraft in August 2001. But in June 26, 2003, it broke something else. The aircraft entered phugoid motion after encountering turbulence near the Hawaiian Island of Kauai. The high speed in the oscillatory movement exceeded the design limits, and it ended up wrecked in the Pacific Ocean. Luckily, the Helios was remotely operated, and nobody got hurt." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The physics of phugoids" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The phugoid oscillation has the aircraft pitching up and down, as it decelerates and accelerates. The trajectory might look like a sinusoid, as in the figure below. The assumption is that the forward velocity of the aircraft, $v$, varies in such a way that the angle of attack remains (nearly) constant, which means that we can assume a constant lift coefficient." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/oscillatory_trajectory.png)\n", + "#### Figure 1. Trajectory of an aircraft in phugoid motion." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the descending portion of the trajectory, the aircraft's velocity increases as it proceeds from a peak to the minimum height—gaining kinetic energy at the expense of potential energy. The contrary happens in the upward segment, as its velocity decreases there.\n", + "\n", + "We measure the pitch angle (between the aircraft's longitudinal axis and the horizontal) as positive when the aircraft's nose is pointing up. In the portion of the trajectory below the center-line, where it curves upwards, the pitch angle $\\theta$ is increasing: $\\dot{\\theta}>0$. And where the trajectory curves down, the pitch angle is decreasing: $\\dot{\\theta}<0$, as shown in the figure.\n", + "\n", + "Let's remind ourselves of the forces affecting an aircraft in a downward glide. Look at the figure below: we show the flight path, the forces on the glider (no thrust), and the _glide angle_ or flight path angle, $\\gamma$, between the flight path and the horizontal." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/glider_forces.png)\n", + "#### Figure 2. Forces on a glider." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The force of lift, $L$ —created by the airflow around the wings— is perpendicular to the trajectory, and the force of drag, $D$, is parallel to the trajectory. Both forces are expressed in terms of coefficients of lift and drag, $C_L$ and $C_D$, respectively, that depend on the wing design and _angle of attack_—the angle between the wing chord and the flight path.\n", + "\n", + "If you are not familiar with airplane aerodynamics, you might be getting confused with some terms here ... and all those angles! But be patient and look things up, if you need to. We're giving you a quick summary here.\n", + "\n", + "Lift and drag are proportional to a surface area, $S$, and the dynamic pressure: $1/2 \\rho v^2$, where $\\rho$ is the density of air, and $v$ the forward velocity of the aircraft. The equations for lift and drag are:\n", + "\n", + "$$\\begin{eqnarray}\n", + "L &=& C_L S \\times \\frac{1}{2} \\rho v^2 \\\\\n", + "D &=& C_D S \\times \\frac{1}{2} \\rho v^2\n", + "\\end{eqnarray}$$\n", + "\n", + "If the glider were in equilibrium, the forces would balance each other. We can equate the forces in the directions perpendicular and parallel to the trajectory, as follows:\n", + "\n", + "$$\\begin{equation}\n", + "L = W \\cos \\gamma \\quad \\text{and} \\quad D = W \\sin \\gamma\n", + "\\end{equation}$$\n", + "\n", + "where $W$ repesents the weight of the glider.\n", + "\n", + "In the figure, we've drawn the angle $\\gamma$ as the _glide angle_, formed between the direction of motion and the horizontal. We are not bothered with the _sign_ of the angle, because we draw a free-body diagram and take the direction of the forces into account in writing our balance equations. But later on, we will need to be careful with the sign of the angles. It can cause you a real headache to keep this straight, so be patient!\n", + "\n", + "It looks like we've set this up to do a little bit of mathematics. Are you ready?\n", + "\n", + "But before, a short glimpse of the history." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Lanchester's Aerodonetics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Phugoid theory\" was first described by the British engineer Frederick W. Lanchester in _\"Aerodonetics\"_ (1909). This book is so old that it is now in the public domain, so you can actually download [from Google Books](http://books.google.com/books?id=6hxDAAAAIAAJ&dq=%22phugoid%20theory%20deals%20with%20the%20longitudinal%20stability%22&pg=PA37#v=onepage&q=%22phugoid%20theory%20deals%20with%20the%20longitudinal%20stability%22&f=false) a PDF file of a scan, or read it online. \n", + "\n", + "Lanchester defines phugoid theory as the study of longitudinal stability of a flying machine (aerodone). He first considered the simplification where drag and moment of inertia are neglected. Then he included these effects, obtaining an equation of stability. In addition to describing many experiments by himself and others, Lanchester also reports on _\"numerical work ... done by the aid of an ordinary 25-cm slide rule.\"_ Go figure!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Ideal case of zero drag" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section, we follow the derivation given by Milne-Thompson (1966), which we find a little bit easier than that of the original in \"Aerodonetics\"!\n", + "\n", + "An aircraft flying in a steady, straight horizontal flight has a lift equal to its weight. The velocity in this condition is sometimes called _trim velocity_ (\"trim\" is what pilots do to set the controls to just stay in a steady flight). Let's use $v_t$ for the trim velocity, and from $L=W$ deduce that:\n", + "\n", + "$$\\begin{equation}\n", + "W = C_L S \\times\\frac{1}{2} \\rho v_t^2\n", + "\\end{equation}$$\n", + "\n", + "The weight $W$ is constant for the aircraft, but the lift at any other flight condition depends on the flight speed, $v$. We can use the expression for the weight in terms of $v_t$ to obtain the ratio $L/W$ at any other flight velocity, as follows:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{L}{W}= \\frac{v^2}{v_t^2}\n", + "\\end{equation}$$\n", + "\n", + "Imagine that the aircraft experienced a little upset, a wind gust, and it finds itself off the \"trim\" level, in a curved path with an instantaneous angle $\\theta$. In the sketch below, we exaggerate the curved trajectory of flight to help you visualize what we'll do next. The angle $\\theta$ (using the same name as Milne-Thompson) is between the _trajectory_ and the horizontal, positive up." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Figure 3. Curved trajectory of the aircraft going up." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can form a free body diagram to determine the balance of forces. \n", + "\n", + "\n", + "\n", + "#### Figure 4. Free body diagram of the aircraft trajectory" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the free body diagram, we can see that\n", + "\n", + "\\begin{equation}\n", + "\\vec{L} + \\vec{W} = m\\vec{a} = \\frac{mv^2}{R}\\hat{n} + m \\frac{dv}{dt}\\hat{t}\n", + "\\end{equation}\n", + "\n", + "where $\\frac{v^2}{R}$ is the centripetal acceleration and $R$ is the radius of curvature of the trajectory.\n", + "If we decompose the lift and weight into their normal and tangential components we get\n", + "\n", + "\\begin{equation}\n", + "L\\hat{n} + W_n\\hat{n} + W_t\\hat{t} = \\frac{mv^2}{R}\\hat{n} + m \\frac{dv}{dt}\\hat{t}\n", + "\\end{equation}\n", + "\n", + "The component of the weight in the normal direction ($W_n$) is\n", + "\n", + "\\begin{equation}\n", + "W_n = -W \\cos \\theta\n", + "\\end{equation}\n", + "\n", + "If we then consider that all of the components in $\\hat{n}$ must balance out, we arrive at\n", + "\n", + "\\begin{equation}\n", + "L - W \\cos \\theta = \\frac{mv^2}{R}\n", + "\\end{equation}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can rewrite this as\n", + "\n", + "$$\\begin{equation}\n", + "L- W \\cos \\theta = \\frac{W}{g} \\frac{v^2}{R}\n", + "\\end{equation}$$\n", + "\n", + "where $g$ is the acceleration due to gravity. Rearrange this by dividing the equation by the weight, and use the expression we found for $L/W$, above. The following equation results:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{v^2}{v_t^2}-\\cos \\theta = \\frac{v^2}{g R}\n", + "\\end{equation}$$\n", + "\n", + "Recall that we simplified the problem assuming that there is no friction, which means that the total energy is constant (the lift does no work). If $z$ represents the depth below a reference horizontal line, the energy per unit mass is (kinetic plus potential energy):\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{1}{2}v^2-g z = \\text{constant}\n", + "\\end{equation}$$\n", + "\n", + "To get rid of that pesky constant, we can choose the reference horizontal line at the level that makes the constant energy equal to zero, so $v^2 = 2 g z$. That helps us re-write the phugoid equation in terms of $z$ as follows:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{z}{z_t}-\\cos \\theta = \\frac{2z}{R}\n", + "\\end{equation}$$\n", + "\n", + "Let $ds$ represent a small arc-length of the trajectory. We can write \n", + "\n", + "$$\\begin{equation}\n", + "\\frac{1}{R} = \\frac{d\\theta}{ds} \\quad \\text{and}\\quad \\sin\\theta = -\\frac{dz}{ds}\n", + "\\end{equation}$$\n", + "\n", + "Employing the chain rule of calculus,\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{1}{R} = \\frac{d\\theta}{ds} = \\frac{dz}{ds}\\frac{d\\theta}{dz} = -\\sin \\theta\\frac{d\\theta}{dz}\n", + "\\end{equation}$$\n", + "\n", + "Multiply the phugoid equation by $\\frac{1}{2\\sqrt{z}}$ to get:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{\\sqrt{z}}{2z_t} - \\frac{\\cos\\theta}{2\\sqrt{z}} = \\frac{\\sqrt{z}}{R}\n", + "\\end{equation}$$\n", + "\n", + "Substituting for $1/R$ on the right hand side and bringing the cosine term over to the right, we get:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{\\sqrt{z}}{2z_t} = \\frac{\\cos \\theta}{2 \\sqrt{z}} - \\sqrt{z} \\sin \\theta \\frac{d\\theta}{dz}\n", + "\\end{equation}$$\n", + "\n", + "The right-hand-side is an exact derivative! We can rewrite it as:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{d}{dz} \\left(\\sqrt{z}\\cos\\theta \\right) = \\frac{\\sqrt{z}}{2z_t}\n", + "\\end{equation}$$\n", + "\n", + "Integrating this equation, we add an arbitrary constant, chosen as $C\\sqrt{z_t}$ which (after dividing through by $\\sqrt{z}$) gives:\n", + "\n", + "$$\\begin{equation}\n", + "\\cos \\theta = \\frac{1}{3}\\frac{z}{z_t} + C\\sqrt{\\frac{z_t}{z}}\n", + "\\end{equation}$$\n", + "\n", + "Taking the derivative of both sides of equation (15) and applying the relations from equation (10) yields:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{z_t}{R} = \\frac{1}{3} - \\frac{C}{2}\\sqrt{\\frac{z_t^3}{z^3}}\n", + "\\end{equation}$$\n", + "\n", + "Make sure you have followed the derivation, and perhaps write it out on paper!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Phugoid Curves" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Equation (15) is non-linear, which usually means we are hard-pressed to write a clean expression for the variable of interest, $z$. In fact, Lanchester himself said that he was unable to _\"reduce this expression to a form suitable for co-ordinate plotting.\"_ If the great polymath couldn't do it, we can't either!\n", + "\n", + "But Lanchester _was_ able to plot a suitable approximation of the phugoid flight path using what he called the \"trammel\" method. If you're interested in seeing how he did it, his explanation begins on page [48 of Aerodonetics](http://books.google.com/books?id=6hxDAAAAIAAJ&pg=PA49&lpg=PA48&dq=aerodonetics+the+use+of+the+trammel&source=bl&ots=lB6EVKYQuT&sig=aVE2kiDWZoWftaWczMIrcYftMOs&hl=en&sa=X&ei=gTD_U82fGYjzgwT3moGwCQ&ved=0CCAQ6AEwAA#v=onepage&q=aerodonetics%20the%20use%20of%20the%20trammel&f=false). It's a trip.\n", + "\n", + "Lanchester used Equations (15) and (16) to solve for the constant $C$ and the radius of curvature $R$ and then iteratively plotted small arcs of the phugoid path. By hand.\n", + "\n", + "We wrote a neat little code that duplicates the manual trammel method, but it might be a bit much for you to absorb in the first lesson. If you want to look it over, you are more than welcome to. If you are just starting with Python, skip it for the moment and we'll return to it at the end of this module. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Plotting the flight path" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we mentioned, we wrote a Python code to reproduce programmatically what Lanchester did graphically. Here's a neat feature of IPython Notebooks: you can run external programs with the magical keyword ... wait for it ... `run`. And the jargon of IPython _is_ to call this \"magic.\" In fact, there are a bunch of [magic functions](http://ipython.org/ipython-doc/dev/interactive/tutorial.html) that you will learn about. They will make you a happy camper.\n", + "\n", + "Let's do it:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%run phugoid.py\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This code cell loaded our simulated-trammel code, `phugoid.py`. The code defined a function for you in the background, called `plot_flight_path`, taking three inputs: $z_t$, $z$ and $\\theta$. \n", + "\n", + "Look again at Equation (15), where we take the positive square root. There are several possibilities, depending on the value that the constant $C$ takes. \n", + "\n", + "* There are no physical solutions for $C>2/3$, because it would result in $\\cos\\theta>1$. \n", + "\n", + "* If $C=2/3$, then the solution is a horizontal straight line, because $\\cos\\theta=1$, $\\theta=0$ and $R=\\infty$.\n", + "\n", + "* Any value of $C$ for which $0 < C < \\frac{2}{3}$ will produce \"trochoidal\"-like paths. What does this look like? Let's use our custom function `plot_flight_path` to find out!" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n5MgRihQpQt++fQE4fPgw+fLlo1SpUpw8eTLV19+1axfFihULPC5WrBixsbFZ10G/zPQzNefrf0oy\n2tfBgwczdOhQALZu3UpERESq22amn+mtL7XtixcvniM/0wtR4BMRkWxlluFzxf7JuT/a6bV69WqG\nDx9OxYoVyZcvH506daJHjx5/2q5atWqMGDEiQ6+xf/9+Nm7cyJQpUwBo27Ytbdq0oXr16syYMYP7\n77+fCRMmnHcfR44c4aKLLgo8joyM5Pfff0/T66e1j5C5fqbmfP1PSUb6unfvXr799lu+++471qxZ\nw6RJk3j++edT3T4z/UxvfefbPqM/06ykKV0REfG8Zs2a8dVXX9GoUSMKFChAjx49eP3119m/f3+W\nvUaRIkVo0KBB4HHlypWJjo7m22+/5aqrrkrzPoJD7R9//EGJEiXS9L3J+xgVFcXIkSMZP3483333\nXfo6kwGp9f9826e3r4sWLaJr16488MAD3HXXXezZs4cOHTpkSz/TW19q22fmZ5qVNMInIiLZKqOj\nclnt5ZdfZv/+/bz99tuAbzqwbNmySbYJngIMlpYpwHr16rFs2bLA43z58pGQkMC3337LqVOnmDt3\nLsuXL+f06dPMnj07xf1cccUVrFmzJvD48OHDNGnSJEN9fP3112nfvj1NmjShT58+fPrpp1nSz9Sk\n1v/UZKSvO3fupE6dOoBv5Wvnzp355JNPsqWf6a0vte2LFSuWqZ9plsnMio/cfEMrykREsky4/059\n+eWX3bPPPuucc27jxo1u6dKl7oYbbnArVqzIstc4ffq0a9GiReBxq1at3LZt25JsM3z48CSrdH/6\n6SeXmJgYeHzy5EnXoEGDwOOGDRu6/fv3O+eci42NTbJtcsn7+PDDD7tff/3VOefcDTfckImepWz8\n+PGub9++gcfn63/yfjqXsb6OHTvWjR071jnnXOfOnd2OHTvcI488ki39PF996enP+faTktT+L5HJ\nVbrmwuSTV04zM5dX+y4iktVSu+B7OPjPf/7Db7/9RtGiRRk2bBjXXHMNd911F59//jmDBg3K0tea\nP38+y5cvxzlH7dq1ueOOOwLPTZs2jREjRmBmDB06lJtvvpkmTZowbtw4GjduHNhu0qRJbN++Hecc\n1apVC+yjTp06vPXWW1x//fVp6uO+fft45plnqFChAp07d2bOnDlZ1s933nmHqVOnsnPnTvr27cuT\nTz5JkSJFUu1/Sv3MSF+PHz/O888/T4MGDahfvz4tWrTg4Ycf5tlnn82WfqZWX3r7k1p7SlL7v+Rv\nz/ABsQp8IiKSaeEc+FIyefJkqlSpQuXKlbnssstCXU6aJCYm8s0331zw1C7nvP3227Rt25Y6derQ\nt29fPvvss2yuMOukp6+5uZ8pUeDLYgp8IiJZJ7cFvlmzZhEXF0ezZs3Oe664cDJ16lS6devGxRdf\nnKbtDx8+zMcff0yxYsWoX78+LVu2zOYKs056+pqb+5kSBb4spsAnIpJ1clvgy41OnjzJJZdcEuoy\nckRe6mtyCnxZTIFPRCTrKPCJZI3sCnw6D5+IiIiIxynwiYiIiHicAp+IiIiIxynwiYiIiHicAp+I\niIiIx+lauiIikmlVqlT50/VKRST9suu8kDoti4iIiEiY02lZREREROS8FPhEREREPE6BT0RERMTj\nFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RE\nRMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6B\nT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjwj7wmdk4\nM9tvZhuC2oqbWbSZbTGz+WZWNOi5oWYWa2abzKxDaKoWERERCR9hH/iAfwIdk7UNARY652oBi4Ch\nAGZWF+gF1AFuAN4zM8vBWkVERETCTtgHPufcMuBIsubuwAT//QlAD//9G4Epzrl459x2IBZonhN1\nioiIiISrsA98qSjjnNsP4JzbB5Txt1cEdgZtt9vfJiIiIpJn5dbAl5wLdQEiIiIi4Sp/qAvIoP1m\nVtY5t9/MygEH/O27gcuCtqvkb0vR8OHDA/ejoqKIiorK+kpFRERE0ikmJoaYmJgs2585F/6DY2ZW\nFfjSOdfA/3gk8JtzbqSZDQaKO+eG+BdtfApchW8qdwFQw6XQSTNLqVlEREQk7JgZzrkML0QN+xE+\nM5sMRAElzexXYBjwCjDNzO4FduBbmYtz7kczmwr8CMQBDynViYiISF6XK0b4soNG+ERERCS3yOwI\nn1cWbYiIiIhIKhT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4\nRERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE\n4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9E\nRETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxO\ngU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERE\nRDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4\nRERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE\n4zwZ+Mysk5ltNrOtZjY41PWIiIiIhJI550JdQ5Yys3zAVuBaYA+wGrjVObc52XbOa30XERERbzIz\nnHOW0e/34ghfcyDWObfDORcHTAG6h7gmERERkZDxYuCrCOwMerzL3yYiIiKSJ3kx8ImIiIhIkPyh\nLiAb7AYqBz2u5G/7k+HDhwfuR0VFERUVlZ11iYiIiKRJTEwMMTExWbY/Ly7aiAC24Fu0sRf4FrjN\nObcp2XZatCEiIiK5QmYXbXhuhM85l2BmjwDR+KasxyUPeyIiIiJ5iedG+NJKI3wiIiKSW+i0LCIi\nIiJyXgp8IiIiIh6nwCciIiLicQp8IiIiIh7nuVW66ZGYmEi+fMq8IuI9Z86c4ddff2Xnzp3s27eP\ns2fPEh8fT6FChShdujTly5enZs2aREZGhrpUEckBeTrwRUREUKJECa644gqqV69O06ZNadWqFU2b\nNtUvQRHJVU6dOsXXX3/N/PnzWbVqFevXrycuLu6835M/f37q1KlDy5Yt6dixI9dccw3FihXLoYpF\nJCfl6dOypPZc4cKF6dy5Mz179qR79+5cfPHFOVmaiEiaJCQksGDBAsaOHctXX33F6dOnA8+ZGZUr\nV6Zy5cpUqFCBiy66iIiICE6ePMmBAwfYtWsX27ZtI/hvQIECBejSpQt33nknN954IwUKFAhFt0Qk\nBZk9LUueDnzx8fEcOnSIn376ic2bN7Ny5UqWLVvGpk3/O09z8eLFufvuu3nwwQepU6dOCCsWEfE5\nfvw477//Pu+++y47d+4MtDdr1oyuXbvStm1bmjZtyqWXXnre/Zw8eZINGzawePFi5s+fz7Jly0hM\nTASgUqVKDBgwgPvvv5+iRYtma39E5MIU+DLofCde/uWXX5g1axaffvopa9asCbR3796d559/nqZN\nm+ZUmSIiAceOHeP111/nzTff5OjRowBUq1aNfv360adPHypWrJip/e/du5fPPvuMsWPHBj74FilS\nhIEDB/LEE09QuHDhTPdBRDJGgS+D0nqljbVr1/LBBx8wceLEwHRJ165defXVVzXiJyI5Ij4+nrFj\nx/K3v/2NgwcPAtC2bVueeeYZOnTokOWLzxITE5k3bx6vvfZa4OLtZcuW5cUXX6Rfv35ERERk6euJ\nyIUp8GVQei+ttm/fPkaPHs17773HqVOniIiI4OGHH2bYsGGUKFEiGysVkbxs8eLFPProo2zcuBHw\nBb2///3vtG3bNkdePyYmhkGDBrF69WoAmjdvzgcffECjRo1y5PVFxEeBL4Myei3dAwcO8PzzzzN2\n7FgSExMpUaIE//jHP7j77rsxy/DPQUQkiaNHjzJo0CA++ugjAC6//HJee+01brrpphz/XeOcY+rU\nqTz55JPs2bOHiIgInnjiCV588UUtahPJIQp8GZTRwHfO+vXreeKJJ1i8eDEAHTt25IMPPqBKlSpZ\nVaKI5FGzZ8+mf//+7Nmzh8jISJ577jkGDhzIRRddFNK6jh8/zvPPP88777xDYmIidevWZdKkSTRu\n3DikdYnkBQp8GZTZwAe+T70TJ07kiSee4MiRIxQuXJhXX32Vv/71rxrtE5F0+/3333n00UcZP348\nAC1atGDcuHHUrVs3tIUls3r1au6++242b95MgQIFePHFFxk4cKCO7RPJRgp8GZQVge+cffv28cgj\njzB9+nQAunXrxscff0ypUqWyZP8i4n1r1qzh9ttvJzY2losuuogRI0bw6KOPhm2IOnXqFIMHD+ad\nd94BICoqis8++4xy5cqFuDIRb1Lgy6CsDHznTJ06lQcffJCjR49Svnx5Jk6cyHXXXZelryEi3pKY\nmMjo0aN59tlniYuLo379+nz22WfUr18/1KWlybx58+jbty/79++nfPnyfP755zm2oEQkL8ls4NOF\nZLNQr169WL9+PW3btmXv3r1cf/31DB48mPj4+FCXJiJh6Pjx49x0000MGjSIuLg4Hn30Ub799ttc\n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\n9dVXqf4eVOBT4Atrq1atcj179nRmluSP++zZs11CQkKoy5MckpiY6ObOnZvkQ4CZuW7durmlS5eG\nujyRTImPj3eTJ092derUCby/K1eu7N566y134sSJUJcnYeTIkSPu73//uytdunTgvVK/fn03c+bM\nC37gVeBT4MsVfvrpJzdgwABXuHDhJFfuGDVqlM5m72GHDx92r7/+epIrYxQqVMg99NBDujqGeE58\nfLybMmWKq1u3buD9Xrx4cffMM8+4PXv2hLo8CaHdu3e7gQMHBhZjAK5p06Zu2rRpaR78UOBT4MtV\njh496kaNGuUqV66cZLr31ltv1ZSeRyQmJrqlS5e6O++8M8m0bYUKFdyIESO0kEc8LyEhwU2fPt21\natUqye+5e+65x/3www+hLk9y0MqVK92dd97pIiMjA++Fa6+91i1YsCDdf+8yG/jC/jx82cXMXF7t\neziIj49nzpw5fPjhh8yZM+dcCKdGjRr069eP22+/ncsuuyzEVUp67NmzhylTpjBu3Dh+/PFHAMyM\nDh068MADD9CtWzcKFCgQ4ipFctZ//vMfRo8ezcyZMwO/59q1a0f//v3p2bMnkZGRIa5QstqZM2f4\n/PPPeeedd1i92ne113z58tGzZ0+GDBnClVdemaH9mhkuE+fhU+CTkPv1118ZN24c48aNC1yqzcxo\n164dd9xxBzfffDPFihULcZWSkuPHjzNjxgw+/fRTvv7668AftHLlynHvvfdy3333cfnll4e4SpHQ\n27ZtG2+88Qbjx4/n5MmTAJQpU4Z+/frxwAMPULVq1dAWKJkWGxvLP//5T8aOHcvBgwcBKFGiBPfd\ndx/9+/fP9M9YgS+DFPjCT3x8PHPnzuWTTz5h9uzZnDlzBoDIyEi6du1K7969ueGGGyhSpEiIK83b\nTp48ybx585g6dSqzZ88OXPYnMjKSLl26cOedd2o0TyQVx48f59NPP+X999/nhx9+AP43Et6nTx+6\nd+9OoUKFQlylpNXvv//OtGnT+Pjjj1m2bFmgvVGjRjz66KPcdtttXHzxxVnyWgp8GaTAF96OHTsW\nGDlatGhRYOQoMjKS6667jp49e9KtWzfKli0b4krzhkOHDvHll1/yxRdfEB0dneTajldffTV33nkn\nN998M8WLFw9hlSK5h3OO//znP4wZM4apU6dy9uxZAIoUKcLNN9/MXXfdRbt27ciXL6SXvJcUJCQk\n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\nKVasGMWKFaNo0aIUK1aMMmXKUL58eSpUqEDx4sU9H+guRIEvgxT4REREJLfIbODTsj0RERERj1Pg\nExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERER\nj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4R\nERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4\nBT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExER\nEfE4BT4RERERjwvbwGdmr5rZJjP73symm9mlQc8NNbNY//MdgtqbmNkGM9tqZm+EpnIRERGR8BK2\ngQ+IBuo55xoBscBQADOrC/QC6gA3AO+Zmfm/532gn3OuJlDTzDrmfNkiIiIi4SVsA59zbqFzLtH/\ncCVQyX//RmCKcy7eObcdXxhsbmblgCLOudX+7SYCPXKyZhEREZFwFLaBL5l7gTn++xWBnUHP7fa3\nVQR2BbXv8reJiIiI5Gn5Q/niZrYAKBvcBDjgWefcl/5tngXinHOfhaBEERERkVwvpIHPOXf9+Z43\ns75AZ+CaoObdwGVBjyv521JrT9Xw4cMD96OiooiKirpw0SIiIiLZLCYmhpiYmCzbnznnsmxnWcnM\nOgGjgaudc4eD2usCnwJX4ZuyXQDUcM45M1sJPAasBr4C3nLOzUtl/y5c+y4iIiISzMxwztmFt0xZ\nSEf4LuBtIBJY4F+Eu9I595Bz7kczmwr8CMQBDwUlt4eB8cBFwJzUwp6IiIhIXhK2I3zZTSN8IiIi\nkltkdoQvt6zSFREREZEMUuATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhER\nERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgF\nPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER\n8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+AT\nERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGP\nU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhER\nERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgF\nPhERERGPC9vAZ2Yvmtl6M1tnZvPMrFzQc0PNLNbMNplZh6D2Jma2wcy2mtkboalcREREJLyYcy7U\nNaTIzAo75373338UqOuc629mdYFPgWZAJWAhUMM558xsFfCIc261mc0B3nTOzU9l/y5c+y4iIiIS\nzMxwzllGvz9sR/jOhT2/S4BE//0bgSnOuXjn3HYgFmjuHwEs4pxb7d9uItAjp+oVERERCVf5Q13A\n+ZjZS8DdwFGgvb+5IrAiaLPd/rZ4YFdQ+y5/u4iIiEieFtIRPjNb4D/m7tztB//XbgDOueecc5Xx\nTeE+GspaRURERHKrkI7wOeeuT+Omk4GvgOH4RvQuC3qukr8ttfZUDR8+PHA/KiqKqKioNJYjIiIi\nkn1iYmKIiYnJsv2F86KN6s65bf77jwJtnXO9ghZtXIVvynYB/1u0sRJ4DFiNLyC+5Zybl8r+tWhD\nREREcoXMLtoI52P4XjGzmvgWa+wA/grgnPvRzKYCPwJxwENBye1hYDxwETAntbAnIiIikpeE7Qhf\ndtMIn4iIiOQWnj0ti4iIiIhkDQU+EREREY9T4BMRERHxOAU+EREREY9T4BMRERHxOAU+EREREY9T\n4BMRERHxOAU+EREREY9T4BMRERHxOAU+EREREY9T4BMRERHxOAU+EREREY9T4BMRERHxOAU+ERER\nEY9T4BMRERHxOAU+EREREY9T4BMRERHxOAW+PCYmJibUJYSE+p23qN95i/qdt+TVfmeWAl8ek1f/\no6jfeYv6nbeo33lLXu13ZinwiYiIiHicAp+IiIiIx5lzLtQ1hISZ5c2Oi4iISK7knLOMfm+eDXwi\nIiIieYWmdEVEREQ8ToFPRERExOPyXOAzs05mttnMtprZ4FDXk5XMbJyZ7TezDUFtxc0s2sy2mNl8\nMysa9NxQM4s1s01m1iE0VWeemVUys0VmttHMfjCzx/ztnu67mRU0s1Vmts7f72H+dk/3+xwzy2dm\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#zt = 64, z = 16, theta=0\n", + "plot_flight_path(64, 16, 0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Cool! Note that the plot title tells us what the calculated value of $C$ was for our input conditions. We have a value of $C$ between $0$ and $\\frac{2}{3}$ and our path is trochoidal, like we announced it would be.\n", + "\n", + "* For negative values of $C$, the resultant flight path consists of a series of loops. Let's try it out!" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nUqZMGcLCwrjpppvo0KHDX9arWLEigwYNytZ77Nu3j/Xr1zNlyhQAWrRoQfPmzalcuTKffvop999/\nP2PHjj3nNo4cOUKBAgWSP4+KiiI2NjZT75/ZfYTz28/0nGv/05Kdfd2zZw/Lli1j5cqVrFixggkT\nJvD888+nu34w9nPy5MnMmDGDN998M9vbyOz3Pzs0tSoiInleo0aN+O9//0u9evWIjIykQ4cOvPXW\nW+zbty9o7xEdHU3t2rWTPy9XrhxfffUVy5Yto3HjxpneRsqyGhcXR4kSJTL12tT72LJlS4YMGcKY\nMWOSj0PLSent/7nWz+q+zps3j/bt29OrVy+6du3K7t27adWqVY7uZ6dOnfjggw+46aabsnUbuqx8\n/7NDI3IiIpKjQuXWXa+99hr79u1j2LBhgG9a7pJLLvnTOimn4lLKzFRczZo1+e6775I/DwsLIzEx\nkWXLlnHq1CnmzJnD4sWLOX36NJ9//nma26lUqRIrVqxI/vzQoUM0aNAgW/v41ltvcd1119GgQQO6\nd+/OxIkTg7Kf6Ulv/9OTnX3dtWsX1atXB3xnvLZt25bx48fnyH5+8cUXvPrqqyxevJjo6GguueQS\nPvnkkwzPxE1t6dKlxMXFZer7ny3W2nz58O26iIgEQ6j/m/raa6/Z5557zlpr7fr16+2iRYtsmzZt\n7Pfffx+09zh9+rRt0qRJ8ufNmjWzv/7665/WGThwoH3ppZeSP9+yZYtNSkpK/vzkyZO2du3ayZ/X\nrVvX7tu3z1pr7ebNm/+0bmqp97FPnz52586d1lpr27Rpcx57lrYxY8bYHj16JH9+rv1PvZ/WZm9f\nR48ebUePHm2ttbZt27Z2x44dtm/fvjmyn3PmzEn+eiYlJdmyZcvar776Kt39CUj9dUkp9fc/Len9\nXfIv/0ufMTZEflPKbcYYm1/3PSNnz55l8+bN7Nixg507d7J3715OnDjBmTNnKF26dPJBpiIiAend\n6DsULFmyhMOHD1OsWDFefPFFrr/+erp27crUqVN56qmngvpeX375JYsXL8ZaS7Vq1ejSpUvyc9Om\nTWPQoEEYY+jfvz8dO3akQYMGfPDBB9SvXz95vQkTJrB9+3astVSsWDF5G9WrV+edd97hxhtvzNQ+\n7t27l2effZbLLruMtm3b8sUXXwRtP999910+/vhjdu3aRY8ePejXrx/R0dHp7n9a+5mdfT1+/DjP\nP/88tWvXplatWjRp0oQ+ffrw3HPP5ch+jhw5koSEBHbs2EGVKlV44IEHzrk/6X1dIO3vf1rS+7vk\nX/6XA05V5ITjx4/z7bffMnfuXJYtW8batWuJj49Pc93atWuzdu3aXE4oIqEulItcWiZNmkT58uUp\nV64cZcuWdR0nU5KSkliwYEGmL2ExbNgwWrRoQfXq1enRoweTJ0/O4YTBk5V99fJ+pkVFLpPye5E7\nfvw4M2bMYNKkScybN4+EhIQ/PV+hQgUqVapEuXLlKF26NEWLFuWCCy6gVKlSdOrUyVFqEQlVXity\nn332GWfPnqVRo0bnvNZZKPn444+5+eabKViwYKbWP3ToEB9++CHFixenVq1aNG3aNIcTBk9W9tXL\n+5kWFblMyq9FbsOGDbzzzjuMGzeOuLg4AMLDw2nSpAmtWrWiRYsW1K9fP0euki0ieZfXipwXnTx5\nksKFC7uOkSvy076mpiKXSfmtyK1evZoXXniB2bNnJy9r0aIFXbp0oWPHjiF3+xcR8RYVOZHgyGqR\n0+VH8rjt27fz5JNPJt/CpFChQnTv3p2+fftSo0YNx+lERETkfKjI5VHx8fEMHjyYwYMHc/r0aQoU\nKECfPn146qmnKFWqlOt4IiIiEgQqcnnQmjVr6Nq1K+vWrQOgc+fOvP7665QpU8ZxMhEREQkm3aIr\nD0lMTGTIkCE0atSIdevWUblyZRYsWMDEiRNV4kRERPIgjcjlEYcOHeKuu+7i66+/BuDBBx/kjTfe\nyLdn/YiIiOQHKnJ5wPr167nlllvYunUrpUqVYuzYsdx0002uY4lIPlK+fPm/3M9SRLIuq9c11NSq\nx82ePZsmTZqwdetWGjRowIoVK1TiRCTXBW6z5IXH8OHDk0vnI488wtmzZ51nyu7j+PHjtG/fHoCI\niAjGjx/vPJMe5/fYvn17lv7uqch52Pjx4+nQoQOxsbF06tSJRYsWeeZWMyIiLgwaNIg+ffpgreX1\n11/n7bffJiLCu5NT0dHRzJw5k8cff5yEhAS6devG6NGjXceSXKQi51EjRoygW7duJCYmMmDAACZO\nnEihQoVcxxIRCVmvvfYazz77LMYY/vOf//Dkk0+6jhQU4eHhDB06lNdeew1rLffffz/Dhw93HUty\nie7s4EFDhw5N/gfojTfe4IknnnCcSEQktI0cOZKHHnoIYwwTJkygc+fOriPliLfffpvHHnsM8O1z\n7969HSeSYNEtulLxapH7z3/+Q+/evTHG8N5779GrVy/XkUREQtqkSZO4++67sdby/vvvc//997uO\nlKNSltaPP/6Yjh07uo4kQaAil4oXi9yUKVPo3Lkz1lpGjBjBgw8+6DqSiEhIW7BgAX/7299ISEhg\nyJAhPPXUU64j5YpXX32VAQMGEBUVxZw5c7j++utdR5LzpCKXiteK3Ny5c2nbti0JCQm8+uqrPPvs\ns64jiYiEtG3bttGoUSMOHTrEY489xptvvuk6Uq6x1vLII48wbNgwoqOjWbp0KdWrV3cdS86Dilwq\nXipyv/zyC40bN+bYsWM8/vjjvPHGG7pek4jIOcTGxtKsWTPWrVvHTTfdxOzZswkPD3cdK1clJSVx\n1113MW3aNKpUqcLSpUu58MILXceSbFKRS8UrRe7IkSM0adKETZs2cdttt/HJJ58QFqaTjUVE0mOt\n5a677uLjjz+matWq/PDDDxQvXtx1LCdOnjxJ8+bN+fHHH2ndujX//e9/812hzSvSK3JqBCEsMTGR\nTp06sWnTJurUqcO4ceNU4kREMjB69Gg+/vhjihQpwueff55vSxxA4cKFmTlzJiVLluTLL7/k+eef\ndx1JgkytIIQNGjSIL7/8kosvvpjPP/+cIkWKuI4kIhLSNmzYwCOPPALAe++9R0xMjONE7pUvXz55\nNmfw4MF88803riNJEKnIhahFixbx4osvAjBhwoQs33tNRCS/iY+P56677iIuLo7u3bvTpUsX15FC\nxrXXXssLL7yAtZauXbty4MAB15EkSFTkQtChQ4fo3LkzSUlJPPPMM7Rq1cp1JBGRkPfqq6+ybt06\nKleuzLBhw1zHCTnPPfccLVq0YM+ePdx777144ThxyZhOdghBnTp1YsqUKTRt2pQFCxYQGRnpOpKI\nSEhbs2YNDRs2JCEhgYULF9KiRQvXkULSzp07qVu3LkePHmXcuHF07drVdSTJJJ3s4BGffvopU6ZM\noXDhwkyYMEElTkQkAwkJCdx7770kJCTQp08flbhzKFeuHG+99RYAjzzyCHv37nWcSM6XilwIOXTo\nUPLdGoYMGULFihUdJxIRCX0jRoxg1apVlC9fnkGDBrmOE/K6d+9O69atOXLkCH379nUdR86TplZD\nSPfu3Rk3bhzXXnst8+bN06VGREQycODAAapUqcKxY8f47LPPuOWWW1xH8oQdO3ZQq1YtYmNjmT17\n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\nli5dyh133MG0adNCqiilnFIdNWoU9913n+tIkgs0tZoPXHnllTzxxBNYa+nevbtu3yUikg0RERFM\nmjSJ6Ohopk+fzujRo11HSpZ6SrVnz56uI4ljGpHLY06fPs2VV17Jhg0bPHGwrohIqJo4cSJ33303\nBQsWZOXKlVSvXt11JCZNmkSXLl2Ijo7mp59+oly5cq4jSS5Jb0RORS4PWr16NY0bN+bs2bPMmTOH\nm266yXUkERFP6tatG+PHj6du3br88MMPFChQwFmWnTt3UrduXY4ePaop1XxIU6v5SP369Xn55ZcB\nuPfeezl06JDjRCIi3jR8+HAqVarEmjVreOqpp5zlSExMpFu3bhw9epT27dtrSlWSqcjlUU8++STN\nmzdnz5499O7dW/diFRHJhujoaCZPnkxkZCTDhg3j448/dpLj9ddfZ8GCBVxyySV88MEHIXXyhbil\nqdU8bNu2bdSpU4fY2FjGjBlD9+7dXUcSEfGkYcOG8fDDD1OkSBGWL19OtWrVcu29ly9fTrNmzUhI\nSNDhMvmYplbzoQoVKjBs2DAAHnroIX7++WfHiUREvKlv377cddddxMbG0rFjx1y78HpsbCxdunQh\nISGBRx55RCVO/kIjcnmctZZu3boxYcIEateuzdKlSylYsKDrWCIinhMbG0ujRo34+eef6dKlC+PH\nj8/xKc577rmHMWPGULt2bZYtW+b0ZAtxSyNy+ZQxhhEjRhATE8O6det47LHHXEcSEfGkIkWKMH36\ndAoXLszEiRMZOXJkjr7fRx99xJgxYyhQoACTJk1SiZM0aUQun/jxxx9p0qQJ8fHxTJkyhX/84x+u\nI4mIeNLkyZPp3LkzERERfPPNN1xzzTVBf4+1a9fSuHFjTp8+zYcffsg999wT9PcQb9GIXD5Xr149\n3nrrLQDuv/9+fv31V8eJRES8qVOnTvTr14+EhATuuOMOduzYEdTtHz9+nL///e+cPn2ae+65RyVO\nzkkjcvmItZY777yTTz75hNq1a/P9999TuHBh17FERDwnISGB9u3b8+WXX1KnTh0WL15MkSJFznu7\n1lo6derE1KlTqV27Nj/88AOFChUKQmLxOo3ICcYYPvjgg+Tj5e6//35dX05EJBsiIiKYMmUKMTEx\nrF27lh49epCUlHTe2x0xYgRTp06lSJEiTJs2TSVOMqQil88ULVqUmTNnUqRIESZPnszbb7/tOpKI\niCcVL16czz//nGLFijF9+vTkO+pk18KFC3n00UcBGD16NFWrVg1GTMnjNLWaT3366afccccdhIeH\n8yGE+i0AACAASURBVPXXX9OyZUvXkUREPGnOnDm0a9cOay0TJ06kc+fOWd7Gzp07adiwIQcOHODx\nxx9n6NChOZBUvExTq/Int99+O8888wyJiYnceeed7Nq1y3UkERFPatOmDW+++Sbgu+7bggULsvT6\nU6dO0aFDBw4cOMCNN97I4MGDcyKm5FEakcvHEhMTadOmDXPnzqV+/fosWrRIJz+IiGTTI488wjvv\nvEPx4sVZsmQJ1atXz/A11lq6dOnC5MmTqVixIsuXL6dEiRK5kFa8RiNy8hfh4eFMnjyZypUrs3r1\narp16xaUg3VFRPKjN998kw4dOnD06FHatGnD3r17M3zN0KFDmTx5MkWKFOHzzz9XiZMsU5HL5y66\n6CJmzZpFsWLF+PTTTxkwYIDrSCIinhQeHs7EiRNp3LgxO3bsoF27dsTGxqa7/syZM3n66acBGD9+\nPDVr1sytqJKHqMgJ1apV45NPPiE8PJxBgwYxduxY15FERDypUKFCfP7551SsWJFVq1Zxxx13cObM\nmb+st3z5cjp37oy1lldeeYUOHTo4SCt5gY6Rk2TvvfceDz74IJGRkXzzzTe0aNHCdSQREU/atGkT\nzZs358CBA9x5551MmjSJ8PBwAHbs2EHjxo3Zt28f99xzDx988AHG/OXQJ5E/Se8YORU5+ZPAwbol\nSpRg8eLFVKtWzXUkERFPWrVqFddddx3Hjx+nV69evPfeexw/fpyrr76a9evXc/311zNnzhyioqJc\nRxUPUJFLRUUubQkJCdx2223Mnj2b8uXLs2TJEi677DLXsUREPGnhwoW0bt2a06dP8/jjj7NmzRq+\n/vprqlevzpIlSyhevLjriOIRKnKpqMil7+TJk9xwww0sXbqUunXrsmDBAooVK+Y6loiIJ82ePZtb\nb701+aoApUqVYunSpVxxxRVug4mn6PIjkmmFCxdm9uzZxMTEsGbNGm6//Xbi4+NdxxIR8aR27dpx\n0UUXJX9+0003qcRJ0KjISZpKlizJ//73Py699FLmzZsXtBtCi4jkN4MHD+bAgQPJn48bN46RI0c6\nTCR5iYqcpKtChQrMmTOH6OhopkyZwsMPP4ymo0VEMm/UqFE8++yzGGOYOnUqw4YNA+Chhx7i/fff\nd5xO8oII1wEktNWrV4+ZM2fStm1bhg8fTpEiRRg0aJBOlRcRycCnn35K7969ARg+fDh33nkn4Ls9\n4qOPPsoDDzxAeHg4PXv2dBlTPE4jcpKh66+/nmnTphEREcGQIUN47bXXXEcSEQlpX3zxBXfddRdJ\nSUm89NJLPPjgg8nPPfLII/z73/8G4P777+ejjz5yFVPyABU5yZSbb76ZCRMmEBYWxoABA3j77bdd\nRxIRCUlz587l9ttv5+zZszz66KM8//zzf1mnX79+DBkyBGst9957LyNGjHCQVPICXX5EsuTD/2/v\nvsOjqhb1j39X6O0QikgVUOkiHa6RXgwtdKliKKJiAak5iB65XlAEpASFGIqHEhDlxxVEukgEgpFO\npCuEDhIktABJmPX7I2FuiHJUTLIzyft5nnkyWTNJXmVn5s3ee609d677MMCsWbN44YUXHE4kIpJ+\nhIaG0qpVK27evMkrr7zCRx999B9PRZk8eTLDhg0DYOLEiQwfPjytooqH0fIjkiL69evHtGnTAHjx\nxReZO3euw4lERNKHrVu30qZNG27evMkLL7zA9OnT//B84qFDh7pnsI4YMYIxY8ZoUpn8JdojJw9k\nwoQJBAQEABAcHMyAAQMcTiQi4pzw8HBatGjBtWvX6N27N59++qn72qp/xvz58+nbty8ul4vhw4cz\nYcIETSqTe+jKDsmoyP19kyZNYsSIEQAEBQXx0ksvOZxIRCTtbdmyhdatW3Pt2jW6du1KSEgIWbP+\n9UUhli5dSo8ePYiPj2fAgAHMmDHjgb6PZEwqcsmoyKWMKVOmMHToUABmzJhxz8wsEZGMbuPGjfj5\n+RETE0OPHj2YP3/+3ypfX3/9NV26dOHWrVu0b9+exYsXkytXrhRMLJ5KRS4ZFbmUM23aNN544w0A\nAgMDef311x1OJCKS+tasWUPHjh25desWffr0Yfbs2X/pcOr9hIWF0bZtWy5fvoyPjw9fffUVBQsW\nTIHE4sk02UFSzeDBgwkMDARg0KBBjB07VifrikiGtnz5ctq1a8etW7d46aWXmDNnToqUOAAfHx+2\nbt1KqVKlCAsLo379+pw8eTJFvrdkPOm2yBljJhhjDhpj9hhj/p8x5h9JHhtljDma+PgzScZrGmP2\nGWOOGGO00Fkaev3115k1axZeXl68/fbbDBs2TGVORDKkkJAQunTpQlxcHIMHD2bmzJl4eaXs22ml\nSpUICwvjiSee4ODBg/j4+BAREZGiP0MyhnRb5IB1QBVrbXXgKDAKwBhTGegKVAJaATPM/03tmQn0\nt9aWB8obY3zTPnbm9cILL7BkyRKyZcvGlClT6N+/P/Hx8U7HEhFJMVOnTuW5554jPj6egIAApkyZ\nkmqzS0uWLMl3331HgwYNOHPmDE8//TSrVq1KlZ8lnivdFjlr7QZrrSvx0++Bkon32wGfWWvjrbWR\nJJS8usaYokA+a+32xOfNBzqkZWaBLl268NVXX5E7d24+/fRTunXrxu3bt52OJSLyt1hrGTVqFEOG\nDAESFu8dP358qi8RUqBAAdatW0f37t25du0afn5+TJ8+PVV/pniWdFvkkukH3P0zpARwKsljZxLH\nSgCnk4yfThyTNObr68v69evJnz8/y5Yto2XLlkRHRzsdS0TkgcTHx/PCCy8wfvx4smTJwrx589L0\nCgw5c+Zk0aJFvPPOO7hcLgYNGsRrr72mIx4COFzkjDHrE89pu3uLSPzol+Q5o4E4a+1iB6PKX+Tj\n40NoaCjFihVj06ZNOllXRDzSzZs36dKlC3PnziVXrlwsX76c559/Ps1zGGMYM2YMISEhZM+enY8/\n/pg2bdpw5cqVNM8i6YujKw1aa1v8p8eNMX2A1kDTJMNngFJJPi+ZOHa/8fsaM2aM+37jxo1p3Ljx\nH4eWP61atWps27aNVq1asX//fv7rv/6LVatWUb16daejiYj8oQsXLtC+fXvCw8MpUKAAK1euxMfH\nx9FMPXv2pEyZMnTo0IF169ZRr149vvzySypWrOhoLkl5mzZtYtOmTX/4vHS7jpwxpiXwIdDQWnsp\nyXhlIASoR8Kh0/VAOWutNcZ8DwwCtgNfA4HW2jX3+f5aRy6NXL58mY4dOxIaGkrevHlZunQpvr6a\nhyIi6deBAwdo06YNkZGRlC5dmq+//poqVao4Hcvt+PHjtGvXjh9//JF8+fKxYMEC2rdv73QsSUWe\nuI7cdCAvsN4Ys8sYMwPAWnsA+Bw4QMJ5c68kaWSvAnOAI8DR+5U4SVsFChRg7dq19OjRg+vXr9Om\nTRtmz57tdCwRkd+1YcMGfHx8iIyMpG7duoSHh6erEgdQtmxZtm3bRteuXbl27RodOnTgX//6Fy6X\n64+/WDKUdLtHLrVpj1zac7lcjB49mvHjxwMJCwlPmjRJ1xIUkXRjzpw5vPzyy8THx9O5c2fmz59P\n7ty5nY51X9ZaJk2axD//+U9cLhdt2rRh4cKFeHt7Ox1NUpgu0ZWMipxz5s6dy8svv0xcXBzPPPMM\nS5Ys0YuOiDjq7rpwkydPBmDkyJG8//77Kb7Qb2pZv3493bt359dff+Wxxx7j888/p2bNmk7HkhSk\nIpeMipyztmzZQqdOnbh48SLly5fnq6++onz58k7HEpFM6Ndff6V79+6sX7+erFmz8vHHH/Piiy86\nHesvO378OJ06dWLPnj1kz56dKVOmMHDgwFRf607ShopcMipyzouMjKRdu3ZERETg7e3NkiVLeOaZ\nZ/74C0VEUkhERAQdOnTg2LFjFClShKVLl9KgQQOnYz2wW7duMXToUGbOnAkkLNI+e/Zs8ufP73Ay\n+bs8cbKDZHBlypQhLCyM9u3bEx0dTcuWLRk3bpxO1hWRNLFs2TKeeuopjh07Rs2aNdmxY4dHlzhI\nWDx4xowZLFmyhHz58rF06VJq1qzJzp07nY4mqURFThyVN29eli1bxjvvvAPAW2+9RYcOHXQlCBFJ\nNfHx8bz55pt07tyZGzdu0KtXL7Zs2UKpUqX++Is9RNeuXdm1axc1atTg2LFj+Pj48OGHH+oP5QxI\nh1Yl3Vi1ahXPPfccly9f5tFHH2XZsmVUq1bN6VgikoGcO3eOHj16EBoaipeXFx988AHDhg3LsOeR\n3bp1i+HDh/Pxxx8D0KRJE+bNm5ehSmtmoXPkklGRS5+OHz9O586d2b17Nzlz5iQoKAh/f3+nY4lI\nBvDtt9/So0cPLly4QNGiRfnss89o1KiR07HSxMqVK+nXrx8XL17E29uboKAgunXr5nQs+Qt0jpx4\nhLJly7J161b69evHrVu36NOnD/7+/ly/ft3paCLioVwuF2PHjqV58+ZcuHCBpk2bsmfPnkxT4gDa\ntm1LREQEbdu2JTo6mu7du9O7d29dqzUD0B45SbfmzJnD66+/zs2bNylXrhyfffaZ1kUSkb/k3Llz\n9OnTh3Xr1mGM4a233uKdd94hS5YsTkdzhLWW4OBghgwZws2bNylZsiTBwcG0atXK6WjyB3RoNRkV\nOc9w4MABunXrxo8//kj27NmZMGECgwYNyrDns4hIylm5ciV9+/YlKiqKQoUKsXDhQlq2bOl0rHTh\n8OHDPP/88/zwww8A+Pv7M2XKFAoUKOBwMrkfHVoVj1S5cmV++OEHBg4cSGxsLG+88QZ+fn5cvHjR\n6Wgikk7FxMTw6quv4ufnR1RUFM2bN2ffvn0qcUlUqFCBrVu3MmHCBHLkyMG8efOoUqUKK1ascDqa\n/EXaIyceY9myZfTv35/o6GiKFCnCrFmzaNeundOxRCQd2bt3Lz169ODgwYNky5aN999/nyFDhnjM\npbaccPjwYfr160dYWBgAPXv2ZOrUqTz00EMOJ5OktEdOPF6nTp3Yu3cvjRo14pdffqF9+/b079+f\nq1evOh1NRBwWHx/PBx98QN26dTl48CAVK1YkPDycYcOGqcT9gQoVKvDdd98xZcoUcuXKxaJFi6hQ\noQKzZ8/WunMeQHvkxOO4XC6mTZvGqFGjuH37NqVLl2bevHmZagaaiPyfQ4cO0adPH8LDwwF46aWX\nmDx5Mrlz53Y4mef56aefGDhwIBs2bADg6aefJigoiCeeeMLhZKI9cpJheHl5MWTIEHbt2kWtWrU4\nceIETZo0YejQody4ccPpeCKSRu7cucOHH35I9erVCQ8Pp0SJEqxevZqgoCCVuAf0+OOPs27dOhYv\nXszDDz/M1q1bqVGjBgEBAXp9Tae0R048WlxcHOPGjWPs2LHcuXOHsmXLMmvWLJo1a+Z0NBFJRUeO\nHKFv377u87r69u3L5MmT8fb2djhZxhEdHc3o0aOZOXMm1loeeeQRJk6cyLPPPquVAxyg5UeSUZHL\nWHbu3Em/fv3Yt28fkPCi/uGHH2oqvUgGExsby4QJExg7diy3b9+mWLFizJo1izZt2jgdLcP64Ycf\nePnll9m9ezcADRo0YNq0adSoUcPhZJmLDq1KhlarVi127NjBe++9R44cOfj000+pVKkSS5cuRYVd\nJGO4e5jv7bff5vbt2/j7+7N//36VuFRWt25dtm/fzieffELhwoXZvHkztWrV4sUXX9RSUOmA9shJ\nhnP48GEGDBjA5s2bgYRL0wQGBlK2bFmHk4nIg4iOjiYgIIDg4GAg4TyuTz75hKZNmzqcLPOJjo7m\n3XffZfr06cTHx5M/f37eeustXnvtNXLmzOl0vAxNh1aTUZHL2FwuF8HBwQQEBHD16lVy5szJqFGj\nGDlypF5sRDyEtZbFixczbNgwzp8/T7Zs2QgICGD06NH6PXbYoUOHGDp0KKtXrwagVKlS/M///A/P\nPfdcpr38WWpTkUtGRS5zOHfuHCNGjCAkJASAxx57jOnTp+u6giLp3O7du3n99dfZunUrkLAMRnBw\nMJUrV3Y4mSS1Zs0aAgIC3OcnV61alfHjx9OqVStNiEhhOkdOMqVixYqxcOFCvv32WypXrszPP/9M\n69at6dixI8eOHXM6nogkc+nSJQYOHEjt2rXZunUrRYoUYe7cuXz33XcqcelQy5Yt2bVrF/Pnz+eR\nRx4hIiKCNm3a0KRJE7Zt2+Z0vExBRU4yhcaNG7Nnzx4mTpxInjx5+PLLL6lUqRIjR47kypUrTscT\nyfTi4+OZMWMG5cqVIygoCGMMb7zxhnuZEV2dIf3KkiULvXv35vDhw0yePJmCBQsSGhqKj48PLVu2\n5Pvvv3c6YoamQ6uS6Zw+fZo333yTBQsWAFC4cGHeffddBgwYQNasWR1OJ5K5WGtZuXIlAQEBHDx4\nEICmTZsSGBhIlSpVHE4nD+LKlStMnDiRadOmcf36dSBhz92YMWOoV6+ew+k8l86RS0ZFTnbs2MGQ\nIUPYsmULAJUrV+bDDz/E19dX53aIpIEdO3YwfPhwQkNDAShbtiwTJkygc+fO+h3MAC5dusTkyZMJ\nDAx0F7pWrVrx9ttv89RTTzmczvOoyCWjIieQsDdg2bJljBw50n3OXOPGjXnvvff0QiOSSiIjI3nz\nzTdZvHgxAAULFuTtt99m4MCB5MiRw+F0ktKioqLche7uZb4aNmxIQECAJkX8BSpyyajISVK3b9/m\no48+Yty4cVy+fBkAPz8/xo0bR9WqVR1OJ5IxnD17lvfee49Zs2YRGxtLjhw5GDx4MKNGjdKltTKB\nu4VuxowZ7nOTq1atSkBAAN26ddOpLX9ARS4ZFTn5PdHR0UyaNImpU6dy48YNjDH06NGD//7v/+bx\nxx93Op6IR/rll18YP348M2fO5NatWxhj6NWrF2PHjqV06dJOx5M0dvXqVYKDg5k8eTLnzp0DoHTp\n0rzxxhv069ePf/zjHw4nTJ9U5JJRkZP/5MKFC7z33nsEBQURGxtLlixZeO6553jzzTcpX7680/FE\nPMKlS5eYOHEi06dPJyYmBoAuXbowZswYTWQQbt++zcKFC5k4cSKHDx8GIG/evPTt25fXXntNr7XJ\nqMgloyInf8aJEycYM2YMCxYs4M6dO3h5edGtWzdGjx6tNyKR+zh37hxTpkxh5syZ7pPc/fz8ePfd\nd6levbrD6SS9cblcrFixgmnTprFp0yb3eKtWrRg8eDAtWrTQ8jOoyP2Gipz8FceOHeP9999n3rx5\nxMXFYYyhc+fOvPXWW1SrVs3peCLpwvHjx5k4cSJz587l9u3bAPj6+vLuu+9St25dh9OJJ9i3bx+B\ngYGEhIRw69YtAMqVK8eAAQPw9/enSJEiDid0jopcMipy8iBOnjzJBx98wOzZs4mNjQUS3qiGDx9O\ns2bNNPtKMqX9+/czfvx4Fi9ezJ07dwDo1KkTo0aNonbt2g6nE08UFRXF7Nmz+fjjjzl9+jQA2bJl\no0OHDgwYMIBmzZplur10KnLJqMjJ33H27FkmTpxIcHCw+9yfatWqMXz4cLp160a2bNkcTiiSuqy1\nrFu3jqlTp7JmzRogYYX/Xr16ERAQoMtpSYqIj49n9erVBAcHs2rVKlwuF5Cw5mD//v3p3bs3jzzy\niMMp04aKXDIqcpISfv31Vz755BMCAwM5f/48ACVLlmTQoEH079+fggULOpxQJGXdvHmThQsXMnXq\nVA4cOABArly56Nu3LyNGjKBMmTLOBpQM6/Tp08ydO5c5c+Zw8uRJ93jjxo3p3bs3Xbp0ydAzXlXk\nklGRk5R0+/ZtQkJCmDRpkvsyQ7ly5aJnz568+uqr1KhRw+GEIn/PqVOn+OSTTwgKCuLSpUsAFC9e\nnNdee40XX3yRQoUKOZxQMos7d+6wbt065s2bx/Lly93n0uXMmZP27dvTu3dvWrRoQfbs2R1OmrJU\n5JJRkZPU4HK5WLNmDYGBgaxdu9Y9/tRTT/Hqq6/SpUsXrVwvHuPuG2ZQUBArV650H9aqVasWQ4YM\n4dlnn81wb5biWa5cucLSpUtZsGCB+1JvAN7e3rRv355nn302w5Q6FblkVOQktR05coSZM2fy6aef\nulcxL1KkCP7+/vTr14+KFSs6nFDk9124cIG5c+cSHBxMZGQkkHCieadOnXj11VepX7++JvZIunPi\nxAlCQkJYtGgR+/fvd4/nz5+f9u3b06VLF1q0aEHOnDkdTPngVOSSUZGTtHLjxg0WLVrERx99xL59\n+9zjPj4+9OvXj65du5IvXz4HE4pAXFwcq1atYt68eaxcuZK4uDgAypQpw0svvUTfvn15+OGHHU4p\n8uccPHiQpUuXsnTp0nted/PkyUOLFi3w8/OjdevWFC1a1MGUf42KXDIqcpLWrLWEh4czZ84cPvvs\nM/dCqXny5KFr1674+/vToEGDTDelXpxjrWXPnj3MmzePkJAQoqKiAPDy8sLPz4+XX36ZZ555Rtuk\neLQjR464S93u3bvveaxu3bq0bduWNm3aUL169XS9ravIJaMiJ066ceMGX3zxBXPmzGHLli3u8ZIl\nS9K9e3d69epFtWrVdPhKUsWJEyf4/PPPWbBgAREREe7xKlWq4O/vT69evShevLiDCUVSx6lTp/j6\n669ZuXIl33zzjXuiBEDhwoVp1qwZLVq0oHnz5unuOsAqcsmoyEl6ceTIEf7973+zaNEiTpw44R6v\nVKkSPXv2pHv37jz++OMOJpSM4MyZM3zxxRcsWbKE77//3j1esGBBevbsib+/P7Vq1dIfD5Jp3Lhx\ng40bN/LVV1+xZs0aTp06dc/j5cqVo3nz5jRu3Jj69es7/seNilwyKnKS3rhcLrZt28bixYtZsmSJ\n+zAXQNWqVenUqROdOnWiatWqerOVP+XUqVMsX76czz//nC1btnD3NS937ty0bduW7t2707p1a82k\nlkzPWsvRo0dZv349GzZsYOPGjVy9evWe5zz66KPUr1+fBg0aUL9+fSpUqJCmr8UqcsmoyEl6FhcX\nxzfffENISAgrVqy45wXl0UcfpVOnTnTs2JF69eqRJUsWB5NKemKtZe/evSxfvpwVK1awa9cu92M5\ncuSgdevWdOvWjbZt25InTx4Hk4qkb/Hx8ezYsYNvvvmGzZs3ExYWxrVr1+55TqFChahTpw61a9em\nTp061KlTh2LFiqVaJhW5ZFTkxFPExsayceNG/vd//5cvv/ySX375xf1YoUKFaNmyJa1atcLX15fC\nhQs7mFScEBMTQ2hoKKtXr2bFihX3HJ7PkycPvr6+dOzYkXbt2mXoVe9FUlN8fDwRERFs3ryZLVu2\nsHnzZvfVfJIqUaIEderUoUaNGjz55JNUrVqVsmXLpsgkChW5ZFTkxBPduXOHsLAwli1bxvLlyzl+\n/Lj7MWMM9erVc5e6WrVqkTVrVgfTSmqw1hIREcHatWtZu3YtmzdvJjY21v140aJFadeuHe3ataNZ\ns2Yeu2aWSHpmreXkyZNs377dfdu5c+dvDsdCwh9UVatWpWrVqowbN46HHnrogX6milwyKnLi6ay1\nHDlyhFWrVrF69WpCQ0PveUPPly8fDRs2pGnTpjRp0oRq1aql66n18vustfz000+EhoYSGhrKhg0b\n7tkTYIyhVq1a+Pr64ufnR506dfTvLOIAl8vF0aNH2bFjB3v37iUiIoJ9+/Zx9uxZIOF39fr16+TO\nnfuBvr+KXDIqcpLRXL9+nY0bN7J69Wo2btzIkSNH7nm8YMGCNGrUiKeffhofHx9q1qypk9zTIZfL\nxaFDh9zF7bvvvuPcuXP3PKdYsWL4+vri6+tL8+bNdUhdJB2LiooiIiKCyMhI+vbt+8DfR0UuGRU5\nyehOnz7Nt99+y8aNG9m4cSMnT5685/Hs2bNTu3ZtfHx88PHxoW7duhQvXlwzYtPYxYsXCQ8Pd99+\n+OEH9yXd7nrooYdo2LAhDRs2pEmTJjzxxBP6dxLJZFTkklGRk8zEWsvx48cJDQ1l27ZthIWF3XMt\nwruKFClCzZo177mVKVNGpSEFWGs5e/Yse/bsYe/evezdu5ft27ffc57jXcWLF6dBgwY0atSIRo0a\nUalSJf0biGRyKnLJqMhJZnf58mXCw8MJCwsjLCyMnTt3Eh0d/ZvneXt7U6VKFapUqULlypXdH4sV\nK6ZycR9RUVEcPnyYQ4cOsX//fndxu3Tp0m+emydPHmrXrk29evWoV68edevWpWTJkg6kFpH0TEUu\nGRU5kXtZa4mMjGTXrl3u286dO7l48eLvPt/b25uKFSvy2GOP8eijj/LYY4+5b0WLFs3QJc9aS1RU\nFJGRkURGRnL8+HGOHDnCoUOHOHTo0O8WNoACBQpQrVo1qlevTrVq1ahZsyaVK1fW7GIR+UMqcsmo\nyIn8MWst58+fZ//+/Rw4cOCej5cvX77v1+XKlYtSpUpRokQJSpYsSYkSJdz3ixcvTuHChSlcuDD5\n8uVLd4UvNjaW8+fPc+7cud98PH36tLu8xcTE3Pd75M2bl4oVK7pvTz75JNWrV6dkyZLp7r9XRDyD\nilwyKnIiD+5uwTt69Cg///wzP//8M8eOHXPfv98eqeSyZcvmLnWFCxfG29ubvHnzki9fvns+5s2b\nlxw5cpAtWzb3LXv27GTLlo2sWbPicrlwuVzcuXPHfd/lchEbG0tMTAwxMTHcvHnTfT8mJobo6Ggu\nX77M5cuX+fXXX933r1+//qeye3t7U6ZMGcqUKUPp0qUpX748FStWpEKFCpo0IiIpTkUuGRU5kdRz\n9epVTp8+zenTpzlz5gxnzpxx3z979iyXLl0iKiqKGzduOB31N7y8vHj44YcpVqwYxYoVo2jRou77\nxYsXp2zZspQuXRpvb2+no4pIJqIil4yKnIjzbt68yaVLl7h06RIXL17kypUrXL9+nWvXrnHt2jX3\n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\n8zlOaAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_flight_path(64,16,numpy.pi)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can play around with the input values and see what kind of behavior results. Just note that any value of $C > \\frac{2}{3}$ will result in $\\cos \\theta > 1$, which doesn't exist. Python will probably throw a few errors if you hit that condition, but just try again!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* The last case is $C = 0$. Take another look at Equation (16) and plug in $C = 0$, what should happen? It looks like it will just reduce to \n", + "\n", + "$$R = 3z_t$$\n", + "\n", + "It's a constant radius of curvature! In fact, this solution is a series of semi-circles, with a cusp between them. One way to force $C = 0$ that we can figure out from Equation (15), is to make:\n", + "\n", + "\n", + "$$z = 3z_t\\ \\ \\ ,\\ \\ \\ \\theta = 0$$" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmwAAAGXCAYAAAAOKAxiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XecVNX9//HXoYh0BBUFpSgqikLEWNBIMagRBcGCEiv6\njb23WGIkiYVYY0v5RaNGRCQSC0qkaEABE8EGIihKFQIICkRAyu75/TEDWddd2IXdvXd2X8/H4z52\n5syZO5/rZeXNOfeeCTFGJEmSlF7Vki5AkiRJm2dgkyRJSjkDmyRJUsoZ2CRJklLOwCZJkpRyBjZJ\nkqSUM7BJkiSlnIFNkiQp5QxsUg4IIXQJIeSHEM7eXFsp93lO9v2dy67S5JXVcYUQWoUQXgwhLMnu\n7y9lVaMklZaBTUpQgdBV1JYXQjikQPeivpZkW7+qpMTvDyF0CCHcFkJosY2fuc1KUEtZfIXLU8CR\nwF3AmcCfymCfZS6EULOCPy+EEK4OIUwPIawJIcwLIdwbQqhTXvsoTf+yqE9KoxpJFyAJgMHAiCLa\nPyvwOBR8IcY4LoRQG1hfnoUV8APgNuCfwLwK+sxEagkhbAf8CHgoxvhAWe+/lLXsCVwAdABWZLfl\nZILkgWTq/HUFlvQ74HJgGHAvsC9wBZlz0r2c9lGa/mVRn5Q6BjYpHd6LMQ4u7ZtijOvKo5hiBMpm\n5KoslHctu2Q/4+uy3GkIoRpQK8a4pgR9a5AJZacA1wA3xuyXP4cQdgT+ABwHnFiWNW6hpv2Ay4Dn\nY4x9C7TPAR4KIZweYxxSlvsoTf+yqE9KK6dEpRxV3DVsIYSWIYRhIYQV2e2FbNucEMIbReyqWgjh\nuhDCZyGEb0MInxSxz9uAjddwjS0wbVvsdV0FriX7cQhhQPbzvw0hfBhCOK2I/vVCCLeHEP4VQvgy\n23dmCOGu7EhiaWvZ4nEVU/cTwBwygXBAgenpztnXm4QQHs1Ota3N/nwkhNB4M8d/awjhM2ANcGoJ\naqgFjAJOAA6OMb6wMawBxBiXkhlBqgZM2NL+ytBPsz9/V6j9z8BqMlPHZb2P0vQvi/qkVHKETUqH\nOiGEJoXa1sYYv9nC+74zypQNDeOBnciMwMwgcx3WWKB24TeTGUW6C9ge+COwFrgYeCKEMDPG+Ha2\n3zBgV+BnwO3Z/QJ8vsUjg98CdYBHs8/7A8+GEGrFGP9aoF9z4LzsZz0DbAC6ADeQmc46rhS1lPS4\nivJH4H0yf+n/PbsBTA8hNADeBvYAHs/2OzC7724hhENijKsK7e9eMv+v/X/ASuCTzXz2Rk8BhwAd\nsuGsKB8Cb8YYi5wSDyEEoHFRrxXjq4KhsBg/BPKBSQUbY4xrQwgfAAeX4HNKu4/S9C+L+qR0ijG6\nubkltJEJJPlAXvZnwW1wEf3O3kLb3dl9nV7oc36b7ftGgbZzsm3vAtULtDcDvgWeKbSPc7L77lzC\nY9u4/9lAvQLtDciMYC0lMz24sb1GwToKtP86+7k/LEktpT2uYmpvmd3HLwu135H93AsLtV+S7f+r\nIuqYXvA4S/DZJ2Tf9+st9Nsd+GkJjqEkWx7QogS1TQH+U8xrz2X3U6Ms91Ga/mVRn5tbWjdH2KR0\n+H/A3wq1LdqK/ZxA5i+swtfp3AtcX8x7Ho0x5m18EmNcGEL4FNhrKz6/KL+PBUYKY4wrQwh/JBN+\nugIjs+0bNvYJIVQH6gPVgdeBXwCHApNL8bnlcVy9gS/JTLEV9CcyN0H0yf4s6PcxxrWl+IyryYSo\nRzfXKcY4n8zNKsVZROkusi/Jn7c6ZEYri/JtgT4ry3AfpelfFvVJqWRgk9JhZoyxqOvLSqs18O/C\njTHGL0MIy4voH8mMgBW2DCiL5Tsi/5uyLOhjMtOWexRsDCFcAlwItOO719hGYIdSfm55HFdrYFKM\nMf87HxZjXjYMHlhEHTNLuvNsUO0MTI0xLt6GOsmGxLL4M1XQajLT7UXZvkCfstxHafqXRX1SKhnY\nJOUV0x6KaS8XIYRryIwEvgY8CCwE1pG5tu0pSn+TVCqOi9IFhB3JjCpuNuRlr0/rtrmQn70jtbjw\nUpQvCwfRIiwE9g0h1Izfv3auObC04EhpGe2jNP3Loj4plbxLVKpc5gBtCjeGEHYCGm3jvrdmGY1A\nZh2swtpl9zerQNuZwOwYY48Y419ijK9lA8mSMqqlLMwC9smGoU2yI2N7893j2RpLKX5Kr6DeZMLs\n5uwO/KeE20JgtxJ87iQyf28UXNB5412tP6DQxf5ltI8t9Z9cir4lqU9KJQObVLkMB3YNIfQr1F7c\n9Wul8Q2ZAFaaOw8BLs7eXQlACKEhcBGZxV/HFeiXB8Ts6NHGvjWAm/h+QNvaWrbVi2RGrf6vUPsF\n2fa/f+8dpZC95u5vwBHZY/+ekPl2hwNjjOO3sLuN17CVZDuakl3D9lz251WF2i8gcxfyMwXqrBFC\n2CeEsPvW7qOE/Qdtw76lnOGUqFS5/JbMWlRPhBAO5X/LehxO5mL5wsGnNNODk8hcDH9LdvmQVWRG\nxN7ZwvuWAv/Orm8WyCzrsRtwfozx2wL9ngfuBF4LIfwdaAj0IzOSVLjOLdVSXtOed5NZR+3REMJB\nZJb16EhmOZLpwD2F+m9NHVeTWVvt8RDChQX/G4UQegCHAQO2tJPyuIYtxvhRCOFR4NIQwjAy386x\nH5lvFhgbY3y2QPfmZP6bjAWO2sp9lKp/afct5RIDm5S8SMmm+Lb4XaIxxmUhhCOA+8gEo8j//sJ8\nh8zCrVvaZ3H7nh9C6A/8HPg9UJPMtWWbC2wx2/9IMktfNAU+JbMcxXOF+t6d/Xk+mTXQFgFDgCfJ\n3KRQcOHYLdVS4uPaQr/C/w1WhhAOB34F9ALOBRZnaxgQv78GW6mnbrPn8CAyxzY6hDAf+IrMXY4j\nY4y/LO0+y9iVZG7ouADoQSaQP8j3746F4v9sl2Yfpe1f2n1LOSHEmJZvmilaCOFxMksVLI4xts+2\n7UBm6LslmWt2+sYYVyRWpJRy2VGopcAfY4yXVNBnnkPmGwm6xRjfrIjPlKTKKheuYXsCOLZQ243A\nmBjjPmSG/G+q8KqklAohbF9E88brwEZVcDmSpDKQ+inRGOP4EELLQs0nklnlHTLTIGPJhDhJMCKE\nMBd4j8w/yroDx5P5yqqXKriWil5CQ5IqpdQHtmLsvHFRyRjjohDCzkkXJKXIcOBsMks/1Aa+IHMx\n/K9jxV8Dke5rLiQpR6T+GjaA7Ajb8ALXsH0VY2xc4PVlMcbCX5wtSZJUKeTqCNviEELTGOPiEMIu\nFL2wJiGE9KdRSZKkrBhjkZeS5MJNB5C5DqbgAbxM5nZ6gHPYzHU5xX3rfXlst912W4V+npvnz81z\nVxk2z19ub56/sts2J/WBLYQwGJgI7B1CmJdde2kgcHQI4RPgx9nnkiRJlVLqp0RjjD8t5qXuFVqI\nJElSQlI/wpZLunbtmnQJ2gaev9zlucttnr/c5vmrGDlxl+jWCiHEynx8kiSp8gghEIu56SD1U6KS\npHRo1aoVc+fOTboMKee1bNmSOXPmlOo9jrBJkkok+6//pMuQcl5xv0ubG2HzGjZJkqSUM7BJkiSl\nnIFNkiQp5QxskiRJKeddopIkbYUPP/yQp59+mnvvvXdT26pVq/jtb39LixYtWLFiBddee22x73/p\npZeYNm0a1atXp1mzZpx11lkVUfZWef/99xk5ciQ33ngjAMOHD+eLL75g7dq1tGjRgpNOOmmz70/7\nsZa2vuL6l+txJv29WeX8nVxRklQ2/H/q/9x3332xT58+sX///t9pP++88+LcuXNjjDG2a9cuzpkz\np8j3r1ixInbs2HHT88MOOywuXbq0/AreBvn5+fH444+Pv/rVr2KMMc6fPz/ec889m14///zz4zff\nfFPs+7flWCdMmBAff/zxeO+998avv/56K49g80pbX3H9S7Of4n6Xsu1FZhqnRCVJKqVrrrmGE088\n8Ttts2fPZuHChbRo0QKAUaNG0bJlyyLf/+abb9KuXbtNzzt06MA///nP8it4GwwbNoxu3bptev7l\nl18yZswY1q9fD0C9evXYbrvtin3/1h7r559/zpNPPsl5551HixYteP7557fhKIpX2vqK61/e59Qp\nUUlSlTNr1iz+/Oc/f2c9rI2PQwgcdthh9OrVq1T7fOONN2jYsCGDBg3i66+/pn79+px77rlF9v3i\niy9o1KjRpueNGjVi5syZW308xdnW41y2bBnVqlVjxx13ZNWqVQAceOCB5Ofn88Mf/pALLriAY445\nhpo1axa7j6091p///OfcdNNNAHz66adUr169XI6ztPUV13+HHXYo13NqYJMklYkQilzvs9Q2/oW7\nNSZNmsSAAQNo3rw51apV4yc/+Qm9e/f+Xr899tiDu+66a1vK/J7Fixczbdo0hgwZAsCRRx7Jj370\nI9q0afO9vl9//TXbb7/9pufbbbcd33zzTYk+p6THCNt+nH//+9/52c9+xlNPPfWd9htvvJGBAwdy\n/fXX87vf/W6z+9iaY/3Pf/7DO++8w7vvvsvkyZMZNGgQt956a7H9t+U4S1vf5vpv7TktCadEJUmV\nxsEHH8yrr77KD37wA2rWrEnv3r154IEHWLx4cbl/dv369TnggAM2PW/RogWjRo0qtm/BYLpmzRoa\nN25cos8pfIxdu3blt7/9LU8++STvvvvuth1EAe+88w6HHnro99pnzpzJuHHjGDVqFC+//DK33347\nb7/9drH72ZpjfeONNzjhhBO44IILOOuss1i4cCHHHHNMuRxnaesrrv+2nNOScIRNklQmtmVkrCzd\neeedLF68mIcffhjITKc1bdr0O30KTqEVtC1Tou3atWP8+PGbnlerVo28vLwi++65555Mnjx50/Nl\n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\nSZISMm/ePPr160d+fj633norJ5xwQtIlSZVKoiNsIYTRIYQpBbap2Z89AWKMv4gxtiAzBXp5krVK\nkor27bffcsopp7B06VKOPfZYbrvttqRLkiqdREfYYoxHl7DrYOBVYACZEbXdC7y2W7atSAMGDNj0\nuGvXrnTt2rWUVUqSihNj5IILLmDSpEm0atWKwYMHU7169aTLknLC2LFjGTt2bIn6pvmmgzYxxs+y\njy8Hjowx9i1w08GhZKZCR+NNB5KUiPvuu4/rrruOunXrMnHiRNq3b590SVLO2txNB2m+hm1gCGFv\nMjcbzAUuAogxfhxCGAp8DKwHLjGVSVLFe+2117jhhhsA+Otf/2pYk8pRakfYyoIjbJJUPj755BMO\nPfRQVqxYwW233fady08kbZ3NjbAZ2CRJpbJs2TIOO+wwPvvsM/r06cPzzz9PtWqpXSVKyhkGNklS\nmVi7di1HH300b731FgceeCBvvvkm9erVS7osqVLIyYVzJUnpEmPkZz/7GW+99RbNmjVj+PDhhjWp\nghjYJEklcscdd/D0009Tt25dXnnlFZo3d81yqaI4JSpJ2qJBgwZx1llnEULgpZdeomfPnkmXJFU6\nTolKkrba6NGj6d+/PwAPPPCAYU1KgCNskqRivf/++3Tu3JlvvvmG6667jnvuuSfpkqRKy7tEJUml\nNmfOHDp16sSiRYvo168fgwYNcvkOqRwZ2CRJpfLll19y5JFH8sknn3DUUUcxYsQIatWqlXRZUqVm\nYJMkldjKlSvp1q0b7733Hu3bt+fNN9+kYcOGSZclVXredCBJKpE1a9bQq1cv3nvvPfbcc09Gjhxp\nWJNSwMAmSQJgw4YNnH766YwbN45mzZoxevRodtlll6TLkoSBTZIE5OXl0b9/f15++WUaN27MqFGj\naN26ddJlScoysElSFZefn89FF13EoEGDqFu3LiNGjKBdu3ZJlyWpAAObJFVhMUauvPJKHnvsMWrX\nrs2rr77KoYcemnRZkgoxsElSFRVj5Prrr+eRRx5hu+2248UXX6RLly5JlyWpCAY2SaqCYozccsst\n3HfffdSoUYNhw4ZxzDHHJF2WpGLUSLoASVLFijFy8803M3DgQKpXr86QIUM44YQTki5L0mYY2CSp\nCokxcuONN3L33XdvCmsnn3xy0mVJ2gIDmyRVETFGbrjhBu69915q1KhhWJNyiIFNkqqAGCNXX301\nDz74IDVq1GDo0KH06dMn6bIklZCBTZIquby8PC688EIef/xxatasydChQ+ndu3fSZUkqBQObJFVi\n69ev5+yzz2bIkCFsv/32vPDCC/zkJz9JuixJpWRgk6RK6ttvv+W0007j5Zdfpn79+rzyyit07tw5\n6bIkbQUDmyRVQitXrqRPnz688cYb7LDDDowcOZKDDz446bIkbSUDmyRVMosXL6ZHjx6899577LLL\nLowcOZL27dsnXZakbWBgk6RKZPbs2RxzzDF89tlntGnThpEjR7LHHnskXZakbeRXU0lSJfHhhx9y\n+OGH89lnn3HggQcyfvx4w5pUSRjYJKkSGD16NEceeSSLFi2iW7dujB07lqZNmyZdlqQyYmCTpBz3\n5JNP0qNHD/773//St29fRowYQYMGDZIuS1IZMrBJUo6KMfKrX/2K/v37s2HDBm644QaeffZZtt9+\n+6RLk1TGvOlAknLQunXruOCCC3jqqaeoVq0aDz/8MJdccknSZUkqJwY2ScoxS5cu5aSTTuKtt96i\nTp06DBkyhJ49eyZdlqRyZGCTpBzy8ccf07NnT2bNmkWzZs0YPnw4HTt2TLosSeXMa9gkKUeMHDmS\nTp06MWvWLA466CAmTZpkWJOqCAObJKVcjJH777+fHj16sHLlSk455RTefPNNmjVrlnRpkiqIgU2S\nUmz16tWcddZZXHvtteTn5/OLX/yC5557jjp16iRdmqQK5DVskpRSc+fOpU+fPrz//vvUrVuXp556\nipNPPjnpsiQlwMAmSSn0z3/+k759+7J06VL23HNPXnzxRfbff/+ky5KUEKdEJSlF8vPzueuuu+je\nvTtLly7l2GOPZdKkSYY1qYozsElSSnz99deceOKJ3HzzzZuuV3v11VfZYYcdki5NUsKcEpWkFHjv\nvfc45ZRTmD17NjvssANPP/00xx9/fNJlSUoJR9gkKUExRh5++GE6derE7NmzOeigg3jvvfcMa5K+\nw8AmSQn56quvOOmkk7jiiitYt24dF110EePHj6dVq1ZJlyYpZZwSlaQETJw4kX79+jFv3jwaNmzI\nn//8Z0499dSky5KUUo6wSVIF2rBhA7fffjudO3dm3rx5HHroobz//vuGNUmb5QibJFWQ2bNnc9ZZ\nZzFhwgQArr/+eu644w5q1qyZcGWS0i71I2whhGtDCPkhhMYF2m4KIcwMIUwPIRyTZH2StCUxRp56\n6ik6dOjAhAkTaNasGaNHj+buu+82rEkqkVSPsIUQdgOOBuYWaNsX6AvsC+wGjAkh7BVjjMlUKUnF\nW7p0KRdffDHPP/88ACeffDJ/+tOfaNKkScKVScolaR9hewC4vlDbicCQGOOGGOMcYCZwSEUXJklb\n8uKLL9KuXTuef/556tWrxxNPPMHf/vY3w5qkUkttYAsh9ALmxxinFnqpOTC/wPMF2TZJSoWvv/6a\ns846iz59+rBkyRK6dOnChx9+yLnnnksIIenyJOWgRKdEQwijgaYFm4AI/AK4mcx0qCTljFdeeYUL\nL7yQhQsXUrt2bQYOHMhll11GtWqp/fexpByQaGCLMRYZyEII+wOtgA9D5p+juwHvhRAOITOi1qJA\n992ybUUaMGDApsddu3ala9eu21q2JH3PkiVLuPLKKxkyZAgAnTp14sknn2TvvfdOuDJJaTV27FjG\njh1bor4hF67VDyHMBjrGGL8OIewHPAMcSmYqdDRQ5E0HIQTvRZBUrmKMPPPMM1x11VUsW7aM2rVr\nc/vtt3PllVdSvXr1pMuTlENCCMQYi7xuItV3iRYQyUyXEmP8OIQwFPgYWA9cYiqTlITZs2dz6aWX\n8o9//AOA7t2786c//Yk99tgj4cokVTY5McK2tRxhk1Qe1q1bx3333cdvfvMb1qxZQ6NGjbj//vu9\nqUDSNqkMI2ySlArjxo3j4osvZvr06QD069eP+++/n1122SXhyiRVZt62JEklsGjRIs455xy6du3K\n9OnT2WuvvRg9ejSDBw82rEkqdwY2SdqMjdOfe++9N3/961+pVasWAwYMYMqUKXTv3j3p8iRVEU6J\nSlIxRo0axZVXXsmMGTMAOOGEE3jggQdo06ZNwpVJqmocYZOkQj799FN69+7Nsccey4wZM9hrr714\n9dVXGT58uGFNUiIMbJKUtWzZMq644gratWvHSy+9RN26dRk4cCBTp06lR48eSZcnqQpzSlRSlbd2\n7VoeeeQRbr/9dpYvX04IgfPPP5/f/OY37LrrrkmXJ0kGNklVV15eHoMHD+aXv/wlc+bMATKL3953\n3320b98+2eIkqQADm6QqJ8bIq6++ys0338zUqVMB2G+//bjnnns47rjjXPxWUup4DZukKuWtt96i\nc+fO9OzZk6lTp7L77rvzxBNPMGXKFHr06GFYk5RKjrBJqhImTpzIbbfdxpgxYwBo0qQJv/jFL7jo\noovYfvvtE65OkjbPwCapUvv3v//NbbfdxsiRIwFo0KABV199Nddccw0NGjRIuDpJKhkDm6RKafz4\n8dxxxx289tprANSvX58rr7ySa665hh122CHh6iSpdAxskiqNGCOjRo3ijjvu4K233gKgbt26XHHF\nFVx77bU0adIk4QolaesY2CTlvLy8PF588UUGDhzI5MmTAWjUqBFXXHEFV1xxhUFNUs4zsEnKWatX\nr+bJJ5/k/vvv5/PPPwdgp5124pprruGSSy7xGjVJlYaBTVLOWbJkCY8++iiPPvooy5YtA6B169Zc\nc801nHfeedSpUyfhCiWpbBnYJOWM9957j4ceeohnn32WdevWAXDwwQdz/fXXc9JJJ1G9evWEK5Sk\n8mFgk5Rq69ev54UXXuChhx5iwoQJAIQQ6NmzJ9dddx1HHnmki91KqvQMbJJSaf78+Tz22GM89thj\nLFy4EMisoXb++edz2WWXscceeyRcoSRVHAObpNTIy8tj1KhR/PGPf+SVV14hPz8fgLZt23L55Zdz\n9tlnU69evYSrlKSKZ2CTlLg5c+bw5JNP8uSTTzJ37lwAatasyamnnspFF11Ely5dnPaUVKUZ2CQl\nYvXq1bzwwgv85S9/4Y033tjU3rp1ay688EL69+/PzjvvnGCFkpQeBjZJFSY/P59x48YxaNAgnn/+\neVauXAnA9ttvz8knn8x5551H165dqVatWsKVSlK6GNgklasYI1OnTmXQoEEMHjyYBQsWbHrt4IMP\n5vzzz+e0006jUaNGCVYpSelmYJNULqZNm8bQoUMZOnQoM2bM2NTeqlUrzjzzTM444wzatm2bYIWS\nlDsMbJLKRIyRjz76iGHDhjF06FCmT5++6bXGjRtz2mmnceaZZ9KpUydvIJCkUjKwSdpqeXl5TJw4\nkRdffJEXX3yRWbNmbXqtcePG9OnTh759+9KtWzdq1qyZYKWSlNsMbJJKZcWKFYwePZoRI0YwfPhw\nli5duum1nXbaiZ49e9K3b1+OOuooQ5oklREDm6TNijEybdo0RowYwYgRI5gwYQIbNmzY9Pqee+5J\n79696d27N506dfL7PCWpHBjYJH3PggULeP311xkzZgxjxozhP//5z6bXqlevTufOnenRowfHH388\n7dq185o0SSpnBjZJLF68mDfffJM333yTN954g48//vg7rzdt2pTjjjuOHj16cPTRR7sEhyRVMAOb\nVMXEGJkzZw4TJ07kzTffZNy4cXzyySff6VO3bl26du1K9+7d6d69u6NokpQwA5tUya1atYp3332X\nt99+m7fffpt//etfLF68+Dt96tSpw+GHH06XLl3o0qULhx56KNttt11CFUuSCjOwSZXI6tWr+eCD\nD3j33XeZPHky7777LtOnTyc/P/87/Zo0aUKnTp340Y9+RJcuXTjooIO8o1OSUszAJuWg/Px85syZ\nw5QpU5gyZQpTp05lypQpzJw5kxjjd/pWr16dDh060KlTp01bmzZtnOKUpBxiYJNS7JtvvuHzzz/n\nk08+YcaMGUyfPp0ZM2bwySefsGbNmu/1r169Ou3ateOggw7ihz/8IQcddBDt27endu3aCVQvSSor\nBjYpQWvWrOGLL75g3rx5zJ8/nzlz5vD5559v2pYsWVLse3fddVcOOOAA2rdvv2lr27YttWrVqsAj\nkCRVBAObVMa+/fZbli1bxldffcWyZcv48ssvWbRo0Xe2//znP3zxxRd8+eWXm91XrVq1aN26Nfvs\nsw9t27albdu27Lvvvuyzzz4urSFJVYiBTVXe119/zauvvkp+fj55eXmbtvz8fDZs2MDatWv59ttv\nv7OtWrWKlStX8t///nfTzxUrVvDVV18VOVVZnBo1arDbbrvRokULdt99d1q0aMGee+65aWvevDnV\nqlUrx6OXJOWCUPgC5cokhBAr8/GpbEyZMoUOHTqU2f5q1qxJkyZNaNKkCY0bN2bHHXdk1113ZZdd\ndtm0NW3alN13352mTZsayCRJAIQQiDEWeUeYI2yq8ho3bswZZ5xB9erVqVat2nd+Vq9ene233/57\nW506dWjQoAH169f/zs/GjRtTt25d78CUJJUpR9gkSZJSYHMjbM7FSJIkpZyBTZIkKeUMbJIkSSln\nYJMkSUq51Aa2EMJtIYQvQgjvZbefFHjtphDCzBDC9BDCMUnWKUmSVN5SG9iy7o8xdsxurwGEEPYF\n+gL7AscBvw8pWUNh7NixSZegbeD5y12eu9zm+cttnr+KkfbAVlQQOxEYEmPcEGOcA8wEDqnQqorh\nH9rc5vnLXZ673Ob5y22ev4qR9sB2WQjhgxDCYyGEhtm25sD8An0WZNskSZIqpUQDWwhhdAhhSoFt\navZnT+D3wB4xxh8Ai4D7kqxVkiQpKTnxTQchhJbA8Bhj+xDCjUCMMf42+9prwG0xxn8X8b70H5wk\nSVJWzn2XaAhhlxjjouzTk4CPso9fBp4JITxAZiq0DfBOUfso7qAlSZJySWoDG3B3COEHQD4wB7gQ\nIMb4cQhhKPAxsB64xC8MlSRJlVlOTIlKkiRVZWm/SzQnhBDuzi7i+0EIYVgIoUGB11zkN+VCCD8J\nIcwIIXwaQvh50vVo80IIu4UQ3gghTMveqHRFtn2HEMKoEMInIYSRBe4sV8qEEKplF0R/Ofvcc5cj\nQggNQwh/y/6dNi2EcKjnr2IY2MrGKKBd9o7WmcBNACGE/UjpIr/KCCFUAx4BjgXaAf1CCG2TrUpb\nsAG4JsbYDugEXJo9ZzcCY2KM+wBvkP09VCpdSeaylo08d7njQWBEjHFfoAMwA89fhTCwlYEY45gY\nY3726b+A3bKPe5HSRX61ySHAzBjj3BjjemAImcWZlVIxxkUxxg+yj78BppP5nTsReCrb7SmgdzIV\nanNCCLsBPYDHCjR77nJAdvboyBjjEwDZv9tW4PmrEAa2snceMCL72EV+06/wOfoCz1HOCCG0An5A\n5h9KTWOMiyET6oCdk6tMm/EAcD1Q8AJqz11uaA0sDSE8kZ3S/n8hhDp4/iqEga2EtrDI78Y+twDr\nY4zPJliqVCWEEOoBzwNXZkfaCt9B5R1VKRNCOB5YnB0h3dzlIZ67dKoBdAQejTF2BFaRmQ71d68C\npHlZj1SJMR69uddDCOeSGeY/qkDzAmD3As93y7YpPRYALQo89xzlgBBCDTJh7ekY40vZ5sUhhKYx\nxsUhhF2AJclVqGIcAfQKIfQAagP1QwhPA4s8dznhC2B+jHFy9vkwMoHN370K4AhbGQgh/ITMEH+v\nGOPaAi+9DJweQtguhNCazSzyq8RMAtqEEFqGELYDTidz3pRufwE+jjE+WKDtZeDc7ONzgJcKv0nJ\nijHeHGNsEWPcg8zv2hsxxrOA4XjuUi877Tk/hLB3tunHwDT83asQrsNWBkIIM4HtgGXZpn/FGC/J\nvnYTcD6ZRX6vjDGOSqZKFScbuB8k8w+Yx2OMAxMuSZsRQjgCeBOYSmbqJQI3k/nH0FAyo9pzgb4x\nxuVJ1anNCyF0Aa6NMfYKITTGc5cTQggdyNwwUhOYBfQHquP5K3cGNkmSpJRzSlSSJCnlDGySJEkp\nZ2CTJElKOQObJElSyhnYJEmSUs7AJkmSlHIGNkmSpJQzsEmSJKWcgU2SJCnlDGySJEkpZ2CTJElK\nOQObJElSytVIugBJyhUhhAuAHYF9gKeBlsDOwP7ADTHGBQmWJ6kSCzHGpGuQpNQLIfwMmBJj/HcI\n4WBgNHAusAp4DegRYxyZYImSKjFH2CSpZJrEGP+dfdwCyIsxvhhCqA10jTG+lWBtkio5R9gkqZRC\nCA8Bu8cY+yRdi6SqwZsOJKn0ugFjky5CUtVhYJOkLQghVAshdA8ZOwPtKBDYQgg3JFacpCrBwCZJ\nW3YhMArYC+gLrAa+AAgh9AI+Sq40SVWB17BJ0haEEDoA1wMzgA+BBsBRwBxgdoxxUHLVSaoKDGyS\nJEkp55SoJElSyhnYJEmSUs7AJkmSlHIGNkmSpJQzsEmSJKWcgU2SJCnlDGySJEkpZ2CTJElKOQOb\nJElSyhnYJEmSUu7/A9i2e0jPCtaoAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_flight_path(16,48,0.)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That looks an awful lot like a quarter circle. And what's the radius of the arc? It's $$r = 48 = 3z_t.$$\n", + "\n", + "We can also get a semi-circle out of our simulated trammel by changing to another configuration where $C$ is (near) zero. Here's one example:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nvS8Z0/tyPr0nGdP7kjG9LznDb4/STXNNdhERERGvZozBXsZBG357lK6IiJyvQoUKxMTEOB1DxG+V\nL1+e/fv3e3y9GuETEZFU7lEEp2OI+K3M/g1e7gif9uETERER8XEqfCIiIiI+ToVPRERExMep8ImI\niIj4OBU+ERERkcu0du1aEhISOHv2LOvWrXM6znl0WhYREZF0Tp06xbhx4wgLC+PPP//k2Wef/dfj\nW7duJTIyksGDB2e6jsWLF7Nz504CAwO56qqr6Ny5c07HzpZt27Yxc+ZMJkyYkLrsYtufXl7Z1uzI\n6P3JSEREBDExMZQuXZp33nkHAGstxYsXJyAgIPXI22bNmjF37twcz52eCp+IiEg6Tz75JCNHjiQs\nLIyqVavywAMPUL58ecD1S3z48OHUrl07068/efIkL730Eps3bwagbt263HvvvZQoUSJX8mfV//3f\n/7F+/XqKFSv2r+UX2v70LmdbN2zYwI8//siJEyfo2rXreTmcltn7k5GhQ4fSokULypYtS2BgIAD7\n9+/nrbfe4o477iAgIIBFixZx991353TsDGlKV0REJI1ffvmFw4cPExYWBsDKlSv/VXYWLFhA48aN\nL7iOtWvXUqVKldT7t956K6tXr86ZwJfhmWeeoXXr1v9adrHtTy+727pv3z7ef/99nnjiCcLCwpg/\nf342tyLnZPT+ZCY4OJirr746tewB5M+fn7Zt21KhQgWKFi1KcHAwlStXzqm4F6QRPhER8Tk///wz\n77777r9OYpvyuTGG22+/nVatWmX4tV9++SWhoaF8+OGHnDhxgiJFitClSxcA4uLiCAgIoGTJkpw6\ndSrT1//111//NSpUrFgx9uzZ47kNdLuc7czMhbY/I9nd1ueff54XXngBgN27d/+rKKWXE9vpadHR\n0VhriYuL44YbbqBVq1aULVs29fHJkyfz9NNPO5ZPhU9ERLLEmGyf5P882b2ax8aNGxk1ahTlypUj\nICCAFi1a0KZNm/OeV7FiRcaMGZOt14iNjWXnzp3MmTMHgPr163PnnXdy/fXXs3DhQrp3784HH3xw\nwXWcOHGC/Pnzp97Ply8f8fHxWXr9rG4jXN52ZuZC25+R7Gzrb7/9RnR0NJs3b2bTpk18+OGHDB8+\nPNPn58R2elq3bt2oUaMGANWrV6dhw4aEhoYCrvcoLi6OkJAQx/Kp8ImISJ5x2223sWzZMt566y12\n7dpFmzZteO211+jUqRNXXnmlR16jSJEiVKtWLfV+WFgYK1eu5Pjx49SpUyfL6zh+/Hjq/TNnzlCm\nTJksfW36bWzUqBHjxo3jyiuvpFq1atSsWfPSNugSZbb9mRW+7Gzrl19+yf3330+PHj04ffo0gwYN\nolmzZjm+na+++ioJCQn/WpYyShgREXHBqeuLufXWW1M/L168OFFRUanTwXPnznVsKjeFCp+IiGSJ\nt1xjd/To0cTGxvLGG28ArunA9GUv7RRgWlmZAqxSpQrr169PvR8QEEBSUhLR0dGcPn2a5cuX89VX\nX5GQkMCnn36a4Xquu+46Nm3alHo/Li6O8PDwbG3ja6+9RuPGjQkPDyciIoJZs2Z5ZDszk9n2ZyY7\n23rw4MHUArR48WLuvfdeZs6cmePbOWjQoIs+JztmzZrFZ599lpo5Pj7+X1PUX375JY899liOvHaW\nWWv98ubadBERScvb/28cPXq0HTp0qLXW2p07d9p169bZe+65x3799dcee42EhAR7++23p96/4447\n7N69e//1nFGjRtkXX3wx9f6+fftscnJy6v1Tp07ZatWqpd6/9dZbbWxsrLXW2j179vzrueml38a+\nffvaAwcOWGutveeeey5jyzL2/vvv2y5duqTev9D2p99Oa7O3rVOnTrVTp0611lp777332piYGNuv\nX78c3c7sSv/+WHv++7B+/Xq7Zs0aa6218fHxtkKFCvbUqVOpj1evXt2uWrUqS6+X2b9B9/Js9x4d\npSsiInnChg0bqFatGs2bN6dJkyYsXLiQa665hkaNGnH77bd77HVCQkIYNWoUI0aMYPjw4fTp04fr\nrrsu9fGPP/6YxYsXs3jx4tQjSx944AG+++671OcULFiQQYMG8Z///IeXX36ZgQMHUrp0aQBatmzJ\nqlWrsryNwAUPaLgcb775JtOmTSMqKooXX3yRv/7664Lbn347s7utDz74INu3b2fq1KkMHz6csLAw\nkpOTc2w7syuj9wfOfx/q1avHwYMHmThxIkOHDmXOnDkULFgw9fESJUpQrly5XM+flrFeMkSf24wx\n1l+3XUQkM2mPgswLZs+eTfny5QkLC+Oaa65xOk6WJCcns2bNmoue2iXFG2+8Qf369alcuTJdunTh\no48+yuGEnnMp25qXt9OTMvs36F6e7SOnVPhERCRVXit8ixcvJjExkdtuu+2ydrjPTfPmzaNly5YU\nKFAgS8+Pi4tj+vTpFCtWjKpVq1K3bt0cTug5l7KteXk7PUmFz8NU+EREzpfXCl9edOrUKQoVKuR0\njFzhT9vqKSp8HqbCJyJyPhU+EWflVOHTQRsiIiIiPk6FT0RERMTHqfCJiIiI+DgVPhEREREfp8In\nIiIi4uN0LV0REUlVvnz5865XKiK5J6fOJ6nTsoiIiIh4OZ2WRUREREQuSIVPRERExMep8ImIiIj4\nOBU+ERERER+nwiciIiLi41T4RERERHycCp+IiIiIj1PhExEREfFxKnwiIiIiPk6FT0RERMTHqfCJ\niIiI+DgVPhEREREfp8InIiIi4uNU+ERERER8nAqfiIiIiI9T4RMRERHxcSp8IiIiIj5OhU9ERETE\nx6nwiYiIiPg4FT4RERERH6fCJyIiIuLjVPhEREREfJwKn4iIiIiPU+ETERER8XEqfCIiIiI+zicL\nnzGmhTHmR2PMbmPM807nEREREXGSsdY6ncGjjDEBwG7gLuAwsBF42Fr7Y7rnWV/bdhEREfFNxhis\ntSa7X++LI3y1gT3W2hhrbSIwB2jtcCYRERERx/hi4SsHHExz/1f3MhEREZELWrlyJXXq1OHXX391\nOopH+WLhExEREcmWqVOnEh0dzdChQ52O4lG+uA/f7cAoa20L9/3BgLXWjkv3PDty5MjU+40aNaJR\no0a5GVVERES8zM8//0zlypX5+++/OXz4MGXLlnUkR1RUFFFRUan3X3zxxcvah88XC18g8BOugzZ+\nA6KBjtbaXemep4M2RERE5DwtWrQgMjKSuXPn0qFDB6fjADpo4zzW2iSgH7AS2AnMSV/2RERERDLT\noEEDANauXetwEs8JcjpATrDWrgBudDqHiIiI5D1169YFYNOmTQ4n8RyfG+ETERERuRw33ugaM9q3\nb5/DSTzH5/bhyyrtwyciIiIZsdZSqFAhzpw5wx9//EFoaKjTkbQPn4iIiIgnGWO47rrrAN8Z5VPh\nExEREUmnYsWKAPzyyy8OJ/EMFT4RERGRdMqUKQPAkSNHHE7iGSp8IiIiIumULl0aUOETERER8Vkq\nfCIiIiI+rlSpUgAcPXrU4SSeocInIiIikk7RokUB+OuvvxxO4hkqfCIiIiLpFC5cGID4+HiHk3iG\nCp+IiIhIOoUKFQLg1KlTDifxDBU+ERERkXQ0wiciIiLi4zTCJyIiIuLjChQoAMCZM2ccTuIZKnwi\nIiIi6QQGBgKQnJzscBLPUOETERERSScgwFWRkpKSHE7iGSp8IiIiIulohE9ERETEx2mET0RERMTH\naYRPRERExMedO3cOgKCgIIeTeIYKn4iIiEg6f//9NwD58uVzOIlnqPCJiIiIpHP27FkAQkJCHE7i\nGSp8IiIiIulohE9ERETEx6nwiYiIiPg4FT4RERERH5eyD58Kn4iIiIiP+uuvvwAoUqSIw0k8Q4VP\nREREJJ0///wTgNDQUIeTeIZfF77ExESnI4iIiIgXUuHzISnDtSIiIiJpqfD5kJMnTzodQURERLyQ\nCp8PSflmioiIiKSlwudDjh8/7nQEERER8UJ//PEHoMLnE44cOeJ0BBEREfFCKR2hVKlSDifxDBU+\nERERkXRiY2MBuPLKKx1O4hkqfCIiIiLppBS+MmXKOJzEM/y68KV8M0VERETS0gifD9EIn4iIiKR3\n6tQp4uPjCQkJoWjRok7H8Qi/Lnwa4RMREZH00o7uGWMcTuMZfl34Dh8+7HQEERER8TK///474DvT\nueDnhe/QoUOcO3fO6RgiIiLiRQ4cOABAWFiYw0k8x68LX1JSkkb5RERE5F9iYmIAKF++vMNJPMev\nCx/80+JFREREAPbv3w+o8PmUlBYvIiIiAv90gwoVKjgbxIP8vvBphE9ERETS0pSuD9IIn4iIiKSw\n1qrw+aJ9+/Y5HUFERES8RFxcHKdOnaJo0aIUK1bM6Tge4/eFb/fu3U5HEBERES/x008/AVCpUiWH\nk3iWXxe+oKAgDhw4wJkzZ5yOIiIiIl4gpfDdeOONDifxLL8ufBUrVgRg7969DicRERERb6ARPh+U\n8s3UtK6IiIiARvh8kgqfiIiIpKXC54NSvpkp31wRERHxX+fOnUs9e8cNN9zgcBrP8uvCd/PNNwOw\nY8cOh5OIiIiI0/bt20diYiJhYWEUKlTI6Tge5deFr1q1agDs3LmTc+fOOZxGREREnLRt2zbgn37g\nS/y68IWGhhIWFkZCQoKO1BUREfFz27dvB+DWW291OInn+XXhA7jllluAf77JIiIi4p9SRvhU+HyQ\nCp+IiIjAP4UvpRv4EhU+9zf1+++/dziJiIiIOOXEiRMcPHiQ/Pnz+9wRuqDCl1r4vvvuO4eTiIiI\niFNSZvqqVq1KYGCgw2k8z+8LX6VKlShUqBAHDhzgyJEjTscRERERB2zduhXwzf33II8WPmPMSGPM\nr8aYLe5bizSPvWCM2WOM2WWMaXaxdQUGBlKzZk0ANm7cmIOpRURExFt9++23ANSuXdvhJDkjTxY+\nt/+z1oa7bysAjDGVgQ5AZeAe4C1jjLnYim677TZAhU9ERMRfRUdHA1CnTh2Hk+SMvFz4MipyrYE5\n1tpz1tr9wB7golVdhU9ERMR/HTt2jJ9//pkCBQpQpUoVp+PkiLxc+PoZY74zxkw1xoS6l5UDDqZ5\nziH3sgtKGb6Njo7GWuvxoCIiIuK9Ukb3atasSVBQkMNpcobXFj5jzOfGmO1pbt+7P7YE3gIqWmur\nA78D/72c16pQoQIlSpTg2LFjxMTEeCK+iIiI5BG+Pp0L4LU11lp7dxaf+i6wxP35IeCaNI9d7V6W\noVGjRqV+ft111xEXF8c333xDhQoVLimriIiI5F0phc+bDtiIiooiKirKY+szeXEK0xhTxlr7u/vz\np4HbrLWdjDE3A7OAOrimcj8HbrAZbKQx5l+LX3nlFYYNG0bfvn158803c2U7RERExFlJSUmUKFGC\nP//8k/3791O+fHmnI2XIGIO19qIHombGa0f4LuJVY0x1IBnYD/QEsNb+YIyZB/wAJAJ9Mip7Galf\nvz4Aa9euzYm8IiIi4oV27NjBn3/+SVhYmNeWPU/Ik4XPWvvYBR4bA4y51HXWrl2bfPnysWPHDk6c\nOEHx4sUvK6OIiIh4v3Xr1gHQoEEDh5PkLK89aCO35c+fn9tuuw1rLV999ZXTcURERCQXpMzsqfD5\nkZRp3ZS2LyIiIr7LWqvC549U+ERERPzHnj17iI2NpXTp0lSqVMnpODlKhS+NevXqERAQwMaNG/nr\nr7+cjiMiIiI5KGV0r379+mThSqx5mgpfGqGhodx2222cO3dOR+uKiIj4uFWrVgHQqFEjZ4PkAhW+\ndO6+23W+588//9zhJCIiIpJTkpOTUwtfs2bNHE6T81T40mnatCmgwiciIuLLtm7dSlxcHOXLl+eG\nG25wOk6OU+FLp27duhQqVIgffviBw4cPOx1HREREcsDKlSsB18yer++/Byp858mXLx8NGzYE/pnb\nFxEREd+SMpPnD9O5oMKXoZT9+FLav4iIiPiOU6dOsX79eowxNGnSxOk4uUKFLwPNmzcHIDIykqSk\nJIfTiIiIiCdFRUWRmJhIzZo1KVGihNNxcoUKXwZuuukmKlasyLFjx/j222+djiMiIiIetGTJEgDu\nu+8+h5PkHhW+DBhjuP/++wFYunSpw2lERETEU6y1qb/bW7Zs6XCa3KPCl4mUwpfyV4CIiIjkfVu3\nbuXQoUNcddVVhIeHOx0n16jwZaJhw4YULlyYHTt2sH//fqfjiIiIiAekDOS0bNnSL07HkkKFLxP5\n8uVLPXhD07oiIiK+IW3h8ycqfBeQ8sPw6aefOpxERERELtehQ4fYvHkzBQoU8JvTsaRQ4buA++67\nj8DAQL788kvi4uKcjiMiIiKXYdGiRYDrZMsFChRwOE3uUuG7gJIlS9K4cWOSkpI0yiciIpLHffzx\nxwC0b9/e4SS5T4XvIh588EHgnx8SERERyXt+//131q5dS758+WjVqpXTcXKdCt9FtGnThoCAAFat\nWsWJEyecjiMiIiLZsHDhQqy1NGvWjNDQUKfj5DoVvosoXbo0DRs2JDExUefkExERyaNSZuo6dOjg\ncBJnqPBlwQMPPADA/PnzHU4iIiIilyo2Ntavp3NBhS9L2rVrhzGGFStWcPz4cafjiIiIyCVYsGAB\nycnJfjudCyp8WVKmTBnuuusuEhMTNconIiKSx8yaNQvw3+lcUOHLskcffRSADz/80OEkIiIiklX7\n9u1jw4YNFCxYkLZt2zodxzEqfFnUrl07ChQowLp163RtXRERkTwiZaCmXbt2FC5c2OE0zrnkwmeM\nCc+JIN6uSJEitGnTBvhnaFhERES8l7WWmTNnAtC5c2eH0zgrOyN8VYwxT6VdYIwZY4xp7aFMXivt\ntK611uE0IiIiciHffvst+/btS90X359dcuGz1s4EahtjhqRZ9gLQ0xjTyZPhvM3dd99NqVKl+PHH\nH9m0aZPTcUREROQCUkb3OnXqRGBgoMNpnJWdKd2+wH4g0hjzZJqHPgTGeyiXVwoODqZTJ1ennT59\nusNpREREJDMJCQnMmTMH0HQuZG9KdzSw0Vq7GdhljHnUvbwocMxjybxU165dAZg9ezanT592OI2I\niIhkZOHChRw/fpwaNWpQvXp1p+M4LjuF73PgWgBr7edAkjGmJVAJaOPBbF6pWrVq1KlTh5MnT+qc\nfCIiIl5q6tSpAHTv3t3hJN4hO4XvMSDUGFMMwFr7EXAFUMFa+4snw3mrlB+elB8mERER8R579+5l\n9erVFCxYMHVXLH+XnYM2TltrR1pr/0iz7ANgpjFmsEfTeamHHnqIwoULs27dOn766Sen44iIiEga\nKQMyHTp08NtLqaXnsRMvW2s/Ad7z1Pq8WeHChXn44YcBmDZtmsNpREREJEViYiLvv/8+oOnctDx6\npQ1rbaxlxzmzAAAgAElEQVQn1+fNunXrBriO1k1ISHA4jYiIiAAsWbKE2NhYbr75ZurWret0HK+h\nS6tlU+3atQkPDycuLo65c+c6HUdERESAN998E4AePXpgjHE4jfdQ4csmYwz9+vUD4I033tCVN0RE\nRBy2Y8cOVq9eTaFChejSpYvTcbyKCt9lePjhhylRogSbN28mOjra6TgiIiJ+LWV0LyIiQgdrpKPC\ndxkKFCiQui/fG2+84XAaERER/3XixInUS6mlzMDJP1T4LlOvXr0ICAhg3rx5xMb6zTErIiIiXuW9\n997j9OnTNG3alMqVKzsdx+uo8F2mChUq0LJlSxITE3nnnXecjiMiIuJ3kpKS+N///gdA//79HU7j\nnYy/HmxgjLGe2vbVq1fTpEkTSpUqRUxMDAUKFPDIekVEROTiFi1aRNu2balQoQJ79+4lMDDQ6Uge\nZ4zBWpvtw441wucBjRo1Ijw8nKNHj6buPyAiIiK5Y/z48QA8/fTTPln2PEEjfB7y0Ucf0alTJypV\nqsSuXbsICFCXFhERyWlfffUVd955J8WLF+fAgQMULlzY6Ug5QiN8XuLBBx8kLCyM3bt3s2TJEqfj\niIiI+IWU0b0+ffr4bNnzBBU+DwkKCuLpp58GYMKECQ6nERER8X0//vgjn376KSEhITpY4yJU+Dyo\na9euFCtWjPXr1/PNN984HUdERMSn/fe//8VaS0REBFdeeaXTcbyaCp8HFSlShN69ewPwyiuvOJxG\nRETEdx0+fJgZM2ZgjOHZZ591Oo7XU+HzsKeeeooCBQqwdOlStm7d6nQcERERnzR+/Hj+/vtv2rVr\nR6VKlZyO4/VU+DysdOnS9OrVC4D//Oc/DqcRERHxPbGxsUyePBmAYcOGOZwmb1DhywEDBw4kJCSE\nhQsXsmPHDqfjiIiI+JT//ve/JCQk0Lp1a6pXr+50nDxBhS8HlC1blm7dugEwevRoh9OIiIj4jqNH\nj6ZeRm348OEOp8k7VPhyyPPPP09wcDBz587lp59+cjqOiIiIT3jttdc4ffo09913HzVr1nQ6Tp6h\nwpdDrrnmGrp06UJycjIvvfSS03FERETyvLi4ON544w1Ao3uXSoUvBw0dOpTg4GA++ugjvv/+e6fj\niIiI5Gnjxo0jPj6e5s2bU6dOHafj5CkqfDmofPny9OrVC2ut/hIRERG5DIcPH04d3dO5bi+dCl8O\nGzJkCAULFmTx4sVER0c7HUdERCRPevnll0lISKB9+/bady8bVPhyWJkyZRgwYADgmuIVERGRS7Nv\n3z6mTp1KQEAAL7/8stNx8iSvLXzGmAeMMTuMMUnGmPB0j71gjNljjNlljGmWZnm4MWa7MWa3MWZi\n7qfO2MCBAwkNDWXVqlWsXr3a6TgiIiJ5yqhRozh37hyPPfYYlStXdjpOnuS1hQ/4HmgLrEm70BhT\nGegAVAbuAd4yxhj3w28DXa21lYBKxpjmuZg3U8WLF2fgwIEADB48mOTkZIcTiYiI5A3ff/89s2bN\nIjg4mJEjRzodJ8/y2sJnrf3JWrsHMOkeag3Msdaes9buB/YAtY0xZYAi1tqN7ufNANrkWuCLGDBg\nAGXLliU6Opp58+Y5HUdERCRPGDhwINZaevXqRYUKFZyOk2d5beG7gHLAwTT3D7mXlQN+TbP8V/cy\nr1C4cOHU/Q4GDx5MQkKCw4lERES8W2RkJJGRkYSGhupsF5fJ0cJnjPncvc9dyu1798eWTubKKV26\ndKFq1arExMSkHlouIiIi5zt37hzPPvss4DrosVSpUg4nytuCnHxxa+3d2fiyQ8A1ae5f7V6W2fJM\njRo1KvXzRo0a0ahRo2zEybrAwEAmTJhAixYteOWVV3j88ccpWbJkjr6miIhIXjR9+nR27txJhQoV\n6N+/v9Nxcl1UVBRRUVEeW5+x1npsZTnBGLMaeM5au9l9/2ZgFlAH15Tt58AN1lprjPkGeBLYCCwD\nJllrV2SyXuvUtrdo0YLIyEj69+/PpEmTHMkgIiLirf766y+uv/56jhw5wty5c+nQoYPTkRxnjMFa\nm/64hizz2n34jDFtjDEHgduBpcaY5QDW2h+AecAPwGdAnzTNrS8wDdgN7Mms7Dlt/PjxBAQE8Pbb\nb7Nr1y6n44iIiHiVsWPHcuTIEerWrcuDDz7odByf4PUjfDnFyRE+gJ49ezJlyhSaNm3KypUr+efM\nMiIiIv5r3759VKlShbNnz7Jhwwbq1q3rdCSv4LMjfL7ulVdeoXjx4qxatYpPPvnE6TgiIiJeYcCA\nAZw9e5bHHntMZc+DNMLnoLfffps+ffoQFhbGrl27KFiwoKN5REREnLR06VJatmxJ0aJF+emnnyhT\npozTkbyGRvjysB49elC9enUOHDjA2LFjnY4jIiLimISEhNRrz7/44osqex6mET6HffXVV9x5552E\nhITwww8/ULFiRacjiYiI5LqXX36ZESNGULVqVbZu3UpQkKNnjvM6GuHL4+rVq0fnzp05e/Ys/fv3\nxxtKqIiISG7av38/o0ePBuDNN99U2csBKnxe4NVXXyU0NJTPPvuM+fPnOx1HREQk11hr6d27NwkJ\nCXTs2JGGDRs6HcknaUrXS7zzzjv06tWLMmXKsGvXLooVK+Z0JBERkRw3Z84cOnbsSLFixdi1a5f2\n3cuEpnR9RPfu3alXrx6///47gwcPdjqOiIhIjjtx4kTqgRrjx49X2ctBGuHzIjt37qRGjRokJiay\nfv166tWr53QkERGRHNO9e3emTp1KgwYNWL16NQEBGofKjEb4fEiVKlUYNGgQ4Dply99//+1wIhER\nkZyxZs0apk6dSr58+XjnnXdU9nKY3l0vM3ToUK6//np++OEHxowZ43QcERERj0tISKBnz54ADBky\nhJtuusnhRL5PU7peaM2aNTRq1IigoCA2btxI9erVnY4kIiLiMYMGDWL8+PHcdNNNfPfdd4SEhDgd\nyetpStcHNWzYkH79+nHu3Dm6dOlCYmKi05FEREQ8YsOGDUyYMIGAgADef/99lb1cosLnpcaMGcO1\n117Ltm3bUk9GKSIikpedPn2aLl26YK1l0KBB1KlTx+lIfkNTul4sKiqKxo0ba2pXRER8wjPPPMNr\nr71GlSpV2Lx5s0b3LoGmdH1Yo0aN/jW1q6N2RUQkr1q/fj0TJ04kMDBQU7kOUOHzcmPGjKFixYps\n27aNUaNGOR1HRETkksXHx6dO5b7wwgvUqlXL6Uh+R1O6ecD69etp2LAh1lqioqJo0KCB05FERESy\nrFu3bkybNo1bbrmFjRs3ki9fPqcj5Tma0vUDd955Jy+88ALWWjp37swff/zhdCQREZEsWbBgAdOm\nTSN//vzMnj1bZc8hKnx5xMiRI7nttts4cOAAffv2dTqOiIjIRR06dIju3bsDrmvlVqlSxeFE/ktT\nunnI7t27qVGjBqdPn2bWrFl06tTJ6UgiIiIZSk5OplmzZnzxxRfce++9LF26FGOyPSPp9zSl60cq\nVarE66+/DkDv3r3Zv3+/s4FEREQy8dprr/HFF19QqlQppk+frrLnMI3w5THWWtq3b88nn3xC7dq1\nWbdunfaHEBERr7Jx40bq1atHYmIiS5Ys4f7773c6Up6nET4/Y4xh6tSphIWFER0dzeDBg52OJCIi\nkuqPP/6gQ4cOJCYm0q9fP5U9L6ERvjzqm2++oX79+pw7d47FixfTqlUrpyOJiIifSzsLVbNmTb76\n6iudYNlDNMLnp26//XbGjh0LQJcuXYiJiXE4kYiI+LtJkybxySefULRoUebNm6ey50U0wpeHWWtp\n1aoVS5cu5fbbb2ft2rUEBwc7HUtERPxQdHQ0d955J4mJicyfP5/27ds7HcmnaITPjxljeP/997nm\nmmv45ptvGDhwoNORRETEDx0/fpyHHnqIxMREnnzySZU9L6QRPh/w9ddf07BhQxITE3V+PhERyVVJ\nSUncd999REZGUqtWLdavX6+p3BygET6hbt26qefn69atG9u3b3c4kYiI+IsRI0YQGRlJyZIlmT9/\nvsqel9IIn4+w1vLEE0/w/vvvU7FiRTZt2kTx4sWdjiUiIj7sk08+oV27dgQEBPD555/TpEkTpyP5\nLI3wCeD6QXjrrbcIDw/n559/5pFHHiEpKcnpWCIi4qN27drFY489BsCrr76qsuflVPh8SIECBVi4\ncCElSpRg+fLljBw50ulIIiLig/7880/atm1LfHw8Dz/8MM8884zTkeQiNKXrg1atWkXz5s1JTk7m\no48+4uGHH3Y6koiI+IikpCRat27NsmXLuOWWW9iwYQOFChVyOpbP05SunKdp06a89tprADz++ONE\nR0c7nEhERHzFoEGDWLZsGSVKlOCTTz5R2csjNMLno6y19OrViylTplCmTBk2btzI1Vdf7XQsERHJ\nw6ZOnUr37t0JDg5m1apVNGjQwOlIfuNyR/hU+HxYYmIizZo1IyoqivDwcNauXau/xEREJFtWr15N\ns2bNOHfuHNOmTeOJJ55wOpJf0ZSuZCo4OJj58+dz3XXXsWXLFiIiIkhOTnY6loiI5DF79uyhffv2\nnDt3jueee05lLw9S4fNxJUqUYOnSpYSGhrJgwQIGDx7sdCQREclD4uLiuP/++zlx4gQtW7Zk7Nix\nTkeSbFDh8wM33XQT8+fPJygoiPHjx/Pmm286HUlERPKAM2fO0KpVK3bv3s0tt9zCrFmzCAwMdDqW\nZIMKn59o2rQpU6dOBeDJJ59k0aJFDicSERFvlpSUxKOPPsqGDRu4+uqr+eyzzyhSpIjTsSSbVPj8\nSEREBC+99BLWWjp27MjXX3/tdCQREfFC1lqefvppFi5cSGhoKCtWrKBcuXJOx5LLoKN0/Yy1lh49\nejB16lRKlCjB119/zQ033OB0LBER8SITJkxg4MCB5MuXj8jISBo1auR0JL+n07Jkk78WPoBz587R\nqlUrli9fzrXXXsv69eu56qqrnI4lIiJeYPbs2TzyyCMAulqTF9FpWeSSBQUFMW/ePGrVqsUvv/xC\n8+bNOX78uNOxRETEYcuWLSMiIgKA8ePHq+z5EBU+P1W4cGGWL1/OTTfdxI4dO7jvvvs4deqU07FE\nRMQh69at44EHHuDcuXMMHDiQZ5991ulI4kGa0vVzv/76K/Xq1ePAgQM0a9aMTz/9lJCQEKdjiYhI\nLtqyZQuNGzfm5MmTdO/enXfeeQdjsj17KDlAU7pyWa6++mo+//xzSpUqxcqVK+ncuTNJSUlOxxIR\nkVzy008/0aJFC06ePEmHDh14++23VfZ8kAqfUKlSJSIjIylatCgff/wx3bt31yXYRET8QExMDHff\nfTdHjx6lRYsWzJw5UydW9lEqfAJAjRo1WLp0KQUKFOC9996jV69eKn0iIj7swIEDNG7cmIMHD1Kv\nXj0WLFhAvnz5nI4lOUSFT1LVr1+fpUuXkj9/ft5991369euH9nMUEfE9v/76K40bN+aXX36hdu3a\nLFu2jIIFCzodS3KQCp/8S5MmTVIP3Hj77bcZMGCASp+IiA85dOgQjRs35ueff6ZWrVpERkYSGhrq\ndCzJYSp8cp67776bRYsWkS9fPt544w2eeeYZlT4RER9w+PBhmjRpwt69ewkPD2flypUUK1bM6ViS\nC1T4JEMtWrRg4cKFBAcHM3HiRAYNGqTSJyKSh/322280adKE3bt3U716dT7//HOKFy/udCzJJSp8\nkqn77ruP+fPnExQUxIQJE3juuedU+kRE8qDffvuNu+66i59++olbbrmFVatWccUVVzgdS3KRCp9c\nUKtWrZg3bx7BwcH83//9H3369NHRuyIieUhMTAwNGjRg165dVKtWjS+++IISJUo4HUtyma60IVny\n2Wef0b59exISEujcuTPTp08nKCjI6VgiInIBu3fvpmnTphw8eJDw8HAiIyMpWbKk07EkGy73Shsq\nfJJlq1evpmXLlpw6dYr27dsze/ZsnbNJRMRLbd++nWbNmhEbG0u9evVYtmyZjsbNw3RpNck1jRs3\n5vPPPyc0NJQFCxbQpk0bzpw543QsERFJJzo6mkaNGhEbG0vTpk116hVR4ZNLU7duXVavXk3JkiVZ\nvnw59957L3/99ZfTsURExG3NmjXcddddnDhxgtatW7NkyRIKFSrkdCxxmAqfXLIaNWqwdu1aypYt\nS1RUFI0bNyY2NtbpWCIifm/JkiW0aNGC+Ph4OnXqxMcff0z+/PmdjiVewGsLnzHmAWPMDmNMkjEm\nPM3y8saY08aYLe7bW2keCzfGbDfG7DbGTHQmuX+oXLky69ev57rrrmPz5s3ccccd7Nmzx+lYIiJ+\n65133qFNmzYkJCTQo0cPZsyYQXBwsNOxxEt4beEDvgfaAmsyeGyvtTbcfeuTZvnbQFdrbSWgkjGm\neW4E9VcVK1Zkw4YN1KpVi59//pk77riD6Ohop2OJiPgVay0jRoygV69eJCcnM2LECCZPnkxgYKDT\n0cSLeG3hs9b+ZK3dA2R0RMp5y4wxZYAi1tqN7kUzgDY5GFGA0qVLs3r1alq0aMGxY8do3Lgxy5cv\ndzqWiIhfSExMpGvXrrz88ssEBAQwZcoUXnzxRYzJ9sGc4qO8tvBdRAX3dO5qY8yd7mXlgF/TPOdX\n9zLJYYULF+bTTz8lIiKC06dP07JlS95//32nY4mI+LT4+Hhat27Ne++9R4ECBVi8eDHdu3d3OpZ4\nKUfPnGuM+Ry4Mu0iwAJDrbVLMvmyw0CYtfaEe9++RcaYm3M4qlxEcHAw7733HuXKlWP06NE8/vjj\nHDx4kGHDhukvTRERDzty5Aj33XcfmzZtomTJkixdupQ6deo4HUu8mKOFz1p7dza+JhE44f58izFm\nH1AJOARck+apV7uXZWrUqFGpnzdq1IhGjRpdahxJwxjDK6+8wlVXXUX//v0ZMWIEP/74I9OmTdNR\nYiIiHrJ9+3ZatWpFTEwMFStWZMWKFdxwww1OxxIPi4qKIioqymPr8/orbRhjVgPPWWs3u++XBI5b\na5ONMRVxHdRRzVr7hzHmG+BJYCOwDJhkrV2RyXp1pY0ctGTJEjp16kR8fDx16tRh0aJFlClTxulY\nIiJ5Wvr/WxcvXsyVV1558S+UPM9nr7RhjGljjDkI3A4sNcakHAnQANhujNkCzAN6Wmv/cD/WF5gG\n7Ab2ZFb2JOe1bNmSr776irCwML799ltq167Ntm3bnI4lIpInWWsZP348rVu3Tj3HXlRUlMqeZJnX\nj/DlFI3w5Y7Y2Fjatm3L119/TaFChZg9ezatWrVyOpaISJ5x9uxZevXqlXow3H/+8x+GDBmi/aP9\nzOWO8KnwSY5LSEigW7duzJo1C2MM48aN47nnntN/ViIiF3H06FHatWvH+vXrKViwIDNmzKB9+/ZO\nxxIHqPBlkwpf7rLWMnr0aIYNGwbAQw89xNSpUylcuLDDyUREvNOWLVto164dMTExlCtXjk8//ZTw\n8PCLf6H4JBW+bFLhc8bChQuJiIggPj6eKlWq8Mknn+joMhGRdN577z169+7N2bNnqV27NosWLaJs\n2bJOxxIH+exBG+Kb2rVrR3R0NDfeeCM7d+6kVq1aLFmS2SkXRUT8y9mzZ+nZsydPPPFE6udr165V\n2ZPLpsInua5y5cpER0fTtm1bTp48SatWrRg+fDhJSUlORxMRccyBAweoX78+U6ZMISQkhOnTpzN5\n8mRCQkKcjiY+QFO64hhrLa+++ipDhgwhOTmZ5s2bM3v2bK644gqno4mI5KpVq1bx8MMPExcXR4UK\nFViwYIH215N/0ZSu5FnGGJ5//nkiIyMpUaIEkZGR1KhRgw0bNjgdTUQkVyQlJfHyyy/TvHlz4uLi\naN68OZs2bVLZE49T4RPHNW3alC1btlC7dm0OHDhAgwYNGDNmDMnJyU5HExHJMYcOHaJp06aMGDGC\n5ORkhg8fzrJlyyhRooTT0cQHaUpXvMbff//NsGHDGD9+POAqgjNnztQl2UTE5yxbtoyIiAji4uIo\nXbo0M2fOpFmzZk7HEi+m07Jkkwqf91qxYgWPPfYYR48e1X+EIuJTzp49y+DBg5k4cSIAzZo1Y8aM\nGbpEmlyU9uETn9OiRQu+++47mjRpwpEjR2jevDmDBw8mMTHR6WgiItm2Z88e7rjjDiZOnEhQUBDj\nxo1j+fLlKnuSKzTCJ14rKSmJsWPHpu7fEh4ezsyZM7n55pudjiYikmXWWqZPn85TTz1FfHw8FSpU\nYM6cOdSpU8fpaJKHaEo3m1T48o7169fz6KOPEhMTQ0hICGPGjGHAgAEEBGiAWkS822+//UaPHj1Y\nunQpAB06dGDKlCmEhoY6nEzyGk3pis+788472b59O127duXs2bM888wz3HXXXcTExDgdTUQkU/Pm\nzaNq1aosXbqU0NBQZs6cyZw5c1T2xBEa4ZM85dNPP6V79+4cOXKEIkWKMGnSJCIiIjAm23/0iIh4\n1PHjx+nbty9z5swB4O6772b69OlcffXVDieTvEwjfOJXWrVqxY4dO2jbti1//fUXjz/+OG3btuX3\n3393OpqICMuXL6dq1arMmTOHggUL8tZbbxEZGamyJ45T4ZM8p1SpUixYsIAZM2ZQtGhRFi9eTOXK\nlZk2bRoatRURJ8TFxREREcG9997Lb7/9xh133MG2bdvo3bu3ZiDEK6jwSZ5kjKFz5858//333HPP\nPfzxxx9069aNpk2bsnfvXqfjiYifsNYye/ZsKleuzIwZMwgJCWHs2LGsXbuW66+/3ul4Iqm0D5/k\nedZaPvroIwYMGMCxY8fInz8/L730Ek8//TRBQUFOxxMRHxUTE0Pv3r1Zvnw5AA0bNmTKlClUqlTJ\n4WTii7QPn/g9YwydOnVi165dPProoyQkJDBo0CBq167N1q1bnY4nIj4mKSmJ119/nSpVqrB8+XKK\nFSvGu+++y5dffqmyJ15LI3zic1asWEGvXr2IiYkhMDCQ/v37M2rUKJ0KQUQu25YtW+jduzfR0dEA\nPPjgg0yaNEnX/JYcpxE+kXRatGjBjh07GDBgANZaJk6cyI033siHH36ogzpEJFuOHz9O7969qVWr\nFtHR0ZQrV47Fixczb948lT3JEzTCJz5t69at9O3bl6+//hqA+vXr8+abb3LLLbc4nExE8oKkpCSm\nTZvGkCFDiIuLIzAwkAEDBjBy5EiKFi3qdDzxI7q0Wjap8PmP5ORkZsyYwaBBgzh69CiBgYH07duX\nF198kWLFijkdT0S81Lfffku/fv3YtGkTAI0bN+aNN96gSpUqDicTf6QpXZGLCAgIoEuXLuzevZv+\n/ftjrWXSpEnceOONTJs2jaSkJKcjiogXOXLkCN26deP2229n06ZNlCtXjrlz5/LFF1+o7EmepRE+\n8Tvbtm2jX79+rF+/HoBq1aoxYcIEmjVr5nAyEXHS6dOnee211xg7dizx8fEEBwfz7LPPMnToUAoX\nLux0PPFzmtLNJhU+/2atZc6cObzwwgvExMQA0Lx5cyZMmEDVqlUdTiciuSkpKYkZM2YwfPhwDh06\nBMD999/PhAkTuPHGGx1OJ+KiwpdNKnwCkJCQwKRJk3jllVc4efIkAQEBPPHEE7z00kuULVvW6Xgi\nksNWrlzJwIED2b59OwDh4eFMmDCBxo0bO5xM5N9U+LJJhU/SOnbsGC+99BJvv/02586do1ChQjz7\n7LM888wzOn+fiA/atm0bzz//PJGRkQCEhYUxevRoOnbsSECAdm8X76PCl00qfJKR3bt38/zzz7No\n0SIArrjiCgYOHEj//v0pVKiQw+lE5HLt2rWLUaNGMW/ePABCQ0MZMmQITz75JPnz53c4nUjmVPiy\nSYVPLmTdunUMHTqUdevWAVC6dGleeOEFevXqpV8KInnQ3r17efHFF5k9ezbJycmEhITQq1cvhg0b\nRsmSJZ2OJ3JRKnzZpMInF2OtZdWqVQwbNiz1MkrlypVj2LBhPPHEE+TLl8/hhCJyMfv37+fll1/m\ngw8+ICkpieDgYLp168aQIUO4+uqrnY4nkmUqfNmkwidZZa1l6dKlDB8+nG3btgFQoUIFBg8eTERE\nhEb8RLzQ/v37GTduHNOmTSMxMZHAwEAiIiIYPnw4FSpUcDqeyCVT4csmFT65VMnJySxYsIARI0bw\n448/AlC2bFmeffZZevbsqfN0iXiBnTt3Mm7cOGbPnk1SUhLGGB555BFGjBjBDTfc4HQ8kWxT4csm\nFT7JrqSkJObPn8+YMWNSR/yKFy/Ok08+Sf/+/SlRooTDCUX8z7fffsuYMWNYvHgxAIGBgXTs2JEX\nXniBm2++2eF0IpdPhS+bVPjkcllrWb58Oa+88gobNmwAoFChQvTq1Yunn36acuXKOZxQxLel7Gc7\nZswYVq9eDUBISAhdu3blueee49prr3U4oYjnqPBlkwqfeIq1lnXr1jF69OjUc3oFBQXx0EMP8dRT\nT1GrVi2HE4r4lrNnzzJ37lxef/11tmzZAkCRIkXo06cPTz31FGXKlHE4oYjnqfBlkwqf5IQtW7Yw\nduxYFixYQHJyMgD16tXjqaeeok2bNgQFBTmcUCTv+v3335k8eTKTJ08mNjYWgFKlSvHUU0/Rp08f\nihUr5nBCkZyjwpdNKnySk2JiYnjzzTd59913+fPPPwHXmfz79+9P165dKV68uMMJRfKOzZs38/rr\nrzNnzhwSExMBuOWWWxgwYACdOnXSkfLiF1T4skmFT3JDfHw8H3zwAa+//jp79uwBoGDBgjzyyCP0\n7NmTmjVrOpxQxDudPXuWhQsX8tZbb7F+/XrA9QuvdevWDBgwgIYNG2JMtn/3ieQ5KnzZpMInuSk5\nOZnly5czceJEVq1albo8PDycnj170rFjR4oUKeJgQhHv8OOPP/Luu+/ywQcfEBcXB0DRokXp2rUr\n/fr1o2LFig4nFHGGCl82qfCJU3bt2sWUKVP44IMPOHHiBACFCxemU6dO9OzZk/DwcIcTiuSuM2fO\nsOlBxAsAAAxrSURBVGDBAqZMmZJ6OUOA6tWr06NHDx599FH9QSR+T4Uvm1T4xGkJCQnMnz//vF9y\nNWvWJCIigocffphSpUo5mFAk51hr2bp1Kx988AEzZ85M/eOnUKFCdOrUiR49elCzZk1N24q4qfBl\nkwqfeJMffvghdRor5RdfUFAQLVq04LHHHqNly5baMV18QkxMDLNnz+bDDz/khx9+SF1es2ZNevTo\nod0bRDKhwpdNKnzijRISEli8eDEzZ85kxYoVJCUlARAaGsqDDz5I586dufPOOwkICHA4qUjW/fHH\nH8yfP58PP/yQNWvWpC4vWbIkHTt2pEuXLtqVQeQiVPiySYVPvF1sbCxz5szh/9u7+5i66juO4+9v\nkdbWpmKtbekTtrcqpSYCZrTQTgtsVUtitaAxW8jMsodkj9mSabZ/9B8T98eybH/snz0kDp1OaGar\nND6BpCpUGVz6BFSXPkyqZbW1jq6KU777457eQuF2G1JOOefzSm44nHvbfO8333vvh9+55966ujo6\nOjrS+/Py8qipqaGmpoY1a9bokJdckgYGBtixYwf19fU899xzDA4OAnD55ZezefNmamtr2bhxI9nZ\n2SFXKjI1KPCNkwKfTCXd3d3U1dXxxBNP8M4776T3L126lOrqampqaigtLdXKn4Tq1KlTPPvss2zd\nupXnn38+HfLMjPLycmpra9myZQtz5swJuVKRqUeBb5wU+GQqGhoaoq2tjYaGBhoaGujr60tfl5ub\nS3V1NVu2bGH9+vVaOZFJ8f7777Nt2za2bt3Kyy+/nP5gZEh9y0x1dTX33HMPS5YsCbFKkalPgW+c\nFPhkqhsaGqK9vZ36+noaGho4cuRI+rorr7yS2267jaqqKu644w6d7SsTxt3ZvXs3jY2N7Nixg127\ndqW/RnDatGnccsst1NTUcPfdd7No0aKQqxWJDgW+cVLgkyhxdzo6Oqivr2f79u309vamrzMz1qxZ\nQ1VVFVVVVRQWFup9f/J/GRgYoKmpKR3y3n333fR12dnZlJeXU11dzV133cX8+fNDrFQkuhT4xkmB\nT6Ls4MGDNDY20tjYyCuvvMInn3ySvi43N5fKykoqKiqoqKggLy8vxErlUvTpp5/S0dFBc3MzTU1N\n7Ny5c8Sh2tzcXDZt2kRVVRWVlZV6T57IJFDgGycFPomL06dPp1dnGhsbR6zOACQSCSoqKqisrKS8\nvFwrNDE0NDTEnj17aG5uprm5mZ07dzIwMJC+3sxYu3YtVVVVbNq0SavEIiFQ4BsnBT6JI3enu7ub\npqYmmpubaWlp4cMPPxxxm9WrV7N+/XrKysooKysjkUjoxT1iBgcH6ezspLW1ldbWVlpaWjh58uSI\n21x33XXpVeCKigrmzZsXUrUiAgp846bAJ5I6dJdMJtMB8LXXXuOjjz4acZtrrrkmHf7Kysq4+eab\nmTlzZkgVy3gcPXqUtrY2WltbaWtro7Ozc8Rhfkh9xM/ZQ/3l5eU6q1bkEqPAN04KfCKjDQ4O0t7e\nng4Hr7/+OsePHx9xm+zsbFavXk1RURHFxcUUFRVx0003MXv27JCqlrPcnb6+PpLJJF1dXSSTSTo6\nOkZ8diOkXjgKCgooLS2ltLSUW2+9lRUrVmglV+QSpsA3Tgp8o7W0tLBhw4awy7jkxLkv7s7BgwfT\nh/5aW1vZu3cv5z92zIzrr78+HQBvvPFGVq1axbJly2L3YdCTNS8ff/wxb731Fvv37yeZTKYvJ06c\nGHXbOXPmsHbtWkpLSykrK6OkpIScnJyLXuNZcX4MXYj6Mjb1ZWyfN/BdNpHFyNSmB9nY4twXMyOR\nSJBIJKitrQVSJ4Hs3r2bRx55hIULF5JMJtm3bx8HDhzgwIEDPPnkk+l/P2vWLG644QYKCgpYtWpV\n+pJIJJg+fXpYd+uimuh5OXHiBL29vfT29tLT05P+eejQoVHBG2Du3LkUFRWlL4WFheTn54cavOP8\nGLoQ9WVs6svFocAnIv+X2bNns27dOkpKSnj44YeB1KHg/fv309nZSVdXF93d3XR3d9Pf359eeRrO\nzFi8eDHLly8f87Jo0SKysrJCuHeT7/Tp0xw+fHjE5dChQ+nt80+mOCsrK4tEIkFBQQGFhYUUFhZS\nVFTE0qVLdWhWREZR4BORz23GjBkUFxdTXFw8Yv8HH3xAT0/PqMuRI0fo6+ujr6+PV199ddT/l5WV\nxYIFC8jNzSU3N5eFCxeO2p47dy45OTnk5ORcUquF7s6ZM2c4deoUJ0+epL+/n2PHjqUv77333ojt\nTIHurCuuuIL8/Hzy8/PTK6T5+fmsXLnykrrfInJpi/V7+MKuQUREROR/pZM2RERERCSjeJ0+JyIi\nIhJDCnwiIiIiERe7wGdmt5tZr5m9ZWYPhl1PmMzssJntNrOkmb0Z7LvKzF40swNm9oKZXRl2nReb\nmf3ezPrNbM+wfRn7YGY/NbO3zazHzDaGU/XFl6EvD5lZn5l1Bpfbh10X+b6Y2RIzazaz/Wa218x+\nEOyP9byM0ZfvB/tjOy9mNsPM3gieX/ea2UPB/rjPSqa+xHZWhjOzacH93x78PnHz4u6xuZAKuH8D\n8oBsoAvID7uuEPtxELjqvH0/Bx4Ith8EHg27zknow3qgENjz3/oAFABJUme4XxvMk4V9HyaxLw8B\nPx7jtqvi0BdgIVAYbM8GDgD5cZ+XC/Ql7vMyK/iZBewCSuI+KxfoS6xnZdj9/RHwOLA9+H3C5iVu\nK3wlwNvufsTd/w08BWwOuaYwGaNXeTcDjwXbjwF3TWpFIXD314APztudqQ93Ak+5+6fufhh4m9Rc\nRU6GvkBqbs63mRj0xd2PuXtXsH0a6AGWEPN5ydCXxcHVcZ6XM8HmDFIvzE7MZwUy9gViPCuQWikH\nNgG/G7Z7wuYlboFvMTD8SyX7OPekFEcOvGRm7Wb2jWDfAnfvh9STODA/tOrCNT9DH86foaPEb4a+\nZ2ZdZva7YYcXYtcXM7uW1AroLjI/buLclzeCXbGdl+DwXBI4Brzk7u1oVjL1BWI8K4FfAj/hXACG\nCZyXuAU+GWmduxeT+oviu2b2RUYOGmP8HlfqQ8pvgBXuXkjqyfoXIdcTCjObDTQAPwxWtPS4Ycy+\nxHpe3H3I3YtIrQKXmNlqNCtj9aWAmM+KmVUB/cFK+YU+a2/c8xK3wHcUWDbs9yXBvlhy9/eCn8eB\nZ0gtB/eb2QIAM1sI/CO8CkOVqQ9HgaXDbherGXL34x68gQT4LecOIcSmL2Z2GalQU+fu24LdsZ+X\nsfqieUlx938CLcDtaFbShvdFs8I64E4zOwg8CVSYWR1wbKLmJW6Brx1YaWZ5ZjYduA/YHnJNoTCz\nWcFf45jZFcBGYC+pftwf3OxrwLYx/4PoMUb+VZWpD9uB+8xsupktB1YCb05WkSEY0ZfgCeesLcC+\nYDtOffkD0O3uvxq2T/MyRl/iPC9mNu/sYUkzmwl8mdR7G2M9Kxn60hvnWQFw95+5+zJ3X0EqmzS7\ney3wLBM0L7H6Ll13/8zMvge8SCrs/t7de0IuKywLgL9Y6ivmLgOecPcXzeyvwNNm9nXgCHBvmEVO\nBjP7E7ABuNrM/k7qbLFHgfrz++Du3Wb2NNAN/Bv4zrC/SiMlQ1/KzawQGAIOA9+G+PTFzNYBXwX2\nBu9BcuBnpM6kG/W4UV/4SoznJRd4zMymkXq9+bO77zCzXcR4Vsjclz/GeFYu5FEmaF701WoiIiIi\nERe3Q7oiIiIisaPAJyIiIhJxCnwiIiIiEafAJyIiIhJxCnwiIiIiEafAJyIiIhJxCnwiIiIiEafA\nJyIiIhJxCnwiIiIiEafAJyIiIhJxCnwiIiIiEafAJyIiIhJxl4VdgIjIVGdm3wLmATcAdUAeMB+4\nEXjA3Y+GWJ6ICObuYdcgIjJlmdk3gT3u/oaZfQF4Cbgf+BfwPLDJ3V8IsUQREa3wiYh8Tle7+xvB\n9jLgM3d/xsxmAhvc/dUQaxMRAbTCJyIyYczs18BSd7877FpERIbTSRsiIhOnHGgJuwgRkfMp8ImI\njJOZTTOzL1nKfGA1wwKfmT0QWnEiIsMo8ImIjN+3gReB64B7gTNAH4CZ3QnsC680EZFz9B4+EZFx\nMrObgJ8AvcBuYA5QARwGDrn74+FVJyJyjgKfiIiISMTpkK6IiIhIxCnwiYiIiEScAp+IiIhIxCnw\niYiIiEScAp+IiIhIxCnwiYiIiEScAp+IiIhIxCnwiYiIiEScAp+IiIhIxCnwiYiIiETcfwDSVBrB\nvMsjiwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_flight_path(64,16,-numpy.pi/2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That is so nice. We have reproduced the trajectories that Lanchester found more than a hundred years ago, painstakingly drawing them by hand with a contraption called a \"trammel.\" It must have taken him days!\n", + "\n", + "Here is how the different phugoid curves are drawn in von Kármán's book, _Aerodynamics_ (1957). He never says _how_ he drew them, but we're guessing by hand, also. We did pretty good!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/vonKarman-phugoids.png)\n", + "\n", + "#### Figure 4. Phugoid curves in von Kármán (1957)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the next notebook of this series, we'll look at the differential equation that arises when you consider small perturbations on the horizontal phugoid, and we'll learn to numerically integrate that to get the flight paths." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Lanchester, F. W. _Aerodonetics_, D. van Nostrand Company: New York, 1909. On the public domain. [Get it from Google Books](http://books.google.com/books?id=6hxDAAAAIAAJ&pg=PP1#v=onepage&q&f=false).\n", + "\n", + "2. Milne-Thompson, L. M. _Theoretical Aerodynamics_, Dover 2012 reprint of the revised 1966 edition. [Read on Google Books](http://books.google.com/books?id=EMfCAgAAQBAJ&lpg=PP1&pg=PP1#v=onepage&q&f=false) (see section 18.5)\n", + "\n", + "3. Sinha, N. K. and Ananthkrishnan, N. _Elementary Flight Dynamics with an introduction to Bifurcation and Continuation Methods_, CRC Press, 2013. [Read on Google Books](http://books.google.com/books?id=yXL6AQAAQBAJ&lpg=PP1&pg=PP1#v=onepage&q&f=false) (see chapter 5)\n", + "\n", + "4. von Kármán, T. _Aerodynamics_, Dover 2004 reprint of the 1957 2nd edition. (see pages 149–151)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of this notebook. " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Execute this cell to load the notebook's style sheet, then ignore it\n", + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/01_phugoid/.ipynb_checkpoints/01_02_Phugoid_Oscillation-checkpoint.ipynb b/01_phugoid/.ipynb_checkpoints/01_02_Phugoid_Oscillation-checkpoint.ipynb new file mode 100644 index 0000000..eb6283b --- /dev/null +++ b/01_phugoid/.ipynb_checkpoints/01_02_Phugoid_Oscillation-checkpoint.ipynb @@ -0,0 +1,949 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth. Partly based on David Ketcheson's pendulum lesson, also under CC-BY." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Phugoid Oscillation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Welcome back! This is the second IPython Notebook of the series _\"The phugoid model of glider flight\"_, the first learning module of the course [**\"Practical Numerical Methods with Python.\"**](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about)\n", + "\n", + "In the first notebook, _\"Phugoid Motion\"_, we described the physics of an aircraft's oscillatory trajectory, seen as an exchange of kinetic and potential energy. This analysis goes back to Frederick Lanchester, who published his book _\"Aerodonetics\"_ on aircraft stability in 1909. We concluded that first exposure to our problem of interest by plotting the flight paths predicted by Lanchester's analysis, known as _phugoids_.\n", + "\n", + "Here, we will look at the situation when an aircraft is initially moving on the straight-line phugoid (obtained with the parameters $C=2/3$, $\\cos\\theta=1$, and $z=z_t$ in the previous analysis), and experiences a small upset, a wind gust that slightly perturbs its path. It will then enter into a gentle oscillation around the previous straight-line path: a _phugoid oscillation_.\n", + "\n", + "If the aircraft experiences an upward acceleration of $-d^2z/dt^2$, and we assume that the perturbation is small, then $\\cos\\theta=1$ is a good approximation and Newton's second law in the vertical direction is:\n", + "\n", + "$$\\begin{equation}\n", + "L - W = - \\frac{W}{g}\\frac{d^2 z}{dt^2}\n", + "\\end{equation}$$\n", + "\n", + "In the previous notebook, we saw that the following relation holds for the ratio of lift to weight, in terms of the trim velocity $v_t$:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{L}{W}=\\frac{v^2}{v_t^2}\n", + "\\end{equation}$$\n", + "\n", + "This will be useful: we can divide Equation (1) by the weight and use Equation (2) to replace $L/W$. Another useful relation from the previous notebook expressed the conservation of energy (per unit mass) as $v^2 = 2 gz$. With this, Equation (1) is rearranged as:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{d^2z}{dt^2} + \\frac{gz}{z_t} = g\n", + "\\end{equation}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Look at Equation (3) for a moment. Does it ring a bell? Do you recognize it?\n", + "\n", + "If you remember from your physics courses the equation for _simple harmonic motion_, you should see the similarity! \n", + "\n", + "Take the case of a simple spring. Hooke's law is $F=-kx$, where $F$ is a restoring force, $x$ the displacement from a position of equilibrium and $k$ the spring constant. This results in the following ordinary differential equation for the displacement:\n", + "\n", + "$$\\begin{equation}\n", + " \\frac{d^2 x}{dt^2}= -\\frac{k}{m}x\n", + "\\end{equation}$$\n", + "\n", + "which has the solution $x(t) = A \\cos(\\omega t- \\phi)$, representing simple harmonic motion with an angular frequency $\\omega=\\sqrt{k/m}=2\\pi f$ and phase angle $\\phi$.\n", + "\n", + "Now look back at Equation (3): it has nearly the same form and it represents simple harmonic motion with angular frequency $\\omega=\\sqrt{g/z_t}$ around mean height $z_t$. \n", + "\n", + "Think about this for a moment ... we can immediately say what the period of the oscillation is: exactly $2 \\pi \\sqrt{z_t/g}$ — or, in terms of the trim velocity, $\\pi \\sqrt{2} v_t/g$.\n", + "\n", + "_This is a remarkable result!_ Think about it: we know nothing about the aircraft, or the flight altitude, yet we can obtain the period of the phugoid oscillation simply as a function of the trim velocity. For example, if trim velocity is 200 knots, we get a phugoid period of about 47 seconds—over that time, you really would not notice anything if you were flying in that aircraft.\n", + "\n", + "Next, we want to be able to compute the trajectory of the aircraft for a given initial perturbance. We will do this by numerically integrating the equation of motion." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prepare to integrate" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We want to integrate the differential equation and plot the trajectory of the aircraft. Are you ready?\n", + "\n", + "The equation for the phugoid oscillation is a second-order, ordinary differential equation (ODE). Let's represent the time derivative with a prime, and write it like this:\n", + "\n", + "$$\\begin{equation}\n", + "z(t)'' + \\frac{g \\,z(t)}{z_t}=g\n", + "\\end{equation}$$\n", + "\n", + "There's a convenient trick when we work with ODEs: we can turn this 2nd-order equation into a system of two 1st-order equations. Like this:\n", + "\n", + "$$\\begin{eqnarray}\n", + "z'(t) &=& b(t)\\\\\n", + "b'(t) &=& g\\left(1-\\frac{z(t)}{z_t}\\right)\n", + "\\end{eqnarray}$$\n", + "\n", + "Are you following? Make sure you are following the derivations, even if it means writing the equations down in your own notes! (Yes, the old-fashioned paper way.)\n", + "\n", + "Another way to look at a system of two 1st-order ODEs is by using vectors. You can make a vector with your two independent variables, \n", + "\n", + "$$\\begin{equation}\n", + "\\vec{u} = \\begin{pmatrix} z \\\\ b \\end{pmatrix}\n", + "\\end{equation}$$\n", + "\n", + "and write the differential system as a single vector equation:\n", + "\n", + "\\begin{equation}\n", + "\\vec{u}'(t) = \\begin{pmatrix} b\\\\ g-g\\frac{z(t)}{z_t} \\end{pmatrix}\n", + "\\end{equation}\n", + "\n", + "If you call the right-hand-side $\\vec{f}(\\vec{u})$, then the equation is very short: $\\vec{u}'(t) = \\vec{f}(\\vec{u})$—but let's drop those arrows to denote vectors from now on, as they are a bit cumbersome: just remember that $u$ and $f$ are vectors in the phugoid equation of motion.\n", + "\n", + "Next, we'll prepare to solve this problem numerically." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Initial value problems" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's step back for a moment. Suppose we have a first-order ODE $u'=f(u)$. You know that if we were to integrate this, there would be an arbitrary constant of integration. To find its value, we do need to know one point on the curve $(t, u)$. When the derivative in the ODE is with respect to time, we call that point the _initial value_ and write something like this:\n", + "\n", + "$$u(t=0)=u_0$$\n", + "\n", + "In the case of a second-order ODE, we already saw how to write it as a system of first-order ODEs, and we would need an initial value for each equation: two conditions are needed to determine our constants of integration. The same applies for higher-order ODEs: if it is of order $n$, we can write it as $n$ first-order equations, and we need $n$ known values. If we have that data, we call the problem an _initial value problem_.\n", + "\n", + "Remember the definition of a derivative? The derivative represents the slope of the tangent at a point of the curve $u=u(t)$, and the definition of the derivative $u'$ for a function is:\n", + "\n", + "$$u'(t) = \\lim_{\\Delta t\\rightarrow 0} \\frac{u(t+\\Delta t)-u(t)}{\\Delta t}$$\n", + "\n", + "If the step $\\Delta t$ is already very small, we can _approximate_ the derivative by dropping the limit. We can write:\n", + "\n", + "$$\\begin{equation}\n", + "u(t+\\Delta t) \\approx u(t) + u'(t) \\Delta t\n", + "\\end{equation}$$\n", + "\n", + "With this equation, and because we know $u'(t)=f(u)$, if we have an initial value, we can step by $\\Delta t$ and find the value of $u(t+\\Delta t)$, then we can take this value, and find $u(t+2\\Delta t)$, and so on: we say that we _step in time_, numerically finding the solution $u(t)$ for a range of values: $t_1, t_2, t_3 \\cdots$, each separated by $\\Delta t$. The numerical solution of the ODE is simply the table of values $t_i, u_i$ that results from this process." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Discretization" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to execute the process described above and find the numerical solution of the ODE, we start by choosing the values $t_1,t_2,t_3 \\cdots t_n$—we call these values our *grid* in time. The first point of the grid is given by our _initial value_, and the small difference between two consecutive times is called the _time step_, denoted by $\\Delta t$. The solution value at time $t_n$ is denoted by $u_n$.\n", + "\n", + "Let's build a time grid for our problem. We first choose a final time $T$ and the time step $\\Delta t$. In code, we'll use readily identifiable variable names: `T` and `dt`, respectively. With those values set, we can calculate the number of time steps that will be needed to reach the final time; we call that variable `N`. \n", + "\n", + "Let's write some code. The first thing we do in Python is load our favorite libraries: NumPy for array operations, and the Pyplot module in Matplotlib, to later on be able to plot the numerical solution. The line `%matplotlib inline` tells IPython Notebook to show the plots inline." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import numpy \n", + "from matplotlib import pyplot\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, initialize `T` and `dt`, calculate `N` and build a NumPy array with all the values of time that make up the grid." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "T = 100.0\n", + "dt = 0.02\n", + "N = int(T/dt)+1\n", + "t = numpy.linspace(0.0, T, N)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have our grid! Now it's time to apply the numerical time stepping represented by Equation (10)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Challenge!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* Write the code above using the NumPy function `arange()` instead of `linspace()`. If you need to, read the documentation for these functions." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Pro tip:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Enter a question mark followed by any function, e.g., `?numpy.linspace`, into a code cell and execute it, to get a help pane on the notebook." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Euler's method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The approximate solution at time $t_n$ is $u_n$, and the numerical solution of the differential equation consists of computing a sequence of approximate solutions by the following formula, based on Equation (10):\n", + "\n", + "$$u_{n+1} = u_n + \\Delta t \\,f(u_n).$$\n", + "\n", + "This formula is called **Euler's method**.\n", + "\n", + "For the equations of the phugoid oscillation, Euler's method gives the following algorithm that we need to implement in code:\n", + "\n", + "\\begin{align}\n", + "z_{n+1} & = z_n + \\Delta t \\, b_n \\\\\n", + "b_{n+1} & = b_n + \\Delta t \\left(g - \\frac{g}{z_t} \\, z_n \\right).\n", + "\\end{align}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### And solve!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To apply the numerical solution method, we need to set things up in code: define the parameter values needed in the model, initialize a NumPy array to hold the discrete solution values, and initialize another array for the elevation values." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# initial conditions\n", + "z0 = 100. #altitude\n", + "b0 = 10. #upward velocity resulting from gust\n", + "zt = 100.\n", + "g = 9.81\n", + "\n", + "u = numpy.array([z0, b0])\n", + "\n", + "# initialize an array to hold the changing elevation values\n", + "z = numpy.zeros(N)\n", + "z[0] = z0 " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You should pay attention to a couple of things: (1) See how there is a dot after the numbers used to define our parameters? We just want to be explicit (as a good habit) that these variables are real numbers, called \"floats.\" (2) We both _created_ and _initialized_ with zeros everywhere the solution vector `z`. Look up the documentation for the handy NumPy function `zeros()`, if you need to. (3) In the last line above, we assign the _initial value_ to the first element of the solution vector: `z[0]`.\n", + "\n", + "Now we can step in time using Euler's method. Notice how we are time stepping the two independent variables at once in the time iterations." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# time-loop using Euler's method\n", + "for n in range(1,N):\n", + " u = u + dt*numpy.array([u[1], g*(1-u[0]/zt)])\n", + " z[n] = u[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Make sure you understand what this code is doing. This is a basic pattern in numerical methods: iterations in a time variable that apply a numerical scheme at each step." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot the solution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If the code is correct, we have stored in the array `z` the position of the glider at each time. Let's use Matplotlib to examine the flight path of the aircraft.\n", + "\n", + "You should explore the [Matplotlib tutorial](http://matplotlib.org/users/pyplot_tutorial.html) (if you need to) and familiarize yourself with the command-style functions that control the size, labels, line style, and so on. Creating good plots is a useful skill: it is about communicating your results effectively. \n", + "\n", + "Here, we set the figure size, the limits of the vertical axis, the format of tick-marks, and axis labels. The final line actually produces the plot, with our chosen line style (continuous black line)." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pyplot.figure(figsize=(10,4)) #set plot size\n", + "pyplot.ylim(40,160) #y-axis plot limits\n", + "pyplot.tick_params(axis='both', labelsize=14) #increase font size for ticks\n", + "pyplot.xlabel('t', fontsize=14) #x label\n", + "pyplot.ylabel('z', fontsize=14) #y label\n", + "pyplot.plot(t,z, 'k-');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Explore and think" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Try changing the value of `v` in the initial conditions. \n", + "\n", + "* What happens when you have a larger gust? \n", + "* What about a smaller gust? \n", + "* What happens if there isn't a gust (`v = 0`)?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exact solution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The equation for phugoid oscillations is a 2nd-order, linear ODE and it has an exact solution of the following form:\n", + "\n", + "$$\n", + "\\begin{equation}\n", + "z(t) = A \\sin \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + B \\cos \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + z_t\n", + "\\end{equation}\n", + "$$\n", + "\n", + "where $A$ and $B$ are constants that we solve for using initial conditions. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our numerical solution used the initial conditions:\n", + "\n", + "$$\\begin{eqnarray}\n", + "z(0) = z_0 \\\\\n", + "b(0) = b_0\n", + "\\end{eqnarray}$$\n", + "\n", + "Applying these to the exact solution and solving for $A$ and $B$, we get:\n", + "\n", + "$$\\begin{equation}\n", + "z(t) = b_0 \\sqrt{\\frac{z_t}{g}} \\sin \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + (z_0-z_t) \\cos \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + z_t\n", + "\\end{equation}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We already defined all of these variables for our numerical solution, so we can immediately compute the exact solution. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Pro tip:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The expression is a bit long —if you don't feel like scrolling left and right, you can insert a line break in the code using a backslash '\\' _(without any trailing spaces)_ and Python will treat the next line as a continuation of the first." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "z_exact = b0*(zt/g)**.5*numpy.sin((g/zt)**.5*t)+\\\n", + " (z0-zt)*numpy.cos((g/zt)**.5*t)+zt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot the exact solution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can plot our exact solution! Even better, we can plot _both_ the numerical solution *and* the exact solution to see how well Euler's method approximated the phugoid oscillations.\n", + "\n", + "To add another curve to a plot, simply type a second `pyplot.plot()` statement. We also added a legend using the format\n", + "\n", + "```Python\n", + "pyplot.legend([\"line 1\",\"line 2\"])\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nXZ3JngAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pyplot.figure(figsize=(10,4))\n", + "pyplot.ylim(40,160) #y-axis plot limits\n", + "pyplot.tick_params(axis='both', labelsize=14) #increase font size for ticks\n", + "pyplot.xlabel('t', fontsize=14) #x label\n", + "pyplot.ylabel('z', fontsize=14) #y label\n", + "pyplot.plot(t,z)\n", + "pyplot.plot(t, z_exact)\n", + "pyplot.legend(['Numerical Solution','Analytical Solution']);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That looks like pretty good agreement, but what's happening towards the end? We'll come back to this. For now, re-run the previous steps with a different timestep, say $dt=0.01$ and pay attention to the difference.\n", + "\n", + "Euler's method, like all numerical methods, introduces some errors. If the method is *convergent*, the approximation will get closer and closer to the exact solution as we reduce the size of the step, $\\Delta t$. The error in the numerical method should tend to zero, in fact, when $\\Delta t\\rightarrow 0$—when this happens, we call the method _consistent_. We'll define these terms more carefully in the theory components of this course. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To compare the two solutions, we need to use a **norm** of the difference, like the $L_1$ norm, for example.\n", + "\n", + "$$ E = \\Delta t \\sum_{n=0}^N \\left|z(t_n) - z_n\\right|$$\n", + "\n", + "The $L_1$ norm is the sum of the individual differences between the exact and the numerical solutions, at each mesh point. In other words, $E$ is the discrete representation of the integral over the interval $T$ of the (absolute) difference between the computed $z$ and $z_{\\rm exact}$:\n", + "\n", + "$$ E = \\int \\vert z-z_\\rm{exact}\\vert dt $$\n", + "\n", + "We check for convergence by calculating the numerical solution using progressively smaller values of `dt`. We already have most of the code that we need. We just need to add an extra loop and an array of different $\\Delta t$ values to iterate through. \n", + "\n", + "You should read the documentation for the function [enumerate](https://docs.python.org/2/library/functions.html#enumerate) and make sure you understand how we're using it below." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Warning" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The cell below can take a little while to finish (the last $\\Delta t$ value alone requires 1 million iterations!). If the cell is still running, the input label will say `In [*]`. When it finishes, the `*` will be replaced by a number." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# time-increment array\n", + "dt_values = numpy.array([0.1, 0.05, 0.01, 0.005, 0.001, 0.0001])\n", + "\n", + "# array that will contain solution of each grid\n", + "z_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " N = int(T/dt)+1 # number of time-steps\n", + " ### discretize the time using numpy.linspace() ###\n", + " t = numpy.linspace(0.0, T, N)\n", + "\n", + " # initial conditions\n", + " u = numpy.array([z0, b0])\n", + " z = numpy.empty_like(t)\n", + " z[0] = z0\n", + " \n", + " # time loop - Euler method\n", + " for n in range(1,N):\n", + " ### compute next solution using Euler method ###\n", + " u = u + dt*numpy.array([u[1], g*(1-u[0]/zt)])\n", + " z[n] = u[0] # store the elevation at time-step n+1\n", + " \n", + " z_values[i] = z.copy() # store the total elevation calculation grid i" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Calculate the error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now have numerical solutions for each $\\Delta t$ in the array `z_values`. To calculate the error corresponding to each $\\Delta t$, we can write a function! " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def get_error(z, dt):\n", + " \"\"\"Returns the error relative to analytical solution using L-1 norm.\n", + " \n", + " Parameters\n", + " ----------\n", + " z : array of float\n", + " numerical solution.\n", + " dt : float\n", + " time increment.\n", + " \n", + " Returns\n", + " -------\n", + " err : float\n", + " L_{1} norm of the error with respect to the exact solution.\n", + " \"\"\"\n", + " N = len(z)\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " z_exact = b0*(zt/g)**.5*numpy.sin((g/zt)**.5*t)+\\\n", + " (z0-zt)*numpy.cos((g/zt)**.5*t)+zt\n", + " \n", + " return dt * numpy.sum(numpy.abs(z-z_exact))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note**: in the last line of the function, we perform an 'array operation': \n", + "\n", + "`z - z_exact`\n", + "\n", + "We are *not* subtracting one value from another. Instead, we are taking the difference between elements at each corresponding index in both arrays. Here is a quick example:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([3, 2, 1])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = numpy.array([1, 2, 3])\n", + "b = numpy.array([4, 4, 4])\n", + "\n", + "b - a" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we iterate through each $\\Delta t$ value and calculate the corresponding error. " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "error_values = numpy.empty_like(dt_values)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " ### call the function get_error() ###\n", + " error_values[i] = get_error(z_values[i], dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Remember, *if* the method is convergent then the error should get smaller as $\\Delta t$ gets smaller. To visualize this, let's plot $\\Delta t$ vs. error. If you use `pyplot.plot` you won't get a very useful result. Instead, use `pyplot.loglog` to create the same plot with a log-log scale. This is what we do almost always to assess the errors of a numerical scheme graphically." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nWtIESavUofkys59KukjSFElDJT0gaaGZbStJ7n6pu+/s7ru4e3Pbl4Yssi9f7eb72p626+75rp7r\nuL6z7aL42rq3P7OQ14XOM591Scqy0Nf2Ns9C1pdLnqX4Xe9sHXnm91xf1hVbnP/uZN/s3XaF5tmV\nSJo4d1/o7pPd/XZJ6zvZ5AxJ17n7Ne7+vLuPl/S6pJO7ek8zu1vSrZJGm9krZrZnX+uMw//ZpWri\nVqxY0W0dIcT5L6KunuvNX0RxzrLQ18bhL/a05BmXJo48wzVxpciyqzpCv47f9XCvLWUTF/klRsxs\npaRT3X1mbrm/pI8lHZlr8lq3u1jSTu6e6ePP45ArAABIjK4uMdKv1IXkYUtJG0t6s8P6tyRt3dc3\n7yoIAACAJOHsVAAAgASKYxP3jqR1kgZ3WD9YLXNxAAAAZS92TZy7r5H0uKQDOjy1v1rOUgUAACh7\nkczEmdlASTvkFjeS9BUzGyrpXXd/RdL/SLrezB5RS+N2klrm4S6Pol4AAIC4ieTsVDPLSGrKLbr+\ndX236e7+s9w2J0s6U9IQSX+SdLq731fiUgEAAGIp8kuMIBnMbIWkD9RyXb/33H2/aCtKPjPbRNKz\nkm51919GXU9SmdkgSYvVcmShv6TL3P3iaKtKptwF1a+X9AVJn0j6jbvfFm1VyWZmsyUNl9To7kdE\nXU8SmdlBki5Uy5G789z9mohLig2aOOTFzF6S9C13/39R15IWZvZbSZWSXnb3M6OuJ6nMbCNJ/d29\nOdcYPyNpD3d/O+LSEsfMtpa0lbs/bWaD1TKfvIO7r4q4tMQys+GSNpV0HE1c4cysn1p+pzOSVkp6\nQtL33P29KOuKi9id2IBY4xp7gZjZDpK+LmmhyLVP3H19m9vvfVbSaknN3bwEXXD3N9z96dyf31TL\n1QK2iLaqZHP3pZI+irqOBNtD0jPu/rq7fyRpgTY88bFs0cQhXy7pXjN7xMyOirqYFLhA0llRF5EW\nZraZmT0l6WVJU919ZdQ1JZ2Z7SppI3d/LepaUNa2kdR2H3xV0hcjqiV24njHBsTTD9z99dzhlrvN\n7E/u/qeoi0oiMztE0gvu/lcz2zvqetLA3T+Q9F0z20rSEjNrcPe/Rl1XUpnZFpJmSBoXdS0oe8x8\ndYNv4lLIzIaZ2Vwze9XM1pvZcZ1sc4qZvWRmq8zssbbNRO65ZWb2hJlVSJK7v5773zfU8nX2LqX6\nPFErQp57SjoyN2d4gaQTzGxy6T5RtIqxf7Zy97ckZSUNLfoHiYFiZGlmAyTNlnSuuz9Uuk8TvSLu\nm2XbiPQ1U0n/UPtv3r6k9t/MlTWauHQaKOlpSRMkrVKHv0DM7KeSLpI0RS3/sXtA0sLcmWly90vd\nfWd336V1WNzMNs299nOSfijpzyX7NNELmqe7n+3uX3b3r0r6v5KucvcpJfw8UQu9f27VZv/cTNI+\nufcvB6GzNEnTJTW5+42l+xixETTPti8tRfEx1adMJT0qaScz2yb3358DJd1Votrjz915pPihlrN5\nju2w7mFJV3RY94Kk33XxHl+V9GTu8SdJ1VF/riTn2WG74ySdH/XnSnKeknaXtCy3fy7r+H7l8giU\n5d5que3hE7ksl6nlrPTIP18S88w9f7ektyR9LOkVSXtG/dmSlqmkgyU9L+lFSeOi/hxxejATV2bM\nrL9aDoWe3+GpBkl7dfYad39JZXJ4qlC9ybMtd59RjLqSqpf756OSdi5yaYnTyyzvk7RxkUtLpN7+\nrrv7iGLWlWT5Zuru8yTNK2FpicHh1PKzpVr+kn6zw/q31HJrMxSGPMMiz3DIMizyDI9M+4gmDgAA\nIIFo4srPO2qZeRncYf1gSa+XvpzEI8+wyDMcsgyLPMMj0z6iiSsz7r5GLbfS6XjF6/3VclYQCkCe\nYZFnOGQZFnmGR6Z9x4kNKWRmAyXtkFvcSNJXzGyopHfd/RVJ/yPpejN7RC2/KCepZf7g8ijqjTvy\nDIs8wyHLsMgzPDItsqhPj+UR/qGWGwWvzz3WtfnztW22OVnSS2q5x+SjkvaOuu64PsiTPOP6IEvy\njPuDTIv7sFyAAAAASBBm4gAAABKIJg4AACCBaOIAAAASiCYOAAAggWjiAAAAEogmDgAAIIFo4gAA\nABKIJg4AACCBaOIAAAASiCYOAApkZgPM7AUz+0HUtQAoXzRxAFC4EyVtLmlKdxuZ2cZm9pyZbVOa\nsgCUE5o4ACiAmW0i6euSzpY03MxGdLP5rpK2cPd/lKQ4AGWFJg4ACnOKpEskXStpuaTfdLPtvpKa\nSlEUgPJDEwcAeTKz/yPpi+7+rLuvk1QnaU8zO6jDdj82s/+VdLqkz5nZ/5rZ1yMoGUCKmbtHXQMA\nJIKZ/UrSLe7+t9yySfqTpDXuvkuHbftLek/SLu7+QsmLBZB6fBMHAHkwsy0kbd7awEmSt/wr+BxJ\nQ81sTIeX/EDShzRwAIqFJg4A8lMt6Q8dV7r7HZKekFSX+2au1f6SsqUpDUA5ookDgB6Y2WBJ/d39\ntS42+S9J35R0VJt1I5Rr4sxsbzMbUNQiAZQdZuIAoAe5kxQelPRWN5tNl7RG0o7uvs7MPpa0l6Tn\nJE109/OKXiiAskITBwDdMLOtJb0kKZ9v0lzSz9x9hpldKGmtpLclXeHuHxexTABliCYOAAAggZiJ\nAwAASCCaOAAAgASiiQMAAEggmjgAAIAEookDAABIIJo4AACABKKJAwAASCCaOAAAgAT6/wsNBajn\noDeVAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pyplot.figure(figsize=(10, 6))\n", + "pyplot.tick_params(axis='both', labelsize=14) #increase tick font size\n", + "pyplot.grid(True) #turn on grid lines\n", + "pyplot.xlabel('$\\Delta t$', fontsize=16) #x label\n", + "pyplot.ylabel('Error', fontsize=16) #y label\n", + "pyplot.loglog(dt_values, error_values, 'ko-') #log-log plot\n", + "pyplot.axis('equal') #make axes scale equally;" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is the kind of result we like to see! As $\\Delta t$ shrinks (towards the left), the error gets smaller and smaller, like it should." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Challenge!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We calculated the error for several different timestep sizes using two nested `for` loops. That worked, but whenever possible, we like to re-use code (and not just copy and paste it!). \n", + "\n", + "Create a function that implements Euler's method and re-write the error analysis cell to use your function." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of this notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/01_phugoid/.ipynb_checkpoints/01_03_PhugoidFullModel-checkpoint.ipynb b/01_phugoid/.ipynb_checkpoints/01_03_PhugoidFullModel-checkpoint.ipynb new file mode 100644 index 0000000..742302d --- /dev/null +++ b/01_phugoid/.ipynb_checkpoints/01_03_PhugoidFullModel-checkpoint.ipynb @@ -0,0 +1,929 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth, I. Hawke. Partly based on content by David Ketcheson, also under CC-BY." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Full phugoid model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is the third IPython Notebook of the series on the _phugoid model of glider flight_, our first learning module of the course [\"Practical Numerical Methods with Python\"](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about). In the first notebook, we described the physics of the trajectories known as phugoids obtained from an exchange of potential and kinetic energy in an idealized motion with no drag. We gave you a neat little code to play with and plot various phugoid curves.\n", + "\n", + "In the second notebook, we looked at the equation representing small perturbations on the straight-line phugoid, resulting in simple harmonic motion. This is a second-order ordinary differential equation, and we solved it numerically using **Euler's method**: the simplest numerical method of all. We learned about convergence and calculated the error of the numerical solution, comparing with an analytical solution. That is a good foundation!\n", + "\n", + "Now, let's go back to the dynamical model, and take away the idealization of no-drag. Let's remind ourselves of the forces affecting an aircraft, considering now that it may be accelerating, with an instantaneous upward trajectory. We use the designation $\\theta$ for the angle, and consider it positive upwards." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/glider_forces-lesson3.png)\n", + "#### Figure 1. Forces with a positive trajectory angle." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In Figure 1, $L$ is the lift, $W$ is the weight, $D$ is the drag, and $\\theta$ the positive angle of the trajectory, instantaneously. \n", + "\n", + "In lesson 1, we wrote the force balance in the directions perpendicular and parallel to the trajectory for a glider in _equilibrium_. What if the forces are _not_ in balance? Well, there will be acceleration terms in the equations of motion, and we would have in that case:\n", + "\n", + "\\begin{align}\n", + "m \\frac{dv}{dt} & = - W \\sin\\theta - D \\\\\n", + "m v \\, \\frac{d\\theta}{dt} & = - W \\cos\\theta + L\n", + "\\end{align}\n", + "\n", + "We can use a few little tricks to make these equations more pleasing. First, use primes to denote the time derivatives and divide through by the weight:\n", + "\n", + "\\begin{align}\n", + " \\frac{v'}{g} & = - \\sin\\theta - D/W \\\\\n", + "\\frac{v}{g} \\, \\theta' & = - \\cos\\theta + L/W\n", + "\\end{align}\n", + "\n", + "\n", + "Recall, from our first lesson, that the ratio of lift to weight is known from the trim conditions—$L/W=v^2/v_t^2$— and also from the definitions of lift and drag, \n", + "\n", + "$$\\begin{eqnarray}\n", + "L &=& C_L S \\times \\frac{1}{2} \\rho v^2 \\\\\n", + "D &=& C_D S \\times \\frac{1}{2} \\rho v^2\n", + "\\end{eqnarray}$$\n", + "\n", + "we see that $L/D=C_L/C_D$. The system of equations can be re-written:\n", + "\n", + "\\begin{align}\n", + " v' & = - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\\n", + " \\theta' & = - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v\n", + "\\end{align}\n", + "\n", + "It is very interesting that the first equation has the factor $C_D/C_L$, which is the inverse of a measure of the aerodynamic efficiency of the aircraft. It turns out, this is the term that contributes damping to the phugoid model: if drag is zero, there is no damping. Drag is never zero in real life, but as engineers design more aerodynam-ically efficient aircraft, they make the phugoid mode more weakly damped. At altitude, this is nothing but a slight bother, but vertical oscillations are unsafe during final approach to land, so this is something to watch out for!\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The initial value problem" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we want to visualize the flight trajectories predicted by this model, we are going to need to integrate the spatial coordinates, which depend on both the forward velocity (tangential to the trajectory) and the trajectory angle. The position of the glider on a vertical plane will be designated by coordinates $(x, y)$ with respect to an inertial frame of reference, and are obtained from:\n", + "\n", + "\\begin{align}\n", + "x'(t) & = v \\cos(\\theta) \\\\\n", + "y'(t) & = v \\sin(\\theta).\n", + "\\end{align}\n", + "\n", + "Augmenting our original two differential equations by the two equations above, we have a system of four first-order differential equations to solve. We will use a time-stepping approach, like in the previous lesson. To do so, we do need *initial values* for every unknown:\n", + "\n", + "$$\n", + "v(0) = v_0 \\quad \\text{and} \\quad \\theta(0) = \\theta_0\\\\\n", + "x(0) = x_0 \\quad \\text{and} \\quad y(0) = y_0\n", + "$$\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Solve with Euler's method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We know how to apply Euler's method from the previous lesson. We replace each of the time derivatives by an approximation of the form:\n", + "\n", + "$$v'(t) \\approx \\frac{v^{n+1} - v^n}{\\Delta t},$$\n", + "\n", + "where we are now using a superscript $n$ to indicate the $n$-th value in the time iterations. The first differential equation, for example, gives:\n", + "\n", + "$$\\frac{v^{n+1} - v^n}{\\Delta t} = - g\\, \\sin\\theta^n - \\frac{C_D}{C_L} \\frac{g}{v_t^2} (v^n)^2$$\n", + "\n", + "Alright, we know where this is going. At each time iteration $t^n$, we want to evaluate all the known data of our system to obtain the state at $t^{n+1}$—the next time step. We say that we are _stepping in time_ or _time marching_.\n", + "\n", + "The full system of equations discretized with Euler's method is:\n", + "\n", + "\\begin{align}\n", + "v^{n+1} & = v^n + \\Delta t \\left(- g\\, \\sin\\theta^n - \\frac{C_D}{C_L} \\frac{g}{v_t^2} (v^n)^2 \\right) \\\\\n", + "\\theta^{n+1} & = \\theta^n + \\Delta t \\left(- \\frac{g}{v^n}\\,\\cos\\theta^n + \\frac{g}{v_t^2}\\, v^n \\right) \\\\\n", + "x^{n+1} & = x^n + \\Delta t \\, v^n \\cos\\theta^n \\\\\n", + "y^{n+1} & = y^n + \\Delta t \\, v^n \\sin\\theta^n.\n", + "\\end{align}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we've learned before, the system of differential equations can also be written as a vector equation:\n", + "\n", + "$$u'(t) = f(u)$$\n", + "\n", + "where\n", + "\n", + "\\begin{align}\n", + "u & = \\begin{pmatrix} v \\\\ \\theta \\\\ x \\\\ y \\end{pmatrix} & f(u) & = \\begin{pmatrix} - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\ - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v \\\\ v\\cos\\theta \\\\ v\\sin\\theta \\end{pmatrix}.\n", + "\\end{align}\n", + "\n", + "It's a bit tricky to code the solution using a NumPy array holding all your independent variables. But if you do, a function for the Euler step can be written that takes any number of simultaneous equations. It simply steps in time using the same line of code:\n", + "\n", + "```Python\n", + "def euler_step(u, f, dt):\n", + " return u + dt * f(u)\n", + "```\n", + "\n", + "This function can take a NumPy array `u` with any number of components. All we need to do is create an appropriate function `f(u)` describing our system of differential equations. Notice how we are passing a _function_ as part of the arguments list to `euler_step()`. Neat!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### And solve!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As always, we start by loading the modules and libraries that we need for this problem. We'll need a few transcendental functions, including the $\\log$ for a convergence study later on. And remember: the line `%matplotlib inline` is a magic function that tells Matplotlib to give us the plots in the notebook (the default behavior of Matplotlib is to open a pop-up window). In addition, we are importing the module `rcParams` to define notebook-wide plotting parameters: font family and size. Here we go!" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from math import sin, cos, log, ceil\n", + "import numpy\n", + "from matplotlib import pyplot\n", + "%matplotlib inline\n", + "from matplotlib import rcParams\n", + "rcParams['font.family'] = 'serif'\n", + "rcParams['font.size'] = 16" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to set things up to start our numerical solution: the parameter \n", + "values and the _initial values_. You know what the acceleration of gravity is: 9.8 m/s$^2$, but what are good values for $C_D/C_L$, the inverse of the aerodynamic efficiency? Some possible values are given on a table in the Wikipedia entry for [lift-to-drag ratio](http://en.wikipedia.org/wiki/Lift-to-drag_ratio): a modern sailplane can have $L/D$ of 40 to 60, depending on span (and, in case you're interested, a flying squirrel has $L/D$ close to 2).\n", + "\n", + "For the _trim velocity_, the speed range for typical sailplanes is between 65 and 280 km/hr, according to Wikipedia (it must be right!). Let's convert that to meters per second: 18 to 78 m/s. We'll pick a value somewhere in the middle of this range.\n", + "\n", + "Here's a possible set of parameters for the simulation, but be sure to come back and change some of these, and see what happens!" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# model parameters:\n", + "g = 9.8 # gravity in m s^{-2}\n", + "v_t = 30.0 # trim velocity in m s^{-1} \n", + "C_D = 1/40 # drag coefficient --- or D/L if C_L=1\n", + "C_L = 1 # for convenience, use C_L = 1\n", + "\n", + "### set initial conditions ###\n", + "v0 = v_t # start at the trim velocity (or add a delta)\n", + "theta0 = 0 # initial angle of trajectory\n", + "x0 = 0 # horizotal position is arbitrary\n", + "y0 = 1000 # initial altitude" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll define a function `f()` to match the right-hand side of Equation (15), the full differential system in vector form. This function assumes that we have available the parameters defined above. If you re-execute the cell above with different parameter values, you can just run the solution without re-executing the function definition." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def f(u):\n", + " \"\"\"Returns the right-hand side of the phugoid system of equations.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " array containing the solution at time n.\n", + " \n", + " Returns\n", + " -------\n", + " dudt : array of float\n", + " array containing the RHS given u.\n", + " \"\"\"\n", + " \n", + " v = u[0]\n", + " theta = u[1]\n", + " x = u[2]\n", + " y = u[3]\n", + " return numpy.array([-g*sin(theta) - C_D/C_L*g/v_t**2*v**2,\n", + " -g*cos(theta)/v + g/v_t**2*v,\n", + " v*cos(theta),\n", + " v*sin(theta)])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compare the code defining function `f(u)` with the differential equations, and convince yourself that it's right!\n", + "\n", + "\\begin{align}\n", + "u & = \\begin{pmatrix} v \\\\ \\theta \\\\ x \\\\ y \\end{pmatrix} & f(u) & = \\begin{pmatrix} - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\ - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v \\\\ v\\cos\\theta \\\\ v\\sin\\theta \\end{pmatrix} \\nonumber\n", + "\\end{align}\n", + "\n", + "Now, Euler's method is implemented in a simple function `euler_step()`:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def euler_step(u, f, dt):\n", + " \"\"\"Returns the solution at the next time-step using Euler's method.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " solution at the previous time-step.\n", + " f : function\n", + " function to compute the right hand-side of the system of equations.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " approximate solution at the next time step.\n", + " \"\"\"\n", + " \n", + " return u + dt * f(u)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After defining a final time for the solution, and the time step $\\Delta t$, we can construct the grid in time using the NumPy function [`linspace()`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html). Make sure you study the decisions we made here to build the time grid: why do we add 1 to the definition of `N`, for example?\n", + "\n", + "Look at the code below, and make sure you understand the following aspects of it.\n", + "\n", + "* The NumPy array `u` contains the solution at every time-step, consisting of the velocity, angle and location of the glider. \n", + "* The first element of the array `u` is set to contain the initial conditions. \n", + "* In the `for`-loop, the function `euler_step()` is called to get the solution at time-step $n+1$. " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "T = 100 # final time\n", + "dt = 0.1 # time increment\n", + "N = int(T/dt) + 1 # number of time-steps\n", + "\n", + "# initialize the array containing the solution for each time-step\n", + "u = numpy.empty((N, 4))\n", + "u[0] = numpy.array([v0, theta0, x0, y0])# fill 1st element with initial values\n", + "\n", + "# time loop - Euler method\n", + "for n in range(N-1):\n", + " \n", + " u[n+1] = euler_step(u[n], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot the trajectory" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to plot the path of the glider, we need the location (`x`, `y`) with respect to time. That information is already contained in our NumPy array containing the solution; we just need to pluck it out. \n", + "\n", + "Make sure you understand the indices to `u`, below, and the use of the colon notation. If any of it is confusing, read the Python documentation on [Indexing](http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html)." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# get the glider's position with respect to the time\n", + "x = u[:,2]\n", + "y = u[:,3]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time to plot the path of the glider and get the distance travelled!" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nnMGDB7Np0ybGjx9PcXExr7zyStwh5h0dAamBjoCIiNRPs2fPZvTo0VRUVNCgQQPGjh3LuHHjaNAg\nv3831xRMQqgAERGpv7Zu3cq4ceO4+eabcXeGDBnC5MmT83pKRlMwUqfo/PpolKfolKtolKfoMuVq\nr7324i9/+QszZ86kRYsWPPHEE/Ts2ZOPP/449wHmGRUgIiKS9372s59RXl5Ohw4dWLBgAb1792bd\nunVxh1WvaQqmBpqCERHJHx999BF9+vRhyZIldOzYkbKysrw7VVdTMCIiIjl24IEHUlpaSnFxMcuX\nL2fAgAF8+eWXcYdVL6kAkazQPHQ0ylN0ylU0ylN0UXPVunVrXnzxRTp27MjixYs588wz2bJlS+0G\nl4dUgIiIiKRp1aoVM2fOpE2bNpSVlTFixIgab3Ynu0drQGqgNSAiIvmroqKCnj178uWXXzJ27Fiu\nu+66uEOqdboOSEKoABERyW+zZs1iwIABVFZW8thjj3H22WfHHVKt0iJUqVM0Dx2N8hSdchWN8hTd\nnuaqX79+3HzzzQCMHDmSRYsWZTGq/KUCREREpAa//e1vufDCC9m8eTNnnnkmn376adwh1XmagqmB\npmBERARgy5Yt9OrVi1dffZX+/fszY8aMennfGE3BiIiIJMjee+/N1KlT2X///Xnuuee44YYb4g6p\nTlMBIlmheeholKfolKtolKfospGrdu3a8eCDD2JmjB8/nhdeeOGHB5anVICIiIjshv79+zN27Fjc\nnfPPP58PPvgg7pDqJK0BqYHWgIiISLrt27czYMAAnn/+eXr06EFZWRkFBQVxh5UVWgMiIiKSUA0b\nNmTKlCkccsghzJ8/nyuvvDLukOocFSCSFZqHjkZ5ik65ikZ5ii7buWrdujWPPfYYjRo1YsKECUyf\nPj2r+6/vVICIiIjsoR49enzvImXLly+POaK6Q2tAaqA1ICIisivuzjnnnMPjjz9Oly5dKC8vp1mz\nZnGHtce0BkRERKQOMDMmTZpE586dWbp0KSNHjkS/uNZMBYhkheaho1GeolOuolGeoqvNXDVr1own\nn3ySFi1aMH36dP785z/X2mfVFypAREREsqBjx45MmTIFM+MPf/gDzz77bNwhJZrWgNRAa0BERGR3\nXH/99YwbN47mzZszb948jjrqqLhD2i25WgOiAqQGKkBERGR3VFZWcs455zBt2jTatm1LeXk5Bx98\ncNxhRaZFqCEz62lmpWb2jpmtMrMZZtY5rc8BZnadmZWb2etm9paZvWZmF2bYX4GZXR/2edPM5pnZ\nSbn7RvWT5qGjUZ6iU66iUZ6iy1WuGjRowOTJk+nRowdr1qzh9NNPZ+PGjTn57Lok0QWImfUCXgRm\nuPsR7t4eWAXMMbNDU7oeD/wn8Gt37+bunYF7gfvN7IK03U4EzgZOdvejgUnALDM7pna/jYiI5Ism\nTZrwz3/+kyOOOIJFixYxePBgNm/eHHdYiZLoKRgzmwO0d/d2KW3NgI+AB9z9V2Fbd+Cn7n5j2vvX\nAy+6+7Bw+0hgKTDK3e9P6fcvYJW7D8wQg6ZgRERkj7z33nucfPLJrFu3jr59+/LUU0/RpEmTuMPa\nJU3BBLoBb6c2uPtGYDVwRkpbeYbiowBoAnyS0jwEMKA07XNKgX5m1jR7oYuISL7r0KEDpaWlHHjg\ngbzwwgsMHjyYr7/+Ou6wEiHpBchXZI6xEjjIzPbJ9CYz2w+4A1gD3JDyUjGwHXg/7S0rgUZAlx8a\ncL7SPHQ0ylN0ylU0ylN0ceWqU6dOvPTSSxxwwAE8//zz9OnTh08++aTmN9ZzSS9AFgJHmVmjqgYz\nawEUhZvNUzubWRMzewv4mKCYGOzuH6R0aQVszjCnsiF83j+bwYuIiAB06dKF0tJS2rVrxyuvvEKP\nHj1YtmxZ3GHFKulrQI4D5gO3AtcQHKW4DRgGFAKt3H19hvc1JliUei0wwt2nh+2zgBPcvUVa/0uA\nu4EB7j4z7TWtARERkaxYu3YtAwcOZMGCBRQWFnLHHXcwYsSIuMP6nlytAWlUc5f4uPtrZtYXuApY\nAnwBPARsAYZnKj7C930D3GxmfYC/m9mT7l4JfAoU2s5VRdWRlM8y7W/kyJG0b98egJYtW9K1a1dO\nPfVU4LtDetrWtra1rW1tR9mePXs2l156KY888ggXXnghJSUlTJgwYccRkVzHU/XnVatWkVPuXuce\nQAkwK2W7MdAgQ7+/EqwX6RBuXxlut0vrNxHYCjTNsA+XmpWWlsYdQp2gPEWnXEWjPEWXpFxVVlb6\nvffe602bNnXAmzVr5n/961/9q6++ijs0D//fq/X/yxO9BsTM2plZcVpbC+Bk4O8pzXcD52TYRXuC\nguPzcHs64EDvtH69CQoanaQtIiK1zsy4+OKLefPNNxk0aBAbN25kzJgxtGvXjvHjx+f+aEQMkr4G\nZCQwBjjJ3debWSFwH9DQ3c9K6Xcf0BUY5OGiUzMbCjwKTHH3kSl97yAoOE5y98/M7CLgb8CJ7l6R\nIQZPco5ERKTue/bZZ7nuuusoLy/f0da9e3dOO+00TjnlFI477jgKCwtzEovuBQOY2bHATcARwHqC\nU2inAre4+/aUfkcB/w70JDjisRewieAqp3en9W0EjCe4Guo2gjNgxrj7vGpiUAEiIiK1zt2ZO3cu\nt99+O0899dROV05t164dnTt3pkOHDhQVFXH44YdTVFREUVERLVu2zFocKkASQgVINGVlZTsWNkn1\nlKfolKtolKfo6lKuNm3axMyZM5k9ezZz5sxhyZIlbNu2rdr+++67745ipKioiOLiYvr27UubNm12\n+7N1FoyIiEieKiwsZOjQoQwdOhSAb7/9lhUrVvD222+zYsUKVq5cueN55cqVrF+/nvXr17NgwYLv\n7adr165ceOGFDB8+nNatW8fxVaqlIyA10BEQERFJMnfnk08++V5hMn/+fMrKynZM4xQUFDBq1Ciu\nueYaDj300F3uT1MwCaECRERE6qKtW7dSUlLCvffeS0lJCe5O48aNueKKKxg7dix77713xvfpZnRS\np6Re0EaqpzxFp1xFozxFl2+52muvvRgyZAjPPPMMS5Ys4bzzzmPbtm3ceOONdO3alVdeeSXW+FSA\niIiI1HOdO3fm4YcfZu7cuXTq1Illy5bRs2dPJk6cSFxH+TUFUwNNwYiISH2yZcsWrr76am699VYA\nRowYwT333EPjxo0BrQFJDBUgIiJSHz366KOMGjWKTZs28fOf/5xp06ZRWFioNSBSt+Tb3OqeUp6i\nU66iUZ6iU66+79xzz2XOnDm0bt2amTNn0rdvX7788sucfb4KEBERkTz1k5/8hLlz53LYYYdRXl5O\n//79c/bZmoKpgaZgRESkvlu9ejW9evVi9erVAJqCERERkdp32GGHUVpayoknnpizz1QBIlmhudVo\nlKfolKtolKfolKtdKyoqYt68jPdlrRUqQERERAQITsHN2WdpfcOuaQ2IiIjkE52GKyIiIvWWChDJ\nCs2tRqM8RadcRaM8RadcJYsKEBEREck5rQGpgdaAiIhIPtEaEBEREam3VIBIVmhuNRrlKTrlKhrl\nKTrlKllUgIiIiEjOaQ1IDbQGRERE8onWgIiIiEi9pQJEskJzq9EoT9EpV9EoT9EpV8miAkRERERy\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# visualization of the path\n", + "pyplot.figure(figsize=(8,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel(r'x', fontsize=18)\n", + "pyplot.ylabel(r'y', fontsize=18)\n", + "pyplot.title('Glider trajectory, flight time = %.2f' % T, fontsize=18)\n", + "pyplot.plot(x,y, 'k-', lw=2);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Grid convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's study the convergence of Euler's method for the phugoid model. In the previous lesson, when we studied the straight-line phugoid under a small perturbation, we looked at convergence by comparing the numerical solution with the exact solution. Unfortunately, most problems don't have an exact solution (that's why we compute in the first place!). But here's a neat thing: we can use numerical solutions computed on different grids to study the convergence of the method, even without an analytical solution.\n", + "\n", + "We need to be careful, though, and make sure that the fine-grid solution is resolving all of the features in the mathematical model. How can we know this? We'll have a look at that in a bit. Let's see how this works first.\n", + "\n", + "You need a sequence of numerical solutions of the same problem, each with a different number of time grid points.\n", + "\n", + "Let's create a NumPy array called `dt_values` that contains the time-increment of each grid to be solved on. For each element `dt_values[i]`, we will compute the solution `u_values[i]` of the glider model using Euler's method. If we want to use five different values of $\\Delta t$, we'll have five solutions: we put them in an array ... but each one is also an array! We'll have an array of arrays. How meta is that?\n", + "\n", + "We have one more trick up our sleeve: `enumerate()`. To get all the numerical solutions—each with its value of $\\Delta t$—done in one fell swoop, we will loop over the elements of the array `dt_values`. Within the loop, we need to access both `dt_values[i]` and the index `i`. It turns out, `enumerate()` is a built-in Python function that will give us consecutive `index, value` pairs just like we need. \n", + "\n", + "Read the code below carefully, and remember: you can get a help pane on any function by entering a question mark followed by the function name. For example, add a new code cell below and type: `?numpy.empty_like`." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "dt_values = numpy.array([0.1, 0.05, 0.01, 0.005, 0.001])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt) + 1 # number of time-steps\n", + "\n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + " \n", + " u[n+1] = euler_step(u[n], f, dt) ### call euler_step() ###\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In [Lesson 2](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_02_Phugoid_Oscillation.ipynb), we compared our numerical result to an analytical solution, but now we will instead compare numerical results from different grids. \n", + "\n", + "For each solution, we'll compute the difference relative to the finest grid. You will be tempted to call this an _\"error\"_, but be careful: the solution at the finest grid is _not the exact_ solution, it is just a reference value that we can use to estimate grid convergence.\n", + "\n", + "To calculate the difference between one solution `u_current` and the solution at the finest grid, `u_finest`, we'll use the $L_1$-norm, but any norm will do.\n", + "\n", + "There is a small problem with this, though. The coarsest grid, where $\\Delta t = 0.1$, has 1001 grid points, while the finest grid, with $\\Delta t = 0.001$ has 100001 grid points. How do we know which grid points correspond to the same location in two numerical solutions, in order to compare them? \n", + "\n", + "If we had time grids of 10 and 100 steps, respectively, this would be relatively simple to calculate. Each element in our 10-step grid would span ten elements in our 100-step grid. \n", + "\n", + "Calculating the _ratio_ of the two grid sizes will tell us how many elements in our fine-grid will span over one element in our coarser grid.\n", + "\n", + "Recall that we can _slice_ a NumPy array and grab a subset of values from it. The syntax for that is\n", + "\n", + "```Python\n", + "my_array[3:8]\n", + "```\n", + "\n", + "An additional slicing trick that we can take advantage of is the \"slice step size.\" We add an additional `:` to the slice range and then specify how many steps to take between elements. For example, this code\n", + "\n", + "```Python\n", + "my_array[3:8:2]\n", + "```\n", + "\n", + "will return the values of `my_array[3]`, `my_array[5]` and `my_array[7]`\n", + "\n", + "With that, we can write a function to obtain the differences between coarser and finest grids. Here we go ..." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def get_diffgrid(u_current, u_fine, dt):\n", + " \"\"\"Returns the difference between one grid and the fine one using L-1 norm.\n", + " \n", + " Parameters\n", + " ----------\n", + " u_current : array of float\n", + " solution on the current grid.\n", + " u_finest : array of float\n", + " solution on the fine grid.\n", + " dt : float\n", + " time-increment on the current grid.\n", + " \n", + " Returns\n", + " -------\n", + " diffgrid : float\n", + " difference computed in the L-1 norm.\n", + " \"\"\"\n", + " \n", + " N_current = len(u_current[:,0])\n", + " N_fine = len(u_fine[:,0])\n", + " \n", + " grid_size_ratio = ceil(N_fine/N_current)\n", + " \n", + " diffgrid = dt * numpy.sum( numpy.abs(\\\n", + " u_current[:,2]- u_fine[::grid_size_ratio,2])) \n", + " \n", + " return diffgrid" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that the function has been defined, let's compute the grid differences for each solution, relative to the fine-grid solution. Call the function `get_diffgrid()` with two solutions, one of which is always the one at the finest grid. Here's a neat Python trick: you can use negative indexing in Python! If you have an array called `my_array` you access the _first_ element with\n", + "\n", + "`my_array[0]`\n", + "\n", + "But you can also access the _last_ element with \n", + "\n", + "`my_array[-1]`\n", + "\n", + "and the next to last element with\n", + "\n", + "`my_array[-2]`\n", + "\n", + "and so on. " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dt = 0.1\n", + "dt = 0.05\n", + "dt = 0.01\n", + "dt = 0.005\n", + "dt = 0.001\n" + ] + } + ], + "source": [ + "# compute difference between one grid solution and the finest one\n", + "diffgrid = numpy.empty_like(dt_values)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " print('dt = {}'.format(dt))\n", + "\n", + " ### call the function get_diffgrid() ###\n", + " diffgrid[i] = get_diffgrid(u_values[i], u_values[-1], dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time to create a plot of the results! We'll create a *log-log* plot with the Matplotlib function [`loglog()`](http://matplotlib.org/api/pyplot_api.html?highlight=loglog#matplotlib.pyplot.loglog). Remember to skip the difference of the finest-grid solution with itself, which is zero." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIh\nZGatzGyLmZ1Sibanm9nPkhGXSLIpSYmE0/1AE+APlWj7Z6BHYsMRCYaSlEjImNmPgM3ANKCnmZ1X\nTtss4GLgv5IUnkhSaasOkZAxs/HAEOAYIhsdvu3u/1ZG27bAB8Cx7r41eVGKJId6UiIhYmYXA/90\n9x3uvgp4DuhoZpeXaJdjZi8CfwO2AE+Y2ejkRyySWOpJiYSImU0C/t3d90RfHwusAv7H3Q8b9jOz\nmcB6dx+U3EhFkkM9KZGQMLNuwJv7ExSAu39FZHvuc8zsmhLtawA/BRYkNVCRJFJPSiQEohMgXnT3\n60s51xBYDWwHznD3oujxC4D3gObuvjmZ8Yoki3pSIuFwAzCptBPu/i2RqehtgJsOOtWRyDCgEpSk\nLSUpkYCZWW2go7u/UU6zMcAaYLiZ1Y0e60h0qM/MapvZgwkNVCQANYMOQES4DXAzu7OCdp8CXYhM\nTx8BNAdmRc/dCbyYsAhFAqKalEiAor2itUCzSr7Fga+BVkA3oDewFHjL3RcmJEiRAClJiYhIaKkm\nJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIi\nofX/ARE7ZqFnKYAXAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# log-log plot of the grid differences\n", + "pyplot.figure(figsize=(6,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$\\Delta t$', fontsize=18)\n", + "pyplot.ylabel('$L_1$-norm of the grid differences', fontsize=18)\n", + "pyplot.axis('equal')\n", + "pyplot.loglog(dt_values[:-1], diffgrid[:-1], color='k', ls='-', lw=2, marker='o');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Order of convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The order of convergence is the rate at which the numerical solution approaches the exact one as the mesh is refined. Considering that we're not comparing with an exact solution, we use 3 grid resolutions that are refined at a constant ratio $r$ to find the *observed order of convergence* ($p$), which is given by:\n", + "\n", + "$$\n", + "\\begin{equation}\n", + "p = \\frac{\\log \\left(\\frac{f_3-f_2}{f_2-f_1} \\right) }{\\log(r)}\n", + "\\end{equation}\n", + "$$\n", + "\n", + "where $f_1$ is the finest mesh solution, and $f_3$ the coarsest. " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The order of convergence is p = 1.014\n" + ] + } + ], + "source": [ + "r = 2\n", + "h = 0.001\n", + "\n", + "dt_values2 = numpy.array([h, r*h, r**2*h])\n", + "\n", + "u_values2 = numpy.empty_like(dt_values2, dtype=numpy.ndarray)\n", + "\n", + "diffgrid2 = numpy.empty(2)\n", + "\n", + "for i, dt in enumerate(dt_values2):\n", + " \n", + " N = int(T/dt) + 1 # number of time-steps\n", + "\n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + "\n", + " u[n+1] = euler_step(u[n], f, dt) ### call euler_step() ###\n", + " \n", + " # store the value of u related to one grid\n", + " u_values2[i] = u\n", + " \n", + "\n", + "#calculate f2 - f1\n", + "diffgrid2[0] = get_diffgrid(u_values2[1], u_values2[0], dt_values2[1])\n", + "\n", + "#calculate f3 - f2\n", + "diffgrid2[1] = get_diffgrid(u_values2[2], u_values2[1], dt_values2[2])\n", + "\n", + "# calculate the order of convergence\n", + "p = (log(diffgrid2[1]) - log(diffgrid2[0])) / log(r)\n", + "\n", + "print('The order of convergence is p = {:.3f}'.format(p));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "See how the observed order of convergence is close to 1? This means that the rate at which the grid differences decrease match the mesh-refinement ratio. We say that Euler's method is of *first order*, and this result is a consequence of that." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Paper airplane challenge" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Suppose you wanted to participate in a paper-airplane competition, and you want to use what you know about the phugoid model to improve your chances. For a given value of $L/D$ that you can obtain in your design, you want to know what is the best initial velocity and launch angle to fly the longest distance from a given height.\n", + "\n", + "Using the phugoid model, write a new code to analyze the flight of a paper airplane, with the following conditions:\n", + "\n", + "* Assume $L/D$ of 5.0 (a value close to measurements in Feng et al. 2009)\n", + "* For the trim velocity, let's take an average value of 4.9 m/s.\n", + "* Find a combination of launch angle and velocity that gives the best distance.\n", + "* Think about how you will know when the flight needs to stop ... this will influence how you organize the code.\n", + "* How can you check if your answer is realistic?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* Feng, N. B. et al. _\"On the aerodynamics of paper airplanes\"_, AIAA paper 2009-3958, 27th AIAA Applied Aerodynamics Conference, San Antonio, TX. [PDF](http://arc.aiaa.org/doi/abs/10.2514/6.2009-3958)\n", + "\n", + "* Simanca, S. R. and Sutherland, S. _\"Mathematical problem-solving with computers,\"_ 2002 course notes, Stony Brook University, chapter 3: [The Art of Phugoid](https://www.math.sunysb.edu/~scott/Book331/Art_Phugoid.html). (Note that there is an error in the figure: sine and cosine are switched.)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of the notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/01_phugoid/.ipynb_checkpoints/01_04_Second_Order_Methods-checkpoint.ipynb b/01_phugoid/.ipynb_checkpoints/01_04_Second_Order_Methods-checkpoint.ipynb new file mode 100644 index 0000000..dfe6da7 --- /dev/null +++ b/01_phugoid/.ipynb_checkpoints/01_04_Second_Order_Methods-checkpoint.ipynb @@ -0,0 +1,1187 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth, C.D. Cooper. Partly based on content by David Ketcheson, also under CC-BY." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Phugoid model: bonus!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_The phugoid model of glider flight_ has been such a fun problem to showcase the power of numerical solution of differential equations, we thought you'd enjoy a bonus notebook. The previous lessons were:\n", + "\n", + "* [Phugoid motion](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_01_Phugoid_Theory.ipynb) —Lays the groundwork for our fun problem, with some context, a little history and a description of the physics of phugoids: curves representing the trajectory of a glider exchanging potential and kinetic energy, with no drag.\n", + "* [Phugoid oscillation](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_02_Phugoid_Oscillation.ipynb) —Develops the simple harmonic motion of an aircraft experiencing a small perturbation from the horizontal trajectory: our opportunity to introduce Euler's method, and study its convergence via an exact solution.\n", + "* [Full phugoid motion](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb) —The full model takes into account the force of drag and results in a system of two nonlinear equations. We obtain the trajectories using Euler's method in vectorized form, introduce grid-convergence analysis and finish with the paper-airplane challenge!\n", + "\n", + "That is a fantastic foundation for numerical methods. It's a good time to complement it with some theory: the first screencast of the course uses Taylor series to show that _Euler's method is a first-order method_, and we also show you graphical interpretations. Many problems require a more accurate method, though: second order or higher. Among the most popular higher-order methods that we can mention are the _Runge-Kutta methods_, developed around 1900: more than 100 years after Euler published his book containing the method now named after him!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Euler's method is a first-order method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this screencast, we use a Taylor series expansion to analyze Euler's method and show that it incurs a truncation error of first order. We also use a graphical interpretation to motivate the _modified_ Euler method, which achieves second order." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.display import YouTubeVideo\n", + "YouTubeVideo('6i6qhqDCViA')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Second-order methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The notebook on phugoid oscillation (lesson 2) included a study of the accuracy obtained with Euler's method, using the exact solution for the simple harmonic motion. We made a _convergence plot_ and saw that as $\\Delta t$ gets smaller, the error also gets smaller. \n", + "\n", + "We could have drawn a line with a slope equal to 1 on that log-log plot, and you would have seen that it was parallel to the convergence line. A slope equal to 1 on a log-log convergence plot is an indication that we have a first-order method: the error scales as ${\\mathcal O}(\\Delta t)$. \n", + "\n", + "In lesson 3, using the full phugoid model (which is nonlinear and does not have an exact solution), we did a _grid-convergence study_ with three different grids, and obtained the _observed_ order of convergence—it was very close to 1, indicating a slope of 1 on a log-log plot.\n", + "\n", + "Another way to look at an ${\\mathcal O}(\\Delta t)$ method is to say that the error scales _linearly_ with the step size, or that they are proportional:\n", + "\n", + "$$ e \\propto \\Delta t.$$\n", + "\n", + "where $e$ stands for the error. To get more accuracy, we could use a _second-order_ method, in which the error is ${\\mathcal O}(\\Delta t^2)$. In general, we say that a method is of order $p$ when the error is proportional to $(\\Delta t)^p$.\n", + "\n", + "In the screencast titled \"Euler's method is a first-order method,\" we used a graphical interpretation to get an idea for improving it: by estimating an intermediate point, like the **midpoint**, we can get a better approximation of the area under the curve of $u^\\prime$. The scheme has two steps and is written as:\n", + "\n", + "\\begin{align}\n", + "u_{n+1/2} & = u_n + \\frac{\\Delta t}{2} f(u_n) \\\\\n", + "u_{n+1} & = u_n + \\Delta t \\,\\, f(u_{n+1/2}).\n", + "\\end{align}\n", + "\n", + "This method is known as the *explicit midpoint method* or the *modified Euler method*, and it is a second-order method. Notice that we had to apply the right-hand side, $~f(u)$, twice. This idea can be extended: we could imagine estimating additional points between $u_{n}$ and $u_{n+1}$ and evaulating $~f(u)$ at the intermediate points to get higher accuracy—that's the idea behind Runge-Kutta methods." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Runge-Kutta methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the modified Euler method, we improve the accuracy over Euler's method by evaluating the right-hand side of the differential equation at an intermediate point: the midpoint. The same idea can be applied again, and the function $f(u)$ can be evaluated at more intermediate points, improving the accuracy even more. This is the basis of the famous *Runge-Kutta (RK) methods*, going back to Carl Runge and Martin Kutta. The modified Euler method corresponds to _second-order_ Runge-Kutta.\n", + "\n", + "Here's a bit of historical coincidence that will blow your mind: Carl Runge's daughter Iris—an accomplished applied mathematician in her own right—worked assiduously over the summer of 1909 to translate Lanchester's _\"Aerodonetics.\"_ She also reproduced his graphical method to draw the phugoid curves (Tobies, 2012)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Phugoid model with 2nd-order RK" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's compute the motion of a glider under the full phugoid model using the second-order Runge-Kutta method. We'll build on the _paper airplane challenge_ of lesson 3 now, and look for the horizontal distance that the plane travels until the moment it touches the ground. \n", + "\n", + "As usual, let's start by importing the libraries and modules that we need, and setting up the model parameters. We also set some default plotting formats using the [`rcParams`](http://matplotlib.org/api/matplotlib_configuration_api.html#matplotlib.rcParams) module. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from math import sin, cos, log\n", + "import numpy\n", + "from matplotlib import pyplot\n", + "%matplotlib inline\n", + "from matplotlib import rcParams\n", + "rcParams['font.family'] = 'serif'\n", + "rcParams['font.size'] = 16" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the paper-airplane challenge of lesson 3, we suggested an $L/D=5.0$ as a realistic value for paper airplanes, according to experiments, and a trim velocity of 4.9 m/s. Let's start with those values, but you could experiment changing these a bit. _What do you think will happen if you make $L/D$ higher?_" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# model parameters:\n", + "g = 9.8 # gravity in m s^{-2}\n", + "v_t = 4.9 # trim velocity in m s^{-1} \n", + "C_D = 1/5.0 # drag coefficient --- or D/L if C_L=1\n", + "C_L = 1.0 # for convenience, use C_L = 1\n", + "\n", + "### set initial conditions ###\n", + "v0 = 6.5 # start at the trim velocity (or add a delta)\n", + "theta0 = -0.1 # initial angle of trajectory\n", + "x0 = 0.0 # horizotal position is arbitrary\n", + "y0 = 2.0 # initial altitude" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Among the initial parameters that we suggest for your first experiment, we are starting with a velocity a little higher than the trim velocity, launch the paper airplane with a negative initial angle, and take the initial height to be 2 meters—all sound like reasonable choices.\n", + "\n", + "Now, we can define a few functions to carry out the computation:\n", + "* The right-hand side of the phugoid model from [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb),\n", + "* One step of the Euler's method that we learned in [Lesson 2](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_02_Phugoid_Oscillation.ipynb), and\n", + "* Differences with respect to a fine grid, as in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb)." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def f(u):\n", + " \"\"\"Returns the right-hand side of the phugoid system of equations.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " array containing the solution at time n.\n", + " \n", + " Returns\n", + " -------\n", + " dudt : array of float\n", + " array containing the RHS given u.\n", + " \"\"\"\n", + " \n", + " v = u[0]\n", + " theta = u[1]\n", + " x = u[2]\n", + " y = u[3]\n", + " return numpy.array([-g*sin(theta) - C_D/C_L*g/v_t**2*v**2,\n", + " -g*cos(theta)/v + g/v_t**2*v,\n", + " v*cos(theta),\n", + " v*sin(theta)])\n", + "\n", + "\n", + "def euler_step(u, f, dt):\n", + " \"\"\"Returns the solution at the next time-step using Euler's method.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " solution at the previous time-step.\n", + " f : function\n", + " function to compute the right hand-side of the system of equation.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " approximate solution at the next time step.\n", + " \"\"\"\n", + " \n", + " return u + dt * f(u)\n", + "\n", + "\n", + "def get_diffgrid(u_current, u_fine, dt):\n", + " \"\"\"Returns the difference between one grid and the fine one using L-1 norm.\n", + " \n", + " Parameters\n", + " ----------\n", + " u_current : array of float\n", + " solution on the current grid.\n", + " u_finest : array of float\n", + " solution on the fine grid.\n", + " dt : float\n", + " time-increment on the current grid.\n", + " \n", + " Returns\n", + " -------\n", + " diffgrid : float\n", + " difference computed in the L-1 norm.\n", + " \"\"\"\n", + " \n", + " N_current = len(u_current[:,0])\n", + " N_fine = len(u_fine[:,0])\n", + " \n", + " grid_size_ratio = int(numpy.ceil(N_fine/N_current))\n", + " \n", + " diffgrid = dt * numpy.sum( numpy.abs(\\\n", + " u_current[:,2]- u_fine[::grid_size_ratio,2])) \n", + " \n", + " return diffgrid\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we also need to define the function `rk2_step()` that computes the next time step using the *modified Euler* method of equations $(1)$ and $(2)$, above, otherwise known as 2nd-order Runge-Kutta or RK2. This function will be called over and over again within the time loop." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def rk2_step(u, f, dt):\n", + " \"\"\"Returns the solution at the next time-step using 2nd-order Runge-Kutta.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " solution at the previous time-step.\n", + " f : function\n", + " function to compute the right hand-side of the system of equation.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " solution at the next time step.\n", + " \"\"\"\n", + " u_star = u + 0.5*dt*f(u)\n", + " return u + dt*f(u_star)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Like in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), we first need to set up the time discretization, then initialize arrays to save the solution and we are set to go! The only difference this time is that we are using _both_ Euler's method and 2nd-order Runge-Kutta to get a solution, to compare the two. " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# set time-increment and discretize the time\n", + "T = 15.0 # final time\n", + "dt = 0.01 # set time-increment\n", + "N = int(T/dt) + 1 # number of time-steps\n", + "\n", + "\n", + "# set initial conditions\n", + "u_euler = numpy.empty((N, 4))\n", + "u_rk2 = numpy.empty((N, 4))\n", + "\n", + "\n", + "# initialize the array containing the solution for each time-step\n", + "u_euler[0] = numpy.array([v0, theta0, x0, y0])\n", + "u_rk2[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + "\n", + "# use a for loop to call the function rk2_step()\n", + "for n in range(N-1):\n", + " \n", + " u_euler[n+1] = euler_step(u_euler[n], f, dt)\n", + " u_rk2[n+1] = rk2_step(u_rk2[n], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can get the position of the glider in time, according to both Euler's method and the 2nd-order Runge-Kutta method, by extracting the appropriate portions of the solution arrays:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "x_euler = u_euler[:,2]\n", + "y_euler = u_euler[:,3]\n", + "x_rk2 = u_rk2[:,2]\n", + "y_rk2 = u_rk2[:,3]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### How far will it fly before touching the ground?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As the $y$-axis measures the vertical coordinate with respect to the ground, negative values of $y$ don't have any physical meaning: the glider would have hit the ground by then! To find out if there are any negative $y$ values we can use the handy function [`numpy.where`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html). This function returns the **indices** of the elements in an array that match a given condition. For example, `numpy.where(y_euler<0)[0]` gives an array of the indices `i` where `y_euler[i]<0` (the `[0]` is necessary as `numpy.where` returns an array, which in this case contains a single line). If no elements of the array match the condition, the array of indices comes out empty. \n", + "\n", + "From the physical problem, we know that once there is one negative value, the glider has hit the ground and all the remaining time-steps are unphysical. Therefore, we are interested in finding the _first_ index where the condition applies, given by `numpy.where(y_euler<0)[0][0]`—do read the documentation of the function if you need to! " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# get the index of element of y where altitude becomes negative\n", + "idx_negative_euler = numpy.where(y_euler<0.0)[0]\n", + "if len(idx_negative_euler)==0:\n", + " idx_ground_euler = N-1\n", + " print ('Euler integration has not touched ground yet!')\n", + "else:\n", + " idx_ground_euler = idx_negative_euler[0]\n", + " \n", + "idx_negative_rk2 = numpy.where(y_rk2<0.0)[0]\n", + "if len(idx_negative_rk2)==0:\n", + " idx_ground_rk2 = N-1\n", + " print ('Runge-Kutta integration has not touched ground yet!')\n", + "else:\n", + " idx_ground_rk2 = idx_negative_rk2[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Do Euler and RK2 produce the same solution?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "An easy way to compare the numerical results obtained with the Euler and 2nd-order Runge-Kutta methods is using [`numpy.allclose`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.allclose.html). This function compares each element of two arrays and returns `True` if each comparison is within some relative tolerance. Here, we use the default tolerance: $10^{-5}$." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Are the x-values close? False\n", + "Are the y-values close? False\n" + ] + } + ], + "source": [ + "# check to see if the paths match\n", + "print('Are the x-values close? {}'.format(numpy.allclose(x_euler, x_rk2)))\n", + "print('Are the y-values close? {}'.format(numpy.allclose(y_euler, y_rk2)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Hmmm, they do differ. Maybe $10^{-5}$ is too tight a tolerance, considering we're using a somewhat coarse grid with first- and second-order methods. Perhaps we can assess this visually, by plotting the glider's path? Study the code below, where we are plotting the path twice, taking a closer look in the second plot by \"zooming in\" to the beginning of the flight." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n+eWXL1nerVu3i92pp06dMq1atTKNGzc2x9PpOsjI4cOHjYiY0qVLZysHb3mznwlAdyrQBfgFKOFF\n2RbAH8BB3IdmAAAgAElEQVT6VK/tWN2pu+z3T6Szbo6+L6WC3d69e02FChXMlClT/lm4caMxVata\nP4PF6tXGtGqVbpfuuHHjzI033mhOnTqV46q8PYdpd6qfrVixgh07djB69GhmzJgR8KcbBGIOoHr1\n6rF79252797tSP0qYxcuXCA+Ph4R4ZZbbvFY5tChQzRu3JiCBQuyaNEiChYsmOV6VtkDgDt06JCj\neEOBiNwLDAXijDGH7GWtRaRXqjIlxZ57xxiz0BhT1hhzY8oLSLml7Ul72bOBziPQ3HI+cEse4Hwu\nf/31Fy1atOC+++7jgQce+OeDqlXh55+tn17yey5168KXX6bbpTtkyBCqVatG79690x2q4mvaiPOz\npC1bWNysGU888USOHswbzHLlykXr5s2Z/9lnToei0ti/fz99+vRh7969DBo0iFq1anks16NHDzZs\n2MDIkSMvn0jTC8YYXnzxRWJiYhgxYkROww5qItIZmAG8CTQXkXvtRl0boLRdpgGwD5ia0abS/FQq\nrJw5c4a2bdvSpEkThg8ffnmBXKE14ktEeO2119iwYQMzZswITKXeXK4L9RdOdUecPGmOFi9uRleu\n7Mpu1NT233CDeaJ2bUdjyPZ+HjXKGOtm8ktfo0b5tnx6n/tASndqVFSUKVWqlClVqpTJly+fERFT\nu3Zt88MPP3hcL6U7tU6dOkZETJkyZcz27duzXP/kyZNNdHS0+fbbb3OaSqa82c/4sTsVOAokYXWF\npn4lASPtMjWAI3joIgVKATuB/fY6h+33ddKpL+dfmlJBJikpydx1112mY8eOrvv9uHnzZlOsWDGz\nfv36bG/D23OY4w2sQLycOgkeu+su80FUlNmxY4cj9QfS6aefNq/nzm3+/vtvx2II5192nsbEnT59\n2owYMcKIiGnVqpXHaWBSGnErVqwwvXv3NiJirr76avPbb795XffHH39soqOjzWeffeaTXDLjdCMu\n0K9wPq6Vew0fPtw0aNDAnDlzxhprtnix0yFlz4ULxniY2uTtt982VapUMadPn87WZr09h2l3qp8k\nfvghJz//nB969qRixYqOxRGo8Q55O3TgvyIsWbTIkfrV5fLmzcuzzz5LXFwcCxYs4PXXX0+3rIgw\n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\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot the glider path\n", + "pyplot.figure(figsize=(10,6))\n", + "pyplot.subplot(121)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_euler[:idx_ground_euler], y_euler[:idx_ground_euler], 'k-', label='Euler')\n", + "pyplot.plot(x_rk2[:idx_ground_rk2], y_rk2[:idx_ground_rk2], 'r--', label='RK2')\n", + "pyplot.title('distance traveled: {:.3f}'.format(x_rk2[idx_ground_rk2-1]))\n", + "pyplot.legend();\n", + "\n", + "# Let's take a closer look!\n", + "pyplot.subplot(122)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_euler, y_euler, 'k-', label='Euler')\n", + "pyplot.plot(x_rk2, y_rk2, 'r--', label='RK2')\n", + "pyplot.xlim(0,5)\n", + "pyplot.ylim(1.8,2.5);\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From far away, the Euler and RK2 methods seem to be producing similar answers. However, if we take a closer look, small differences become evident. Keep in mind that we are solving the same equation and both methods will converge to the same solution as we refine the grid. However, they converge to that solution at different rates: RK2 gets more accurate faster, as you make $\\Delta t$ smaller." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Grid-convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Just like in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), we want to do a grid-convergence study with RK2, to see if we indeed observe the expected rate of convergence. It is always an important step in a numerical solution to investigate whether the method is behaving the way we expect it to: this needs to be confirmed experimentally for every new problem we solve and for every new method we apply!\n", + "\n", + "In the code below, a `for`-loop computes the solution on different time grids, with the coarsest and finest grid differing by 100x. We can use the difference between solutions to investigate convergence, as before." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# use a for-loop to compute the solution on different grids\n", + "dt_values = numpy.array([0.1, 0.05, 0.01, 0.005, 0.001])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt)+1 # number of time-steps\n", + " \n", + " ### discretize the time t ###\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + " u[n+1] = rk2_step(u[n], f, dt)\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once those runs are done, we compute the difference between each numerical solution and the fine-grid solution." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# compute diffgrid\n", + "diffgrid = numpy.empty_like(dt_values)\n", + "for i, dt in enumerate(dt_values):\n", + "\n", + " diffgrid[i] = get_diffgrid(u_values[i], u_values[-1], dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And now we plot!" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nicaKFSu44YYbWLVqFR9//HHU4UgBmUymza7Dqqy9lhRJb+kkfdpm0qUpfxdffDGTJk3iuOOO449/\n/GPU4VQs6bkLe/aaiEjNNDc3M2XKFMyMa665JupwpEJq6RSR9JaOSByMGDGCX/3qV5x++un86le/\nijocKYFaOiISW4cffji9e/fm6quvjjoUCYGKToql+VmBJEhL/i666CKam5vp27dv1KGEJi25y6cq\nRcfMZlfjviKSTttsU9FEW6kjpeynE2QTt0nu3rWSwOqBmfn48eM1ZVpEpAQtU6YnTJgQfMFPbeKm\niQQiIuWodCLB+8BRwODcayjwMnAHMILspm1H5/77DmAx2U3fpM6luV85CZKav08++YR7772XjRsT\ntcDJpyQ1d6UopaP0L+7+RMsbM5tEdhO3+/NcO93MTia7idvvQopRRFLkrrvu4vzzz+f444/noYce\nijocCZk2cStC3WsitbVmzRoGDhzIkiVLuOeee/j2t78ddUgSQNjP6ewCFJsk0BXYKcB9RSTlbrnl\nFpYsWcLBBx/Mt771rajDkSrQJm4pluZ+5SRIWv7ef/99Jk6cCMA111xDu3axn4tUUNJyV44gk98v\nAR4nu4nbUmAp2WnSPYCewCqgIawARSQdpk6dygcffMBRRx3FMcccE3U4UiWB1l4zs32AnwDHAZ1z\nh1cDTcA4d58bWoQR0piOSO1s2rSJe+65h/32249DDjkk6nCkAsXGdLSJWxF6OFREpHShPBwahJmd\n4e6xXw426S2dpO/pkXTKX3wlPXdRrDJ9Q5XuKyIiMVbKMjiNwM7uPir3vpnia7EZ0NvdO4QVZFSS\n3tIREamGisZ0zOxtYEdgF3dfa2brgafb+MzD3b1ToGjriIqOSPW4O8OHD+dLX/oSF154IZ06xf5X\nhuRUWnR6AB3d/c3c+6Xu3rONr2nzmjhIetFJer9y0sU9fzNnzuS4445jp512YuHChXTtGvuF6UsW\n99y1paIxHXdf1lJwcjqa2VQz+1qRL/t+uUGKSHps2rSJyy+/HIAxY8akquCkXZC11zYB04Hr3P2V\nqkRVJ5Le0hGJyvTp0znjjDPo3bs38+bNU9dawoT6nI6ZLXP3HqFEVudUdETCt379evbdd1+am5u5\n4447OPfcc6MOSUIW9pTpV8ysVxsfeFeA+0qNpXn9pySIa/5WrFhB79692X///TnzzDOjDicScc1d\n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\nzP8H50NbGbioopAAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot using the matplotlib function loglog()\n", + "pyplot.figure(figsize=(6,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel(r'$\\Delta t$', fontsize=18)\n", + "pyplot.ylabel(r'$L_1$-norm of the grid differences', fontsize=18)\n", + "pyplot.xlim(1e-4,1)\n", + "pyplot.ylim(1e-4,1)\n", + "pyplot.axis('equal')\n", + "pyplot.loglog(dt_values[:-1], diffgrid[:-1], color='k', ls='--', lw=2, marker='o');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is looking good! The difference relative to our fine-grid solution is decreasing with the mesh size at a faster rate than in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), but *how much faster?* When we computed the observed order of convergence with Euler's method, we got a value close to 1—it's a first-order method. Can you guess what we'll get now with RK2?\n", + "\n", + "To compute the observed order of convergence, we use three grid resolutions that are refined at a constant rate, in this case $r=2$. " + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The order of convergence is alpha = 1.983\n" + ] + } + ], + "source": [ + "# check convergence rate\n", + "r = 2\n", + "h = 0.001\n", + "\n", + "dt_values = numpy.array([h, r*h, r**2*h])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt)+1 # number of time-steps\n", + " \n", + " ### discretize the time t ###\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + " ### call rk2_step() ###\n", + " u[n+1] = rk2_step(u[n], f, dt)\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u\n", + " \n", + "# calculate the order of convergence\n", + "alpha = (log(get_diffgrid(u_values[2], u_values[1], dt_values[2])) \n", + " - log(get_diffgrid(u_values[1], u_values[0], dt_values[1]))) / log(r)\n", + "\n", + "print('The order of convergence is alpha = {:.3f}'.format(alpha))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Probably you're not too surprised to see that the observed order of convergence is close to $2$. Because we used a second-order method! This means that the numerical solution is converging with the grid resolution twice as fast compared with Euler's method in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), or in other words, the error scales as ${\\mathcal O}(\\Delta t^2)$. That is a lot faster! However, we are paying a price here: second-order Runge-Kutta requires more computations per iteration." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Challenge task" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How much longer does it take to get the solution with RK2, compared to Euler's method? Run the same solution (same time grid, same parameters), but find a way to *time* the calculation with Python, and compare the runtimes." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Multi-step methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The screencast *\"Euler's method is a first-order method\"* motivated graphically an idea to get increased accuracy: using intermediate points between $u_{n}$ and $u_{n+1}$ and evaluating the right-hand side of the differential equation at those intermediate points. The idea is to somehow get a better approximation using more data from the function $f(u)$.\n", + "\n", + "Another way to bring more information about $f(u)$ into the numerical solution is to look at time data $t\\lt t_{n}$. For example, we can involve in the calculation of the solution $u_{n+1}$ the known solution at $u_{n-1}$, in addition to $u_{n}$. Schemes that use this idea are called _multi-step methods_.\n", + "\n", + "\n", + "A classical multi-step method achieves second order by applying a _centered difference_ approximation of the derivative $u'$:\n", + "\n", + "$$ u'(t) \\approx \\frac{u_{n+1} - u_{n-1}}{2\\Delta t}.$$\n", + "\n", + "Isolate the future value of the solution $u_{n+1}$ and apply the differential equation $u'=f(u)$, to get the following formula for this method:\n", + "\n", + "$$ u_{n+1} = u_{n-1} + 2\\Delta t \\, f(u_n),$$\n", + "\n", + "This scheme is known as the **leapfrog method**. Notice that it is using the right-hand side of the differential equation, $f(u)$, evaluated at the _midpoint_ between $u_{n-1}$ and $u_{n+1}$, where the time interval between these two solutions is $2\\Delta t$. Why is it called \"leapfrog\"? If you imagine for a moment all of the _even_ indices $n$ of the numerical solution, you notice that these solution values are computed using the slope estimated from _odd_ values $n$, and vice-versa.\n", + "\n", + "Let's define a function that computes the numerical solution using the leapfrog method:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def leapfrog_step(unm1, u, f, dt):\n", + " \"\"\"Returns the solution time-step n+1) using Euler's method.\n", + " \n", + " Parameters\n", + " ----------\n", + " unm1 : array of float\n", + " solution at time-step n-1.\n", + " u : array of float\n", + " solution at time-step n.\n", + " f : function\n", + " function to compute the right hand-side of the system of equation.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " solution at time-step n+1.\n", + " \"\"\"\n", + " return unm1 + 2.0*dt*f(u)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "But wait ... what will we do at the _initial_ time step, when we don't have information for $u_{n-1}$? This is an issue with all multi-step methods: we say that they are _not self-starting_. In the first time step, we need to use another method to get the first \"kick\"—either Euler's method or 2nd-order Runge Kutta could do: let's use RK2, since it's also second order.\n", + "\n", + "For this calculation, we are going to re-enter the model parameters in the code cell below, so that later on we can experiment here using the leapfrog method and different starting values. At the end of this notebook, we'll give you some other model parameters to try that will create a very interesting situation!" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# model parameters:\n", + "g = 9.8 # gravity in m s^{-2}\n", + "v_t = 4.9 # trim velocity in m s^{-1} \n", + "C_D = 1/5.0 # drag coefficient --- or D/L if C_L=1\n", + "C_L = 1.0 # for convenience, use C_L = 1\n", + "\n", + "### set initial conditions ###\n", + "v0 = 6.5 # start at the trim velocity (or add a delta)\n", + "theta0 = -0.1 # initial angle of trajectory\n", + "x0 = 0.0 # horizotal position is arbitrary\n", + "y0 = 2.0 # initial altitude\n", + "\n", + "# set time-increment and discretize the time\n", + "T = 15.0 # final time\n", + "dt = 0.01 # set time-increment\n", + "N = int(T/dt) + 1 # number of time-steps\n", + "\n", + "# set initial conditions\n", + "u_leapfrog = numpy.empty((N, 4))\n", + "\n", + "# initialize the array containing the solution for each time-step\n", + "u_leapfrog[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + "# first step using RK2\n", + "u_leapfrog[1] = rk2_step(u_leapfrog[0], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we have all the required information to loop in time using the leapfrog method. The code cell below calls the leapfrog function for each time step." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# use a for loop to call the function leapfrog_step()\n", + "for n in range(1,N-1):\n", + " \n", + " u_leapfrog[n+1] = leapfrog_step(u_leapfrog[n-1], u_leapfrog[n], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Like before, we extract from the solution array the information about the glider's position in time and find where it reaches the ground." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# get the glider position in time\n", + "x_leapfrog = u_leapfrog[:,2]\n", + "y_leapfrog = u_leapfrog[:,3]\n", + "\n", + "# get the index of element of y where altitude becomes negative\n", + "idx_negative_leapfrog = numpy.where(y_leapfrog<0.0)[0]\n", + "\n", + "if len(idx_negative_leapfrog)==0:\n", + " idx_ground_leapfrog = N-1\n", + " print ('The glider has not reached the ground yet!')\n", + "else:\n", + " idx_ground_leapfrog = idx_negative_leapfrog[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plotting the glider's trajectory with both the leapfrog and RK2 methods, we find that the solutions are very close to each other now: we don't see the differences that were apparent when we compared Euler's method and RK2." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nz6bl5ZdTu3btDKbcO/nLlrHoxBMpW7069WbMgAMO8B1JpMTQiVMhFaYeE2WJLxNZKlasmNAJVCXt\ndUlUmLKUZGaGVaoEL7/MotataTtoEPuMHOk71i7t2LGDhfPmwQMPkHPyyaw85xzm3XtvZAvUqP+e\naHwlg4pUEQ8uv/xyAF544QU2bNjgOY1IMZix/003sWr0aCrVqQPAokWLWLp0qedg/2vx55+z9YQT\n2DJhAsycSaUePbjgwgt9xxKR3dDhfhFPmjdvzowZM3jyySd3Fq2SXUry4f5dcc7RqlUrunfvzmWX\nXZaGZImbN28eBx10ENWqVQNg+LXXctTFF3NSs2Zec4mUZDrcL5IFrrzySgAee+wx9EeURMXmzZtp\n06YNPXv2BMDl5/P4gw+yZcuWjGd58sknue+++3Y+7vHooypQRbKIitQMClOPibLEl8ksF1xwAbVr\n12bBggW8//77XrPsibJIoipUqMDdd99NqVKlAPho6FC63HorZQcNgm+/Zfv27Wn7o2zJ4sW82LMn\nDBoEwB133LHL651GfR5pfNkt6uNLlIpUEU/Kli3LFVdcAcCjjz7qOY1IelRq2ZIlw4Zha9bAUUex\nqmlThrVtC+vXF/tr79ixg1defhlmzYKbbuKIM87guJEjWVe5MgC1a9fm3nvvLfb3ERE/1JMq4tH3\n33/PwQcfzLZt21i2bBmHH36470iSBPWkJumnn3iyQwfO3rqVOtdeC927c+ONN9KoUSO6desGwKxZ\nszjooIOoWbMmACtWrKBGjRpUjhWegwcP5oorrqBy5co455hdrhyN69ShTJcucOGFvL9mDc1btKBc\nuXKpzS4iKaGeVJEsccABB9ClSxecczz22GO+44ik13770WfGDA749FPo3h2AadOmkZubu/Mpq889\nFzvrLOjaFS6+mJUnncSmDh3giy8AePPNN/n000+B4M3us1tuYdGbb8K990KTJrQ5/XQVqCIRoSI1\ng8LUY6Is8fnIcs011wDw3HPPsb7QIdCS/rrsSpiySPJycnIoXbr0zscTJkygWaGTmb5o3ZqtffpA\nhw7QqROLjz6anzp02Hk90xtuuGHnXlaAy+++m8Z7cUOMqM8jjS+7RX18iSq956eISDodd9xxtGzZ\nkmnTpjF8+HCuvvpq35FEMqborUhvKXJDgCu6dPmfx+eee27aM4lIOKgnVSQExowZwwUXXMARRxzB\n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\nB0lEQVTo/D9EAVodDt65OwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot the glider path\n", + "pyplot.figure(figsize=(11,8))\n", + "pyplot.subplot(121)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_leapfrog[:idx_ground_leapfrog], y_leapfrog[:idx_ground_leapfrog], color='k', ls='-', lw=2)\n", + "pyplot.title('distance traveled: {:.3f}'.format(x_leapfrog[idx_ground_leapfrog-1]), fontsize=18);\n", + "\n", + "# Let's take a closer look!\n", + "pyplot.subplot(122)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_leapfrog[:idx_ground_leapfrog], y_leapfrog[:idx_ground_leapfrog], color='k', ls=':', lw=2)\n", + "pyplot.plot(x_rk2, y_rk2, 'r--', label='RK2')\n", + "pyplot.xlim(0,5)\n", + "pyplot.ylim(1.8,2.5);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What about the observed order of convergence? We'll repeat the process we have used before, with a grid-refinement ratio $r=2$ ... here we go:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The order of convergence is alpha = 2.186\n" + ] + } + ], + "source": [ + "# check convergence rate\n", + "r = 2\n", + "h = 0.001\n", + "\n", + "dt_values = numpy.array([h, r*h, r**2*h])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt) + 1 # number of time-steps\n", + " \n", + " ### discretize the time t ###\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " u[1] = rk2_step(u[0], f, dt)\n", + " for n in range(1, N-1):\n", + " u[n+1] = leapfrog_step(u[n-1], u[n], f, dt)\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u\n", + " \n", + "# calculate the order of convergence\n", + "alpha = (log(get_diffgrid(u_values[2], u_values[1], dt_values[2])) \n", + " - log(get_diffgrid(u_values[1], u_values[0], dt_values[1]))) / log(r)\n", + "\n", + "print('The order of convergence is alpha = {:.3f}'.format(alpha))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now have numerical evidence that our calculation with the leapfrog method indeed exhibits second-order convergence, i.e., the method is ${\\mathcal O}(\\Delta t^2)$. _The leapfrog method is a second-order method_. Good job!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### But chew on this ..." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Go back to the cell that re-enters the model parameters, just above the leapfrog-method time loop, and change the following: the initial height `y0` to 25, and the final time `T` to 36. Now re-run the leapfrog calculation and the two code cells below that, which extract the glider's position and plot it.\n", + "\n", + "_What is going on?_\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Reference" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Tobies, R. \"Iris Runge: A life at the crossroads of mathematics, science and industry,\" Springer Basel, 1st ed. (2012). [Read on Google books, page 73](http://books.google.com/books?id=EDm0eQqFUQ4C&lpg=PA73&dq=%22I%20have%20been%20making%20good%20progress%20with%20Lanchester.%20The%20second%20chapter%20is%20already%20on%20your%20desk%22&pg=PA73#v=onepage&q=%22I%20have%20been%20making%20good%20progress%20with%20Lanchester.%20The%20second%20chapter%20is%20already%20on%20your%20desk%22&f=false)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of the notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/01_phugoid/01_01_Phugoid_Theory.ipynb b/01_phugoid/01_01_Phugoid_Theory.ipynb new file mode 100644 index 0000000..902854f --- /dev/null +++ b/01_phugoid/01_01_Phugoid_Theory.ipynb @@ -0,0 +1,764 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, C. Cooper, G.F. Forsyth, A. Krishnan." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Phugoid Motion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Welcome to [**\"Practical Numerical Methods with Python!\"**](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about) This course is a collaborative, online, open education project, where we aim to give a foundation in scientific computing. The focus is on numerical solution of problems modeled by ordinary and partial differential equations.\n", + "\n", + "This IPython Notebook introduces the problem we'll be studying in the **first module** of the course: the _phugoid model of glider flight_. We'll start with some background, explaining the physics, and working out the mathematical model. \n", + "\n", + "First, we'll look at an idealized motion where there is no drag, resulting in a simple harmonic motion. We can plot some interesting trajectories that will pique your imagination. In the next notebook, you'll learn to numerically integrate the differential equation using Euler's method. But hang on ... first things first. \n", + "\n", + "The term \"phugoid\" is used in aeronautics to refer to a motion pattern where an aircraft oscillates up and down —nose-up and climb, then nose-down and descend— around an equilibrium trajectory. The aircraft oscillates in altitude, speed and pitch, with only small (neglected) variations in the angle of attack, as it repeatedly exchanges kinetic and potential energy.\n", + "\n", + "A low-amplitude phugoid motion can be just a nuisance, as the aircraft does not exceed the stall angle of attack and nothing bad happens. But the mode can also be unstable leading to a stall or even a loop!\n", + "\n", + "Look at this video showing a Cessna single-engine airplane in phugoid motion:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkz\nODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2MBERISGBUYLxoaL2NCOEJjY2NjY2NjY2Nj\nY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY//AABEIAWgB4AMBIgACEQED\nEQH/xAAaAAACAwEBAAAAAAAAAAAAAAACAwABBAUG/8QAQBAAAgIBAwEDCAgFBAIDAQEBAQIAAxEE\nEiExE0FRBRQiMmFxgZEjQlJTcpKhsRUzYsHRBkOC4SRjovDxNMIW/8QAGQEBAQEBAQEAAAAAAAAA\nAAAAAAECAwQF/8QAKBEBAAIBBAICAQQDAQAAAAAAAAERAgMSMVETIUFhBCJSgaEyYnEU/9oADAMB\nAAIRAxEAPwBlFdfYp9GnqjuEcKqvu0/KJKax2Nf4R+0PYRPpxEU8coKaj/tp8oa01/dp8oPIlhyI\nqCzeyr+6r/KJfY0/cp+UQFsEMWCZ2ra+yp+7T8oliuof7SflkyDB57o2wWaqUfdp+UQxXQf9tPyi\nZt57xJvPuk2ltfYUn/bT8ok7Cn7pPyiZO1Yd8IXtG0to7CodKk/KJDVWf9tPyiKF5MMOTJtLEtVQ\n/wBqv8olGmvORUn5RJuMm4xULYjXSRg1Jn8IgCmjPNSflEvcZecxUFgfT6furT8ok7Cnb/Lr/KIR\nJlFj4RSWUdPVn+Un5RJ2FQ/20/KIRfxEE2CWi1dnV91X+USdjT92n5RL3r3S+090UWX2NP3SflEr\nsqvu0/KI4FD1/SUwTuYy1BZRqq+6T8ogNp6T/tp+URpU9xEEhx3RUJZLaav7tPyiLOnr+7X5TTk+\nEHM0WzHTp92v5RKFNf3a/lmk+6TEIQKqe+tPkIxaqs/yk+Qh9lmEtWIqF9qFFP3afljFop+7T8ol\npXHKoHSZmlL83p7qk/KJR09XdUn5RNG2Q5EgStNXfWn5RD83p+6T8olk5lB8SUWIU1D/AGk/KIa1\n1fdJ+USltHfGKymSltBVV90n5RC7Kr7pPyiECJczRYOwp+6T8ok83q+6T8ohyRRYOwq+6T8ok7Cn\n7pPyiMzKigs0VfdJ+USjRT90n5RG5lEiKCeyo+6T8oldjV90n5RGnEA++WiwGqr7qv8AKJR09P3a\n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\n", + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.display import YouTubeVideo\n", + "YouTubeVideo('ysdU4mnRYdM')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That doesn't look too good! What's happening? \n", + "\n", + "It can get a lot worse when an aircraft enters one of these modes that is unstable. For example, one of [NASA's Helios Solar Powered Aircraft](http://www.nasa.gov/centers/dryden/history/pastprojects/Helios/) prototype broke up in mid air due to extreme phugoid oscillations!\n", + "\n", + "Helios was a proof-of-concept solar electric-powered flying wing that broke the world altitude record for a non-rocket-powered aircraft in August 2001. But in June 26, 2003, it broke something else. The aircraft entered phugoid motion after encountering turbulence near the Hawaiian Island of Kauai. The high speed in the oscillatory movement exceeded the design limits, and it ended up wrecked in the Pacific Ocean. Luckily, the Helios was remotely operated, and nobody got hurt." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The physics of phugoids" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The phugoid oscillation has the aircraft pitching up and down, as it decelerates and accelerates. The trajectory might look like a sinusoid, as in the figure below. The assumption is that the forward velocity of the aircraft, $v$, varies in such a way that the angle of attack remains (nearly) constant, which means that we can assume a constant lift coefficient." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/oscillatory_trajectory.png)\n", + "#### Figure 1. Trajectory of an aircraft in phugoid motion." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the descending portion of the trajectory, the aircraft's velocity increases as it proceeds from a peak to the minimum height—gaining kinetic energy at the expense of potential energy. The contrary happens in the upward segment, as its velocity decreases there.\n", + "\n", + "We measure the pitch angle (between the aircraft's longitudinal axis and the horizontal) as positive when the aircraft's nose is pointing up. In the portion of the trajectory below the center-line, where it curves upwards, the pitch angle $\\theta$ is increasing: $\\dot{\\theta}>0$. And where the trajectory curves down, the pitch angle is decreasing: $\\dot{\\theta}<0$, as shown in the figure.\n", + "\n", + "Let's remind ourselves of the forces affecting an aircraft in a downward glide. Look at the figure below: we show the flight path, the forces on the glider (no thrust), and the _glide angle_ or flight path angle, $\\gamma$, between the flight path and the horizontal." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/glider_forces.png)\n", + "#### Figure 2. Forces on a glider." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The force of lift, $L$ —created by the airflow around the wings— is perpendicular to the trajectory, and the force of drag, $D$, is parallel to the trajectory. Both forces are expressed in terms of coefficients of lift and drag, $C_L$ and $C_D$, respectively, that depend on the wing design and _angle of attack_—the angle between the wing chord and the flight path.\n", + "\n", + "If you are not familiar with airplane aerodynamics, you might be getting confused with some terms here ... and all those angles! But be patient and look things up, if you need to. We're giving you a quick summary here.\n", + "\n", + "Lift and drag are proportional to a surface area, $S$, and the dynamic pressure: $1/2 \\rho v^2$, where $\\rho$ is the density of air, and $v$ the forward velocity of the aircraft. The equations for lift and drag are:\n", + "\n", + "$$\\begin{eqnarray}\n", + "L &=& C_L S \\times \\frac{1}{2} \\rho v^2 \\\\\n", + "D &=& C_D S \\times \\frac{1}{2} \\rho v^2\n", + "\\end{eqnarray}$$\n", + "\n", + "If the glider were in equilibrium, the forces would balance each other. We can equate the forces in the directions perpendicular and parallel to the trajectory, as follows:\n", + "\n", + "$$\\begin{equation}\n", + "L = W \\cos \\gamma \\quad \\text{and} \\quad D = W \\sin \\gamma\n", + "\\end{equation}$$\n", + "\n", + "where $W$ repesents the weight of the glider.\n", + "\n", + "In the figure, we've drawn the angle $\\gamma$ as the _glide angle_, formed between the direction of motion and the horizontal. We are not bothered with the _sign_ of the angle, because we draw a free-body diagram and take the direction of the forces into account in writing our balance equations. But later on, we will need to be careful with the sign of the angles. It can cause you a real headache to keep this straight, so be patient!\n", + "\n", + "It looks like we've set this up to do a little bit of mathematics. Are you ready?\n", + "\n", + "But before, a short glimpse of the history." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Lanchester's Aerodonetics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Phugoid theory\" was first described by the British engineer Frederick W. Lanchester in _\"Aerodonetics\"_ (1909). This book is so old that it is now in the public domain, so you can actually download [from Google Books](http://books.google.com/books?id=6hxDAAAAIAAJ&dq=%22phugoid%20theory%20deals%20with%20the%20longitudinal%20stability%22&pg=PA37#v=onepage&q=%22phugoid%20theory%20deals%20with%20the%20longitudinal%20stability%22&f=false) a PDF file of a scan, or read it online. \n", + "\n", + "Lanchester defines phugoid theory as the study of longitudinal stability of a flying machine (aerodone). He first considered the simplification where drag and moment of inertia are neglected. Then he included these effects, obtaining an equation of stability. In addition to describing many experiments by himself and others, Lanchester also reports on _\"numerical work ... done by the aid of an ordinary 25-cm slide rule.\"_ Go figure!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Ideal case of zero drag" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section, we follow the derivation given by Milne-Thompson (1966), which we find a little bit easier than that of the original in \"Aerodonetics\"!\n", + "\n", + "An aircraft flying in a steady, straight horizontal flight has a lift equal to its weight. The velocity in this condition is sometimes called _trim velocity_ (\"trim\" is what pilots do to set the controls to just stay in a steady flight). Let's use $v_t$ for the trim velocity, and from $L=W$ deduce that:\n", + "\n", + "$$\\begin{equation}\n", + "W = C_L S \\times\\frac{1}{2} \\rho v_t^2\n", + "\\end{equation}$$\n", + "\n", + "The weight $W$ is constant for the aircraft, but the lift at any other flight condition depends on the flight speed, $v$. We can use the expression for the weight in terms of $v_t$ to obtain the ratio $L/W$ at any other flight velocity, as follows:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{L}{W}= \\frac{v^2}{v_t^2}\n", + "\\end{equation}$$\n", + "\n", + "Imagine that the aircraft experienced a little upset, a wind gust, and it finds itself off the \"trim\" level, in a curved path with an instantaneous angle $\\theta$. In the sketch below, we exaggerate the curved trajectory of flight to help you visualize what we'll do next. The angle $\\theta$ (using the same name as Milne-Thompson) is between the _trajectory_ and the horizontal, positive up." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Figure 3. Curved trajectory of the aircraft going up." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can form a free body diagram to determine the balance of forces. \n", + "\n", + "\n", + "\n", + "#### Figure 4. Free body diagram of the aircraft trajectory" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the free body diagram, we can see that\n", + "\n", + "\\begin{equation}\n", + "\\vec{L} + \\vec{W} = m\\vec{a} = \\frac{mv^2}{R}\\hat{n} + m \\frac{dv}{dt}\\hat{t}\n", + "\\end{equation}\n", + "\n", + "where $\\frac{v^2}{R}$ is the centripetal acceleration and $R$ is the radius of curvature of the trajectory.\n", + "If we decompose the lift and weight into their normal and tangential components we get\n", + "\n", + "\\begin{equation}\n", + "L\\hat{n} + W_n\\hat{n} + W_t\\hat{t} = \\frac{mv^2}{R}\\hat{n} + m \\frac{dv}{dt}\\hat{t}\n", + "\\end{equation}\n", + "\n", + "The component of the weight in the normal direction ($W_n$) is\n", + "\n", + "\\begin{equation}\n", + "W_n = -W \\cos \\theta\n", + "\\end{equation}\n", + "\n", + "If we then consider that all of the components in $\\hat{n}$ must balance out, we arrive at\n", + "\n", + "\\begin{equation}\n", + "L - W \\cos \\theta = \\frac{mv^2}{R}\n", + "\\end{equation}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can rewrite this as\n", + "\n", + "$$\\begin{equation}\n", + "L- W \\cos \\theta = \\frac{W}{g} \\frac{v^2}{R}\n", + "\\end{equation}$$\n", + "\n", + "where $g$ is the acceleration due to gravity. Rearrange this by dividing the equation by the weight, and use the expression we found for $L/W$, above. The following equation results:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{v^2}{v_t^2}-\\cos \\theta = \\frac{v^2}{g R}\n", + "\\end{equation}$$\n", + "\n", + "Recall that we simplified the problem assuming that there is no friction, which means that the total energy is constant (the lift does no work). If $z$ represents the depth below a reference horizontal line, the energy per unit mass is (kinetic plus potential energy):\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{1}{2}v^2-g z = \\text{constant}\n", + "\\end{equation}$$\n", + "\n", + "To get rid of that pesky constant, we can choose the reference horizontal line at the level that makes the constant energy equal to zero, so $v^2 = 2 g z$. That helps us re-write the phugoid equation in terms of $z$ as follows:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{z}{z_t}-\\cos \\theta = \\frac{2z}{R}\n", + "\\end{equation}$$\n", + "\n", + "Let $ds$ represent a small arc-length of the trajectory. We can write \n", + "\n", + "$$\\begin{equation}\n", + "\\frac{1}{R} = \\frac{d\\theta}{ds} \\quad \\text{and}\\quad \\sin\\theta = -\\frac{dz}{ds}\n", + "\\end{equation}$$\n", + "\n", + "Employing the chain rule of calculus,\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{1}{R} = \\frac{d\\theta}{ds} = \\frac{dz}{ds}\\frac{d\\theta}{dz} = -\\sin \\theta\\frac{d\\theta}{dz}\n", + "\\end{equation}$$\n", + "\n", + "Multiply the phugoid equation by $\\frac{1}{2\\sqrt{z}}$ to get:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{\\sqrt{z}}{2z_t} - \\frac{\\cos\\theta}{2\\sqrt{z}} = \\frac{\\sqrt{z}}{R}\n", + "\\end{equation}$$\n", + "\n", + "Substituting for $1/R$ on the right hand side and bringing the cosine term over to the right, we get:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{\\sqrt{z}}{2z_t} = \\frac{\\cos \\theta}{2 \\sqrt{z}} - \\sqrt{z} \\sin \\theta \\frac{d\\theta}{dz}\n", + "\\end{equation}$$\n", + "\n", + "The right-hand-side is an exact derivative! We can rewrite it as:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{d}{dz} \\left(\\sqrt{z}\\cos\\theta \\right) = \\frac{\\sqrt{z}}{2z_t}\n", + "\\end{equation}$$\n", + "\n", + "Integrating this equation, we add an arbitrary constant, chosen as $C\\sqrt{z_t}$ which (after dividing through by $\\sqrt{z}$) gives:\n", + "\n", + "$$\\begin{equation}\n", + "\\cos \\theta = \\frac{1}{3}\\frac{z}{z_t} + C\\sqrt{\\frac{z_t}{z}}\n", + "\\end{equation}$$\n", + "\n", + "Taking the derivative of both sides of equation (15) and applying the relations from equation (10) yields:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{z_t}{R} = \\frac{1}{3} - \\frac{C}{2}\\sqrt{\\frac{z_t^3}{z^3}}\n", + "\\end{equation}$$\n", + "\n", + "Make sure you have followed the derivation, and perhaps write it out on paper!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Phugoid Curves" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Equation (15) is non-linear, which usually means we are hard-pressed to write a clean expression for the variable of interest, $z$. In fact, Lanchester himself said that he was unable to _\"reduce this expression to a form suitable for co-ordinate plotting.\"_ If the great polymath couldn't do it, we can't either!\n", + "\n", + "But Lanchester _was_ able to plot a suitable approximation of the phugoid flight path using what he called the \"trammel\" method. If you're interested in seeing how he did it, his explanation begins on page [48 of Aerodonetics](http://books.google.com/books?id=6hxDAAAAIAAJ&pg=PA49&lpg=PA48&dq=aerodonetics+the+use+of+the+trammel&source=bl&ots=lB6EVKYQuT&sig=aVE2kiDWZoWftaWczMIrcYftMOs&hl=en&sa=X&ei=gTD_U82fGYjzgwT3moGwCQ&ved=0CCAQ6AEwAA#v=onepage&q=aerodonetics%20the%20use%20of%20the%20trammel&f=false). It's a trip.\n", + "\n", + "Lanchester used Equations (15) and (16) to solve for the constant $C$ and the radius of curvature $R$ and then iteratively plotted small arcs of the phugoid path. By hand.\n", + "\n", + "We wrote a neat little code that duplicates the manual trammel method, but it might be a bit much for you to absorb in the first lesson. If you want to look it over, you are more than welcome to. If you are just starting with Python, skip it for the moment and we'll return to it at the end of this module. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Plotting the flight path" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we mentioned, we wrote a Python code to reproduce programmatically what Lanchester did graphically. Here's a neat feature of IPython Notebooks: you can run external programs with the magical keyword ... wait for it ... `run`. And the jargon of IPython _is_ to call this \"magic.\" In fact, there are a bunch of [magic functions](http://ipython.org/ipython-doc/dev/interactive/tutorial.html) that you will learn about. They will make you a happy camper.\n", + "\n", + "Let's do it:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%run phugoid.py\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This code cell loaded our simulated-trammel code, `phugoid.py`. The code defined a function for you in the background, called `plot_flight_path`, taking three inputs: $z_t$, $z$ and $\\theta$. \n", + "\n", + "Look again at Equation (15), where we take the positive square root. There are several possibilities, depending on the value that the constant $C$ takes. \n", + "\n", + "* There are no physical solutions for $C>2/3$, because it would result in $\\cos\\theta>1$. \n", + "\n", + "* If $C=2/3$, then the solution is a horizontal straight line, because $\\cos\\theta=1$, $\\theta=0$ and $R=\\infty$.\n", + "\n", + "* Any value of $C$ for which $0 < C < \\frac{2}{3}$ will produce \"trochoidal\"-like paths. What does this look like? Let's use our custom function `plot_flight_path` to find out!" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n5MgRihQpQt++fQE4fPgw+fLlo1SpUpw8eTLV19+1axfFihULPC5WrBixsbFZ10G/zPQzNefrf0oy\n2tfBgwczdOhQALZu3UpERESq22amn+mtL7XtixcvniM/0wtR4BMRkWxlluFzxf7JuT/a6bV69WqG\nDx9OxYoVyZcvH506daJHjx5/2q5atWqMGDEiQ6+xf/9+Nm7cyJQpUwBo27Ytbdq0oXr16syYMYP7\n77+fCRMmnHcfR44c4aKLLgo8joyM5Pfff0/T66e1j5C5fqbmfP1PSUb6unfvXr799lu+++471qxZ\nw6RJk3j++edT3T4z/UxvfefbPqM/06ykKV0REfG8Zs2a8dVXX9GoUSMKFChAjx49eP3119m/f3+W\nvUaRIkVo0KBB4HHlypWJjo7m22+/5aqrrkrzPoJD7R9//EGJEiXS9L3J+xgVFcXIkSMZP3483333\nXfo6kwGp9f9826e3r4sWLaJr16488MAD3HXXXezZs4cOHTpkSz/TW19q22fmZ5qVNMInIiLZKqOj\nclnt5ZdfZv/+/bz99tuAbzqwbNmySbYJngIMlpYpwHr16rFs2bLA43z58pGQkMC3337LqVOnmDt3\nLsuXL+f06dPMnj07xf1cccUVrFmzJvD48OHDNGnSJEN9fP3112nfvj1NmjShT58+fPrpp1nSz9Sk\n1v/UZKSvO3fupE6dOoBv5Wvnzp355JNPsqWf6a0vte2LFSuWqZ9plsnMio/cfEMrykREsky4/059\n+eWX3bPPPuucc27jxo1u6dKl7oYbbnArVqzIstc4ffq0a9GiReBxq1at3LZt25JsM3z48CSrdH/6\n6SeXmJgYeHzy5EnXoEGDwOOGDRu6/fv3O+eci42NTbJtcsn7+PDDD7tff/3VOefcDTfckImepWz8\n+PGub9++gcfn63/yfjqXsb6OHTvWjR071jnnXOfOnd2OHTvcI488ki39PF996enP+faTktT+L5HJ\nVbrmwuSTV04zM5dX+y4iktVSu+B7OPjPf/7Db7/9RtGiRRk2bBjXXHMNd911F59//jmDBg3K0tea\nP38+y5cvxzlH7dq1ueOOOwLPTZs2jREjRmBmDB06lJtvvpkmTZowbtw4GjduHNhu0qRJbN++Hecc\n1apVC+yjTp06vPXWW1x//fVp6uO+fft45plnqFChAp07d2bOnDlZ1s933nmHqVOnsnPnTvr27cuT\nTz5JkSJFUu1/Sv3MSF+PHz/O888/T4MGDahfvz4tWrTg4Ycf5tlnn82WfqZWX3r7k1p7SlL7v+Rv\nz/ABsQp8IiKSaeEc+FIyefJkqlSpQuXKlbnssstCXU6aJCYm8s0331zw1C7nvP3227Rt25Y6derQ\nt29fPvvss2yuMOukp6+5uZ8pUeDLYgp8IiJZJ7cFvlmzZhEXF0ezZs3Oe664cDJ16lS6devGxRdf\nnKbtDx8+zMcff0yxYsWoX78+LVu2zOYKs056+pqb+5kSBb4spsAnIpJ1clvgy41OnjzJJZdcEuoy\nckRe6mtyCnxZTIFPRCTrKPCJZI3sCnw6D5+IiIiIxynwiYiIiHicAp+IiIiIxynwiYiIiHicAp+I\niIiIx+lauiIikmlVqlT50/VKRST9suu8kDoti4iIiEiY02lZREREROS8FPhEREREPE6BT0RERMTj\nFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RE\nRMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6B\nT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjwj7wmdk4\nM9tvZhuC2oqbWbSZbTGz+WZWNOi5oWYWa2abzKxDaKoWERERCR9hH/iAfwIdk7UNARY652oBi4Ch\nAGZWF+gF1AFuAN4zM8vBWkVERETCTtgHPufcMuBIsubuwAT//QlAD//9G4Epzrl459x2IBZonhN1\nioiIiISrsA98qSjjnNsP4JzbB5Txt1cEdgZtt9vfJiIiIpJn5dbAl5wLdQEiIiIi4Sp/qAvIoP1m\nVtY5t9/MygEH/O27gcuCtqvkb0vR8OHDA/ejoqKIiorK+kpFRERE0ikmJoaYmJgs2585F/6DY2ZW\nFfjSOdfA/3gk8JtzbqSZDQaKO+eG+BdtfApchW8qdwFQw6XQSTNLqVlEREQk7JgZzrkML0QN+xE+\nM5sMRAElzexXYBjwCjDNzO4FduBbmYtz7kczmwr8CMQBDynViYiISF6XK0b4soNG+ERERCS3yOwI\nn1cWbYiIiIhIKhT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4\nRERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE\n4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9E\nRETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxO\ngU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERE\nRDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4\nRERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE\n4zwZ+Mysk5ltNrOtZjY41PWIiIiIhJI550JdQ5Yys3zAVuBaYA+wGrjVObc52XbOa30XERERbzIz\nnHOW0e/34ghfcyDWObfDORcHTAG6h7gmERERkZDxYuCrCOwMerzL3yYiIiKSJ3kx8ImIiIhIkPyh\nLiAb7AYqBz2u5G/7k+HDhwfuR0VFERUVlZ11iYiIiKRJTEwMMTExWbY/Ly7aiAC24Fu0sRf4FrjN\nObcp2XZatCEiIiK5QmYXbXhuhM85l2BmjwDR+KasxyUPeyIiIiJ5iedG+NJKI3wiIiKSW+i0LCIi\nIiJyXgp8IiIiIh6nwCciIiLicQp8IiIiIh7nuVW66ZGYmEi+fMq8IuI9Z86c4ddff2Xnzp3s27eP\ns2fPEh8fT6FChShdujTly5enZs2aREZGhrpUEckBeTrwRUREUKJECa644gqqV69O06ZNadWqFU2b\nNtUvQRHJVU6dOsXXX3/N/PnzWbVqFevXrycuLu6835M/f37q1KlDy5Yt6dixI9dccw3FihXLoYpF\nJCfl6dOypPZc4cKF6dy5Mz179qR79+5cfPHFOVmaiEiaJCQksGDBAsaOHctXX33F6dOnA8+ZGZUr\nV6Zy5cpUqFCBiy66iIiICE6ePMmBAwfYtWsX27ZtI/hvQIECBejSpQt33nknN954IwUKFAhFt0Qk\nBZk9LUueDnzx8fEcOnSIn376ic2bN7Ny5UqWLVvGpk3/O09z8eLFufvuu3nwwQepU6dOCCsWEfE5\nfvw477//Pu+++y47d+4MtDdr1oyuXbvStm1bmjZtyqWXXnre/Zw8eZINGzawePFi5s+fz7Jly0hM\nTASgUqVKDBgwgPvvv5+iRYtma39E5MIU+DLofCde/uWXX5g1axaffvopa9asCbR3796d559/nqZN\nm+ZUmSIiAceOHeP111/nzTff5OjRowBUq1aNfv360adPHypWrJip/e/du5fPPvuMsWPHBj74FilS\nhIEDB/LEE09QuHDhTPdBRDJGgS+D0nqljbVr1/LBBx8wceLEwHRJ165defXVVzXiJyI5Ij4+nrFj\nx/K3v/2NgwcPAtC2bVueeeYZOnTokOWLzxITE5k3bx6vvfZa4OLtZcuW5cUXX6Rfv35ERERk6euJ\nyIUp8GVQei+ttm/fPkaPHs17773HqVOniIiI4OGHH2bYsGGUKFEiGysVkbxs8eLFPProo2zcuBHw\nBb2///3vtG3bNkdePyYmhkGDBrF69WoAmjdvzgcffECjRo1y5PVFxEeBL4Myei3dAwcO8PzzzzN2\n7FgSExMpUaIE//jHP7j77rsxy/DPQUQkiaNHjzJo0CA++ugjAC6//HJee+01brrpphz/XeOcY+rU\nqTz55JPs2bOHiIgInnjiCV588UUtahPJIQp8GZTRwHfO+vXreeKJJ1i8eDEAHTt25IMPPqBKlSpZ\nVaKI5FGzZ8+mf//+7Nmzh8jISJ577jkGDhzIRRddFNK6jh8/zvPPP88777xDYmIidevWZdKkSTRu\n3DikdYnkBQp8GZTZwAe+T70TJ07kiSee4MiRIxQuXJhXX32Vv/71rxrtE5F0+/3333n00UcZP348\nAC1atGDcuHHUrVs3tIUls3r1au6++242b95MgQIFePHFFxk4cKCO7RPJRgp8GZQVge+cffv28cgj\njzB9+nQAunXrxscff0ypUqWyZP8i4n1r1qzh9ttvJzY2losuuogRI0bw6KOPhm2IOnXqFIMHD+ad\nd94BICoqis8++4xy5cqFuDIRb1Lgy6CsDHznTJ06lQcffJCjR49Svnx5Jk6cyHXXXZelryEi3pKY\nmMjo0aN59tlniYuLo379+nz22WfUr18/1KWlybx58+jbty/79++nfPnyfP755zm2oEQkL8ls4NOF\nZLNQr169WL9+PW3btmXv3r1cf/31DB48mPj4+FCXJiJh6Pjx49x0000MGjSIuLg4Hn30Ub799ttc\n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\n9dVXqf4eVOBT4Atrq1atcj179nRmluSP++zZs11CQkKoy5MckpiY6ObOnZvkQ4CZuW7durmlS5eG\nujyRTImPj3eTJ092derUCby/K1eu7N566y134sSJUJcnYeTIkSPu73//uytdunTgvVK/fn03c+bM\nC37gVeBT4MsVfvrpJzdgwABXuHDhJFfuGDVqlM5m72GHDx92r7/+epIrYxQqVMg99NBDujqGeE58\nfLybMmWKq1u3buD9Xrx4cffMM8+4PXv2hLo8CaHdu3e7gQMHBhZjAK5p06Zu2rRpaR78UOBT4MtV\njh496kaNGuUqV66cZLr31ltv1ZSeRyQmJrqlS5e6O++8M8m0bYUKFdyIESO0kEc8LyEhwU2fPt21\natUqye+5e+65x/3www+hLk9y0MqVK92dd97pIiMjA++Fa6+91i1YsCDdf+8yG/jC/jx82cXMXF7t\neziIj49nzpw5fPjhh8yZM+dcCKdGjRr069eP22+/ncsuuyzEVUp67NmzhylTpjBu3Dh+/PFHAMyM\nDh068MADD9CtWzcKFCgQ4ipFctZ//vMfRo8ezcyZMwO/59q1a0f//v3p2bMnkZGRIa5QstqZM2f4\n/PPPeeedd1i92ne113z58tGzZ0+GDBnClVdemaH9mhkuE+fhU+CTkPv1118ZN24c48aNC1yqzcxo\n164dd9xxBzfffDPFihULcZWSkuPHjzNjxgw+/fRTvv7668AftHLlynHvvfdy3333cfnll4e4SpHQ\n27ZtG2+88Qbjx4/n5MmTAJQpU4Z+/frxwAMPULVq1dAWKJkWGxvLP//5T8aOHcvBgwcBKFGiBPfd\ndx/9+/fP9M9YgS+DFPjCT3x8PHPnzuWTTz5h9uzZnDlzBoDIyEi6du1K7969ueGGGyhSpEiIK83b\nTp48ybx585g6dSqzZ88OXPYnMjKSLl26cOedd2o0TyQVx48f59NPP+X999/nhx9+AP43Et6nTx+6\nd+9OoUKFQlylpNXvv//OtGnT+Pjjj1m2bFmgvVGjRjz66KPcdtttXHzxxVnyWgp8GaTAF96OHTsW\nGDlatGhRYOQoMjKS6667jp49e9KtWzfKli0b4krzhkOHDvHll1/yxRdfEB0dneTajldffTV33nkn\nN998M8WLFw9hlSK5h3OO//znP4wZM4apU6dy9uxZAIoUKcLNN9/MXXfdRbt27ciXL6SXvJcUJCQk\n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\nKVasGMWKFaNo0aIUK1aMMmXKUL58eSpUqEDx4sU9H+guRIEvgxT4REREJLfIbODTsj0RERERj1Pg\nExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERER\nj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4R\nERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4\nBT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExER\nEfE4BT4RERERjwvbwGdmr5rZJjP73symm9mlQc8NNbNY//MdgtqbmNkGM9tqZm+EpnIRERGR8BK2\ngQ+IBuo55xoBscBQADOrC/QC6gA3AO+Zmfm/532gn3OuJlDTzDrmfNkiIiIi4SVsA59zbqFzLtH/\ncCVQyX//RmCKcy7eObcdXxhsbmblgCLOudX+7SYCPXKyZhEREZFwFLaBL5l7gTn++xWBnUHP7fa3\nVQR2BbXv8reJiIiI5Gn5Q/niZrYAKBvcBDjgWefcl/5tngXinHOfhaBEERERkVwvpIHPOXf9+Z43\ns75AZ+CaoObdwGVBjyv521JrT9Xw4cMD96OiooiKirpw0SIiIiLZLCYmhpiYmCzbnznnsmxnWcnM\nOgGjgaudc4eD2usCnwJX4ZuyXQDUcM45M1sJPAasBr4C3nLOzUtl/y5c+y4iIiISzMxwztmFt0xZ\nSEf4LuBtIBJY4F+Eu9I595Bz7kczmwr8CMQBDwUlt4eB8cBFwJzUwp6IiIhIXhK2I3zZTSN8IiIi\nkltkdoQvt6zSFREREZEMUuATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhER\nERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgF\nPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER\n8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+AT\nERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGP\nU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhER\nERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgF\nPhERERGPC9vAZ2Yvmtl6M1tnZvPMrFzQc0PNLNbMNplZh6D2Jma2wcy2mtkboalcREREJLyYcy7U\nNaTIzAo75373338UqOuc629mdYFPgWZAJWAhUMM558xsFfCIc261mc0B3nTOzU9l/y5c+y4iIiIS\nzMxwzllGvz9sR/jOhT2/S4BE//0bgSnOuXjn3HYgFmjuHwEs4pxb7d9uItAjp+oVERERCVf5Q13A\n+ZjZS8DdwFGgvb+5IrAiaLPd/rZ4YFdQ+y5/u4iIiEieFtIRPjNb4D/m7tztB//XbgDOueecc5Xx\nTeE+GspaRURERHKrkI7wOeeuT+Omk4GvgOH4RvQuC3qukr8ttfZUDR8+PHA/KiqKqKioNJYjIiIi\nkn1iYmKIiYnJsv2F86KN6s65bf77jwJtnXO9ghZtXIVvynYB/1u0sRJ4DFiNLyC+5Zybl8r+tWhD\nREREcoXMLtoI52P4XjGzmvgWa+wA/grgnPvRzKYCPwJxwENBye1hYDxwETAntbAnIiIikpeE7Qhf\ndtMIn4iIiOQWnj0ti4iIiIhkDQU+EREREY9T4BMRERHxOAU+EREREY9T4BMRERHxOAU+EREREY9T\n4BMRERHxOAU+EREREY9T4BMRERHxOAU+EREREY9T4BMRERHxOAU+EREREY9T4BMRERHxOAU+ERER\nEY9T4BMRERHxOAU+EREREY9T4BMRERHxOAW+PCYmJibUJYSE+p23qN95i/qdt+TVfmeWAl8ek1f/\no6jfeYv6nbeo33lLXu13ZinwiYiIiHicAp+IiIiIx5lzLtQ1hISZ5c2Oi4iISK7knLOMfm+eDXwi\nIiIieYWmdEVEREQ8ToFPRERExOPyXOAzs05mttnMtprZ4FDXk5XMbJyZ7TezDUFtxc0s2sy2mNl8\nMysa9NxQM4s1s01m1iE0VWeemVUys0VmttHMfjCzx/ztnu67mRU0s1Vmts7f72H+dk/3+xwzy2dm\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#zt = 64, z = 16, theta=0\n", + "plot_flight_path(64, 16, 0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Cool! Note that the plot title tells us what the calculated value of $C$ was for our input conditions. We have a value of $C$ between $0$ and $\\frac{2}{3}$ and our path is trochoidal, like we announced it would be.\n", + "\n", + "* For negative values of $C$, the resultant flight path consists of a series of loops. Let's try it out!" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nUqZMGcLCwrjpppvo0KHDX9arWLEigwYNytZ77Nu3j/Xr1zNlyhQAWrRoQfPmzalcuTKffvop999/\nP2PHjj3nNo4cOUKBAgWSP4+KiiI2NjZT75/ZfYTz28/0nGv/05Kdfd2zZw/Lli1j5cqVrFixggkT\nJvD888+nu34w9nPy5MnMmDGDN998M9vbyOz3Pzs0tSoiInleo0aN+O9//0u9evWIjIykQ4cOvPXW\nW+zbty9o7xEdHU3t2rWTPy9XrhxfffUVy5Yto3HjxpneRsqyGhcXR4kSJTL12tT72LJlS4YMGcKY\nMWOSj0PLSent/7nWz+q+zps3j/bt29OrVy+6du3K7t27adWqVY7uZ6dOnfjggw+46aabsnUbuqx8\n/7NDI3IiIpKjQuXWXa+99hr79u1j2LBhgG9a7pJLLvnTOimn4lLKzFRczZo1+e6775I/DwsLIzEx\nkWXLlnHq1CnmzJnD4sWLOX36NJ9//nma26lUqRIrVqxI/vzQoUM0aNAgW/v41ltvcd1119GgQQO6\nd+/OxIkTg7Kf6Ulv/9OTnX3dtWsX1atXB3xnvLZt25bx48fnyH5+8cUXvPrqqyxevJjo6GguueQS\nPvnkkwzPxE1t6dKlxMXFZer7ny3W2nz58O26iIgEQ6j/m/raa6/Z5557zlpr7fr16+2iRYtsmzZt\n7Pfffx+09zh9+rRt0qRJ8ufNmjWzv/7665/WGThwoH3ppZeSP9+yZYtNSkpK/vzkyZO2du3ayZ/X\nrVvX7tu3z1pr7ebNm/+0bmqp97FPnz52586d1lpr27Rpcx57lrYxY8bYHj16JH9+rv1PvZ/WZm9f\nR48ebUePHm2ttbZt27Z2x44dtm/fvjmyn3PmzEn+eiYlJdmyZcvar776Kt39CUj9dUkp9fc/Len9\nXfIv/0ufMTZEflPKbcYYm1/3PSNnz55l8+bN7Nixg507d7J3715OnDjBmTNnKF26dPJBpiIiAend\n6DsULFmyhMOHD1OsWDFefPFFrr/+erp27crUqVN56qmngvpeX375JYsXL8ZaS7Vq1ejSpUvyc9Om\nTWPQoEEYY+jfvz8dO3akQYMGfPDBB9SvXz95vQkTJrB9+3astVSsWDF5G9WrV+edd97hxhtvzNQ+\n7t27l2effZbLLruMtm3b8sUXXwRtP999910+/vhjdu3aRY8ePejXrx/R0dHp7n9a+5mdfT1+/DjP\nP/88tWvXplatWjRp0oQ+ffrw3HPP5ch+jhw5koSEBHbs2EGVKlV44IEHzrk/6X1dIO3vf1rS+7vk\nX/6XA05V5ITjx4/z7bffMnfuXJYtW8batWuJj49Pc93atWuzdu3aXE4oIqEulItcWiZNmkT58uUp\nV64cZcuWdR0nU5KSkliwYEGmL2ExbNgwWrRoQfXq1enRoweTJ0/O4YTBk5V99fJ+pkVFLpPye5E7\nfvw4M2bMYNKkScybN4+EhIQ/PV+hQgUqVapEuXLlKF26NEWLFuWCCy6gVKlSdOrUyVFqEQlVXity\nn332GWfPnqVRo0bnvNZZKPn444+5+eabKViwYKbWP3ToEB9++CHFixenVq1aNG3aNIcTBk9W9tXL\n+5kWFblMyq9FbsOGDbzzzjuMGzeOuLg4AMLDw2nSpAmtWrWiRYsW1K9fP0euki0ieZfXipwXnTx5\nksKFC7uOkSvy076mpiKXSfmtyK1evZoXXniB2bNnJy9r0aIFXbp0oWPHjiF3+xcR8RYVOZHgyGqR\n0+VH8rjt27fz5JNPJt/CpFChQnTv3p2+fftSo0YNx+lERETkfKjI5VHx8fEMHjyYwYMHc/r0aQoU\nKECfPn146qmnKFWqlOt4IiIiEgQqcnnQmjVr6Nq1K+vWrQOgc+fOvP7665QpU8ZxMhEREQkm3aIr\nD0lMTGTIkCE0atSIdevWUblyZRYsWMDEiRNV4kRERPIgjcjlEYcOHeKuu+7i66+/BuDBBx/kjTfe\nyLdn/YiIiOQHKnJ5wPr167nlllvYunUrpUqVYuzYsdx0002uY4lIPlK+fPm/3M9SRLIuq9c11NSq\nx82ePZsmTZqwdetWGjRowIoVK1TiRCTXBW6z5IXH8OHDk0vnI488wtmzZ51nyu7j+PHjtG/fHoCI\niAjGjx/vPJMe5/fYvn17lv7uqch52Pjx4+nQoQOxsbF06tSJRYsWeeZWMyIiLgwaNIg+ffpgreX1\n11/n7bffJiLCu5NT0dHRzJw5k8cff5yEhAS6devG6NGjXceSXKQi51EjRoygW7duJCYmMmDAACZO\nnEihQoVcxxIRCVmvvfYazz77LMYY/vOf//Dkk0+6jhQU4eHhDB06lNdeew1rLffffz/Dhw93HUty\nie7s4EFDhw5N/gfojTfe4IknnnCcSEQktI0cOZKHHnoIYwwTJkygc+fOriPliLfffpvHHnsM8O1z\n7969HSeSYNEtulLxapH7z3/+Q+/evTHG8N5779GrVy/XkUREQtqkSZO4++67sdby/vvvc//997uO\nlKNSltaPP/6Yjh07uo4kQaAil4oXi9yUKVPo3Lkz1lpGjBjBgw8+6DqSiEhIW7BgAX/7299ISEhg\nyJAhPPXUU64j5YpXX32VAQMGEBUVxZw5c7j++utdR5LzpCKXiteK3Ny5c2nbti0JCQm8+uqrPPvs\ns64jiYiEtG3bttGoUSMOHTrEY489xptvvuk6Uq6x1vLII48wbNgwoqOjWbp0KdWrV3cdS86Dilwq\nXipyv/zyC40bN+bYsWM8/vjjvPHGG7pek4jIOcTGxtKsWTPWrVvHTTfdxOzZswkPD3cdK1clJSVx\n1113MW3aNKpUqcLSpUu58MILXceSbFKRS8UrRe7IkSM0adKETZs2cdttt/HJJ58QFqaTjUVE0mOt\n5a677uLjjz+matWq/PDDDxQvXtx1LCdOnjxJ8+bN+fHHH2ndujX//e9/812hzSvSK3JqBCEsMTGR\nTp06sWnTJurUqcO4ceNU4kREMjB69Gg+/vhjihQpwueff55vSxxA4cKFmTlzJiVLluTLL7/k+eef\ndx1JgkytIIQNGjSIL7/8kosvvpjPP/+cIkWKuI4kIhLSNmzYwCOPPALAe++9R0xMjONE7pUvXz55\nNmfw4MF88803riNJEKnIhahFixbx4osvAjBhwoQs33tNRCS/iY+P56677iIuLo7u3bvTpUsX15FC\nxrXXXssLL7yAtZauXbty4MAB15EkSFTkQtChQ4fo3LkzSUlJPPPMM7Rq1cp1JBGRkPfqq6+ybt06\nKleuzLBhw1zHCTnPPfccLVq0YM+ePdx777144ThxyZhOdghBnTp1YsqUKTRt2pQFCxYQGRnpOpKI\nSEhbs2YNDRs2JCEhgYULF9KiRQvXkULSzp07qVu3LkePHmXcuHF07drVdSTJJJ3s4BGffvopU6ZM\noXDhwkyYMEElTkQkAwkJCdx7770kJCTQp08flbhzKFeuHG+99RYAjzzyCHv37nWcSM6XilwIOXTo\nUPLdGoYMGULFihUdJxIRCX0jRoxg1apVlC9fnkGDBrmOE/K6d+9O69atOXLkCH379nUdR86TplZD\nSPfu3Rk3bhzXXnst8+bN06VGREQycODAAapUqcKxY8f47LPPuOWWW1xH8oQdO3ZQq1YtYmNjmT17\n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\nli5dyh133MG0adNCqiilnFIdNWoU9913n+tIkgs0tZoPXHnllTzxxBNYa+nevbtu3yUikg0RERFM\nmjSJ6Ohopk+fzujRo11HSpZ6SrVnz56uI4ljGpHLY06fPs2VV17Jhg0bPHGwrohIqJo4cSJ33303\nBQsWZOXKlVSvXt11JCZNmkSXLl2Ijo7mp59+oly5cq4jSS5Jb0RORS4PWr16NY0bN+bs2bPMmTOH\nm266yXUkERFP6tatG+PHj6du3br88MMPFChQwFmWnTt3UrduXY4ePaop1XxIU6v5SP369Xn55ZcB\nuPfeezl06JDjRCIi3jR8+HAqVarEmjVreOqpp5zlSExMpFu3bhw9epT27dtrSlWSqcjlUU8++STN\nmzdnz5499O7dW/diFRHJhujoaCZPnkxkZCTDhg3j448/dpLj9ddfZ8GCBVxyySV88MEHIXXyhbil\nqdU8bNu2bdSpU4fY2FjGjBlD9+7dXUcSEfGkYcOG8fDDD1OkSBGWL19OtWrVcu29ly9fTrNmzUhI\nSNDhMvmYplbzoQoVKjBs2DAAHnroIX7++WfHiUREvKlv377cddddxMbG0rFjx1y78HpsbCxdunQh\nISGBRx55RCVO/kIjcnmctZZu3boxYcIEateuzdKlSylYsKDrWCIinhMbG0ujRo34+eef6dKlC+PH\nj8/xKc577rmHMWPGULt2bZYtW+b0ZAtxSyNy+ZQxhhEjRhATE8O6det47LHHXEcSEfGkIkWKMH36\ndAoXLszEiRMZOXJkjr7fRx99xJgxYyhQoACTJk1SiZM0aUQun/jxxx9p0qQJ8fHxTJkyhX/84x+u\nI4mIeNLkyZPp3LkzERERfPPNN1xzzTVBf4+1a9fSuHFjTp8+zYcffsg999wT9PcQb9GIXD5Xr149\n3nrrLQDuv/9+fv31V8eJRES8qVOnTvTr14+EhATuuOMOduzYEdTtHz9+nL///e+cPn2ae+65RyVO\nzkkjcvmItZY777yTTz75hNq1a/P9999TuHBh17FERDwnISGB9u3b8+WXX1KnTh0WL15MkSJFznu7\n1lo6derE1KlTqV27Nj/88AOFChUKQmLxOo3ICcYYPvjgg+Tj5e6//35dX05EJBsiIiKYMmUKMTEx\nrF27lh49epCUlHTe2x0xYgRTp06lSJEiTJs2TSVOMqQil88ULVqUmTNnUqRIESZPnszbb7/tOpKI\niCcVL16czz//nGLFijF9+vTkO+pk18KFC3n00UcBGD16NFWrVg1GTMnjNLWaT3366afccccdhIeH\n8yGE+i0AACAASURBVPXXX9OyZUvXkUREPGnOnDm0a9cOay0TJ06kc+fOWd7Gzp07adiwIQcOHODx\nxx9n6NChOZBUvExTq/Int99+O8888wyJiYnceeed7Nq1y3UkERFPatOmDW+++Sbgu+7bggULsvT6\nU6dO0aFDBw4cOMCNN97I4MGDcyKm5FEakcvHEhMTadOmDXPnzqV+/fosWrRIJz+IiGTTI488wjvv\nvEPx4sVZsmQJ1atXz/A11lq6dOnC5MmTqVixIsuXL6dEiRK5kFa8RiNy8hfh4eFMnjyZypUrs3r1\narp16xaUg3VFRPKjN998kw4dOnD06FHatGnD3r17M3zN0KFDmTx5MkWKFOHzzz9XiZMsU5HL5y66\n6CJmzZpFsWLF+PTTTxkwYIDrSCIinhQeHs7EiRNp3LgxO3bsoF27dsTGxqa7/syZM3n66acBGD9+\nPDVr1sytqJKHqMgJ1apV45NPPiE8PJxBgwYxduxY15FERDypUKFCfP7551SsWJFVq1Zxxx13cObM\nmb+st3z5cjp37oy1lldeeYUOHTo4SCt5gY6Rk2TvvfceDz74IJGRkXzzzTe0aNHCdSQREU/atGkT\nzZs358CBA9x5551MmjSJ8PBwAHbs2EHjxo3Zt28f99xzDx988AHG/OXQJ5E/Se8YORU5+ZPAwbol\nSpRg8eLFVKtWzXUkERFPWrVqFddddx3Hjx+nV69evPfeexw/fpyrr76a9evXc/311zNnzhyioqJc\nRxUPUJFLRUUubQkJCdx2223Mnj2b8uXLs2TJEi677DLXsUREPGnhwoW0bt2a06dP8/jjj7NmzRq+\n/vprqlevzpIlSyhevLjriOIRKnKpqMil7+TJk9xwww0sXbqUunXrsmDBAooVK+Y6loiIJ82ePZtb\nb701+aoApUqVYunSpVxxxRVug4mn6PIjkmmFCxdm9uzZxMTEsGbNGm6//Xbi4+NdxxIR8aR27dpx\n0UUXJX9+0003qcRJ0KjISZpKlizJ//73Py699FLmzZsXtBtCi4jkN4MHD+bAgQPJn48bN46RI0c6\nTCR5iYqcpKtChQrMmTOH6OhopkyZwsMPP4ymo0VEMm/UqFE8++yzGGOYOnUqw4YNA+Chhx7i/fff\n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\nnfuBvr+KXDIqcpLRXL9+nY0bN7J69Wo2btzIkSNH7nm8YMGCNGrUiKeffhofHx9q1qypk9zTIZfL\nxaFDh9zF7bvvvuPcuXP3PKdYsWL4+vri6+tL8+bNdUhdJB2LiooiIiKCyMhI+vbt+8DfR0UuGRU5\nyehOnz7Nt99+y8aNG9m4cSMnT5685/Hs2bNTu3ZtfHx88PHxoW7duhQvXlwzYtPYxYsXCQ8Pd99+\n+OEH9yXd7nrooYdo2LAhDRs2pEmTJjzxxBP6dxLJZFTkklGRk8zEWsvx48cJDQ1l27ZthIWF3XMt\nwruKFClCzZo177mVKVNGpSEFWGs5e/Yse/bsYe/evezdu5ft27ffc57jXcWLF6dBgwY0atSIRo0a\nUalSJf0biGRyKnLJqMhJZnf58mXCw8MJCwsjLCyMnTt3Eh0d/ZvneXt7U6VKFapUqULlypXdH4sV\nK6ZycR9RUVEcPnyYQ4cOsX//fndxu3Tp0m+emydPHmrXrk29evWoV68edevWpWTJkg6kFpH0TEUu\nGRU5kXtZa4mMjGTXrl3u286dO7l48eLvPt/b25uKFSvy2GOP8eijj/LYY4+5b0WLFs3QJc9aS1RU\nFJGRkURGRnL8+HGOHDnCoUOHOHTo0O8WNoACBQpQrVo1qlevTrVq1ahZsyaVK1fW7GIR+UMqcsmo\nyIn8MWst58+fZ//+/Rw4cOCej5cvX77v1+XKlYtSpUpRokQJSpYsSYkSJdz3ixcvTuHChSlcuDD5\n8uVLd4UvNjaW8+fPc+7cud98PH36tLu8xcTE3Pd75M2bl4oVK7pvTz75JNWrV6dkyZLp7r9XRDyD\nilwyKnIiD+5uwTt69Cg///wzP//8M8eOHXPfv98eqeSyZcvmLnWFCxfG29ubvHnzki9fvns+5s2b\nlxw5cpAtWzb3LXv27GTLlo2sWbPicrlwuVzcuXPHfd/lchEbG0tMTAwxMTHcvHnTfT8mJobo6Ggu\nX77M5cuX+fXXX933r1+//qeye3t7U6ZMGcqUKUPp0qUpX748FStWpEKFCpo0IiIpTkUuGRU5kdRz\n9epVTp8+zenTpzlz5gxnzpxx3z979iyXLl0iKiqKGzduOB31N7y8vHj44YcpVqwYxYoVo2jRou77\nxYsXp2zZspQuXRpvb2+no4pIJqIil4yKnIjzbt68yaVLl7h06RIXL17kypUrXL9+nWvXrnHt2jX3\n/evXrxMbG0tcXBxxcXH33L9z5w5eXl54eXmRJUuWez5my5aN3Llzkzt3bnLlynXP/fz581OgB62D\n5wAABfpJREFUQAH3rWDBghQoUIB8+fJpQV0RSXdU5JJRkRMRERFPcb8ipz87RURERDyUipyIiIiI\nh0q3Rc4YM8EYc9AYs8cY8/+MMf9IHC9tjIkxxuxKvM1I8jU1jTH7jDFHjDFTnUsvIiIikvrSbZED\n1gFVrLXVgaPAqCSP/WStrZl4eyXJ+Eygv7W2PFDeGOObhnkzhU2bNjkdQdIhbRfye7RdyO/RdpGy\n0m2Rs9ZusNa6Ej/9Hkh6zZrfztowpiiQz1q7PXFoPtAhdVNmPvoFlN+j7UJ+j7YL+T3aLlJWui1y\nyfQDVif5vEziYdVvjTH1E8dKAKeTPOd04piIiIhIhuToBf6MMeuBh5MOARYYba39KvE5o4E4a+2i\nxOecBR6x1l42xtQEvjTGVE7L3CIiIiLpQbpeR84Y0wcYADS11t6+z3O+BYaRUPC+tdZWShzvDjSy\n1g68z9el3/9wERERkWR+bx05R/fI/SfGmJbACKBh0hJnjCkM/GqtdRljHgUeB45Za6ONMVeMMXWB\n7cDzQOD9vv/v/c8QERER8STpdo+cMeYokB24e/Xt7621rxhjOgHvArGAC/iXtXZV4tfUAv4N5ARW\nWWsHp3lwERERkTSSbouciIiIiPxnnjJrVRxmjGlpjDmUuNhygNN5JO0YY+YYYy4YY/YlGStgjFln\njDlsjFlrjMmf5LFRxpijiQt6P+NMakltxpiSxpiNxpj9xpgIY8ygxHFtG5mYMSaHMSbcGLM7cbt4\nJ3Fc20Uq0R45+UPGGC/gCNCMhEkl24Hu1tpDjgaTNJG4xM91YL619snEsQ+AS9baCYnFvoC19p+J\nM8hDgDokrP24AShn9UKT4SSu3VnUWrvHGJMX2Am0B/qibSNTM8bkttbGGGOyAFuBQUBntF2kCu2R\nkz+jLnDUWnvCWhsHfEbCC7ZkAtbaLcDlZMPtgXmJ9+fxf4tvtwM+s9bGW2sjSbgqS920yClpy1p7\n3lq7J/H+deAgCW/E2jYyOWttTOLdHCRMqrRou0g1KnLyZ5QATiX5XIstSxFr7QVIeEMHiiSOJ99W\nzqBtJcMzxpQBqpNwFZ6HtW1kbsYYL2PMbuA8sD7xikvaLlKJipyIpAQdBsmkEg+rLgUGJ+6ZS74t\naNvIZKy1LmttDRL20NY1xlRB20WqUZGTP+MM8EiSz0smjknmdcEY8zC4z5X6JXH8DFAqyfO0rWRg\nxpisJJS4Bdba5YnD2jYEAGvtVWAT0BJtF6lGRU7+jO3A48aY0saY7EB3YIXDmSRtmcTbXSuAPon3\n/YHlSca7G2OyG2PKkrBg9w9pFVLS3FzggLV2WpIxbRuZmDGm8N0ZqcaYXEALEs6f1HaRStLtlR0k\n/bDW3jHGvAasI6H8z7HWHnQ4lqQRY8wioDFQyBhzEngHGA98YYzpB5wAugJYaw8YYz4HDgBxwCua\nfZYxGWOeBnoBEYnnQ1ngTeAD4HNtG5lWMWBe4moHXsASa+0qY8z3aLtIFVp+RERERMRD6dCqiIiI\niIdSkRMRERHxUCpyIiIiIh5KRU5ERETEQ6nIiYiIiHgoFTkRERERD6UiJyIiIuKhVOREREREPJSK\nnIiIiIiHUpETERER8VAqciIiIiIeSkVORERExENldTqAiIinM8a8CBQGKgALgNJAEeAJYKS19oyD\n8UQkAzPWWqcziIh4LGPMAGCftTbcGFMHWA/0AW4Aa4DW1tq1DkYUkQxMe+RERP6eQtba8MT7jwB3\nrLVfGmNyAY2ttZsdzCYiGZz2yImIpBBjTCBQylrb0eksIpI5aLKDiEjKaQJscjqEiGQeKnIiIg/I\nGONljGluEhQBqpCkyBljRjoWTkQyBRU5EZEH9xKwDigHdAVigNMAxph2wI/ORRORzEDnyImIPCBj\nTDVgBHAI2Av8A2gKRALHrbULnUsnIpmBipyIiIiIh9KhVREREREPpSInIiIi4qFU5EREREQ8lIqc\niIiIiIdSkRMRERHxUCpyIiIiIh5KRU5ERETEQ6nIiYiIiHgoFTkRERERD6UiJyIiIuKh/j8YT825\n8zlOaAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_flight_path(64,16,numpy.pi)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can play around with the input values and see what kind of behavior results. Just note that any value of $C > \\frac{2}{3}$ will result in $\\cos \\theta > 1$, which doesn't exist. Python will probably throw a few errors if you hit that condition, but just try again!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* The last case is $C = 0$. Take another look at Equation (16) and plug in $C = 0$, what should happen? It looks like it will just reduce to \n", + "\n", + "$$R = 3z_t$$\n", + "\n", + "It's a constant radius of curvature! In fact, this solution is a series of semi-circles, with a cusp between them. One way to force $C = 0$ that we can figure out from Equation (15), is to make:\n", + "\n", + "\n", + "$$z = 3z_t\\ \\ \\ ,\\ \\ \\ \\theta = 0$$" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\npZeYNm0a1atXp1mzZpx11lkVUfZWef/99xk5ciQ33ngjAMOHD+eLL75g7dq1tGjRgpNOOmmz70/7\nsZa2vuL6l+txJv29WeX8nVxRklQ2/H/q/9x3332xT58+sX///t9pP++88+LcuXNjjDG2a9cuzpkz\np8j3r1ixInbs2HHT88MOOywuXbq0/AreBvn5+fH444+Pv/rVr2KMMc6fPz/ec889m14///zz4zff\nfFPs+7flWCdMmBAff/zxeO+998avv/56K49g80pbX3H9S7Of4n6Xsu1FZhqnRCVJKqVrrrmGE088\n8Ttts2fPZuHChbRo0QKAUaNG0bJlyyLf/+abb9KuXbtNzzt06MA///nP8it4GwwbNoxu3bptev7l\nl18yZswY1q9fD0C9evXYbrvtin3/1h7r559/zpNPPsl5551HixYteP7557fhKIpX2vqK61/e59Qp\nUUlSlTNr1iz+/Oc/f2c9rI2PQwgcdthh9OrVq1T7fOONN2jYsCGDBg3i66+/pn79+px77rlF9v3i\niy9o1KjRpueNGjVi5syZW308xdnW41y2bBnVqlVjxx13ZNWqVQAceOCB5Ofn88Mf/pALLriAY445\nhpo1axa7j6091p///OfcdNNNAHz66adUr169XI6ztPUV13+HHXYo13NqYJMklYkQilzvs9Q2/oW7\nNSZNmsSAAQNo3rw51apV4yc/+Qm9e/f+Xr899tiDu+66a1vK/J7Fixczbdo0hgwZAsCRRx7Jj370\nI9q0afO9vl9//TXbb7/9pufbbbcd33zzTYk+p6THCNt+nH//+9/52c9+xlNPPfWd9htvvJGBAwdy\n/fXX87vf/W6z+9iaY/3Pf/7DO++8w7vvvsvkyZMZNGgQt956a7H9t+U4S1vf5vpv7TktCadEJUmV\nxsEHH8yrr77KD37wA2rWrEnv3r154IEHWLx4cbl/dv369TnggAM2PW/RogWjRo0qtm/BYLpmzRoa\nN25cos8pfIxdu3blt7/9LU8++STvvvvuth1EAe+88w6HHnro99pnzpzJuHHjGDVqFC+//DK33347\nb7/9drH72ZpjfeONNzjhhBO44IILOOuss1i4cCHHHHNMuRxnaesrrv+2nNOScIRNklQmtmVkrCzd\neeedLF68mIcffhjITKc1bdr0O30KTqEVtC1Tou3atWP8+PGbnlerVo28vLwi++65555Mnjx50/Nl\n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\nSZISMm/ePPr160d+fj633norJ5xwQtIlSZVKoiNsIYTRIYQpBbap2Z89AWKMv4gxtiAzBXp5krVK\nkor27bffcsopp7B06VKOPfZYbrvttqRLkiqdREfYYoxHl7DrYOBVYACZEbXdC7y2W7atSAMGDNj0\nuGvXrnTt2rWUVUqSihNj5IILLmDSpEm0atWKwYMHU7169aTLknLC2LFjGTt2bIn6pvmmgzYxxs+y\njy8Hjowx9i1w08GhZKZCR+NNB5KUiPvuu4/rrruOunXrMnHiRNq3b590SVLO2txNB2m+hm1gCGFv\nMjcbzAUuAogxfhxCGAp8DKwHLjGVSVLFe+2117jhhhsA+Otf/2pYk8pRakfYyoIjbJJUPj755BMO\nPfRQVqxYwW233fady08kbZ3NjbAZ2CRJpbJs2TIOO+wwPvvsM/r06cPzzz9PtWqpXSVKyhkGNklS\nmVi7di1HH300b731FgceeCBvvvkm9erVS7osqVLIyYVzJUnpEmPkZz/7GW+99RbNmjVj+PDhhjWp\nghjYJEklcscdd/D0009Tt25dXnnlFZo3d81yqaI4JSpJ2qJBgwZx1llnEULgpZdeomfPnkmXJFU6\nTolKkrba6NGj6d+/PwAPPPCAYU1KgCNskqRivf/++3Tu3JlvvvmG6667jnvuuSfpkqRKy7tEJUml\nNmfOHDp16sSiRYvo168fgwYNcvkOqRwZ2CRJpfLll19y5JFH8sknn3DUUUcxYsQIatWqlXRZUqVm\nYJMkldjKlSvp1q0b7733Hu3bt+fNN9+kYcOGSZclVXredCBJKpE1a9bQq1cv3nvvPfbcc09Gjhxp\nWJNSwMAmSQJgw4YNnH766YwbN45mzZoxevRodtlll6TLkoSBTZIE5OXl0b9/f15++WUaN27MqFGj\naN26ddJlScoysElSFZefn89FF13EoEGDqFu3LiNGjKBdu3ZJlyWpAAObJFVhMUauvPJKHnvsMWrX\nrs2rr77KoYcemnRZkgoxsElSFRVj5Prrr+eRRx5hu+2248UXX6RLly5JlyWpCAY2SaqCYozccsst\n3HfffdSoUYNhw4ZxzDHHJF2WpGLUSLoASVLFijFy8803M3DgQKpXr86QIUM44YQTki5L0mYY2CSp\nCokxcuONN3L33XdvCmsnn3xy0mVJ2gIDmyRVETFGbrjhBu69915q1KhhWJNyiIFNkqqAGCNXX301\nDz74IDVq1GDo0KH06dMn6bIklZCBTZIquby8PC688EIef/xxatasydChQ+ndu3fSZUkqBQObJFVi\n69ev5+yzz2bIkCFsv/32vPDCC/zkJz9JuixJpWRgk6RK6ttvv+W0007j5Zdfpn79+rzyyit07tw5\n6bIkbQUDmyRVQitXrqRPnz688cYb7LDDDowcOZKDDz446bIkbSUDmyRVMosXL6ZHjx6899577LLL\nLowcOZL27dsnXZakbWBgk6RKZPbs2RxzzDF89tlntGnThpEjR7LHHnskXZakbeRXU0lSJfHhhx9y\n+OGH89lnn3HggQcyfvx4w5pUSRjYJKkSGD16NEceeSSLFi2iW7dujB07lqZNmyZdlqQyYmCTpBz3\n5JNP0qNHD/773//St29fRowYQYMGDZIuS1IZMrBJUo6KMfKrX/2K/v37s2HDBm644QaeffZZtt9+\n+6RLk1TGvOlAknLQunXruOCCC3jqqaeoVq0aDz/8MJdccknSZUkqJwY2ScoxS5cu5aSTTuKtt96i\nTp06DBkyhJ49eyZdlqRyZGCTpBzy8ccf07NnT2bNmkWzZs0YPnw4HTt2TLosSeXMa9gkKUeMHDmS\nTp06MWvWLA466CAmTZpkWJOqCAObJKVcjJH777+fHj16sHLlSk455RTefPNNmjVrlnRpkiqIgU2S\nUmz16tWcddZZXHvtteTn5/OLX/yC5557jjp16iRdmqQK5DVskpRSc+fOpU+fPrz//vvUrVuXp556\nipNPPjnpsiQlwMAmSSn0z3/+k759+7J06VL23HNPXnzxRfbff/+ky5KUEKdEJSlF8vPzueuuu+je\nvTtLly7l2GOPZdKkSYY1qYozsElSSnz99deceOKJ3HzzzZuuV3v11VfZYYcdki5NUsKcEpWkFHjv\nvfc45ZRTmD17NjvssANPP/00xx9/fNJlSUoJR9gkKUExRh5++GE6derE7NmzOeigg3jvvfcMa5K+\nw8AmSQn56quvOOmkk7jiiitYt24dF110EePHj6dVq1ZJlyYpZZwSlaQETJw4kX79+jFv3jwaNmzI\nn//8Z0499dSky5KUUo6wSVIF2rBhA7fffjudO3dm3rx5HHroobz//vuGNUmb5QibJFWQ2bNnc9ZZ\nZzFhwgQArr/+eu644w5q1qyZcGWS0i71I2whhGtDCPkhhMYF2m4KIcwMIUwPIRyTZH2StCUxRp56\n6ik6dOjAhAkTaNasGaNHj+buu+82rEkqkVSPsIUQdgOOBuYWaNsX6AvsC+wGjAkh7BVjjMlUKUnF\nW7p0KRdffDHPP/88ACeffDJ/+tOfaNKkScKVScolaR9hewC4vlDbicCQGOOGGOMcYCZwSEUXJklb\n8uKLL9KuXTuef/556tWrxxNPPMHf/vY3w5qkUkttYAsh9ALmxxinFnqpOTC/wPMF2TZJSoWvv/6a\ns846iz59+rBkyRK6dOnChx9+yLnnnksIIenyJOWgRKdEQwijgaYFm4AI/AK4mcx0qCTljFdeeYUL\nL7yQhQsXUrt2bQYOHMhll11GtWqp/fexpByQaGCLMRYZyEII+wOtgA9D5p+juwHvhRAOITOi1qJA\n992ybUUaMGDApsddu3ala9eu21q2JH3PkiVLuPLKKxkyZAgAnTp14sknn2TvvfdOuDJJaTV27FjG\njh1bor4hF67VDyHMBjrGGL8OIewHPAMcSmYqdDRQ5E0HIQTvRZBUrmKMPPPMM1x11VUsW7aM2rVr\nc/vtt3PllVdSvXr1pMuTlENCCMQYi7xuItV3iRYQyUyXEmP8OIQwFPgYWA9cYiqTlITZs2dz6aWX\n8o9//AOA7t2786c//Yk99tgj4cokVTY5McK2tRxhk1Qe1q1bx3333cdvfvMb1qxZQ6NGjbj//vu9\nqUDSNqkMI2ySlArjxo3j4osvZvr06QD069eP+++/n1122SXhyiRVZt62JEklsGjRIs455xy6du3K\n9OnT2WuvvRg9ejSDBw82rEkqdwY2SdqMjdOfe++9N3/961+pVasWAwYMYMqUKXTv3j3p8iRVEU6J\nSlIxRo0axZVXXsmMGTMAOOGEE3jggQdo06ZNwpVJqmocYZOkQj799FN69+7Nsccey4wZM9hrr714\n9dVXGT58uGFNUiIMbJKUtWzZMq644gratWvHSy+9RN26dRk4cCBTp06lR48eSZcnqQpzSlRSlbd2\n7VoeeeQRbr/9dpYvX04IgfPPP5/f/OY37LrrrkmXJ0kGNklVV15eHoMHD+aXv/wlc+bMATKL3953\n3320b98+2eIkqQADm6QqJ8bIq6++ys0338zUqVMB2G+//bjnnns47rjjXPxWUup4DZukKuWtt96i\nc+fO9OzZk6lTp7L77rvzxBNPMGXKFHr06GFYk5RKjrBJqhImTpzIbbfdxpgxYwBo0qQJv/jFL7jo\noovYfvvtE65OkjbPwCapUvv3v//NbbfdxsiRIwFo0KABV199Nddccw0NGjRIuDpJKhkDm6RKafz4\n8dxxxx289tprANSvX58rr7ySa665hh122CHh6iSpdAxskiqNGCOjRo3ijjvu4K233gKgbt26XHHF\nFVx77bU0adIk4QolaesY2CTlvLy8PF588UUGDhzI5MmTAWjUqBFXXHEFV1xxhUFNUs4zsEnKWatX\nr+bJJ5/k/vvv5/PPPwdgp5124pprruGSSy7xGjVJlYaBTVLOWbJkCY8++iiPPvooy5YtA6B169Zc\nc801nHfeedSpUyfhCiWpbBnYJOWM9957j4ceeohnn32WdevWAXDwwQdz/fXXc9JJJ1G9evWEK5Sk\n8mFgk5Rq69ev54UXXuChhx5iwoQJAIQQ6NmzJ9dddx1HHnmki91KqvQMbJJSaf78+Tz22GM89thj\nLFy4EMisoXb++edz2WWXscceeyRcoSRVHAObpNTIy8tj1KhR/PGPf+SVV14hPz8fgLZt23L55Zdz\n9tlnU69evYSrlKSKZ2CTlLg5c+bw5JNP8uSTTzJ37lwAatasyamnnspFF11Ely5dnPaUVKUZ2CQl\nYvXq1bzwwgv85S9/4Y033tjU3rp1ay688EL69+/PzjvvnGCFkpQeBjZJFSY/P59x48YxaNAgnn/+\neVauXAnA9ttvz8knn8x5551H165dqVatWsKVSlK6GNgklasYI1OnTmXQoEEMHjyYBQsWbHrt4IMP\n5vzzz+e0006jUaNGCVYpSelmYJNULqZNm8bQoUMZOnQoM2bM2NTeqlUrzjzzTM444wzatm2bYIWS\nlDsMbJLKRIyRjz76iGHDhjF06FCmT5++6bXGjRtz2mmnceaZZ9KpUydvIJCkUjKwSdpqeXl5TJw4\nkRdffJEXX3yRWbNmbXqtcePG9OnTh759+9KtWzdq1qyZYKWSlNsMbJJKZcWKFYwePZoRI0YwfPhw\nli5duum1nXbaiZ49e9K3b1+OOuooQ5oklREDm6TNijEybdo0RowYwYgRI5gwYQIbNmzY9Pqee+5J\n79696d27N506dfL7PCWpHBjYJH3PggULeP311xkzZgxjxozhP//5z6bXqlevTufOnenRowfHH388\n7dq185o0SSpnBjZJLF68mDfffJM333yTN954g48//vg7rzdt2pTjjjuOHj16cPTRR7sEhyRVMAOb\nVMXEGJkzZw4TJ07kzTffZNy4cXzyySff6VO3bl26du1K9+7d6d69u6NokpQwA5tUya1atYp3332X\nt99+m7fffpt//etfLF68+Dt96tSpw+GHH06XLl3o0qULhx56KNttt11CFUuSCjOwSZXI6tWr+eCD\nD3j33XeZPHky7777LtOnTyc/P/87/Zo0aUKnTp340Y9+RJcuXTjooIO8o1OSUszAJuWg/Px85syZ\nw5QpU5gyZQpTp05lypQpzJw5kxjjd/pWr16dDh060KlTp01bmzZtnOKUpBxiYJNS7JtvvuHzzz/n\nk08+YcaMGUyfPp0ZM2bwySefsGbNmu/1r169Ou3ateOggw7ihz/8IQcddBDt27endu3aCVQvSSor\nBjYpQWvWrOGLL75g3rx5zJ8/nzlz5vD5559v2pYsWVLse3fddVcOOOAA2rdvv2lr27YttWrVqsAj\nkCRVBAObVMa+/fZbli1bxldffcWyZcv48ssvWbRo0Xe2//znP3zxxRd8+eWXm91XrVq1aN26Nfvs\nsw9t27albdu27Lvvvuyzzz4urSFJVYiBTVXe119/zauvvkp+fj55eXmbtvz8fDZs2MDatWv59ttv\nv7OtWrWKlStX8t///nfTzxUrVvDVV18VOVVZnBo1arDbbrvRokULdt99d1q0aMGee+65aWvevDnV\nqlUrx6OXJOWCUPgC5cokhBAr8/GpbEyZMoUOHTqU2f5q1qxJkyZNaNKkCY0bN2bHHXdk1113ZZdd\ndtm0NW3alN13352mTZsayCRJAIQQiDEWeUeYI2yq8ho3bswZZ5xB9erVqVat2nd+Vq9ene233/57\nW506dWjQoAH169f/zs/GjRtTt25d78CUJJUpR9gkSZJSYHMjbM7FSJIkpZyBTZIkKeUMbJIkSSln\nYJMkSUq51Aa2EMJtIYQvQgjvZbefFHjtphDCzBDC9BDCMUnWKUmSVN5SG9iy7o8xdsxurwGEEPYF\n+gL7AscBvw8pWUNh7NixSZegbeD5y12eu9zm+cttnr+KkfbAVlQQOxEYEmPcEGOcA8wEDqnQqorh\nH9rc5vnLXZ673Ob5y22ev4qR9sB2WQjhgxDCYyGEhtm25sD8An0WZNskSZIqpUQDWwhhdAhhSoFt\navZnT+D3wB4xxh8Ai4D7kqxVkiQpKTnxTQchhJbA8Bhj+xDCjUCMMf42+9prwG0xxn8X8b70H5wk\nSVJWzn2XaAhhlxjjouzTk4CPso9fBp4JITxAZiq0DfBOUfso7qAlSZJySWoDG3B3COEHQD4wB7gQ\nIMb4cQhhKPAxsB64xC8MlSRJlVlOTIlKkiRVZWm/SzQnhBDuzi7i+0EIYVgIoUGB11zkN+VCCD8J\nIcwIIXwaQvh50vVo80IIu4UQ3gghTMveqHRFtn2HEMKoEMInIYSRBe4sV8qEEKplF0R/Ofvcc5cj\nQggNQwh/y/6dNi2EcKjnr2IY2MrGKKBd9o7WmcBNACGE/UjpIr/KCCFUAx4BjgXaAf1CCG2TrUpb\nsAG4JsbYDugEXJo9ZzcCY2KM+wBvkP09VCpdSeaylo08d7njQWBEjHFfoAMwA89fhTCwlYEY45gY\nY3726b+A3bKPe5HSRX61ySHAzBjj3BjjemAImcWZlVIxxkUxxg+yj78BppP5nTsReCrb7SmgdzIV\nanNCCLsBPYDHCjR77nJAdvboyBjjEwDZv9tW4PmrEAa2snceMCL72EV+06/wOfoCz1HOCCG0An5A\n5h9KTWOMiyET6oCdk6tMm/EAcD1Q8AJqz11uaA0sDSE8kZ3S/n8hhDp4/iqEga2EtrDI78Y+twDr\nY4zPJliqVCWEEOoBzwNXZkfaCt9B5R1VKRNCOB5YnB0h3dzlIZ67dKoBdAQejTF2BFaRmQ71d68C\npHlZj1SJMR69uddDCOeSGeY/qkDzAmD3As93y7YpPRYALQo89xzlgBBCDTJh7ekY40vZ5sUhhKYx\nxsUhhF2AJclVqGIcAfQKIfQAagP1QwhPA4s8dznhC2B+jHFy9vkwMoHN370K4AhbGQgh/ITMEH+v\nGOPaAi+9DJweQtguhNCazSzyq8RMAtqEEFqGELYDTidz3pRufwE+jjE+WKDtZeDc7ONzgJcKv0nJ\nijHeHGNsEWPcg8zv2hsxxrOA4XjuUi877Tk/hLB3tunHwDT83asQrsNWBkIIM4HtgGXZpn/FGC/J\nvnYTcD6ZRX6vjDGOSqZKFScbuB8k8w+Yx2OMAxMuSZsRQjgCeBOYSmbqJQI3k/nH0FAyo9pzgb4x\nxuVJ1anNCyF0Aa6NMfYKITTGc5cTQggdyNwwUhOYBfQHquP5K3cGNkmSpJRzSlSSJCnlDGySJEkp\nZ2CTJElKOQObJElSyhnYJEmSUs7AJkmSlHIGNkmSpJQzsEmSJKWcgU2SJCnlDGySJEkpZ2CTJElK\nOQObJElSytVIugBJyhUhhAuAHYF9gKeBlsDOwP7ADTHGBQmWJ6kSCzHGpGuQpNQLIfwMmBJj/HcI\n4WBgNHAusAp4DegRYxyZYImSKjFH2CSpZJrEGP+dfdwCyIsxvhhCqA10jTG+lWBtkio5R9gkqZRC\nCA8Bu8cY+yRdi6SqwZsOJKn0ugFjky5CUtVhYJOkLQghVAshdA8ZOwPtKBDYQgg3JFacpCrBwCZJ\nW3YhMArYC+gLrAa+AAgh9AI+Sq40SVWB17BJ0haEEDoA1wMzgA+BBsBRwBxgdoxxUHLVSaoKDGyS\nJEkp55SoJElSyhnYJEmSUs7AJkmSlHIGNkmSpJQzsEmSJKWcgU2SJCnlDGySJEkpZ2CTJElKOQOb\nJElSyhnYJEmSUu7/A9i2e0jPCtaoAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_flight_path(16,48,0.)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That looks an awful lot like a quarter circle. And what's the radius of the arc? It's $$r = 48 = 3z_t.$$\n", + "\n", + "We can also get a semi-circle out of our simulated trammel by changing to another configuration where $C$ is (near) zero. Here's one example:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nvS8Z0/tyPr0nGdP7kjG9LznDb4/STXNNdhERERGvZozBXsZBG357lK6IiJyvQoUKxMTEOB1DxG+V\nL1+e/fv3e3y9GuETEZFU7lEEp2OI+K3M/g1e7gif9uETERER8XEqfCIiIiI+ToVPRERExMep8ImI\niIj4OBU+ERERkcu0du1aEhISOHv2LOvWrXM6znl0WhYREZF0Tp06xbhx4wgLC+PPP//k2Wef/dfj\nW7duJTIyksGDB2e6jsWLF7Nz504CAwO56qqr6Ny5c07HzpZt27Yxc+ZMJkyYkLrsYtufXl7Z1uzI\n6P3JSEREBDExMZQuXZp33nkHAGstxYsXJyAgIPXI22bNmjF37twcz52eCp+IiEg6Tz75JCNHjiQs\nLIyqVavywAMPUL58ecD1S3z48OHUrl07068/efIkL730Eps3bwagbt263HvvvZQoUSJX8mfV//3f\n/7F+/XqKFSv2r+UX2v70LmdbN2zYwI8//siJEyfo2rXreTmcltn7k5GhQ4fSokULypYtS2BgIAD7\n9+/nrbfe4o477iAgIIBFixZx991353TsDGlKV0REJI1ffvmFw4cPExYWBsDKlSv/VXYWLFhA48aN\nL7iOtWvXUqVKldT7t956K6tXr86ZwJfhmWeeoXXr1v9adrHtTy+727pv3z7ef/99nnjiCcLCwpg/\nf342tyLnZPT+ZCY4OJirr746tewB5M+fn7Zt21KhQgWKFi1KcHAwlStXzqm4F6QRPhER8Tk///wz\n77777r9OYpvyuTGG22+/nVatWmX4tV9++SWhoaF8+OGHnDhxgiJFitClSxcA4uLiCAgIoGTJkpw6\ndSrT1//111//NSpUrFgx9uzZ47kNdLuc7czMhbY/I9nd1ueff54XXngBgN27d/+rKKWXE9vpadHR\n0VhriYuL44YbbqBVq1aULVs29fHJkyfz9NNPO5ZPhU9ERLLEmGyf5P882b2ax8aNGxk1ahTlypUj\nICCAFi1a0KZNm/OeV7FiRcaMGZOt14iNjWXnzp3MmTMHgPr163PnnXdy/fXXs3DhQrp3784HH3xw\nwXWcOHGC/Pnzp97Ply8f8fHxWXr9rG4jXN52ZuZC25+R7Gzrb7/9RnR0NJs3b2bTpk18+OGHDB8+\nPNPn58R2elq3bt2oUaMGANWrV6dhw4aEhoYCrvcoLi6OkJAQx/Kp8ImISJ5x2223sWzZMt566y12\n7dpFmzZteO211+jUqRNXXnmlR16jSJEiVKtWLfV+WFgYK1eu5Pjx49SpUyfL6zh+/Hjq/TNnzlCm\nTJksfW36bWzUqBHjxo3jyiuvpFq1atSsWfPSNugSZbb9mRW+7Gzrl19+yf3330+PHj04ffo0gwYN\nolmzZjm+na+++ioJCQn/WpYyShgREXHBqeuLufXWW1M/L168OFFRUanTwXPnznVsKjeFCp+IiGSJ\nt1xjd/To0cTGxvLGG28ArunA9GUv7RRgWlmZAqxSpQrr169PvR8QEEBSUhLR0dGcPn2a5cuX89VX\nX5GQkMCnn36a4Xquu+46Nm3alHo/Li6O8PDwbG3ja6+9RuPGjQkPDyciIoJZs2Z5ZDszk9n2ZyY7\n23rw4MHUArR48WLuvfdeZs6cmePbOWjQoIs+JztmzZrFZ599lpo5Pj7+X1PUX375JY899liOvHaW\nWWv98ubadBERScvb/28cPXq0HTp0qLXW2p07d9p169bZe+65x3799dcee42EhAR7++23p96/4447\n7N69e//1nFGjRtkXX3wx9f6+fftscnJy6v1Tp07ZatWqpd6/9dZbbWxsrLXW2j179vzrueml38a+\nffvaAwcOWGutveeeey5jyzL2/vvv2y5duqTev9D2p99Oa7O3rVOnTrVTp0611lp777332piYGNuv\nX78c3c7sSv/+WHv++7B+/Xq7Zs0aa6218fHxtkKFCvbUqVOpj1evXt2uWrUqS6+X2b9B9/Js9x4d\npSsiInnChg0bqFatGs2bN6dJkyYsXLiQa665hkaNGnH77bd77HVCQkIYNWoUI0aMYPjw4fTp04fr\nrrsu9fGPP/6YxYsXs3jx4tQjSx944AG+++671OcULFiQQYMG8Z///IeXX36ZgQMHUrp0aQBatmzJ\nqlWrsryNwAUPaLgcb775JtOmTSMqKooXX3yRv/7664Lbn347s7utDz74INu3b2fq1KkMHz6csLAw\nkpOTc2w7syuj9wfOfx/q1avHwYMHmThxIkOHDmXOnDkULFgw9fESJUpQrly5XM+flrFeMkSf24wx\n1l+3XUQkM2mPgswLZs+eTfny5QkLC+Oaa65xOk6WJCcns2bNmoue2iXFG2+8Qf369alcuTJdunTh\no48+yuGEnnMp25qXt9OTMvs36F6e7SOnVPhERCRVXit8ixcvJjExkdtuu+2ydrjPTfPmzaNly5YU\n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\npozTkbyGRvjysB49elC9enUOHDjA2LFjnY4jIiLimISEhNRrz7/44osqex6mET6HffXVV9x5552E\nhITwww8/ULFiRacjiYiI5LqXX36ZESNGULVqVbZu3UpQkKNnjvM6GuHL4+rVq0fnzp05e/Ys/fv3\nxxtKqIiISG7av38/o0ePBuDNN99U2csBKnxe4NVXXyU0NJTPPvuM+fPnOx1HREQk11hr6d27NwkJ\nCXTs2JGGDRs6HcknaUrXS7zzzjv06tWLMmXKsGvXLooVK+Z0JBERkRw3Z84cOnbsSLFixdi1a5f2\n3cuEpnR9RPfu3alXrx6///47gwcPdjqOiIhIjjtx4kTqgRrjx49X2ctBGuHzIjt37qRGjRokJiay\nfv166tWr53QkERGRHNO9e3emTp1KgwYNWL16NQEBGofKjEb4fEiVKlUYNGgQ4Dply99//+1wIhER\nkZyxZs0apk6dSr58+XjnnXdU9nKY3l0vM3ToUK6//np++OEHxowZ43QcERERj0tISKBnz54ADBky\nhJtuusnhRL5PU7peaM2aNTRq1IigoCA2btxI9erVnY4kIiLiMYMGDWL8+PHcdNNNfPfdd4SEhDgd\nyetpStcHNWzYkH79+nHu3Dm6dOlCYmKi05FEREQ8YsOGDUyYMIGAgADef/99lb1cosLnpcaMGcO1\n117Ltm3bUk9GKSIikpedPn2aLl26YK1l0KBB1KlTx+lIfkNTul4sKiqKxo0ba2pXRER8wjPPPMNr\nr71GlSpV2Lx5s0b3LoGmdH1Yo0aN/jW1q6N2RUQkr1q/fj0TJ04kMDBQU7kOUOHzcmPGjKFixYps\n27aNUaNGOR1HRETkksXHx6dO5b7wwgvUqlXL6Uh+R1O6ecD69etp2LAh1lqioqJo0KCB05FERESy\nrFu3bkybNo1bbrmFjRs3ki9fPqcj5Tma0vUDd955Jy+88ALWWjp37swff/zhdCQREZEsWbBgAdOm\nTSN//vzMnj1bZc8hKnx5xMiRI7nttts4cOAAffv2dTqOiIjIRR06dIju3bsDrmvlVqlSxeFE/ktT\nunnI7t27qVGjBqdPn2bWrFl06tTJ6UgiIiIZSk5OplmzZnzxxRfce++9LF26FGOyPSPp9zSl60cq\nVarE66+/DkDv3r3Zv3+/s4FEREQy8dprr/HFF19QqlQppk+frrLnMI3w5THWWtq3b88nn3xC7dq1\nWbdunfaHEBERr7Jx40bq1atHYmIiS5Ys4f7773c6Up6nET4/Y4xh6tSphIWFER0dzeDBg52OJCIi\nkuqPP/6gQ4cOJCYm0q9fP5U9L6ERvjzqm2++oX79+pw7d47FixfTqlUrpyOJiIifSzsLVbNmTb76\n6iudYNlDNMLnp26//XbGjh0LQJcuXYiJiXE4kYiI+LtJkybxySefULRoUebNm6ey50U0wpeHWWtp\n1aoVS5cu5fbbb2ft2rUEBwc7HUtERPxQdHQ0d955J4mJicyfP5/27ds7HcmnaITPjxljeP/997nm\nmmv45ptvGDhwoNORRETEDx0/fpyHHnqIxMREnnzySZU9L6QRPh/w9ddf07BhQxITE3V+PhERyVVJ\nSUncd999REZGUqtWLdavX6+p3BygET6hbt26qefn69atG9u3b3c4kYiI+IsRI0YQGRlJyZIlmT9/\nvsqel9IIn4+w1vLEE0/w/vvvU7FiRTZt2kTx4sWdjiUiIj7sk08+oV27dgQEBPD555/TpEkTpyP5\nLI3wCeD6QXjrrbcIDw/n559/5pFHHiEpKcnpWCIi4qN27drFY489BsCrr76qsuflVPh8SIECBVi4\ncCElSpRg+fLljBw50ulIIiLig/7880/atm1LfHw8Dz/8MM8884zTkeQiNKXrg1atWkXz5s1JTk7m\no48+4uGHH3Y6koiI+IikpCRat27NsmXLuOWWW9iwYQOFChVyOpbP05SunKdp06a89tprADz++ONE\nR0c7nEhERHzFoEGDWLZsGSVKlOCTTz5R2csjNMLno6y19OrViylTplCmTBk2btzI1Vdf7XQsERHJ\nw6ZOnUr37t0JDg5m1apVNGjQwOlIfuNyR/hU+HxYYmIizZo1IyoqivDwcNauXau/xEREJFtWr15N\ns2bNOHfuHNOmTeOJJ55wOpJf0ZSuZCo4OJj58+dz3XXXsWXLFiIiIkhOTnY6loiI5DF79uyhffv2\nnDt3jueee05lLw9S4fNxJUqUYOnSpYSGhrJgwQIGDx7sdCQREclD4uLiuP/++zlx4gQtW7Zk7Nix\nTkeSbFDh8wM33XQT8+fPJygoiPHjx/Pmm286HUlERPKAM2fO0KpVK3bv3s0tt9zCrFmzCAwMdDqW\nZIMKn59o2rQpU6dOBeDJJ59k0aJFDicSERFvlpSUxKOPPsqGDRu4+uqr+eyzzyhSpIjTsSSbVPj8\nSEREBC+99BLWWjp27MjXX3/tdCQREfFC1lqefvppFi5cSGhoKCtWrKBcuXJOx5LLoKN0/Yy1lh49\nejB16lRKlCjB119/zQ033OB0LBER8SITJkxg4MCB5MuXj8jISBo1auR0JL+n07Jkk78WPoBz587R\nqlUrli9fzrXXXsv69eu56qqrnI4lIiJeYPbs2TzyyCMAulqTF9FpWeSSBQUFMW/ePGrVqsUvv/xC\n8+bNOX78uNOxRETEYcuWLSMiIgKA8ePHq+z5EBU+P1W4cGGWL1/OTTfdxI4dO7jvvvs4deqU07FE\nRMQh69at44EHHuDcuXMMHDiQZ5991ulI4kGa0vVzv/76K/Xq1ePAgQM0a9aMTz/9lJCQEKdjiYhI\nLtqyZQuNGzfm5MmTdO/enXfeeQdjsj17KDlAU7pyWa6++mo+//xzSpUqxcqVK+ncuTNJSUlOxxIR\nkVzy008/0aJFC06ePEmHDh14++23VfZ8kAqfUKlSJSIjIylatCgff/wx3bt31yXYRET8QExMDHff\nfTdHjx6lRYsWzJw5UydW9lEqfAJAjRo1WLp0KQUKFOC9996jV69eKn0iIj7swIEDNG7cmIMHD1Kv\nXj0WLFhAvnz5nI4lOUSFT1LVr1+fpUuXkj9/ft5991369euH9nMUEfE9v/76K40bN+aXX36hdu3a\nLFu2jIIFCzodS3KQCp/8S5MmTVIP3Hj77bcZMGCASp+IiA85dOgQjRs35ueff6ZWrVpERkYSGhrq\ndCzJYSp8cp67776bRYsWkS9fPt544w2eeeYZlT4RER9w+PBhmjRpwt69ewkPD2flypUUK1bM6ViS\nC1T4JEMtWrRg4cKFBAcHM3HiRAYNGqTSJyKSh/322280adKE3bt3U716dT7//HOKFy/udCzJJSp8\nkqn77ruP+fPnExQUxIQJE3juuedU+kRE8qDffvuNu+66i59++olbbrmFVatWccUVVzgdS3KRCp9c\nUKtWrZg3bx7BwcH83//9H3369NHRuyIieUhMTAwNGjRg165dVKtWjS+++IISJUo4HUtyma60IVny\n2Wef0b59exISEujcuTPTp08nKCjI6VgiInIBu3fvpmnTphw8eJDw8HAiIyMpWbKk07EkGy73Shsq\nfJJlq1evpmXLlpw6dYr27dsze/ZsnbNJRMRLbd++nWbNmhEbG0u9evVYtmyZjsbNw3RpNck1jRs3\n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\nvMsjiwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_flight_path(64,16,-numpy.pi/2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That is so nice. We have reproduced the trajectories that Lanchester found more than a hundred years ago, painstakingly drawing them by hand with a contraption called a \"trammel.\" It must have taken him days!\n", + "\n", + "Here is how the different phugoid curves are drawn in von Kármán's book, _Aerodynamics_ (1957). He never says _how_ he drew them, but we're guessing by hand, also. We did pretty good!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/vonKarman-phugoids.png)\n", + "\n", + "#### Figure 4. Phugoid curves in von Kármán (1957)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the next notebook of this series, we'll look at the differential equation that arises when you consider small perturbations on the horizontal phugoid, and we'll learn to numerically integrate that to get the flight paths." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Lanchester, F. W. _Aerodonetics_, D. van Nostrand Company: New York, 1909. On the public domain. [Get it from Google Books](http://books.google.com/books?id=6hxDAAAAIAAJ&pg=PP1#v=onepage&q&f=false).\n", + "\n", + "2. Milne-Thompson, L. M. _Theoretical Aerodynamics_, Dover 2012 reprint of the revised 1966 edition. [Read on Google Books](http://books.google.com/books?id=EMfCAgAAQBAJ&lpg=PP1&pg=PP1#v=onepage&q&f=false) (see section 18.5)\n", + "\n", + "3. Sinha, N. K. and Ananthkrishnan, N. _Elementary Flight Dynamics with an introduction to Bifurcation and Continuation Methods_, CRC Press, 2013. [Read on Google Books](http://books.google.com/books?id=yXL6AQAAQBAJ&lpg=PP1&pg=PP1#v=onepage&q&f=false) (see chapter 5)\n", + "\n", + "4. von Kármán, T. _Aerodynamics_, Dover 2004 reprint of the 1957 2nd edition. (see pages 149–151)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of this notebook. " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Execute this cell to load the notebook's style sheet, then ignore it\n", + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/01_phugoid/01_02_Phugoid_Oscillation.ipynb b/01_phugoid/01_02_Phugoid_Oscillation.ipynb new file mode 100644 index 0000000..eb6283b --- /dev/null +++ b/01_phugoid/01_02_Phugoid_Oscillation.ipynb @@ -0,0 +1,949 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth. Partly based on David Ketcheson's pendulum lesson, also under CC-BY." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Phugoid Oscillation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Welcome back! This is the second IPython Notebook of the series _\"The phugoid model of glider flight\"_, the first learning module of the course [**\"Practical Numerical Methods with Python.\"**](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about)\n", + "\n", + "In the first notebook, _\"Phugoid Motion\"_, we described the physics of an aircraft's oscillatory trajectory, seen as an exchange of kinetic and potential energy. This analysis goes back to Frederick Lanchester, who published his book _\"Aerodonetics\"_ on aircraft stability in 1909. We concluded that first exposure to our problem of interest by plotting the flight paths predicted by Lanchester's analysis, known as _phugoids_.\n", + "\n", + "Here, we will look at the situation when an aircraft is initially moving on the straight-line phugoid (obtained with the parameters $C=2/3$, $\\cos\\theta=1$, and $z=z_t$ in the previous analysis), and experiences a small upset, a wind gust that slightly perturbs its path. It will then enter into a gentle oscillation around the previous straight-line path: a _phugoid oscillation_.\n", + "\n", + "If the aircraft experiences an upward acceleration of $-d^2z/dt^2$, and we assume that the perturbation is small, then $\\cos\\theta=1$ is a good approximation and Newton's second law in the vertical direction is:\n", + "\n", + "$$\\begin{equation}\n", + "L - W = - \\frac{W}{g}\\frac{d^2 z}{dt^2}\n", + "\\end{equation}$$\n", + "\n", + "In the previous notebook, we saw that the following relation holds for the ratio of lift to weight, in terms of the trim velocity $v_t$:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{L}{W}=\\frac{v^2}{v_t^2}\n", + "\\end{equation}$$\n", + "\n", + "This will be useful: we can divide Equation (1) by the weight and use Equation (2) to replace $L/W$. Another useful relation from the previous notebook expressed the conservation of energy (per unit mass) as $v^2 = 2 gz$. With this, Equation (1) is rearranged as:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{d^2z}{dt^2} + \\frac{gz}{z_t} = g\n", + "\\end{equation}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Look at Equation (3) for a moment. Does it ring a bell? Do you recognize it?\n", + "\n", + "If you remember from your physics courses the equation for _simple harmonic motion_, you should see the similarity! \n", + "\n", + "Take the case of a simple spring. Hooke's law is $F=-kx$, where $F$ is a restoring force, $x$ the displacement from a position of equilibrium and $k$ the spring constant. This results in the following ordinary differential equation for the displacement:\n", + "\n", + "$$\\begin{equation}\n", + " \\frac{d^2 x}{dt^2}= -\\frac{k}{m}x\n", + "\\end{equation}$$\n", + "\n", + "which has the solution $x(t) = A \\cos(\\omega t- \\phi)$, representing simple harmonic motion with an angular frequency $\\omega=\\sqrt{k/m}=2\\pi f$ and phase angle $\\phi$.\n", + "\n", + "Now look back at Equation (3): it has nearly the same form and it represents simple harmonic motion with angular frequency $\\omega=\\sqrt{g/z_t}$ around mean height $z_t$. \n", + "\n", + "Think about this for a moment ... we can immediately say what the period of the oscillation is: exactly $2 \\pi \\sqrt{z_t/g}$ — or, in terms of the trim velocity, $\\pi \\sqrt{2} v_t/g$.\n", + "\n", + "_This is a remarkable result!_ Think about it: we know nothing about the aircraft, or the flight altitude, yet we can obtain the period of the phugoid oscillation simply as a function of the trim velocity. For example, if trim velocity is 200 knots, we get a phugoid period of about 47 seconds—over that time, you really would not notice anything if you were flying in that aircraft.\n", + "\n", + "Next, we want to be able to compute the trajectory of the aircraft for a given initial perturbance. We will do this by numerically integrating the equation of motion." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prepare to integrate" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We want to integrate the differential equation and plot the trajectory of the aircraft. Are you ready?\n", + "\n", + "The equation for the phugoid oscillation is a second-order, ordinary differential equation (ODE). Let's represent the time derivative with a prime, and write it like this:\n", + "\n", + "$$\\begin{equation}\n", + "z(t)'' + \\frac{g \\,z(t)}{z_t}=g\n", + "\\end{equation}$$\n", + "\n", + "There's a convenient trick when we work with ODEs: we can turn this 2nd-order equation into a system of two 1st-order equations. Like this:\n", + "\n", + "$$\\begin{eqnarray}\n", + "z'(t) &=& b(t)\\\\\n", + "b'(t) &=& g\\left(1-\\frac{z(t)}{z_t}\\right)\n", + "\\end{eqnarray}$$\n", + "\n", + "Are you following? Make sure you are following the derivations, even if it means writing the equations down in your own notes! (Yes, the old-fashioned paper way.)\n", + "\n", + "Another way to look at a system of two 1st-order ODEs is by using vectors. You can make a vector with your two independent variables, \n", + "\n", + "$$\\begin{equation}\n", + "\\vec{u} = \\begin{pmatrix} z \\\\ b \\end{pmatrix}\n", + "\\end{equation}$$\n", + "\n", + "and write the differential system as a single vector equation:\n", + "\n", + "\\begin{equation}\n", + "\\vec{u}'(t) = \\begin{pmatrix} b\\\\ g-g\\frac{z(t)}{z_t} \\end{pmatrix}\n", + "\\end{equation}\n", + "\n", + "If you call the right-hand-side $\\vec{f}(\\vec{u})$, then the equation is very short: $\\vec{u}'(t) = \\vec{f}(\\vec{u})$—but let's drop those arrows to denote vectors from now on, as they are a bit cumbersome: just remember that $u$ and $f$ are vectors in the phugoid equation of motion.\n", + "\n", + "Next, we'll prepare to solve this problem numerically." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Initial value problems" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's step back for a moment. Suppose we have a first-order ODE $u'=f(u)$. You know that if we were to integrate this, there would be an arbitrary constant of integration. To find its value, we do need to know one point on the curve $(t, u)$. When the derivative in the ODE is with respect to time, we call that point the _initial value_ and write something like this:\n", + "\n", + "$$u(t=0)=u_0$$\n", + "\n", + "In the case of a second-order ODE, we already saw how to write it as a system of first-order ODEs, and we would need an initial value for each equation: two conditions are needed to determine our constants of integration. The same applies for higher-order ODEs: if it is of order $n$, we can write it as $n$ first-order equations, and we need $n$ known values. If we have that data, we call the problem an _initial value problem_.\n", + "\n", + "Remember the definition of a derivative? The derivative represents the slope of the tangent at a point of the curve $u=u(t)$, and the definition of the derivative $u'$ for a function is:\n", + "\n", + "$$u'(t) = \\lim_{\\Delta t\\rightarrow 0} \\frac{u(t+\\Delta t)-u(t)}{\\Delta t}$$\n", + "\n", + "If the step $\\Delta t$ is already very small, we can _approximate_ the derivative by dropping the limit. We can write:\n", + "\n", + "$$\\begin{equation}\n", + "u(t+\\Delta t) \\approx u(t) + u'(t) \\Delta t\n", + "\\end{equation}$$\n", + "\n", + "With this equation, and because we know $u'(t)=f(u)$, if we have an initial value, we can step by $\\Delta t$ and find the value of $u(t+\\Delta t)$, then we can take this value, and find $u(t+2\\Delta t)$, and so on: we say that we _step in time_, numerically finding the solution $u(t)$ for a range of values: $t_1, t_2, t_3 \\cdots$, each separated by $\\Delta t$. The numerical solution of the ODE is simply the table of values $t_i, u_i$ that results from this process." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Discretization" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to execute the process described above and find the numerical solution of the ODE, we start by choosing the values $t_1,t_2,t_3 \\cdots t_n$—we call these values our *grid* in time. The first point of the grid is given by our _initial value_, and the small difference between two consecutive times is called the _time step_, denoted by $\\Delta t$. The solution value at time $t_n$ is denoted by $u_n$.\n", + "\n", + "Let's build a time grid for our problem. We first choose a final time $T$ and the time step $\\Delta t$. In code, we'll use readily identifiable variable names: `T` and `dt`, respectively. With those values set, we can calculate the number of time steps that will be needed to reach the final time; we call that variable `N`. \n", + "\n", + "Let's write some code. The first thing we do in Python is load our favorite libraries: NumPy for array operations, and the Pyplot module in Matplotlib, to later on be able to plot the numerical solution. The line `%matplotlib inline` tells IPython Notebook to show the plots inline." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import numpy \n", + "from matplotlib import pyplot\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, initialize `T` and `dt`, calculate `N` and build a NumPy array with all the values of time that make up the grid." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "T = 100.0\n", + "dt = 0.02\n", + "N = int(T/dt)+1\n", + "t = numpy.linspace(0.0, T, N)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have our grid! Now it's time to apply the numerical time stepping represented by Equation (10)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Challenge!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* Write the code above using the NumPy function `arange()` instead of `linspace()`. If you need to, read the documentation for these functions." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Pro tip:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Enter a question mark followed by any function, e.g., `?numpy.linspace`, into a code cell and execute it, to get a help pane on the notebook." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Euler's method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The approximate solution at time $t_n$ is $u_n$, and the numerical solution of the differential equation consists of computing a sequence of approximate solutions by the following formula, based on Equation (10):\n", + "\n", + "$$u_{n+1} = u_n + \\Delta t \\,f(u_n).$$\n", + "\n", + "This formula is called **Euler's method**.\n", + "\n", + "For the equations of the phugoid oscillation, Euler's method gives the following algorithm that we need to implement in code:\n", + "\n", + "\\begin{align}\n", + "z_{n+1} & = z_n + \\Delta t \\, b_n \\\\\n", + "b_{n+1} & = b_n + \\Delta t \\left(g - \\frac{g}{z_t} \\, z_n \\right).\n", + "\\end{align}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### And solve!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To apply the numerical solution method, we need to set things up in code: define the parameter values needed in the model, initialize a NumPy array to hold the discrete solution values, and initialize another array for the elevation values." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# initial conditions\n", + "z0 = 100. #altitude\n", + "b0 = 10. #upward velocity resulting from gust\n", + "zt = 100.\n", + "g = 9.81\n", + "\n", + "u = numpy.array([z0, b0])\n", + "\n", + "# initialize an array to hold the changing elevation values\n", + "z = numpy.zeros(N)\n", + "z[0] = z0 " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You should pay attention to a couple of things: (1) See how there is a dot after the numbers used to define our parameters? We just want to be explicit (as a good habit) that these variables are real numbers, called \"floats.\" (2) We both _created_ and _initialized_ with zeros everywhere the solution vector `z`. Look up the documentation for the handy NumPy function `zeros()`, if you need to. (3) In the last line above, we assign the _initial value_ to the first element of the solution vector: `z[0]`.\n", + "\n", + "Now we can step in time using Euler's method. Notice how we are time stepping the two independent variables at once in the time iterations." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# time-loop using Euler's method\n", + "for n in range(1,N):\n", + " u = u + dt*numpy.array([u[1], g*(1-u[0]/zt)])\n", + " z[n] = u[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Make sure you understand what this code is doing. This is a basic pattern in numerical methods: iterations in a time variable that apply a numerical scheme at each step." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot the solution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If the code is correct, we have stored in the array `z` the position of the glider at each time. Let's use Matplotlib to examine the flight path of the aircraft.\n", + "\n", + "You should explore the [Matplotlib tutorial](http://matplotlib.org/users/pyplot_tutorial.html) (if you need to) and familiarize yourself with the command-style functions that control the size, labels, line style, and so on. Creating good plots is a useful skill: it is about communicating your results effectively. \n", + "\n", + "Here, we set the figure size, the limits of the vertical axis, the format of tick-marks, and axis labels. The final line actually produces the plot, with our chosen line style (continuous black line)." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pyplot.figure(figsize=(10,4)) #set plot size\n", + "pyplot.ylim(40,160) #y-axis plot limits\n", + "pyplot.tick_params(axis='both', labelsize=14) #increase font size for ticks\n", + "pyplot.xlabel('t', fontsize=14) #x label\n", + "pyplot.ylabel('z', fontsize=14) #y label\n", + "pyplot.plot(t,z, 'k-');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Explore and think" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Try changing the value of `v` in the initial conditions. \n", + "\n", + "* What happens when you have a larger gust? \n", + "* What about a smaller gust? \n", + "* What happens if there isn't a gust (`v = 0`)?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exact solution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The equation for phugoid oscillations is a 2nd-order, linear ODE and it has an exact solution of the following form:\n", + "\n", + "$$\n", + "\\begin{equation}\n", + "z(t) = A \\sin \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + B \\cos \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + z_t\n", + "\\end{equation}\n", + "$$\n", + "\n", + "where $A$ and $B$ are constants that we solve for using initial conditions. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our numerical solution used the initial conditions:\n", + "\n", + "$$\\begin{eqnarray}\n", + "z(0) = z_0 \\\\\n", + "b(0) = b_0\n", + "\\end{eqnarray}$$\n", + "\n", + "Applying these to the exact solution and solving for $A$ and $B$, we get:\n", + "\n", + "$$\\begin{equation}\n", + "z(t) = b_0 \\sqrt{\\frac{z_t}{g}} \\sin \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + (z_0-z_t) \\cos \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + z_t\n", + "\\end{equation}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We already defined all of these variables for our numerical solution, so we can immediately compute the exact solution. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Pro tip:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The expression is a bit long —if you don't feel like scrolling left and right, you can insert a line break in the code using a backslash '\\' _(without any trailing spaces)_ and Python will treat the next line as a continuation of the first." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "z_exact = b0*(zt/g)**.5*numpy.sin((g/zt)**.5*t)+\\\n", + " (z0-zt)*numpy.cos((g/zt)**.5*t)+zt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot the exact solution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can plot our exact solution! Even better, we can plot _both_ the numerical solution *and* the exact solution to see how well Euler's method approximated the phugoid oscillations.\n", + "\n", + "To add another curve to a plot, simply type a second `pyplot.plot()` statement. We also added a legend using the format\n", + "\n", + "```Python\n", + "pyplot.legend([\"line 1\",\"line 2\"])\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nXZ3JngAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pyplot.figure(figsize=(10,4))\n", + "pyplot.ylim(40,160) #y-axis plot limits\n", + "pyplot.tick_params(axis='both', labelsize=14) #increase font size for ticks\n", + "pyplot.xlabel('t', fontsize=14) #x label\n", + "pyplot.ylabel('z', fontsize=14) #y label\n", + "pyplot.plot(t,z)\n", + "pyplot.plot(t, z_exact)\n", + "pyplot.legend(['Numerical Solution','Analytical Solution']);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That looks like pretty good agreement, but what's happening towards the end? We'll come back to this. For now, re-run the previous steps with a different timestep, say $dt=0.01$ and pay attention to the difference.\n", + "\n", + "Euler's method, like all numerical methods, introduces some errors. If the method is *convergent*, the approximation will get closer and closer to the exact solution as we reduce the size of the step, $\\Delta t$. The error in the numerical method should tend to zero, in fact, when $\\Delta t\\rightarrow 0$—when this happens, we call the method _consistent_. We'll define these terms more carefully in the theory components of this course. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To compare the two solutions, we need to use a **norm** of the difference, like the $L_1$ norm, for example.\n", + "\n", + "$$ E = \\Delta t \\sum_{n=0}^N \\left|z(t_n) - z_n\\right|$$\n", + "\n", + "The $L_1$ norm is the sum of the individual differences between the exact and the numerical solutions, at each mesh point. In other words, $E$ is the discrete representation of the integral over the interval $T$ of the (absolute) difference between the computed $z$ and $z_{\\rm exact}$:\n", + "\n", + "$$ E = \\int \\vert z-z_\\rm{exact}\\vert dt $$\n", + "\n", + "We check for convergence by calculating the numerical solution using progressively smaller values of `dt`. We already have most of the code that we need. We just need to add an extra loop and an array of different $\\Delta t$ values to iterate through. \n", + "\n", + "You should read the documentation for the function [enumerate](https://docs.python.org/2/library/functions.html#enumerate) and make sure you understand how we're using it below." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Warning" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The cell below can take a little while to finish (the last $\\Delta t$ value alone requires 1 million iterations!). If the cell is still running, the input label will say `In [*]`. When it finishes, the `*` will be replaced by a number." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# time-increment array\n", + "dt_values = numpy.array([0.1, 0.05, 0.01, 0.005, 0.001, 0.0001])\n", + "\n", + "# array that will contain solution of each grid\n", + "z_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " N = int(T/dt)+1 # number of time-steps\n", + " ### discretize the time using numpy.linspace() ###\n", + " t = numpy.linspace(0.0, T, N)\n", + "\n", + " # initial conditions\n", + " u = numpy.array([z0, b0])\n", + " z = numpy.empty_like(t)\n", + " z[0] = z0\n", + " \n", + " # time loop - Euler method\n", + " for n in range(1,N):\n", + " ### compute next solution using Euler method ###\n", + " u = u + dt*numpy.array([u[1], g*(1-u[0]/zt)])\n", + " z[n] = u[0] # store the elevation at time-step n+1\n", + " \n", + " z_values[i] = z.copy() # store the total elevation calculation grid i" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Calculate the error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now have numerical solutions for each $\\Delta t$ in the array `z_values`. To calculate the error corresponding to each $\\Delta t$, we can write a function! " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def get_error(z, dt):\n", + " \"\"\"Returns the error relative to analytical solution using L-1 norm.\n", + " \n", + " Parameters\n", + " ----------\n", + " z : array of float\n", + " numerical solution.\n", + " dt : float\n", + " time increment.\n", + " \n", + " Returns\n", + " -------\n", + " err : float\n", + " L_{1} norm of the error with respect to the exact solution.\n", + " \"\"\"\n", + " N = len(z)\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " z_exact = b0*(zt/g)**.5*numpy.sin((g/zt)**.5*t)+\\\n", + " (z0-zt)*numpy.cos((g/zt)**.5*t)+zt\n", + " \n", + " return dt * numpy.sum(numpy.abs(z-z_exact))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note**: in the last line of the function, we perform an 'array operation': \n", + "\n", + "`z - z_exact`\n", + "\n", + "We are *not* subtracting one value from another. Instead, we are taking the difference between elements at each corresponding index in both arrays. Here is a quick example:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([3, 2, 1])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = numpy.array([1, 2, 3])\n", + "b = numpy.array([4, 4, 4])\n", + "\n", + "b - a" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we iterate through each $\\Delta t$ value and calculate the corresponding error. " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "error_values = numpy.empty_like(dt_values)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " ### call the function get_error() ###\n", + " error_values[i] = get_error(z_values[i], dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Remember, *if* the method is convergent then the error should get smaller as $\\Delta t$ gets smaller. To visualize this, let's plot $\\Delta t$ vs. error. If you use `pyplot.plot` you won't get a very useful result. Instead, use `pyplot.loglog` to create the same plot with a log-log scale. This is what we do almost always to assess the errors of a numerical scheme graphically." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nWtIESavUofkys59KukjSFElDJT0gaaGZbStJ7n6pu+/s7ru4e3Pbl4Yssi9f7eb72p626+75rp7r\nuL6z7aL42rq3P7OQ14XOM591Scqy0Nf2Ns9C1pdLnqX4Xe9sHXnm91xf1hVbnP/uZN/s3XaF5tmV\nSJo4d1/o7pPd/XZJ6zvZ5AxJ17n7Ne7+vLuPl/S6pJO7ek8zu1vSrZJGm9krZrZnX+uMw//ZpWri\nVqxY0W0dIcT5L6KunuvNX0RxzrLQ18bhL/a05BmXJo48wzVxpciyqzpCv47f9XCvLWUTF/klRsxs\npaRT3X1mbrm/pI8lHZlr8lq3u1jSTu6e6ePP45ArAABIjK4uMdKv1IXkYUtJG0t6s8P6tyRt3dc3\n7yoIAACAJOHsVAAAgASKYxP3jqR1kgZ3WD9YLXNxAAAAZS92TZy7r5H0uKQDOjy1v1rOUgUAACh7\nkczEmdlASTvkFjeS9BUzGyrpXXd/RdL/SLrezB5RS+N2klrm4S6Pol4AAIC4ieTsVDPLSGrKLbr+\ndX236e7+s9w2J0s6U9IQSX+SdLq731fiUgEAAGIp8kuMIBnMbIWkD9RyXb/33H2/aCtKPjPbRNKz\nkm51919GXU9SmdkgSYvVcmShv6TL3P3iaKtKptwF1a+X9AVJn0j6jbvfFm1VyWZmsyUNl9To7kdE\nXU8SmdlBki5Uy5G789z9mohLig2aOOTFzF6S9C13/39R15IWZvZbSZWSXnb3M6OuJ6nMbCNJ/d29\nOdcYPyNpD3d/O+LSEsfMtpa0lbs/bWaD1TKfvIO7r4q4tMQys+GSNpV0HE1c4cysn1p+pzOSVkp6\nQtL33P29KOuKi9id2IBY4xp7gZjZDpK+LmmhyLVP3H19m9vvfVbSaknN3bwEXXD3N9z96dyf31TL\n1QK2iLaqZHP3pZI+irqOBNtD0jPu/rq7fyRpgTY88bFs0cQhXy7pXjN7xMyOirqYFLhA0llRF5EW\nZraZmT0l6WVJU919ZdQ1JZ2Z7SppI3d/LepaUNa2kdR2H3xV0hcjqiV24njHBsTTD9z99dzhlrvN\n7E/u/qeoi0oiMztE0gvu/lcz2zvqetLA3T+Q9F0z20rSEjNrcPe/Rl1XUpnZFpJmSBoXdS0oe8x8\ndYNv4lLIzIaZ2Vwze9XM1pvZcZ1sc4qZvWRmq8zssbbNRO65ZWb2hJlVSJK7v5773zfU8nX2LqX6\nPFErQp57SjoyN2d4gaQTzGxy6T5RtIqxf7Zy97ckZSUNLfoHiYFiZGlmAyTNlnSuuz9Uuk8TvSLu\nm2XbiPQ1U0n/UPtv3r6k9t/MlTWauHQaKOlpSRMkrVKHv0DM7KeSLpI0RS3/sXtA0sLcmWly90vd\nfWd336V1WNzMNs299nOSfijpzyX7NNELmqe7n+3uX3b3r0r6v5KucvcpJfw8UQu9f27VZv/cTNI+\nufcvB6GzNEnTJTW5+42l+xixETTPti8tRfEx1adMJT0qaScz2yb3358DJd1Votrjz915pPihlrN5\nju2w7mFJV3RY94Kk33XxHl+V9GTu8SdJ1VF/riTn2WG74ySdH/XnSnKeknaXtCy3fy7r+H7l8giU\n5d5que3hE7ksl6nlrPTIP18S88w9f7ektyR9LOkVSXtG/dmSlqmkgyU9L+lFSeOi/hxxejATV2bM\nrL9aDoWe3+GpBkl7dfYad39JZXJ4qlC9ybMtd59RjLqSqpf756OSdi5yaYnTyyzvk7RxkUtLpN7+\nrrv7iGLWlWT5Zuru8yTNK2FpicHh1PKzpVr+kn6zw/q31HJrMxSGPMMiz3DIMizyDI9M+4gmDgAA\nIIFo4srPO2qZeRncYf1gSa+XvpzEI8+wyDMcsgyLPMMj0z6iiSsz7r5GLbfS6XjF6/3VclYQCkCe\nYZFnOGQZFnmGR6Z9x4kNKWRmAyXtkFvcSNJXzGyopHfd/RVJ/yPpejN7RC2/KCepZf7g8ijqjTvy\nDIs8wyHLsMgzPDItsqhPj+UR/qGWGwWvzz3WtfnztW22OVnSS2q5x+SjkvaOuu64PsiTPOP6IEvy\njPuDTIv7sFyAAAAASBBm4gAAABKIJg4AACCBaOIAAAASiCYOAAAggWjiAAAAEogmDgAAIIFo4gAA\nABKIJg4AACCBaOIAAAASiCYOAApkZgPM7AUz+0HUtQAoXzRxAFC4EyVtLmlKdxuZ2cZm9pyZbVOa\nsgCUE5o4ACiAmW0i6euSzpY03MxGdLP5rpK2cPd/lKQ4AGWFJg4ACnOKpEskXStpuaTfdLPtvpKa\nSlEUgPJDEwcAeTKz/yPpi+7+rLuvk1QnaU8zO6jDdj82s/+VdLqkz5nZ/5rZ1yMoGUCKmbtHXQMA\nJIKZ/UrSLe7+t9yySfqTpDXuvkuHbftLek/SLu7+QsmLBZB6fBMHAHkwsy0kbd7awEmSt/wr+BxJ\nQ81sTIeX/EDShzRwAIqFJg4A8lMt6Q8dV7r7HZKekFSX+2au1f6SsqUpDUA5ookDgB6Y2WBJ/d39\ntS42+S9J35R0VJt1I5Rr4sxsbzMbUNQiAZQdZuIAoAe5kxQelPRWN5tNl7RG0o7uvs7MPpa0l6Tn\nJE109/OKXiiAskITBwDdMLOtJb0kKZ9v0lzSz9x9hpldKGmtpLclXeHuHxexTABliCYOAAAggZiJ\nAwAASCCaOAAAgASiiQMAAEggmjgAAIAEookDAABIIJo4AACABKKJAwAASCCaOAAAgAT6/wsNBajn\noDeVAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pyplot.figure(figsize=(10, 6))\n", + "pyplot.tick_params(axis='both', labelsize=14) #increase tick font size\n", + "pyplot.grid(True) #turn on grid lines\n", + "pyplot.xlabel('$\\Delta t$', fontsize=16) #x label\n", + "pyplot.ylabel('Error', fontsize=16) #y label\n", + "pyplot.loglog(dt_values, error_values, 'ko-') #log-log plot\n", + "pyplot.axis('equal') #make axes scale equally;" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is the kind of result we like to see! As $\\Delta t$ shrinks (towards the left), the error gets smaller and smaller, like it should." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Challenge!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We calculated the error for several different timestep sizes using two nested `for` loops. That worked, but whenever possible, we like to re-use code (and not just copy and paste it!). \n", + "\n", + "Create a function that implements Euler's method and re-write the error analysis cell to use your function." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of this notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/01_phugoid/01_03_PhugoidFullModel.ipynb b/01_phugoid/01_03_PhugoidFullModel.ipynb new file mode 100644 index 0000000..87184de --- /dev/null +++ b/01_phugoid/01_03_PhugoidFullModel.ipynb @@ -0,0 +1,943 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth, I. Hawke. Partly based on content by David Ketcheson, also under CC-BY." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Full phugoid model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is the third IPython Notebook of the series on the _phugoid model of glider flight_, our first learning module of the course [\"Practical Numerical Methods with Python\"](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about). In the first notebook, we described the physics of the trajectories known as phugoids obtained from an exchange of potential and kinetic energy in an idealized motion with no drag. We gave you a neat little code to play with and plot various phugoid curves.\n", + "\n", + "In the second notebook, we looked at the equation representing small perturbations on the straight-line phugoid, resulting in simple harmonic motion. This is a second-order ordinary differential equation, and we solved it numerically using **Euler's method**: the simplest numerical method of all. We learned about convergence and calculated the error of the numerical solution, comparing with an analytical solution. That is a good foundation!\n", + "\n", + "Now, let's go back to the dynamical model, and take away the idealization of no-drag. Let's remind ourselves of the forces affecting an aircraft, considering now that it may be accelerating, with an instantaneous upward trajectory. We use the designation $\\theta$ for the angle, and consider it positive upwards." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/glider_forces-lesson3.png)\n", + "#### Figure 1. Forces with a positive trajectory angle." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In Figure 1, $L$ is the lift, $W$ is the weight, $D$ is the drag, and $\\theta$ the positive angle of the trajectory, instantaneously. \n", + "\n", + "In lesson 1, we wrote the force balance in the directions perpendicular and parallel to the trajectory for a glider in _equilibrium_. What if the forces are _not_ in balance? Well, there will be acceleration terms in the equations of motion, and we would have in that case:\n", + "\n", + "\\begin{align}\n", + "m \\frac{dv}{dt} & = - W \\sin\\theta - D \\\\\n", + "m v \\, \\frac{d\\theta}{dt} & = - W \\cos\\theta + L\n", + "\\end{align}\n", + "\n", + "We can use a few little tricks to make these equations more pleasing. First, use primes to denote the time derivatives and divide through by the weight:\n", + "\n", + "\\begin{align}\n", + " \\frac{v'}{g} & = - \\sin\\theta - D/W \\\\\n", + "\\frac{v}{g} \\, \\theta' & = - \\cos\\theta + L/W\n", + "\\end{align}\n", + "\n", + "\n", + "Recall, from our first lesson, that the ratio of lift to weight is known from the trim conditions—$L/W=v^2/v_t^2$— and also from the definitions of lift and drag, \n", + "\n", + "$$\\begin{eqnarray}\n", + "L &=& C_L S \\times \\frac{1}{2} \\rho v^2 \\\\\n", + "D &=& C_D S \\times \\frac{1}{2} \\rho v^2\n", + "\\end{eqnarray}$$\n", + "\n", + "we see that $L/D=C_L/C_D$. The system of equations can be re-written:\n", + "\n", + "\\begin{align}\n", + " v' & = - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\\n", + " \\theta' & = - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v\n", + "\\end{align}\n", + "\n", + "It is very interesting that the first equation has the factor $C_D/C_L$, which is the inverse of a measure of the aerodynamic efficiency of the aircraft. It turns out, this is the term that contributes damping to the phugoid model: if drag is zero, there is no damping. Drag is never zero in real life, but as engineers design more aerodynam-ically efficient aircraft, they make the phugoid mode more weakly damped. At altitude, this is nothing but a slight bother, but vertical oscillations are unsafe during final approach to land, so this is something to watch out for!\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The initial value problem" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we want to visualize the flight trajectories predicted by this model, we are going to need to integrate the spatial coordinates, which depend on both the forward velocity (tangential to the trajectory) and the trajectory angle. The position of the glider on a vertical plane will be designated by coordinates $(x, y)$ with respect to an inertial frame of reference, and are obtained from:\n", + "\n", + "\\begin{align}\n", + "x'(t) & = v \\cos(\\theta) \\\\\n", + "y'(t) & = v \\sin(\\theta).\n", + "\\end{align}\n", + "\n", + "Augmenting our original two differential equations by the two equations above, we have a system of four first-order differential equations to solve. We will use a time-stepping approach, like in the previous lesson. To do so, we do need *initial values* for every unknown:\n", + "\n", + "$$\n", + "v(0) = v_0 \\quad \\text{and} \\quad \\theta(0) = \\theta_0\\\\\n", + "x(0) = x_0 \\quad \\text{and} \\quad y(0) = y_0\n", + "$$\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Solve with Euler's method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We know how to apply Euler's method from the previous lesson. We replace each of the time derivatives by an approximation of the form:\n", + "\n", + "$$v'(t) \\approx \\frac{v^{n+1} - v^n}{\\Delta t},$$\n", + "\n", + "where we are now using a superscript $n$ to indicate the $n$-th value in the time iterations. The first differential equation, for example, gives:\n", + "\n", + "$$\\frac{v^{n+1} - v^n}{\\Delta t} = - g\\, \\sin\\theta^n - \\frac{C_D}{C_L} \\frac{g}{v_t^2} (v^n)^2$$\n", + "\n", + "Alright, we know where this is going. At each time iteration $t^n$, we want to evaluate all the known data of our system to obtain the state at $t^{n+1}$—the next time step. We say that we are _stepping in time_ or _time marching_.\n", + "\n", + "The full system of equations discretized with Euler's method is:\n", + "\n", + "\\begin{align}\n", + "v^{n+1} & = v^n + \\Delta t \\left(- g\\, \\sin\\theta^n - \\frac{C_D}{C_L} \\frac{g}{v_t^2} (v^n)^2 \\right) \\\\\n", + "\\theta^{n+1} & = \\theta^n + \\Delta t \\left(- \\frac{g}{v^n}\\,\\cos\\theta^n + \\frac{g}{v_t^2}\\, v^n \\right) \\\\\n", + "x^{n+1} & = x^n + \\Delta t \\, v^n \\cos\\theta^n \\\\\n", + "y^{n+1} & = y^n + \\Delta t \\, v^n \\sin\\theta^n.\n", + "\\end{align}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we've learned before, the system of differential equations can also be written as a vector equation:\n", + "\n", + "$$u'(t) = f(u)$$\n", + "\n", + "where\n", + "\n", + "\\begin{align}\n", + "u & = \\begin{pmatrix} v \\\\ \\theta \\\\ x \\\\ y \\end{pmatrix} & f(u) & = \\begin{pmatrix} - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\ - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v \\\\ v\\cos\\theta \\\\ v\\sin\\theta \\end{pmatrix}.\n", + "\\end{align}\n", + "\n", + "It's a bit tricky to code the solution using a NumPy array holding all your independent variables. But if you do, a function for the Euler step can be written that takes any number of simultaneous equations. It simply steps in time using the same line of code:\n", + "\n", + "```Python\n", + "def euler_step(u, f, dt):\n", + " return u + dt * f(u)\n", + "```\n", + "\n", + "This function can take a NumPy array `u` with any number of components. All we need to do is create an appropriate function `f(u)` describing our system of differential equations. Notice how we are passing a _function_ as part of the arguments list to `euler_step()`. Neat!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### And solve!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As always, we start by loading the modules and libraries that we need for this problem. We'll need a few transcendental functions, including the $\\log$ for a convergence study later on. And remember: the line `%matplotlib inline` is a magic function that tells Matplotlib to give us the plots in the notebook (the default behavior of Matplotlib is to open a pop-up window). In addition, we are importing the module `rcParams` to define notebook-wide plotting parameters: font family and size. Here we go!" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from math import sin, cos, log, ceil\n", + "import numpy\n", + "from matplotlib import pyplot\n", + "%matplotlib inline\n", + "from matplotlib import rcParams\n", + "rcParams['font.family'] = 'serif'\n", + "rcParams['font.size'] = 16" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to set things up to start our numerical solution: the parameter \n", + "values and the _initial values_. You know what the acceleration of gravity is: 9.8 m/s$^2$, but what are good values for $C_D/C_L$, the inverse of the aerodynamic efficiency? Some possible values are given on a table in the Wikipedia entry for [lift-to-drag ratio](http://en.wikipedia.org/wiki/Lift-to-drag_ratio): a modern sailplane can have $L/D$ of 40 to 60, depending on span (and, in case you're interested, a flying squirrel has $L/D$ close to 2).\n", + "\n", + "For the _trim velocity_, the speed range for typical sailplanes is between 65 and 280 km/hr, according to Wikipedia (it must be right!). Let's convert that to meters per second: 18 to 78 m/s. We'll pick a value somewhere in the middle of this range.\n", + "\n", + "Here's a possible set of parameters for the simulation, but be sure to come back and change some of these, and see what happens!" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# model parameters:\n", + "g = 9.8 # gravity in m s^{-2}\n", + "v_t = 30.0 # trim velocity in m s^{-1} \n", + "C_D = 1/40 # drag coefficient --- or D/L if C_L=1\n", + "C_L = 1 # for convenience, use C_L = 1\n", + "\n", + "### set initial conditions ###\n", + "v0 = v_t # start at the trim velocity (or add a delta)\n", + "theta0 = 0 # initial angle of trajectory\n", + "x0 = 0 # horizotal position is arbitrary\n", + "y0 = 1000 # initial altitude" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll define a function `f()` to match the right-hand side of Equation (15), the full differential system in vector form. This function assumes that we have available the parameters defined above. If you re-execute the cell above with different parameter values, you can just run the solution without re-executing the function definition." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def f(u):\n", + " \"\"\"Returns the right-hand side of the phugoid system of equations.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " array containing the solution at time n.\n", + " \n", + " Returns\n", + " -------\n", + " dudt : array of float\n", + " array containing the RHS given u.\n", + " \"\"\"\n", + " \n", + " v = u[0]\n", + " theta = u[1]\n", + " x = u[2]\n", + " y = u[3]\n", + " return numpy.array([-g*sin(theta) - C_D/C_L*g/v_t**2*v**2,\n", + " -g*cos(theta)/v + g/v_t**2*v,\n", + " v*cos(theta),\n", + " v*sin(theta)])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compare the code defining function `f(u)` with the differential equations, and convince yourself that it's right!\n", + "\n", + "\\begin{align}\n", + "u & = \\begin{pmatrix} v \\\\ \\theta \\\\ x \\\\ y \\end{pmatrix} & f(u) & = \\begin{pmatrix} - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\ - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v \\\\ v\\cos\\theta \\\\ v\\sin\\theta \\end{pmatrix} \\nonumber\n", + "\\end{align}\n", + "\n", + "Now, Euler's method is implemented in a simple function `euler_step()`:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def euler_step(u, f, dt):\n", + " \"\"\"Returns the solution at the next time-step using Euler's method.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " solution at the previous time-step.\n", + " f : function\n", + " function to compute the right hand-side of the system of equations.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " approximate solution at the next time step.\n", + " \"\"\"\n", + " \n", + " return u + dt * f(u)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After defining a final time for the solution, and the time step $\\Delta t$, we can construct the grid in time using the NumPy function [`linspace()`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html). Make sure you study the decisions we made here to build the time grid: why do we add 1 to the definition of `N`, for example?\n", + "\n", + "Look at the code below, and make sure you understand the following aspects of it.\n", + "\n", + "* The NumPy array `u` contains the solution at every time-step, consisting of the velocity, angle and location of the glider. \n", + "* The first element of the array `u` is set to contain the initial conditions. \n", + "* In the `for`-loop, the function `euler_step()` is called to get the solution at time-step $n+1$. " + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "T = 100 # final time\n", + "dt = 0.1 # time increment\n", + "N = int(T/dt) + 1 # number of time-steps\n", + "\n", + "# initialize the array containing the solution for each time-step\n", + "u = numpy.empty((N, 4))\n", + "u[0] = numpy.array([v0, theta0, x0, y0])# fill 1st element with initial values\n", + "\n", + "# time loop - Euler method\n", + "for n in range(N-1):\n", + " \n", + " u[n+1] = euler_step(u[n], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot the trajectory" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to plot the path of the glider, we need the location (`x`, `y`) with respect to time. That information is already contained in our NumPy array containing the solution; we just need to pluck it out. \n", + "\n", + "Make sure you understand the indices to `u`, below, and the use of the colon notation. If any of it is confusing, read the Python documentation on [Indexing](http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html)." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 3.00000000e+01 -1.11022302e-17 6.00000000e+00 1.00000000e+03]\n", + "[ 1000. 1000. 1000. ..., 1000. 1000. 1000.]\n", + "[ 3.00000000e+01 -1.11022302e-17 6.00000000e+00 1.00000000e+03]\n" + ] + } + ], + "source": [ + "# get the glider's position with respect to the time\n", + "print u[2]\n", + "x = u[:,2]\n", + "y = u[:,3]\n", + "print y\n", + "u[2]=euler_step(u[1],f,dt)\n", + "print u[2]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time to plot the path of the glider and get the distance travelled!" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nfEtJjyq+OtMP69J+V0lXFvNcrPSG/neSjlf66Pa0bssvtd9K0meLeS5ROmJ0oKR/VLpQd42kiyRt\nU2qzQ9GvE0vLfpWkFUrnWQ4pnZq0WtI3pvAc7FIs733F8n4oab/S9j+qmG/b4venldb7GqUC6B+L\n7T5R0p8k/aq0/F8X835W6Z/MkNI5qV8slvN9Sdt2eV6q6+r2/D1W0m+VjiC/U9LhShd5LlQqqP4s\n6eU12328pLuUPiJ/TfG8HyZpgaSbO89Faf6/Kfr0m6I/ry8/R5L2rCz/cKUL1SYkLZJ0cPH15mK9\nt0p6cqXNnqUsVkv6pqQLJJ0j6amSDpL0kaJvZxfz/qqYd7TIbZfS8jqZvbfIZajazz7/bnYqlvsv\nRV/+VHnN7F6ad/9Shg/skvFwafpQl3XtpXTB7BpJX5b0jOK1doLSTvt5pfaHFMvcqtR+u9L01xev\nt38o1jtP0qpi+usr671fsayRLsvvfG0/hefKXbbzeZXlPKCYd3bx+/8U851ZWVZ1+jlKf/cnF9k+\nR9JVpdfH9sVzdkKx/hO19rW9sKa/MyV9qZjn68UyD5T0Qkk/Lh6/UNKWG/P9fVN9KRWsqyVdOIV5\nfzHZvEoXcndyPan0+BZKf/vr5Vhp/6xS+6c02I69Su1e1WO++aX59i49fmjp8ef0aP+uYr57JN2v\n7fz4mvpX6x3gi6+pfklaXHpD+ruNtMyuBX5lnl4Ffucf4XclzahMe6BSMdirQP1AMf2bklyZNkPS\neNH2/V3aPrm07O9X33yLImDSAr80/6JieT3bVJ6zayTtUJn+Ia1b4F8r6fM1y/pksZx3Ns2n9Pyu\nljSvS9vHFdP+LOmQyrQnSrq3mHZQTdt7JI13mXZtsdwX93iOHqF0XmvXf55KI2msUdq5mN0ji3sl\nvbcybUtJd0h6Y/H7a4t5b5G0dU1/fiHpPzfG30xluUcV6769xzxdC/zS9HIB3q3A/3Yx/Wtdpu1e\nbPdUl/8rVYpypZ3NNUo7XOsVMJP1v8Fz1XM7K/N+Rj0Kw2J65/VxRGXafsW0P0v6L0mPrkx/dun1\nsl6RrnTR6BpJX+wy7X6Sfl70bWkfz8F/Srqhz69fbqTXbJMC/+5i3mU95tm9lOsbS4/v0e3xLu0P\nLs13QoPtePxU2mnte81qSU8qPf6P3R7v0v61pfkesjEy4GvTfHGKDqaT8njDd7TWi4LTaD7PVPqI\n9N8jYnV5eqQL5N7Xo/0jJb1MNRdgFct7p9IRwHnuPd7y0oiongf9AqU38fvS2RFxe+WxBUoFdMcZ\nSgVrNx9S2r4X9bHuBSqO7kbEeqedRDp/9OtKR9JeW5n8LqUdqC9GxKU1bb/VR5863qp09PSKiPh8\nl+Wfr/QJzw7FvHUs6W2Vtn+R9Eilo/JSOv3sHqWj6sevtwD7GZIerh6vxVzZfqrSJzKhLs9TpNMv\nPthgkR+N9Uc6ubj4vqOk2uEOM/XriPhq+YGI+LlSQbyF0qc5V1bafE3p+dxJldFkilNMXlhMX+/C\n9uI95t1Kr8tXuMfwizV2krRbn19TGm9+Y3E6dbBzjcl656eXlKftUPr5/jXzTLX9ZDZ0+fd1/9Ay\nCnygfyOln79VM88lPdo/X+kf5d1Kp+N007kw7H5Kp4/U+W71gYi4NSJu6tFmY+i23tsj4nel38+M\niP+taX998X03Nx/nvjM8Y6/neKXSc/yUzgO2H6J0qouUdgDqnCxpvXOzJ+M0lvtI0bdey7+o6NvR\nrr8ZzdURcXP1wYj4XWfHKiJWKZ3+5Jr+vkLSpRHx46lvRTY6f2N/VpfXWqFX/lXrnQsdEXconUoh\nlYbSnSbGah6/qW56pIspOzvle1YmH1t8/2NEXFGz7M570rZKp3lMWUQ8PyJm9Pm1Y5N1AZs7xsHH\ndFIudHoeSbB9s9LRorKIiI15I51HFd9XRf0FWL/v0f6xxfdtJN1VXBNXFVo7pFuvO+GuVwRuIpOu\ntyh4X6p0Lu/+Srl0e+/ZXumUlUk5Xfz6MKXnZp7tk+pmLebZ3vYDIo2lXz5q+avuzaSI+KUaXJhd\n8gilTKPX8pVO9ZFSofQIpVMfqqaa6/uVjrwO2T6o86lEsTNzpKbvCBidv7HfVj8hK+n1N1Z1S83j\ndynlsE2DZbUtVL89fym+TzZ968rjnfeknWzXjYw01fekaS0i/mz7XqWDK71eF+Vp5U8z76iZZ6rt\nJ7Ohy7+v+4eWUeBjOikfUdpH6fz0Ok9UOgVDSkdiX66Nf3Oizk7GXT3m6TV8YOeI1I1KF2RONnRe\n7WgQ1dN7NqG6okvSX8eR/qbSzaquUvrY/+da+49iL6Uj2VKzoQPLR/M+pCkMmVpaZ7ltr+z6NdXl\nl3cK645O9nx+OyLi+7Z/orTz8gqt/UToX5R2mj4zleVkaEP/xqqm9HxOI2s2cHpV53V4rdK5+pP9\nTd7QcPnTzfVKp7f1Oj2oPO3/Sj/fpPTp7NZ9tp9K37otY6rLb9r+L2q2M42WUeBjOvmG0j/zLZU+\nGv5U3YxRGvPY9n11mkqnYJzZY571hoAs6Qybt01x3uwgWqxU3N+qdCHXqvJE93+n39tKP98dET/r\ns+22fa5/qsvv9dooT7utdq6pe7/Szs7zbZ+qdIRunqSPxEa8Q+wmtqF/Y2im8zrc6r54T7L9n0qj\nxvTjzoj4m43Znym4Qmn0rL17zFOe9teDUBGxxvbPlEZ8mmr7ulMZ1xMRv7N9i9JgA1NZ/h0R8evK\nuqIyT6/2V3W5zgsZ4xx8TBsR8UdJH1U6qnScu4yfvol1isqdXRovvaLXOb2d8bV3tL1b3Uy2D7T9\nEncZN30a+HulfyLfrxb3GyIi7tTa01/27TWv7eNtH1t66Celnx/Wo939ijHMm96U6GqtPeJcu/zS\ntImizYb6pFKBto3SDWyeqzQEapOLUHPT+Rvby/aMmnmm23nzOev8bezV4z1Ntg8p3pMe2HD50+Yi\n20LnTsz72q7byTyw+H5DRFQ/Vf6y0v+rx/VYR6f9pRFRd0pVna9Mcfmhtdsi6a/XnnSua+nV/nFF\n+y827BtaNm0LfNuHOt2cpvYGOBhIiyX9TqlweWPvWe9z5TsbPrVmnl4XxnaGupN6H9X6oNKIKf0e\n7Z6qznm56xS0to+zPdznMjvvMXVF8t59LleSzi+We5jt7bvNYPtvlcZJ/+vzG+mOj98v2j69x/K/\nqfSRdLXQWe95sj27eJ4eUBwt/8IUlv90pX+cFxQj42yQ4jqQTxTrfbnSqWlfiYjrezbMW+dv7H5K\no+l00+tvbGMoZ1PO/Am2j94IyzmgeO3k8P/4/OL7ZDc2+pjSCF/VEYl6moYX2X5O6V4WM5TundDN\nMUp/x+d0mfZxpdx3t31IdWJxkOqoov1H+uhfp82Bth/UZfm7ae2F0N1ucPcRFTfBsl29HkPF+/4s\npVPbPt5H/9CiHN5QGrG9je3TlcZGfoSmeF617YOd7rZ5U3H3wittn1ZcADhZ22cVbX/ndBfFG5zu\nwvkfdUdVi7sLLnW68+JdRdtzbe/TaIOxjmJYvKOVTvn4N9uv7DV/Ufg9qtc8G9CXH2ntEZp/qx5h\ntL2L0k1G6tpfpVS8W9Jp3Y6G2Z6n9BHvmV2G99vYOudX/rUfth+sdAOlfu9ieInS9j2puOCzqvb5\nmYJ3KY2Dv62kt1cnFnm8V2ms8CWVya9R+sd7lO3Hd2n7DKV/jJ/o8ryv9zwpXeA6qrVDz71J6RSZ\nR9teb6hS2y9QuuD4NtUPIdqP9xffZyvdpbLntQm2H+O1d0Xt9WlDKyLiW0rv9Zb0hup023sqXcB9\nXypf+1LO/HRJb5nqQiLiHq09Baa8nNdJ+nBEND1ffqOLiMu1didxcbdhMG3/P6XTVt41jU/9mpKI\nuE3pQJIlvdH2Ohej2n6h0o2ufqv132MUEdcovQdZ0tu67MQtVHot/FhdCnCnu4BfXdQPT+6y/O8o\n7YRsIenfu2zCvyvtnPx3RHQb0etcpfsC7KDKsKjFJ5dvV6qx3l8+7RXTRL8D6LfxpfSR9kqlj+YP\n1yQ3KCq1O17p3O0VSv+0Z0s6Vekf/w8kzaxpt4XSXuutkl6tVCjOUro99E+Kdf99l3Z7KN0A6DZJ\nL1a6Wc/TlS4uvFNdbpjEV+PXwkOVjrCuVnqD+n9KR/Ieq1TYnKg0PvitxTw3Snpzqf1MpQJrTul1\n9PTisZlK5/nvr8pdCovHdiwtZ1elcxlXK10jcJRSQf7CIu9PdFn+dqX291O6Gc1qpdM05irdkXKO\nUrH2Z6Wbad2vS9/nlpa9f/G11wY8pw9WOrXkz8W2HiTp08XfyQGl56Tbc7Z3zTL31No72V6rVIwd\nVDxPFypdAFpd1paVnHvdKGz/0vI/XfxtDiuN///Dou8n1vTtWKXTY27V2jvZPlnpTrOdj6+36dJu\nQdGnHysdVT5K6eK1yyrzPbVY9oRSIfj44ustxfO8SpX3guL19Ogi+85dhTvZ7thtO7r07+Ki7dVT\nmLdzp+C/qMFdKiU9oOjTK7T2Tradfj68mGf74vfOjaRWK/1t7q904eFWxc8HlqYfWzx2/9K6HqR0\ngfZqSV8tMu7cNfkqpcK/251y3WP5WxfzPLJ4vjvvE/9aXX8x37eL6cuK5Z1S/L644d/Yx4t2X1T6\nOzhB6X/Cx4rpDyv68z9Fn88r+vOQ0t9ot+l7VNp33pOWlrdnKturdIrXBcX0nxV9HCqe948Ur5XP\nStpiU73fb+hXsd37l56bzs0F13nN9mj/3uL5+IHSxccHKhXEdytdaPy3PdrOUCrCVyudUvN0pfeB\ndxWP/ULSg2ravqn02j2vZp7tlN6rVhevh8OU3pc+VrT9QfX1XGm/h9bevOwMpbs1P614ja5W+hRt\n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\nouXLl68z30UXXaSRkZH12p988slatmzZOo+Nj49rZGREq1atWufxRYsWacmSJes8dv3112tkZEQr\nV657vfBZZ5213tGEiYkJjYyMrDdW7+joqObOnbte34477rhpvR2nnHLKQGxHxyBtx0Me8pCB2I5B\nyaO8HaeccspAbIc0GHlUt6Pzvjbdt6NsULZj5cqVA7Ed0zmP0dHRv9Zis2fP1gEHHKBTTz11veXk\nwg1HnsyK7TVKI9bMjojru0zfQtItSufFz+l2cyzb35H0BEmvjoj3FI89rMdqvy1pL0kvlHRp8diN\nEXFn0fZMpTHuPxkRJ3RZ3zylcfWviIgDarZrSNLY2NiYhoaGenQFAAAAbRgfH9fw8LAkDUfEeNv9\nKRvoI/jFxbGfVxoG8/DqdNs7KA2PuUbS50rtflX3JekvxWy/Kz1+Z2mxnym+P6WmW09X2in59IZs\nGwAAANDNQBf4hbdLulfSXNv3r0ybL2lrpbvc/t/GWFlEXCLpm5L2sr3OzayKTwaOlrRK0tkbY31o\nR/XjQeSDbPJFNnkjn3yRDZqadgW+7V1s7267fI77bsVju1fnL25Q9VJJu0j6iu1Dbc+2/Wqli2gv\nk9TzJCrb25XW2blYd+fisV26NHmRpOskfdj2Sbb3tj1H0peUPi04triLLqaphQsXtt0F1CCbfJFN\n3sgnX2SDpqbdOfi2r9XaC13XmSQpIqLraDm2D5L0eqXz7beXdK2k/5L0zoi4d5J1LpK0SOnUmqrr\nImK9c/aL03/eIOkYSQ9WGpXnYklvi4irJlkf5+Bn7vrrr2dUg0yRTb7IJm/kky+yyVPO5+BPuwJ/\nc0CBDwAAkLecC/xpd4oOAAAAgHoU+AAAAMAAocAH+lC9+QbyQTb5Ipu8kU++yAZNUeADfZiYmGi7\nC6hBNvkim7yRT77IBk1xkW2GuMgWAAAgb1xkCwAAAGCToMAHAAAABggFPtCHVatWtd0F1CCbfJFN\n3sgnX2SDpijwgT7Mmzev7S6gBtnki2zyRj75Ihs0RYEP9GHx4sVtdwE1yCZfZJM38skX2aApCnyg\nD4xulC+yyRfZ5I188kU2aIoCHwAAABggFPgAAADAAKHAB/qwbNmytruAGmSTL7LJG/nki2zQFAU+\n0Ifx8axuWIcSsskX2eSNfPJFNmjKEdF2H1Bhe0jS2NjYGBfWAAAAZGh8fFzDw8OSNBwRWe2FcQQf\n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\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# visualization of the path\n", + "pyplot.figure(figsize=(8,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel(r'x', fontsize=18)\n", + "pyplot.ylabel(r'y', fontsize=18)\n", + "pyplot.title('Glider trajectory, flight time = %.2f' % T, fontsize=18)\n", + "pyplot.plot(x,y, 'k-', lw=2);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Grid convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's study the convergence of Euler's method for the phugoid model. In the previous lesson, when we studied the straight-line phugoid under a small perturbation, we looked at convergence by comparing the numerical solution with the exact solution. Unfortunately, most problems don't have an exact solution (that's why we compute in the first place!). But here's a neat thing: we can use numerical solutions computed on different grids to study the convergence of the method, even without an analytical solution.\n", + "\n", + "We need to be careful, though, and make sure that the fine-grid solution is resolving all of the features in the mathematical model. How can we know this? We'll have a look at that in a bit. Let's see how this works first.\n", + "\n", + "You need a sequence of numerical solutions of the same problem, each with a different number of time grid points.\n", + "\n", + "Let's create a NumPy array called `dt_values` that contains the time-increment of each grid to be solved on. For each element `dt_values[i]`, we will compute the solution `u_values[i]` of the glider model using Euler's method. If we want to use five different values of $\\Delta t$, we'll have five solutions: we put them in an array ... but each one is also an array! We'll have an array of arrays. How meta is that?\n", + "\n", + "We have one more trick up our sleeve: `enumerate()`. To get all the numerical solutions—each with its value of $\\Delta t$—done in one fell swoop, we will loop over the elements of the array `dt_values`. Within the loop, we need to access both `dt_values[i]` and the index `i`. It turns out, `enumerate()` is a built-in Python function that will give us consecutive `index, value` pairs just like we need. \n", + "\n", + "Read the code below carefully, and remember: you can get a help pane on any function by entering a question mark followed by the function name. For example, add a new code cell below and type: `?numpy.empty_like`." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "dt_values = numpy.array([0.1, 0.05, 0.01, 0.005, 0.001])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt) + 1 # number of time-steps\n", + "\n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + " \n", + " u[n+1] = euler_step(u[n], f, dt) ### call euler_step() ###\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In [Lesson 2](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_02_Phugoid_Oscillation.ipynb), we compared our numerical result to an analytical solution, but now we will instead compare numerical results from different grids. \n", + "\n", + "For each solution, we'll compute the difference relative to the finest grid. You will be tempted to call this an _\"error\"_, but be careful: the solution at the finest grid is _not the exact_ solution, it is just a reference value that we can use to estimate grid convergence.\n", + "\n", + "To calculate the difference between one solution `u_current` and the solution at the finest grid, `u_finest`, we'll use the $L_1$-norm, but any norm will do.\n", + "\n", + "There is a small problem with this, though. The coarsest grid, where $\\Delta t = 0.1$, has 1001 grid points, while the finest grid, with $\\Delta t = 0.001$ has 100001 grid points. How do we know which grid points correspond to the same location in two numerical solutions, in order to compare them? \n", + "\n", + "If we had time grids of 10 and 100 steps, respectively, this would be relatively simple to calculate. Each element in our 10-step grid would span ten elements in our 100-step grid. \n", + "\n", + "Calculating the _ratio_ of the two grid sizes will tell us how many elements in our fine-grid will span over one element in our coarser grid.\n", + "\n", + "Recall that we can _slice_ a NumPy array and grab a subset of values from it. The syntax for that is\n", + "\n", + "```Python\n", + "my_array[3:8]\n", + "```\n", + "\n", + "An additional slicing trick that we can take advantage of is the \"slice step size.\" We add an additional `:` to the slice range and then specify how many steps to take between elements. For example, this code\n", + "\n", + "```Python\n", + "my_array[3:8:2]\n", + "```\n", + "\n", + "will return the values of `my_array[3]`, `my_array[5]` and `my_array[7]`\n", + "\n", + "With that, we can write a function to obtain the differences between coarser and finest grids. Here we go ..." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def get_diffgrid(u_current, u_fine, dt):\n", + " \"\"\"Returns the difference between one grid and the fine one using L-1 norm.\n", + " \n", + " Parameters\n", + " ----------\n", + " u_current : array of float\n", + " solution on the current grid.\n", + " u_finest : array of float\n", + " solution on the fine grid.\n", + " dt : float\n", + " time-increment on the current grid.\n", + " \n", + " Returns\n", + " -------\n", + " diffgrid : float\n", + " difference computed in the L-1 norm.\n", + " \"\"\"\n", + " \n", + " N_current = len(u_current[:,0])\n", + " N_fine = len(u_fine[:,0])\n", + " \n", + " grid_size_ratio = ceil(N_fine/N_current)\n", + " \n", + " diffgrid = dt * numpy.sum( numpy.abs(\\\n", + " u_current[:,2]- u_fine[::grid_size_ratio,2])) \n", + " \n", + " return diffgrid" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that the function has been defined, let's compute the grid differences for each solution, relative to the fine-grid solution. Call the function `get_diffgrid()` with two solutions, one of which is always the one at the finest grid. Here's a neat Python trick: you can use negative indexing in Python! If you have an array called `my_array` you access the _first_ element with\n", + "\n", + "`my_array[0]`\n", + "\n", + "But you can also access the _last_ element with \n", + "\n", + "`my_array[-1]`\n", + "\n", + "and the next to last element with\n", + "\n", + "`my_array[-2]`\n", + "\n", + "and so on. " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dt = 0.1\n", + "dt = 0.05\n", + "dt = 0.01\n", + "dt = 0.005\n", + "dt = 0.001\n" + ] + } + ], + "source": [ + "# compute difference between one grid solution and the finest one\n", + "diffgrid = numpy.empty_like(dt_values)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " print('dt = {}'.format(dt))\n", + "\n", + " ### call the function get_diffgrid() ###\n", + " diffgrid[i] = get_diffgrid(u_values[i], u_values[-1], dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time to create a plot of the results! We'll create a *log-log* plot with the Matplotlib function [`loglog()`](http://matplotlib.org/api/pyplot_api.html?highlight=loglog#matplotlib.pyplot.loglog). Remember to skip the difference of the finest-grid solution with itself, which is zero." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIh\nZGatzGyLmZ1Sibanm9nPkhGXSLIpSYmE0/1AE+APlWj7Z6BHYsMRCYaSlEjImNmPgM3ANKCnmZ1X\nTtss4GLgv5IUnkhSaasOkZAxs/HAEOAYIhsdvu3u/1ZG27bAB8Cx7r41eVGKJId6UiIhYmYXA/90\n9x3uvgp4DuhoZpeXaJdjZi8CfwO2AE+Y2ejkRyySWOpJiYSImU0C/t3d90RfHwusAv7H3Q8b9jOz\nmcB6dx+U3EhFkkM9KZGQMLNuwJv7ExSAu39FZHvuc8zsmhLtawA/BRYkNVCRJFJPSiQEohMgXnT3\n60s51xBYDWwHznD3oujxC4D3gObuvjmZ8Yoki3pSIuFwAzCptBPu/i2RqehtgJsOOtWRyDCgEpSk\nLSUpkYCZWW2go7u/UU6zMcAaYLiZ1Y0e60h0qM/MapvZgwkNVCQANYMOQES4DXAzu7OCdp8CXYhM\nTx8BNAdmRc/dCbyYsAhFAqKalEiAor2itUCzSr7Fga+BVkA3oDewFHjL3RcmJEiRAClJiYhIaKkm\nJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIi\nofX/ARE7ZqFnKYAXAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# log-log plot of the grid differences\n", + "pyplot.figure(figsize=(6,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$\\Delta t$', fontsize=18)\n", + "pyplot.ylabel('$L_1$-norm of the grid differences', fontsize=18)\n", + "pyplot.axis('equal')\n", + "pyplot.loglog(dt_values[:-1], diffgrid[:-1], color='k', ls='-', lw=2, marker='o');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Order of convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The order of convergence is the rate at which the numerical solution approaches the exact one as the mesh is refined. Considering that we're not comparing with an exact solution, we use 3 grid resolutions that are refined at a constant ratio $r$ to find the *observed order of convergence* ($p$), which is given by:\n", + "\n", + "$$\n", + "\\begin{equation}\n", + "p = \\frac{\\log \\left(\\frac{f_3-f_2}{f_2-f_1} \\right) }{\\log(r)}\n", + "\\end{equation}\n", + "$$\n", + "\n", + "where $f_1$ is the finest mesh solution, and $f_3$ the coarsest. " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The order of convergence is p = 1.014\n" + ] + } + ], + "source": [ + "r = 2\n", + "h = 0.001\n", + "\n", + "dt_values2 = numpy.array([h, r*h, r**2*h])\n", + "\n", + "u_values2 = numpy.empty_like(dt_values2, dtype=numpy.ndarray)\n", + "\n", + "diffgrid2 = numpy.empty(2)\n", + "\n", + "for i, dt in enumerate(dt_values2):\n", + " \n", + " N = int(T/dt) + 1 # number of time-steps\n", + "\n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + "\n", + " u[n+1] = euler_step(u[n], f, dt) ### call euler_step() ###\n", + " \n", + " # store the value of u related to one grid\n", + " u_values2[i] = u\n", + " \n", + "\n", + "#calculate f2 - f1\n", + "diffgrid2[0] = get_diffgrid(u_values2[1], u_values2[0], dt_values2[1])\n", + "\n", + "#calculate f3 - f2\n", + "diffgrid2[1] = get_diffgrid(u_values2[2], u_values2[1], dt_values2[2])\n", + "\n", + "# calculate the order of convergence\n", + "p = (log(diffgrid2[1]) - log(diffgrid2[0])) / log(r)\n", + "\n", + "print('The order of convergence is p = {:.3f}'.format(p));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "See how the observed order of convergence is close to 1? This means that the rate at which the grid differences decrease match the mesh-refinement ratio. We say that Euler's method is of *first order*, and this result is a consequence of that." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Paper airplane challenge" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Suppose you wanted to participate in a paper-airplane competition, and you want to use what you know about the phugoid model to improve your chances. For a given value of $L/D$ that you can obtain in your design, you want to know what is the best initial velocity and launch angle to fly the longest distance from a given height.\n", + "\n", + "Using the phugoid model, write a new code to analyze the flight of a paper airplane, with the following conditions:\n", + "\n", + "* Assume $L/D$ of 5.0 (a value close to measurements in Feng et al. 2009)\n", + "* For the trim velocity, let's take an average value of 4.9 m/s.\n", + "* Find a combination of launch angle and velocity that gives the best distance.\n", + "* Think about how you will know when the flight needs to stop ... this will influence how you organize the code.\n", + "* How can you check if your answer is realistic?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* Feng, N. B. et al. _\"On the aerodynamics of paper airplanes\"_, AIAA paper 2009-3958, 27th AIAA Applied Aerodynamics Conference, San Antonio, TX. [PDF](http://arc.aiaa.org/doi/abs/10.2514/6.2009-3958)\n", + "\n", + "* Simanca, S. R. and Sutherland, S. _\"Mathematical problem-solving with computers,\"_ 2002 course notes, Stony Brook University, chapter 3: [The Art of Phugoid](https://www.math.sunysb.edu/~scott/Book331/Art_Phugoid.html). (Note that there is an error in the figure: sine and cosine are switched.)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of the notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/01_phugoid/01_04_Second_Order_Methods.ipynb b/01_phugoid/01_04_Second_Order_Methods.ipynb new file mode 100644 index 0000000..dfe6da7 --- /dev/null +++ b/01_phugoid/01_04_Second_Order_Methods.ipynb @@ -0,0 +1,1187 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth, C.D. Cooper. Partly based on content by David Ketcheson, also under CC-BY." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Phugoid model: bonus!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_The phugoid model of glider flight_ has been such a fun problem to showcase the power of numerical solution of differential equations, we thought you'd enjoy a bonus notebook. The previous lessons were:\n", + "\n", + "* [Phugoid motion](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_01_Phugoid_Theory.ipynb) —Lays the groundwork for our fun problem, with some context, a little history and a description of the physics of phugoids: curves representing the trajectory of a glider exchanging potential and kinetic energy, with no drag.\n", + "* [Phugoid oscillation](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_02_Phugoid_Oscillation.ipynb) —Develops the simple harmonic motion of an aircraft experiencing a small perturbation from the horizontal trajectory: our opportunity to introduce Euler's method, and study its convergence via an exact solution.\n", + "* [Full phugoid motion](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb) —The full model takes into account the force of drag and results in a system of two nonlinear equations. We obtain the trajectories using Euler's method in vectorized form, introduce grid-convergence analysis and finish with the paper-airplane challenge!\n", + "\n", + "That is a fantastic foundation for numerical methods. It's a good time to complement it with some theory: the first screencast of the course uses Taylor series to show that _Euler's method is a first-order method_, and we also show you graphical interpretations. Many problems require a more accurate method, though: second order or higher. Among the most popular higher-order methods that we can mention are the _Runge-Kutta methods_, developed around 1900: more than 100 years after Euler published his book containing the method now named after him!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Euler's method is a first-order method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this screencast, we use a Taylor series expansion to analyze Euler's method and show that it incurs a truncation error of first order. We also use a graphical interpretation to motivate the _modified_ Euler method, which achieves second order." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.display import YouTubeVideo\n", + "YouTubeVideo('6i6qhqDCViA')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Second-order methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The notebook on phugoid oscillation (lesson 2) included a study of the accuracy obtained with Euler's method, using the exact solution for the simple harmonic motion. We made a _convergence plot_ and saw that as $\\Delta t$ gets smaller, the error also gets smaller. \n", + "\n", + "We could have drawn a line with a slope equal to 1 on that log-log plot, and you would have seen that it was parallel to the convergence line. A slope equal to 1 on a log-log convergence plot is an indication that we have a first-order method: the error scales as ${\\mathcal O}(\\Delta t)$. \n", + "\n", + "In lesson 3, using the full phugoid model (which is nonlinear and does not have an exact solution), we did a _grid-convergence study_ with three different grids, and obtained the _observed_ order of convergence—it was very close to 1, indicating a slope of 1 on a log-log plot.\n", + "\n", + "Another way to look at an ${\\mathcal O}(\\Delta t)$ method is to say that the error scales _linearly_ with the step size, or that they are proportional:\n", + "\n", + "$$ e \\propto \\Delta t.$$\n", + "\n", + "where $e$ stands for the error. To get more accuracy, we could use a _second-order_ method, in which the error is ${\\mathcal O}(\\Delta t^2)$. In general, we say that a method is of order $p$ when the error is proportional to $(\\Delta t)^p$.\n", + "\n", + "In the screencast titled \"Euler's method is a first-order method,\" we used a graphical interpretation to get an idea for improving it: by estimating an intermediate point, like the **midpoint**, we can get a better approximation of the area under the curve of $u^\\prime$. The scheme has two steps and is written as:\n", + "\n", + "\\begin{align}\n", + "u_{n+1/2} & = u_n + \\frac{\\Delta t}{2} f(u_n) \\\\\n", + "u_{n+1} & = u_n + \\Delta t \\,\\, f(u_{n+1/2}).\n", + "\\end{align}\n", + "\n", + "This method is known as the *explicit midpoint method* or the *modified Euler method*, and it is a second-order method. Notice that we had to apply the right-hand side, $~f(u)$, twice. This idea can be extended: we could imagine estimating additional points between $u_{n}$ and $u_{n+1}$ and evaulating $~f(u)$ at the intermediate points to get higher accuracy—that's the idea behind Runge-Kutta methods." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Runge-Kutta methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the modified Euler method, we improve the accuracy over Euler's method by evaluating the right-hand side of the differential equation at an intermediate point: the midpoint. The same idea can be applied again, and the function $f(u)$ can be evaluated at more intermediate points, improving the accuracy even more. This is the basis of the famous *Runge-Kutta (RK) methods*, going back to Carl Runge and Martin Kutta. The modified Euler method corresponds to _second-order_ Runge-Kutta.\n", + "\n", + "Here's a bit of historical coincidence that will blow your mind: Carl Runge's daughter Iris—an accomplished applied mathematician in her own right—worked assiduously over the summer of 1909 to translate Lanchester's _\"Aerodonetics.\"_ She also reproduced his graphical method to draw the phugoid curves (Tobies, 2012)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Phugoid model with 2nd-order RK" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's compute the motion of a glider under the full phugoid model using the second-order Runge-Kutta method. We'll build on the _paper airplane challenge_ of lesson 3 now, and look for the horizontal distance that the plane travels until the moment it touches the ground. \n", + "\n", + "As usual, let's start by importing the libraries and modules that we need, and setting up the model parameters. We also set some default plotting formats using the [`rcParams`](http://matplotlib.org/api/matplotlib_configuration_api.html#matplotlib.rcParams) module. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from math import sin, cos, log\n", + "import numpy\n", + "from matplotlib import pyplot\n", + "%matplotlib inline\n", + "from matplotlib import rcParams\n", + "rcParams['font.family'] = 'serif'\n", + "rcParams['font.size'] = 16" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the paper-airplane challenge of lesson 3, we suggested an $L/D=5.0$ as a realistic value for paper airplanes, according to experiments, and a trim velocity of 4.9 m/s. Let's start with those values, but you could experiment changing these a bit. _What do you think will happen if you make $L/D$ higher?_" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# model parameters:\n", + "g = 9.8 # gravity in m s^{-2}\n", + "v_t = 4.9 # trim velocity in m s^{-1} \n", + "C_D = 1/5.0 # drag coefficient --- or D/L if C_L=1\n", + "C_L = 1.0 # for convenience, use C_L = 1\n", + "\n", + "### set initial conditions ###\n", + "v0 = 6.5 # start at the trim velocity (or add a delta)\n", + "theta0 = -0.1 # initial angle of trajectory\n", + "x0 = 0.0 # horizotal position is arbitrary\n", + "y0 = 2.0 # initial altitude" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Among the initial parameters that we suggest for your first experiment, we are starting with a velocity a little higher than the trim velocity, launch the paper airplane with a negative initial angle, and take the initial height to be 2 meters—all sound like reasonable choices.\n", + "\n", + "Now, we can define a few functions to carry out the computation:\n", + "* The right-hand side of the phugoid model from [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb),\n", + "* One step of the Euler's method that we learned in [Lesson 2](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_02_Phugoid_Oscillation.ipynb), and\n", + "* Differences with respect to a fine grid, as in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb)." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def f(u):\n", + " \"\"\"Returns the right-hand side of the phugoid system of equations.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " array containing the solution at time n.\n", + " \n", + " Returns\n", + " -------\n", + " dudt : array of float\n", + " array containing the RHS given u.\n", + " \"\"\"\n", + " \n", + " v = u[0]\n", + " theta = u[1]\n", + " x = u[2]\n", + " y = u[3]\n", + " return numpy.array([-g*sin(theta) - C_D/C_L*g/v_t**2*v**2,\n", + " -g*cos(theta)/v + g/v_t**2*v,\n", + " v*cos(theta),\n", + " v*sin(theta)])\n", + "\n", + "\n", + "def euler_step(u, f, dt):\n", + " \"\"\"Returns the solution at the next time-step using Euler's method.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " solution at the previous time-step.\n", + " f : function\n", + " function to compute the right hand-side of the system of equation.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " approximate solution at the next time step.\n", + " \"\"\"\n", + " \n", + " return u + dt * f(u)\n", + "\n", + "\n", + "def get_diffgrid(u_current, u_fine, dt):\n", + " \"\"\"Returns the difference between one grid and the fine one using L-1 norm.\n", + " \n", + " Parameters\n", + " ----------\n", + " u_current : array of float\n", + " solution on the current grid.\n", + " u_finest : array of float\n", + " solution on the fine grid.\n", + " dt : float\n", + " time-increment on the current grid.\n", + " \n", + " Returns\n", + " -------\n", + " diffgrid : float\n", + " difference computed in the L-1 norm.\n", + " \"\"\"\n", + " \n", + " N_current = len(u_current[:,0])\n", + " N_fine = len(u_fine[:,0])\n", + " \n", + " grid_size_ratio = int(numpy.ceil(N_fine/N_current))\n", + " \n", + " diffgrid = dt * numpy.sum( numpy.abs(\\\n", + " u_current[:,2]- u_fine[::grid_size_ratio,2])) \n", + " \n", + " return diffgrid\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we also need to define the function `rk2_step()` that computes the next time step using the *modified Euler* method of equations $(1)$ and $(2)$, above, otherwise known as 2nd-order Runge-Kutta or RK2. This function will be called over and over again within the time loop." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def rk2_step(u, f, dt):\n", + " \"\"\"Returns the solution at the next time-step using 2nd-order Runge-Kutta.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " solution at the previous time-step.\n", + " f : function\n", + " function to compute the right hand-side of the system of equation.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " solution at the next time step.\n", + " \"\"\"\n", + " u_star = u + 0.5*dt*f(u)\n", + " return u + dt*f(u_star)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Like in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), we first need to set up the time discretization, then initialize arrays to save the solution and we are set to go! The only difference this time is that we are using _both_ Euler's method and 2nd-order Runge-Kutta to get a solution, to compare the two. " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# set time-increment and discretize the time\n", + "T = 15.0 # final time\n", + "dt = 0.01 # set time-increment\n", + "N = int(T/dt) + 1 # number of time-steps\n", + "\n", + "\n", + "# set initial conditions\n", + "u_euler = numpy.empty((N, 4))\n", + "u_rk2 = numpy.empty((N, 4))\n", + "\n", + "\n", + "# initialize the array containing the solution for each time-step\n", + "u_euler[0] = numpy.array([v0, theta0, x0, y0])\n", + "u_rk2[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + "\n", + "# use a for loop to call the function rk2_step()\n", + "for n in range(N-1):\n", + " \n", + " u_euler[n+1] = euler_step(u_euler[n], f, dt)\n", + " u_rk2[n+1] = rk2_step(u_rk2[n], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can get the position of the glider in time, according to both Euler's method and the 2nd-order Runge-Kutta method, by extracting the appropriate portions of the solution arrays:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "x_euler = u_euler[:,2]\n", + "y_euler = u_euler[:,3]\n", + "x_rk2 = u_rk2[:,2]\n", + "y_rk2 = u_rk2[:,3]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### How far will it fly before touching the ground?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As the $y$-axis measures the vertical coordinate with respect to the ground, negative values of $y$ don't have any physical meaning: the glider would have hit the ground by then! To find out if there are any negative $y$ values we can use the handy function [`numpy.where`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html). This function returns the **indices** of the elements in an array that match a given condition. For example, `numpy.where(y_euler<0)[0]` gives an array of the indices `i` where `y_euler[i]<0` (the `[0]` is necessary as `numpy.where` returns an array, which in this case contains a single line). If no elements of the array match the condition, the array of indices comes out empty. \n", + "\n", + "From the physical problem, we know that once there is one negative value, the glider has hit the ground and all the remaining time-steps are unphysical. Therefore, we are interested in finding the _first_ index where the condition applies, given by `numpy.where(y_euler<0)[0][0]`—do read the documentation of the function if you need to! " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# get the index of element of y where altitude becomes negative\n", + "idx_negative_euler = numpy.where(y_euler<0.0)[0]\n", + "if len(idx_negative_euler)==0:\n", + " idx_ground_euler = N-1\n", + " print ('Euler integration has not touched ground yet!')\n", + "else:\n", + " idx_ground_euler = idx_negative_euler[0]\n", + " \n", + "idx_negative_rk2 = numpy.where(y_rk2<0.0)[0]\n", + "if len(idx_negative_rk2)==0:\n", + " idx_ground_rk2 = N-1\n", + " print ('Runge-Kutta integration has not touched ground yet!')\n", + "else:\n", + " idx_ground_rk2 = idx_negative_rk2[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Do Euler and RK2 produce the same solution?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "An easy way to compare the numerical results obtained with the Euler and 2nd-order Runge-Kutta methods is using [`numpy.allclose`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.allclose.html). This function compares each element of two arrays and returns `True` if each comparison is within some relative tolerance. Here, we use the default tolerance: $10^{-5}$." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Are the x-values close? False\n", + "Are the y-values close? False\n" + ] + } + ], + "source": [ + "# check to see if the paths match\n", + "print('Are the x-values close? {}'.format(numpy.allclose(x_euler, x_rk2)))\n", + "print('Are the y-values close? {}'.format(numpy.allclose(y_euler, y_rk2)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Hmmm, they do differ. Maybe $10^{-5}$ is too tight a tolerance, considering we're using a somewhat coarse grid with first- and second-order methods. Perhaps we can assess this visually, by plotting the glider's path? Study the code below, where we are plotting the path twice, taking a closer look in the second plot by \"zooming in\" to the beginning of the flight." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n+eWXL1nerVu3i92pp06dMq1atTKNGzc2x9PpOsjI4cOHjYiY0qVLZysHb3mznwlAdyrQBfgFKOFF\n2RbAH8BB3IdmAAAgAElEQVT6VK/tWN2pu+z3T6Szbo6+L6WC3d69e02FChXMlClT/lm4caMxVata\nP4PF6tXGtGqVbpfuuHHjzI033mhOnTqV46q8PYdpd6qfrVixgh07djB69GhmzJgR8KcbBGIOoHr1\n6rF79252797tSP0qYxcuXCA+Ph4R4ZZbbvFY5tChQzRu3JiCBQuyaNEiChYsmOV6VtkDgDt06JCj\neEOBiNwLDAXijDGH7GWtRaRXqjIlxZ57xxiz0BhT1hhzY8oLSLml7Ul72bOBziPQ3HI+cEse4Hwu\nf/31Fy1atOC+++7jgQce+OeDqlXh55+tn17yey5168KXX6bbpTtkyBCqVatG79690x2q4mvaiPOz\npC1bWNysGU888USOHswbzHLlykXr5s2Z/9lnToei0ti/fz99+vRh7969DBo0iFq1anks16NHDzZs\n2MDIkSMvn0jTC8YYXnzxRWJiYhgxYkROww5qItIZmAG8CTQXkXvtRl0boLRdpgGwD5ia0abS/FQq\nrJw5c4a2bdvSpEkThg8ffnmBXKE14ktEeO2119iwYQMzZswITKXeXK4L9RdOdUecPGmOFi9uRleu\n7Mpu1NT233CDeaJ2bUdjyPZ+HjXKGOtm8ktfo0b5tnx6n/tASndqVFSUKVWqlClVqpTJly+fERFT\nu3Zt88MPP3hcL6U7tU6dOkZETJkyZcz27duzXP/kyZNNdHS0+fbbb3OaSqa82c/4sTsVOAokYXWF\npn4lASPtMjWAI3joIgVKATuB/fY6h+33ddKpL+dfmlJBJikpydx1112mY8eOrvv9uHnzZlOsWDGz\nfv36bG/D23OY4w2sQLycOgkeu+su80FUlNmxY4cj9QfS6aefNq/nzm3+/vtvx2II5192nsbEnT59\n2owYMcKIiGnVqpXHaWBSGnErVqwwvXv3NiJirr76avPbb795XffHH39soqOjzWeffeaTXDLjdCMu\n0K9wPq6Vew0fPtw0aNDAnDlzxhprtnix0yFlz4ULxniY2uTtt982VapUMadPn87WZr09h2l3qp8k\nfvghJz//nB969qRixYqOxRGo8Q55O3TgvyIsWbTIkfrV5fLmzcuzzz5LXFwcCxYs4PXXX0+3rIgw\nffp0evXqxZ49e2jcuLFXd0l9+umndOvWjffff5+2bdv6MHrlRm45H7glD3Aml9mzZzN37lzmzZtH\ndHw8tGkD9kTjOeHIfjlwAO65xxorl0rnzp2pUaMGw4YN82v12ojzhz17ONO9OxNr1aL13Xc7HU1g\nVKqEXHklG9980+lIVBovvvgiERERPP3005w7dy7DstOnT6d3797s3r2bxo0b88cff6Rbdu7cuXTt\n2pU5c+Zw++23X1z+yy+/cPLkSZ/Fr5Ryj9WrV/Poo4/yxRdfUGzHDmjbFmbPhpYtnQ4te666Cj75\nBHr0gPXrLy4WEaZNm8a8efNYvHix/+r35nJdqL8IcHfEsvffN/2KFDGHDh0KaL1O+7NvXzMpXz7H\nxjcEej8Hk/Se2JCiS5cuRkQunQXdXDrFSGp9+/Y1ImIqVKhgdu/efdn23nnnHVOgQAGz2EMXyDXX\nXOPxCRC+4s1+RrtTlQo6e/fuNWXKlLGebhAfb0yJEsbMn+90WL7x4YfGXH21MQcOXLJ48eLF5ppr\nrjEnTpzI0ua8PYeF1q0fIWD//v10HjSI9z7+mOLFizsdTkBd2bMnRefO5Ycffkh3KgvlH9b/+Yyf\nwDB37lzGjBlD7969KVCggMf1U7zyyiuAdWWucePGrFixgjJlygBWV0jPnj1p0qQJK1euZOXKlZes\ne/z4cZ/kpJRyj/Pnz9O+fXv69etH62bNoEoVePnl0L0Cl1b79taUKB06wJIlYN/l36xZM+Li4njs\nsceYOjWjm9WzyZuWXqi/CNBfsmfPnjX169c3o0ePvrjM6efSBbr+YcOGmccff9yR+gO1n4PNDTfc\nYIoXL24iIiJMnjx5TKlSpcztt99+WbmHHnrIREREmCJFipiIiAhTqlQpkzdv3ovLYmJizPnz5y9Z\np1+/fiYiIsJcccUVJiYmxmzdutWUK1fOREREGBHx+IqIiNArcSF4/goEp8+HvuKWPIwJXC4PPPCA\nadOmzT89NWmuWPmC4/slMdGYp5++7Dmrx44dM2XKlMnS3fvensP0SpyPGGMYMGAAJUuW5IknnnA6\nHMe0atWKhx9+mOeee87pUMLGhg0bvCo3adIkJk2alKVtT5s2jWnTpl2ybOfOnVnahlIqvH3wwQcs\nWLCAtWvX/jPhfcmSzgblD5GR8OSTly0uXLgwkyZNol+/fvz0009ERUX5rEox6XS/+JOI1AQGAA2A\nRCAS+Bp4xhhzJJN1cwMjsZ5XmAicAIYaY1ZmsI7xa5779jHto494ZcYMvv/+e6644gr/1RXkLly4\nQIkSJdiyZQslA/yfVETS7U5U7uHNfrbLuGISXb+fv5Tyo+3bt1O/fn0WL17MjTfe6HQ4jjHG0LJl\nS2JjY726Y9Xbc5hTjbgtWM8c7GqMOSMipYGlWHfL1jDGnM1g3VeBWKCBMeaoiNwHTAHqG2N+Tmcd\n/50EDx3iVI0a9D17ltHr1lGhQgX/1BNC2rVrR7t27bj33nsDWq824sKDNuKUCg1nz56lXr169OrV\ni/79+zsdjuN+++036taty08//UTZsmUzLOvtOcypKUaSgWHGmDMAxph9wHjgX0C6oxxFpDLQCxhj\njDlqr/sG1mznge+/O3aME7fdxvQTJ3hoyRKPDTin5xNyov4WLVqwcOFCx+pXSgUnt5wP3JIH+DeX\nRx99lIoVK9JPBBYs8Fs9KYJ9v1SsWJGBAwcydOhQn23TqUZcdWPM72mW7bd/Fs5gvTuwnjO4PM3y\n5VjPMMzno/gyd+QIp+vV470//qDm559Tu3btgFUd7FpVrkzpzz4jOTnZ6VCUUko5YP78+Xz++efM\n6tIFGT0arrvO6ZACzxho3Ro2bbq4aOjQoaxatYrvvvvOJ1U40p3qiYg8BLwIVDbG7EinzHvAXUBU\n6v4FERkETMB69uBaD+v5tjvi8GFO1avHG/v3U/add7j9jjt8t2032L2bY+XL8/uqVdSqUydg1Wp3\nanjQ7lSlgtuBAwe48cYbmTdpEnUfegjefRfi4pwOyxmvvgpvvgkrV1o3PmDd6DF27FjWrl1LpL0s\nrWDvTr2EiEQC9wGvp9eAsxUDTns4o52wfxb1R3xpfb1qFY8fPMi1c+dqA86Tq6/mzJVX8ssbbzgd\niVJKqQAyxtCzZ0/6dO1K3bFjYdiw8G3AAfTuDXnywEsvXVzUoUMH8uXLxzvvvJPjzQdFIw54EjgH\nPOx0IBkxxjBp0iS69O3LXV99RctWrTJdx+k+eqfqP9ukCXz1leP5K6WCh1vOB27JA3yfy2uvvcah\nQ4d48q+/oHJleDhwv9aDcr9ERMCMGfDss2BPzyQijB8/nieffJIzZ87kaPOOzxMnIj2wpguJTbnR\nIQNHgPxyef9CQfvn0fRWvCsujmq33gpYc7bUrFmT2NhY4J8dn9H748eP884777Bt2zYmTpxIYmLi\nxW17s364vT9fpw41P/qIPSdPBqx+FT5WrFhxyf6Pj4/nr7/+AiAhIcG5wJQKYzt27GDEiBF89913\nRF64ABUqgLhiVEPOVKoEgwfDwIHw5ZcgQv369bn55puZMmWKV1OOpMfRMXEi0gUYCsQZYw55UX4Y\n8H9AOWPMH6mWvwT0Bq40xpz2sJ45LMLuRo24Ye5ccnn7OKxz50ieOZO5EREMfvppOnbsyHPPPUd0\ndLR364ezxET+zpuX7155hZb33x+QKnVMXHjQMXFKBZ+kpCQaNWpE+/bteTiAV99Cxvnz8MEH0KXL\nxYbttm3bqF+/Ptu2baNIkSKXFA/6MXEici9pGnAi0lpEeqUqU1Lkkmb8p4ABGqfZXGNgsacGXIoj\ny5eze+tW/o6JYX3Xrly4cMFzQWNg/XoShw/nTMmSfD9sGB+8+ioffvghL7zwgjbgvJUrF18OGMCC\nVaucjkQppZSfTZ48mcjISB588EGnQwlOUVHQteslVyYrVarEHXfcwfjx47O9Wacm++0MvA48ARxM\n9dGtwD5jzGgRaQB8C0w3xvRPte4rWI22lMl+ewAvA/WMMR6fP5Tyl6wxhsWvvMIXM2bw8YEDNGvW\njAYNGnDVVVdRsGBBCrz/PpXfeotjInyemMjam26izdChtG3bFsnmJeHU3T5OcLL+zZs3Exsby4ED\nB7L9/WWFXokLD3olLnQ5fT70FbfkAb7JZevWrTRs2JA1a9Y4OuF9KO6XP/74g5o1a7Jp0yZKlSp1\ncbm35zCnxsRNAaKwJvhNzQCj7X+fBI4B+9KUeQAYBawUkQtYd6Y2T68Bl5qI8O/+/fl3//48tH07\ny5cvZ9WqVRw8eJATJ05QIV8+ytxxB1WbNaNNXBx9y5TJSY5h7zp7XqAtW7ZQpUqVgNQZiMaiUkop\nS1JSEj169GDcgw/qE4uyoWzZsnTp0oX/+7//Y/LkyVleP2jmifMnN/0lG2p69erF9ddfz0MPPeR0\nKCqM6JU4pQJj8uTJrHz3XeYkJCA//ADlyjkdUsg5ePAgVapU4ddff6V06dJACIyJU+GhadOmLF26\n1OkwlFJK+VhCQgLPP/00s5OSkEcf1QZcVnzwAdhjxkuWLEn37t0ZN25cljejjTg/c3r6C6frz5Mn\nD6tXrEj/RhI/cjr3cK7f6dxVcHLLceGWPCD7uRhj6N27N3Nr1yZv4cLWFBoOC6n9kpQEgwZZN1Ni\nPWf2rbfeYv/+/ZmseCltxCm/KlyoEBvPnCE+AA8/VkopFRhvv/02RXbt4rb1663HSkVocyJLOnWy\nph35+GMAYmJi6NKlCxMmTMjSZnRMnPK7nytXZme1atz+ySdOh6LChI6JU8p/jhw5wvXXX8/m667j\nyvvvh3vvdTqk0LRkCfTvD5s2Qe7c7N27lxtuuIHt27dTrFgxHROngkNkixbk/9//nA5DKaWUDwwZ\nMoROnTpx5cKF0Lmz0+GErmbNoHx5mDkTgDJlytCuXTteSvWc1cxoI87PnO6jD4b6K/TtS83Dhzl5\n4kTA63ZSONfvdO4qOLnluHBLHpD1XJYvX87y5ct55plnIDo6qB6rFZL75dlnYeHCi2+HDh3K1KlT\nvV5dG3HK7/JVqcKZvHn5efZsp0NRSimVTefOnaNfv35MmTKFK664wulw3KFOHUg11KhSpUpZmrBY\nx8SpgPg2NpbfChakx+efOx2KCgM6Jk4p33vuuedYs2YNn+t53K82bdpEtWrVvDqHaSNOBcT3339P\nv379iI+PdzoUFQa0EaeUb/3+++/cXasWH69axTUBegJPONPJfoOE0330wVL/zTffTEJCAocOHQp4\n3U4J5/qdzl0FJ7ccF27JA7zPZdCAAXwVFcU1mzf7N6AccNN+8ZY24lRA5MqVi9tuu41ly5Y5HYpS\nSqks+OKLL2j2448UrVMH7rjD6XDcLTk5S8W1O1UFzJQpU9iwYQOvv/6606Eol9PuVKV848yZM9z+\nr3/xxcmTRG3cCGXKOB2Se/35JzRoAD/9hOTLp92pKrg0bdqUr7/+Gv2FpJRSoWHcmDFMOXOGqLFj\ntQHnb0WKQKVKF+eN84Y24vzM6T76YKq/SpUqtDh+nF3ffx/wup0QzvU7nbsKTm45LtySB2Scy86d\nO9k0cSLlKlSAXr0CF1Q2uWK/DB8O48d7XVwbcSpgRISuhQuza9o0p0NRSimVicGDB1N92DDyrFih\nz0YNlFtugQoVvC6uY+JUQP2vVy9yffUVt+zZ43QoysX8PSZORGoCA4AGQCIQCXwNPGOMOZLBevmB\nB4BWQF77lQzMNMZMTGcdPX+pgFuyZAl9+/Zl48aNREdHOx1OeFm6FGnaVOeJS6EnweCxb9068t58\nM4XOniUiKsrpcJRLBaARtwX4BehqjDkjIqWBpVi9GzWMMWfTWe96YD3wX2PMAntZS+BzYJQx5jkP\n6+j5SwXUhQsXqF69OmPHjqVt27ZOhxOWdJ64IOF0H32w1V+6Vi0O5s7N9vfeC3jdgRbO9TudewAk\nA8OMMWcAjDH7gPHAv4CWGax3EnglpQFnr7sAq0HYzn/hBge3HBduyQM85zJ16lTKli1LmzZtAh9Q\nDrhpv3hLG3Eq4PZUqcKR9993OgylcqK6Meb3NMv22z8Lp7eSMSbBGPOgh48KAYGbCVupdBw+fJiX\nn3mGSZMmIUH0cHvlmXanqoBbNGkSi+bM4cUA3aWqwo8T88SJyEPAi0BlY8wOL9fJDwwH7gP+Y4y5\n7Ll0ev5SgTS6Qwcemj+fwocPQ968TocTtrw9h2kjTgXc0aNHKV++PEeOHCFKx8UpPwh0I05EIrHG\nun1vjOnj5Tr/A24GdgC9jDGr0imn5y8VEBt+/pm/b76Zmk8/Tf7HHnM6nLCmY+KChNN99MFYf9Gi\nRbn22mv58ccfA153IIVz/U7n7oAngXPAw96uYIxpCOQDxgBLRWSgn2ILGm45LtySB/yTizGGL+65\nh0olS5J/yBBng8omN+0Xb2kjTjmiSZMmLF261OkwlMoxEekBtMfqDj2TlXWNMUnGmLeB2cAEESnp\njxiVysxXc+Zw/7ZtXPnee5Arl9PhKC9pd6pyxFdffcWYMWP45ptvnA5FuVCgulNFpAswFIgzxmR6\nY4KI5AaSjTFJaZb3B14Gmhljlqb5zHTr1o1y5coBULhwYWrWrElsbCzwz9UHfa/vs/v+woULJNx9\nN/+pU4cdw4c7Hk84vk/5d0JCAgCzZ8/WMXEptBEXfE6ePEmpUqU4dOgQ+fLlczoc5TKBaMSJyL3A\nMFI14ESkNRBjjJlhvy8JHEo5AYnIU8BZY8yYNNsaBwwBbkp7c4Oev5S/TZw4kfjPP2f23LlQvLjT\n4Sh0TFzQcLqPPljrv+KKK3i5SBF+HzUq4HUHSjjX73Tu/iYinYEZwJtAcxG5127UtQFK22UaAPuA\nqalWNcAAEamSalsNgb7AN57uTnUTtxwXbskD4LPPPuP5559n2NSpId+Ac9N+8ZZ2fCvHFLrxRpK+\n/DJLD/tVKkhMAaKwJvhNzQCj7X+fBI5hNeRSzMZ61NZ7Yk3ClQtIAp63t6lUQL399tvcddddVK1a\n1elQVDZod6pyzOqPPuK6jh0pfP68PlxZ+ZQT88T5i56/lL9s27aN+vXrs2nTJkqUKOF0OCoV7U5V\nQe+mtm05mJzMCb25QSmlAu6xxx5jyJAh2oALYdqI8zOn++iDuf6oqCg2XX01u2fODHjdgRDO9Tud\nuwpObjku3JDHD3Pm0GPRIm6sWdPpUHzGDfslq7QRpxyV3KQJF1Z5nKheKaWUHyQnJ/N3v36UbdmS\nPNHRToejckDHxClHrfvhB7p068amzZudDkW5iI6JUyp9y558ksrjxhHz559E5M/vdDjKAx0Tp0JC\nzVq1OHDwIPv27cu8sFJKqRw5d+oUpceO5djjj2sDzgW0EednTvfRB3v9kZGRxMbGsmzZsoDX7W/h\nXL/Tuavg5JbjIpTz+K5bN84XLMj1I0cCoZ1LWm7KxVvaiFOOi4uL80sjTiml1D+OHTvGkkWLyP/a\nayCuGG0Q9nRMnHLcli1b+Pe//01CQgKiJxblAzomTqnLPfroo5w4cYLp06c7HYrKhLfnMH1ig3Jc\n5cqVKXH2LH8sWsQ1LVo4HY5SSrnOrl27mDlzJr/++qvToSgf0u5UP3O6jz4U6hcR+pUvz3kfP0c1\nFHJ3a/1O566Ck1uOi1DM44knnmDAgAHExMRcsjwUc0mPm3Lxll6JU0Gh4J13UnzkSEhO1kdwKaWU\nD8XHx7NkyRK2b9/udCjKx3RMnAoKf/zxB0nly3PN2rVE3Hij0+GoEKdj4pSyJSYy6uabKd6zJwMf\neMDpaJSXdJ44FVLKli3Lqiuu4MDbbzsdilJKucbmIUNouWULvXv3djoU5QfaiPMzp/voQ6n+v2+5\nhfMLFjhStz+Ec/1O566Ck1uOi1DJI/mvvyg+dSrHR40iKk8ej2VCJRdvuCkXb2kjTgWNkh078j/t\nNlJKKZ/Y0q0bqwsVotmwYU6HovxEx8SpoHH48GGuvfZajhw5Qu7cuZ0OR4UwHROnwt35bds4VaUK\nm95/nwZ33+10OCqLdEycCjnFixenfPnyrF271ulQlFIqpG3s25f5FSpoA87ltBHnZ0730Yda/XFx\ncSxdutSRun0tnOt3OncVnNxyXAR7HidOnKDNxo1Uf/fdTMsGey5Z4aZcvKWNOBVUmjRp4rNGnFJK\nhaMXXniBxs2bU71OHadDUX6mY+JUUPn777+JiYnh8OHD5M2b1+lwVIjSMXEqXB08eJCqVauybt06\nypUr53Q4Kpt0TJwKSQUKFOCeChXY17+/06EopVTIeeaZZ+jatas24MKENuL8zOk++lCsv2rDhhT7\n+GPI4dWHUMzdLfU7nbsKTm45LoI1j9927OCDDz5gxIgRXq8TrLlkh5ty8ZY24lTQqXnXXZw+dw62\nbHE6FKWUCg1Hj5Lr5psZ0r8/xYoVczoaFSA6Jk4FnXPnzvH+FVdw9zPPkO+xx5wOR4UgHROnws2h\nzp1ZMG8edx06RP78+Z0OR+WQjolTIStPnjzsqVKFEx9/7HQoSikV/HbsIM+HH2JGjtQGXJhxtBEn\nIjEislBEkp2Mw5+c7qMP1fqv+O9/KbRhA5w/H/C6fSWc63c6dxWc3HJcBFseh+67jxlXXEHnRx7J\n8rrBlktOuCkXbznWiBORdsBKoByQpb4CEUkQkfUeXk38EasKvAZt29LmmmtAH7+llFLpMitXkrx6\nNWUnTiQqKsrpcFSAOTYmTkRWAp2Bp4CuxhivG5QistMYUz4L5XVMSYhJSkqiWLFibN68mVKlSjkd\njgoxOiZOhYtlY8Ywb8YMJm3fTkSEjpByi1AYE9fQGJPgYP0qiEVGRtKoUSOWLVvmdChKKRWUEhMT\n6f/mm7SaNk0bcGHKsb0eLn9aOt1HH8r1x8XF5agRF8q5h3r9TueugpNbjotgyWPWrFmULl2a5s2b\nZ3sbwZKLL7gpF2+FbNNdRMaKyEoR2Soii0SkjdMxKd+Ki4vT56gqpZQHp0+fZvTo0YwZMwYRV4wc\nUNng+DxxIvImWR8TtwZ4wRgzV0RyAb2Bl4EHjDFTPZQPlwt/rmKMoXRMDKs//ZRr6tVzOhwVQnRM\nnHK7sWPH8sMPP/CxTsXkSt6ew3IFIhhfM8bUTfXvRGCaiLQEnheR140x55yLTvmKiNCldm2KtGkD\nhw+D/rWplFKcfP99Xhs3jvkrVzodinJYSDbi0vED0BKoCqxP+2H37t0vPhC4cOHC1KxZk9jYWOCf\nfnR/vE/dRx+I+txW/3V33MHyJUso+N57xHbunKX108YQ6PzDuf74+HgefvjhgNb3119/AZCQkIAK\nTitWrLi430KZo3ns3In07Mkd7dpx3XXX5Xhzbtkn4K5cvGaMcfQFvAkkZ6F8NJDfw/IRQDJQ28Nn\nxinLly93rG431J+QkGDej442yS+/HPC6cyqc63c6d/v/vOPnN1+8nDx/+ZrTx4WvOJnHqf/+1zyf\nN6/ZvXu3T7bnln1ijLty8fYcFixj4roYYyLT+bwkcMhOChHpDtxijOmbptwnQAugmDHmdJrPjNN5\nqux7pEQJnrrhBgrpTQ7KS/4eEyciNYEBQAMgEYgEvgaeMcYcyWC9GKAvcDvWjWW5gE3AKGPMr+ms\no+cvZfnhB441bsyEXr14btIkp6NRfhQK88Sl5jFQEWkA7APS3qzQSURqpyrXAfgvMC5tA06Fvojm\nzYletQoSE50ORakUHwCFgVrGmOpAM6A5sFJEojNYbxTQEWhpjLkBqAkkAWtE5Ho/x6xCmTGcHjCA\n0RERDB450uloVJBw8rFb00RkJ3AnYERkp4j8LiKpn7P0N3AMqyGXYgEwHutmhvX2NoYCfYwxTwUo\nfK+lHp+k9WdPnTZt+K54cTh0KOB150Q41+907gGQDAwzxpwBMMbswzov/QtrbG56DDDWGLPXXu8c\n8BiQF+sue1dzy3HhSB7r1nF4+3Zihg+nSJEiPtusW/YJuCsXbzl2Y4Mxpr8XZTYAxdIsOwQ8a79U\nGGjcuDGVTpzgSIkSrroTR4W06sa6Mz61/fbPwhmsNxCrAZjV9VSY+9EYOuXLxwb7hiGlIAjmiQsE\nHVMS+qpXr86MGTOoW7du5oVV2HNinjgReQh4EahsjNmRhfVqYN1Rf78xZqaHz/X8FeaMMTRt2pQO\nHTrQu7frL9gqQm9MnFIZ0qc3qGAmIpHAfcDrWWnA2XoDvwJv+zww5QpLlixhz5499OzZ0+lQVJDR\nRpyfOd1H75b6mzRpkuVGnFtyD8X6nc7dAU8C54As9XWJSBxwN3C3MeaCPwILJm45LgKZR3JyMsOG\nDeP5558nVy7fDyhxyz4Bd+XiLR1ipEJCo0aNuOeeezh79izR0Rnd/KdUYIlID6A9EJtyo4OX69XA\nmiezjTFmS0ZlnZqsXN+nP7l0QOozhlGjRnH27FnatWvnl/ri4+P9F7++9/p9yr+zOlm5jolTIaNx\nnTq8UbUqFd580+lQVJAL1Jg4EemCdXd8nH3TlbfrVQfmAfcaY1ZlUlbPX2EqqXt3BixcSMcPPgi/\nJxGEOR0Tp1ynYbNmlPjwQ9DHKqkgICL3kqYBJyKtRaRXqjIlRS596K+nBpyIxIjIq4GLXgW9n37i\n7KefcuiGG7QBp9KljTg/c7qP3k31N46LY2XevLBkScDrzo5wrt/p3P1NRDoDM7C6Q5uLyL12o64N\nUNouc9lk5SJyA7AUWARUSLVeB6ByQJNwgFuOC7/nYQyJjzzCU8YwasIEv1blln0C7srFWzomToWM\n+vXr8/DJkzRZsIDcvXplvoJS/jMFiMKa4Dc1A4y2/32SyycrfwooAvSxX6mt8HWQKkTNn8+fmzZx\nuBr+3e0AACAASURBVG1batSo4XQ0KojpmDgVUjo0bMjbGzYQdewYRHp83K5SjswT5y96/goziYkk\nVqnCvQcOMOaXXy7e0KLCi46JU65Uo2VLjubODT/95HQoSinle2fO8HmJEpS+/35twKlMaSPOz5zu\no3db/XFxcQy58kqoUCHgdWdVONfvdO4qOLnluPBnHtsPHKD31q08PmKE3+pIzS37BNyVi7e0EadC\nSq1atZh/5AiHkpKcDkUppXzu8ccfZ/DgwRQrVizzwirs6Zg4FXLatm3LPffcQ8eOHZ0ORQUpHROn\nQtGaNWu488472bZtG/ny5XM6HOUgHROnXCsuLo5ly5Y5HYZSSvmMMYahQ4fy1FNPaQNOeU0bcX7m\ndB+9G+uPi4vz6jmqbsw9VOp3OncVnNxyXPg8jw0b+N+kSRw+fJju3bv7dtuZcMs+AXfl4i2dJ06F\nnGrVqnHy5EkSfv+dcl7c4KCUUkHLGEy/fixMSGDsq6/65SH3yr10TJwKSZ06duTV5csp9NNPUKaM\n0+GoIKNj4lTI+OgjjgwaxF3lyrHsm29I85Q2FaZ0TJxytbimTdkcHQ0LFzodilJKZc/ZsyQ/+ij9\nT59m7IQJ2oBTWaaNOD9zuo/erfU3bdqUd44dw3z5ZcDr9lY41+907io4ueW48FkeL73Ejjx5iGja\nlDp16vhmm1nkln0C7srFW9r5rkJSuXLl+KlkSZKXLCHy3DnIk8fpkJRSynuJiSS+9hpdjhzhveee\nczoaFaJ0TJwKWY888ghDPvqIMrNmQdOmToejgoiOiVOh4ME+fYjMl4+JEyc6HYoKMjomTrleixYt\n+CwyErZvdzoUpZTKki1btvD+J5/wxBNPOB2KCmHaiPMzp/vo3Vx/o0aNeOzPPzmWzpMb3Jx7sNfv\ndO4qOLnluPBFHsOGDWPYsGEULVo05wHlgFv2CbgrF29pI06FrOjoaBo2bOjVxL9KKRUsvvnmGzZs\n2MDAgQOdDkWFOB0Tp0LaSy+9RHx8PG+88YbToaggomPiVFBKTCTZGOrUq8fgwYPp1KmT0xGpIOXt\nOSxLjTgRWQj8DiwHVhhjDmc/xMDRk6B7bd++ndjYWPbs2aNzLKmLPJ0A9fylHPfii2xetIgex4/z\n/fff6zlLpctfNzb8H3AWGAbsE5GNIvKSiLQTkejsBOp2TvfRu73+a6+9lujoaH755ZeA152ZcK7f\n6dzToecvhwXpcZFl2crj8GHM//0f/Tds4MUXXwyaBpxb9gm4KxdvZakRZ4z5xhgzyBhTGyiGdTK8\nEpgN7BaRO/wQo1LpEhH+85//8Msrr8BPPzkdjgpiev5SjnrySX78178o1rAh9evXdzoa5RI+GRMn\nIg8C3wOTgJHGmKAaaa7dEe725ZdfsuuRRxgQGwszZjgdjgoCWRkTp+cv5Xfx8SQ1a0alpCQW//gj\nFStWdDoiFeT80p0qIk+JyHr7Z4XUnxljfgQaAS2yFqpSOdO4cWNm7NtH8vz5oL/sVDr0/KUcYQw8\n9BDvVapEu/vu0wac8qmsjomLBIYC5YFfRGS7iKwD6tmfXwvs9GF8Ic/pPvpwqD9//vwUr1+f0yIQ\nHx/QujMSzvU7nXs69PzlsCA9LrIsS3kYQ0LLlgzbsSMoJ/Z1yz4Bd+Xiraw24g4AGGO6AaWAB4Bn\nge4iUhj4Baji0wiV8kKLFi34oWhRmD/f6VBU8NLzlwo4I0KPhQsZOXo0hQoVcjoc5TJZHhMnIg3t\n9b7z8FllYJ8x5m8fxecTOqbE/TZu3MjzTZrwTvnyyOrVToejHJbeeBI9f6lAmzdvHk888QTx8fHk\nypXL6XBUiPB2TFyWjyhjzP8y+GxrVrenlC9UrVqV1VFR7L37bq5yOhgVtPT8pQLp3LlzDBkyhGnT\npmkDTvmFPnbLz5zuow+X+kWEZq1aMSfVFYtwyT0Y63c6dxWc3HJceJvHlClTqFq1Ks2bN/dvQDng\nln0C7srFW9qIU67RunVrvvzyS6fDUEqFu+XLOf7KK4wdO5YXXnjB6WiUi+mzU5VrnD59mlKlSrFr\n1y6uvPJKp8NRDtJnpyrHnD8P1avz8tVXk1CjBhMmTHA6IhWC/PXYLaWCVr58+bjttttYtGiR06Eo\npcLV5MkcL1aMZzds4Mknn3Q6GuVy2ojzM6f76MOt/jZt2lhdqklJYZd7MNXvdO4qOLnluEg3j717\nMWPH0uv0aZ57/vmQmFLELfsE3JWLt7QRp1ylVatWrJw/H1O+PCQmOh2OUiqcDBnCxoYN2RkZSY8e\nPZyORoUBHROnXOfGG2/k27NnKTB1KjRp4nQ4ygE6Jk4F3JkzXLjnHqqsWcPbH39MvXr1Ml9HqXTo\nmDgVtlq3bs3K4sXhs8+cDkUpFS7y5mXkddfRoFkzbcCpgNFGnJ853UcfjvW3adOGV/buZcWcOdbD\npx0Sjt99MNStgpdbjgtPeWzbto0ZM2YwZsyYwAeUA27ZJ+CuXLyljTjlOrVr12b133+TaAz8/LPT\n4SjlkYjkEZEJIpIkIrc5HY/KPmMMDz744P+3d+9xWo37/8dfn6YSQg5b0rZLNkVp56yTptAvKhqF\n3VY6SV9ySnRAoXTYO8VOiQ46EkK7ohwrkaRiHCKiE1I5ROfDNNfvj3UPY5pqprnv+7rXfb+fj8c8\npnvNWvP5XKs16/7c67rWtejZsyflypXznY6kEI2Jk6TUvn17Oq1dywXt2sG11/pOR+IsHmPizKwG\n0BmoDWQBacCbQF/n3E8H2LYaMBHIBs4C0p1z8/axrs5fCW7q1Km/Px+1RIkSvtORJKAxcZLSmjRp\nQq/sbBVwEkvPAmWAc5xz1YFLgYbAfDMrdYBtuwNdgaGxTVFiatEitq1aRZcuXRg2bJgKOIk7FXEx\n5ruPPlXjX3rppbz77rts2rTJS3xI3X3vO3YcZQPdnXPbAZxza4FBwKnA5QfYto1zbjaQFHfQFlSy\nHBdz586FLVugRQue7dWLCy+8kPr16/tO66Aky/8JJFdbCkpFnCSlI444gmrVqjFr1izfqUjyqu6c\nW5Fn2Q+R72X2t6FzLjs2KUncPPAAv511Ft1mzdLzUcUbjYmTpDVy5EjmzJnD5MmTfaciceZrnjgz\nux0YAlR2zn1dgPXbAk+hMXHh8vHHuEsv5ZrTT6dWs2Z06dLFd0aSZAp6DlMRJ0lr/fr1VKlShXXr\n1nHIIYf4TkfiyEcRZ2ZpwEfAAudcpwJu0xYVceGyZw/UrMmis87ihvffZ8mSJRQvXtx3VpJkdGND\ngvDdR5/K8b/44guqVq3Kh8OGgYdu1VTe977b7kkvYCdwh+9EElVSHBfz5/PWzp1kvPwyI0aMCH0B\nlxT/JxHJ1JaCCvfRJ3IAGRkZfPj669ScMQMuu8x3OpKkzKwd0ILgitr2aP/+tm3bUrFiRQDKlClD\njRo1SE9PB/5449LrOL3OzubBI46g0XnnUatWLf/5FPF1ZmZmQuWTqq9z/r1q1SoKQ92pktS++eYb\n6tesyerdu7Fly6BsWd8pSRzEszvVzFoD3YCLnXMbCrltW9SdGiqLFi3iiiuuYOnSpRxzzDG+05Ek\nFYruVDMrZ2avmpnu1JKYOOWUUyhzwgn8eN55MHWq73QkyZhZK/IUcGbWxMw65lqnrJml1FQiySor\nK4sbb7yRQYMGqYCThOCtiDOzq4D5QEWgUB8zzayEmfU1sy/M7FMzm29mtWORZ1H57qNP5fg5sTMy\nMph56KEwZYqX+L4kwr5PZmZ2HTAKGAc0NLNWkaKuKXBiZJ3awFpg+IF+XQxTTRhhPy6GDh3Kscce\nS/ny5X2nEjVh/z/JLZnaUlA+x8R1BRoADwCnFXLbx4B0oLZz7mcz6wC8bma1nHN6WKb8SUZGBv+a\nMIE2GzdiP/4If/mL75QkOQwFShJM8JubAx6M/HsLsJGgkPudmV0fWad0ZP1nzWwHcL1z7p1YJi0H\nYdkyVpUqRf/+/VmwYAHff/+974xEAI9j4iwy0MPMxhGcuAp0VdDMKgOfAx2cc+NyLf8MWOWca5LP\nNhpTksKcc1SqVInX+/Xj1ObNQdONJD1f88TFgs5fns2cibvtNppUqkTdBg3o0aOH74wkBST8mLgi\nnJUyCLoe5uRZPoegS+OwIiUmScfMyMjI4Jnly1XAiUjB/fYb/N//8dbVV/P9hg107drVd0YifxLG\neeKqA3uANXmWryToHj4j7hnth+8++lSOnzt2RkYGU+N8Y4P2vcifhe646NqV7fXr02rsWEaPHv37\nA+5D1479UFvCLYxF3HHAtnyu5OU86fzYOOcjIVCrVi3WrVvH118f8ElIIiLw6qvw5pvcsm0b1113\nHeeee67vjET24n2euIMYE/c6cIFz7qg8y28ARgKXOedey/MzjSkROnfuzF//+ld69uzpOxWJMY2J\nkyJxDmrW5L3LL6fNxIl8/PHHHHaYRupI/BT0HBbGJzb8BBxue5/Zjox8/zm/jTTjuV5fc8013HHH\nHdQ880wwI71x44TKT68P/nVmZia//vorQKFnPBfZixkbX3qJq887j8mTJ6uAk8TlnPP6RTDHUnYh\n1u8OZAN/y7P8MYLnFh6WzzbOlzlz5niLnerx88bOyspy5cqVc79efbVzgwfHPX68JdK+j7fI37z3\n81s0vnyev6LN93FRGG3btnWdO3fO92dhaseBqC2JqaDnsEQZE7fPvoJ8ZjufGlm/fp5V6wOvO+e2\nxSA/SQJpaWm0aNGCGYcfDs884zsdEUlQM2fOZO7cuQwcONB3KiL7ldBj4iKznc8DnnTO3Zxr+QiC\noi1nst92wDCgpnPuk3x+j/PdTkkM7777LrfcdBOZP/8Mc+ZA5cq+U5IY0Jg4OVi//PIL1atXZ+LE\nidSvn/dagUh8JPw8cWb2uJmtBJoDzsxWmtkKMyuRa7XN5DPbOXArMAWYb2afAjcADfMr4ERyq1Wr\nFj9t3MjPl14Kkyf7TkdEEsVHH8Hu3dx22200b95cBZyEgs/Jfm92zp3snDvCOZcW+Xcl59zuXOt8\n4pw7zjn3UJ5ts5xzvZxzVZxzZzrnajvn5se/FQfme96aVI6fX+xixYpx9dVX81LJkkGXagyvcGjf\ni/xZwh4XK1ZAw4a8Pnw4H3zwAQMGDNjv6gnbjoOgtoRbooyJE4mba665hkfnz4emTWHrVt/piIhP\nWVnQqhWbOnfm+oEDGT9+vO5GldDwPiYuHjSmRHLLzs6mYsWKzJw5k2rVqvlOR2JAY+KkwPr0wb3z\nDk1LlKDG2Wfz0EMPHXgbkRhL+DFxIr7kdKk+//zzvlMREZ/eew+GD2digwas//FH7r//ft8ZiRSK\nirgY891Hn8rx9xf72muv5bnnniOWVzi070X+LOGOi3Hj+O6BB7hz8GAmTZr0+7NRDyTh2lEEaku4\nqYiTlHTeeeeRlZXFRx995DsVEfFk59ChXDl6NH369KGyphuSENKYOElZvXv3ZsuWLQwZMsR3KhJl\nGhMnBdG1a1e+/vpr/ve///HnOeVF/ErmZ6eKRMV1111Heno6g44+mrS//hXatfOdkojEyaxZs3j+\n+efJzMxUASehpe7UGPPdR5/K8Q8Uu3Llypx00kl8vGcPjBkT9/ixlsj7XlJTohwX69ato3379kya\nNIljjz220NsnSjuiQW0JNxVxktJat27N0OXLIedLRJKTc9C7N3vWraNVq1Z07NiRevXq+c5KpEg0\nJk5S2oYNGzjttNPY0KoVJcuUAc0RlRQ0Jk72MngwPPccfRs2ZM577/HGG2+QlpbmOyuRfGmeOJEC\nOP7446lduzZvlC8P48fDnj2+UxKRaJszBwYN4p3bbuOJsWN55plnVMBJUlARF2O+++hTOX5BY7dq\n1Yph8+bB6afD11/HPX6shGHfS2rxclysWQP/+hc/Dh3KNXffzaRJkzjhhBOK9CuT6fhWW8JNRZyk\nvCuvvJL333+fdRMmgOaKEkkeO3ZA8+Zk3X47VzzyCLfeeiv169f3nZVI1GhMnAjQrl07qlatyl13\n3eU7FYkCjYkTALKzYepUbn7zTX5Yt44XX3yRYsV07UISn8bEiRRC+/bteeqpp2L6GC4RibNixRi7\naRNvzZ7N+PHjVcBJ0tERHWO+++hTOX5hYtepU4esrCwWLlzoJX4shGXfS+qI93GxaNEiunXrxtSp\nUznyyCOj9nuT6fhWW8JNRZwIwaXrnKtxIhJ+33//PRkZGYwZM4YzzjjDdzoiMaExcSIRa9eupVq1\nanw3axaHzZ4NPXv6TkkOksbEpajvv4ddu9hWtiwXXXQRLVq0oEePHr6zEim0gp7DVMSJ5NKkSRNa\nN2rEtffdBytXwtFH+05JDoKKuBS0aRPUrUt2+/b8a8ECSpQowYQJE/RcVAkl3diQIHz30ady/IOJ\n3b59e0a88AJcdhlMnBj3+NEUtn0vyS9mx8Xu3XD11VCrFr3Wr2fNmjWMGjUqZgVcMh3faku4qYgT\nyaVJkyZ8/vnnfNekCTz5ZPC8RRFJXNnZ0LYtlCzJqOrVeX7KFKZPn06pUqV8ZyYSc+pOFcnjzjvv\n5JCSJRkwbRqMGgV16vhOSQpJ3akpwjm4/Xb46CNe69qVtjfdxDvvvMPf//5335mJFInGxOWik6AU\nxrJly0hPT+e7u+6i+OrV8NhjvlOSQlIRl0LGjmXxSSdx+b/+xbRp06hZs6bvjESKTGPiEoTvPvpU\njn+wsatUqcIZZ5zB1BNOgEcfjXv8aAnjvpfkFovj4vMLLqBJq1aMHTs2bgVcMh3faku4qYgTycdN\nN93E8NGjIS3Ndyoisg+rV6+mUaNGPPzwwzRu3Nh3OiJxp+5UkXzs3r2bChUq8Oabb2qi0BCKdXeq\nmdUAOgO1gSwgDXgT6Ouc++kA25YAegMtIttuAro55+bvY32dv/Kxdu1a0tPT6dy5M7fffrvvdESi\nSt2pIkVQokQJOnTowBNPPOE7FUlMzwJlgHOcc9WBS4GGwHwzO9BtkY8BVwN1nHNnAk8Br5vZP2KZ\ncFIYPRq+/JJ169bRoEED2rVrpwJOUpqKuBjz3UefyvGLGvvGG2/k6aefZuvWrV7iF1WY930IZAPd\nnXPbAZxza4FBwKnA5fvayMwqAx2Bgc65nyPbjgFWAv1inbRvRTouBg2C/v35adMmGjRowHXXXUdP\nT09VSabjW20Jt+K+ExBJVCeddBJ16tTh2WefpUPx4nD66XD++b7TksRQ3TmXlWfZD5HvZfazXQZg\nwJw8y+cAnczsMOfctijlmBycgwcfhGefZf2UKVzcpg0tWrSgV69evjMT8U5j4kT249VXX+Wee+5h\nSZs22Pz58PzzvlOSAvAxxYiZ3Q4MASo7577exzrPEHSllsx9UjKzO4GHgfOdc4vzbJO656+sLLjl\nFli4kG9HjaJBy5a0bduWe+65R4/TkqSmMXEiUdCwYUO2bdvGe5Urw+zZwfNURfIwszSgAzB6XwVc\nxHHAtnyqsk2R78fGIr/QeuMNWLGCr8eMoU7z5txyyy3ce++9KuBEIlTExZjvPvpUjh+N2MWKFeP2\n22/n4SefhI4dYciQuMYvirDv+5DpBewE7vCdSCIr9HFx2WUsfPBB6jZuTO/evRPmJoZkOr7VlnDT\nmDiRA7j++uvp3bs3q7p1o+Lll0Pv3vCXv/hOSxKEmbUjmC4kPedGh/34CTjc9u4jPTLy/ef8Nrq6\nYUOq1qoFQJkyZahRowbp6enAH29cyfh6+vTptG7dmh49etChQwfv+eS8zszMTIj9E43XmZmZCZVP\nqr7O+feqVasoDI2JEymAHj16sH37dv67bRucey506uQ7JdmPeI2JM7PWQDfgYufchgKs3x0YAFR0\nzq3Jtfwx4Ebg6Lw3NpiZW1+sGNsnTaJCy5bRbUCCcs4xfPhw+vfvz7Rp0zjvvPN8pyQSV3p2ai4q\n4qSovvvuO6pXr87KZcs46vjjfacjBxCPIs7MWgHdyVXAmVkToJxzblTkdVlgQ84JyMxOA74A2jvn\nxuf6XZ8BK51zTfOJ417r0oWz//tfNg8axMl33hnLZvmxcyf06AHt27PztNPo3LkzCxcuZNq0aVSq\nVMl3diJxpxsbEoTvPvpUjh/N2H/9619p1KgRYyZN8hL/YCTLvk9EZnYdMAoYBzQ0s1aRoq4pcGJk\nndrAWmB4znbOua+AkUBPMzs2sl474GTg3n3FazhkCJn9+1Pi7rv59OabY9OoOMj3uPjmG6hVC9as\nYV2JEtSvX5+NGzeyYMGChC3gkun4VlvCTUWcSAHdcccdDB06lKysvNODSQoaCpQkmOB3Qq6vG4Cc\ny/5bgI0EhVxutwJTCJ7u8Glkm4bOuU/2F/CS7t35Yfp0OrzwAkOGDCH0vQvOwciRcOGF0LYtb3Tq\nxNkNGnDZZZcxZcoUSpcu7TtDkYSn7lSRQqhbty4333wzLVNkbFJY+ZgnLlbynr/WrFnDFVdcwTnn\nnMOwYcM49NBDPWZXBNdeC998w+7Ro+n93HNMnDiRCRMm0KBBA9+ZiXinMXG5qIiTaJk1axbdu3fn\n448/1lxVCSyZiziALVu2cMMNN7B06VKeffZZqlat6im7IvjwQ5YWK0a7G2/k2GOPZfz48Ryv8aYi\ngMbEJQzfffSpHD8WsRs1akRaWhqvvPJK8DDuKVPiGr8wkm3fyx9Kly7N5MmT6dKlC+np6XxyySW4\nWbN8p3VAOcfF7t27eWjmTNIvvZSOHTsyc+bMUBVwyXR8qy3hpiJOpBDMjJ49e9K/f39chQrQqxfs\n2eM7LUlBZkb79u155513GLNyJWubN2drejp8+aXv1P7s008hO/v3l7Nnz+bss89m/vz5fPjhh3Ts\n2FFXtUUOkrpTRQppz549nH766YwaOZJ6994bPNtRY+QSSrJ3p+a1e/duHhs8mF/79qU7UKplS9J6\n9oRTTolPkvlZuBAGDYL582HePFakpXH33Xfz4YcfMnjwYDIyMlS8ieyDxsTloiJOom3MmDFMmTKF\nV7t0gS5dgqsNaWm+05KIVCvicqxevZp7bryRCxcupGbDhtR45hmKF4/jg3l27oRp0+DRR2HdOrjt\nNlZdeikPPfIIU6dO5c4776Rr166UKlUqfjmJhJDGxCUI3330qRw/lrFbt27N0qVLWXLssXDkkfmO\njdO+l3irUKECT7/2Gv+YPp07162jWrVqTJo0iV27dsUngalT4Ykn4K67WPLss7TNzOTcevU48cQT\nWb58ObVr106KAi6Zjm+1JdxUxIkchJIlS9KtWzf69O0L/frBokW+UxL53UUXXcTbb7/N0KFDGTt2\nLH/729+47777WLNmDVx1FXTvDm+8Ab/8UvhfvmsXfPVVvj/6tVEjxl1/PRf+5z80v+YaqlSpwldf\nfUWfPn045phjitgqEclL3akiB2nHjh2cdtppvPDCC5x//vm+05FcUrU7dV+++OILRowYwaSJE7m6\nfHnalCvHWRs3Umr5cqx0aaheHV55BYrl+Vy/Zw8MHAg//ABr18KKFUEBV61aMObNjNWrVzN79mxe\nfPFF3nnnHdLT0+nQoQONGzcmTUMMRA6KxsTloiJOYuXJJ5/kpZde4rXXXvOdiuSiIi5/u3btYs6c\nOUydOpXp06eDczStXp2Ly5enVLNmVKhQgQoVKlCmTJlggz174N57yS5Xjm1HHcXPhx/Op86xdOVK\nPvvsM+bNm8eOHTuoV68ezZo1o0mTJhx55JFRyVUklamIy8VnETd37lzS09O9xE71+PGIvWvXLqpU\nqcK4ceO46KKL4h5/f5J93++PirgDc86xevVq3n//fd5//32WL1/O6tWrWb16Ndu3b+eQQw7hkEMO\nwTnH5s2bKV26NMcddxyVK1emSpUqnH766dSpU4fKlSsX+C5T38dFtCRLO0BtSVQFPYfF8bYlkeRT\nsmRJevfuTa9evZg7d66mTJDQMDMqVqxIxYoV+ec///n7cuccWVlZ7Ny5k507d2JmHHXUUeoaFUlA\nuhInUkRZWVlUrVqV4cOHc8kllwSDxTWI2ytdiRORMNMUIyJxUrx4cR588EHuuecesrdsgapVYfly\n32mJiEiSUxEXY77nrUnl+PGMfc011+Cc47kZM+COO+Cuu7TvRfJIluMiWdoBakvYqYgTiYJixYox\nePBgevbsyfZOnWDpUs0dJyIiMaUxcSJRdNVVV3H++efT44wzoGdPyMyEEiV8p5VyNCZORMIs4acY\nMbPjgUeAcyKLPgXucM59X4BtVwEb8/lRV+fc7HzW10lQ4mL58uXUrFmTz5cu5fjWraFpU7j1Vt9p\npRwVcSISZgl9Y4OZlQTeIJji5IzI11ZgjpkdXoBf4ZxzZ+XztVcB55vvPvpUju8j9qmnnkqrVq14\n4MEHmduuXfCII09Sbd9L4kuW4yJZ2gFqS9j5GhPXBjgT6O6cy3bOZQPdgUrATZ5yEomK3r1788IL\nL7Bi+3YoX953OiIikqS8dKea2atAZefcyXmWfwJsdc7VPMD2K/Nue4D11R0hcfXEE0/w9NNPM2/e\nPE0A7IG6U0UkzBK6OxWoDqzMZ/kqgit0B2Rm/zaz+Wb2pZm9ZmZNo5mgSFF07NiRnTt3Mn78eN+p\niIhIkvJVxB0HbM5n+SbgMDM75ADbbwCWOOdqA1WBacA0M+sc3TSLzncffSrH9xk7LS2NDh060KNH\nD3755RcvOaTqvpfElSzHRbK0A9SWsPNVxBWpb8A5d4Fz7vnIv7Occ48DM4H+BSgAReKicuXKtGjR\ngnvuuSdYcPXVwfxxIiIiUeBrTNz3wJfOuQZ5lk8H6jvnjjiI39kbeAA4xzn3UZ6fuTZt2lCxYkUA\nypQpQ40aNUhPTwf+qN71Wq+j/frXX3/llFNOoW/fvtyclgajRzN3wAAoXjwh8kuW15mZmfz6668A\nrFq1ivHjx2tMnIiEVkLPE2dms4Aq+dzY8Cmw2TlXaz/blgLSnHNb8yy/F+gLnO+cW5znZzoJWksf\nJAAAGVFJREFUijeTJ0+mX79+LFm8mEOaNYPataFXL99pJTXd2CAiYZboNza8BFQwswo5C8ysLFAF\neDH3imZW1v58e98/gcH5/M5zgB3A59FP9+D57qNP5fiJ0vZ//vOfnHrqqTzYpw+MGQOPPQYffhi3\n+D743veSmJLluEiWdoDaEna+irhxBE9o+LeZpZlZMWAgsAIYkbOSmdUG1gLD82zf0szOzbXetcCV\nwH+cc9tinLtIoZgZI0aMYMyYMSxauxaGDIHrr4cdO3ynJiIiIZYIj906l+BGh70eu2Vm1YHZwKPO\nuYdybXcjcAVQAigD/AKMcM6N3kcsdUeId5MnT+ahhx5iyeLFlJo1C668EtLSfKeVlNSdKiJhltBj\n4uJNJ0FJBM45mjdvTuXKlRkwYIDvdJKaijgRCbNEHxOXMnz30ady/ERre0636rhx4+KSWyrve0lM\nyXJcJEs7QG0JOxVxInFUtmxZxo0bR+vWrfnpp598pyMiIiGm7lQRD7p168bnn3/OjBkzgmerbt8O\nhx7qO62koe5UEQkzdaeKJLCHHnqIH3/8kf/+97+QnQ0XXghvvOE7LRERCREVcTHmu48+leMncttL\nlizJ5MmT6d+/PwsXLQrmjmvVClasiEv8WPO97yUxJctxkSztALUl7FTEiXhSqVIlRo8eTYsWLVh3\n2mnQuzc0awZbtvhOTQrIzMqZ2atmlu07FxFJPRoTJ+JZnz59eO2115j91lsc0rkzbNoEzz8PlhRD\nuryIx5g4M7sKeBjYBZzqnCvwpH+Rp9UMBC4AsoDfgL7Ouen5rKvzl0iK0Zg4kZC47777OP7447nt\n9tvh8cfhhx/ggw98pyUH1hVoALwPFLhgjExY/h5QEjjNOXcaQTH4kpk1jkWiIpKcVMTFmO8++lSO\nH5a2FytWjAkTJvDuu+8yfPRomDsXLrggbvFjwfe+j5M6zrlVB7HdLUA5oIdzLgvAOfccQTE4KHrp\nJZ5kOS6SpR2gtoSdijiRBHDEEUcwY8YM+vXrx7RXXvGdjhRAEfo4zwV2OeeW51n+KVDFzE4tWmYi\nkio0Jk4kgSxevJjLL7+c6dOnc+GFF/pOJ7TiOU+cmY0DrnfOFehDsZlNAa5wzh2SZ/lw4KbIz17O\ntVznL5EUozFxIiF07rnnMn78eDIyMvjqq6/++EG2bn5MIh8CJcysep7lNSLfj4xzPiISUiriYsx3\nH30qxw9r2y+77DL69etHo0aN+Pbbb2HDBjjrLPj227jEjwbf+z7BDQPWAo+Y2TFmVszMOgJnRn6+\n3V9qsZUsx0WytAPUlrAr7jsBEdlb+/bt+e2332jQoAFvv/02J7ZpA5dcAvPmQdmyvtOTInDObTaz\nOkAfgpsZtgFzgTuBkcBe1Xrbtm2pWLEiAGXKlKFGjRqkp6cDf7xx6XX8XmdmZiZUPkV5nZmZmVD5\npOrrnH+vWrWKwtCYOJEENmDAACZMmMDcuXMpO2IEvPQSvPkmHH+879QSWiKPidvP7+kG3Av8xTm3\nK9dynb9EUkxBz2G6EieSwHr27MnOnTu5+OKLeevNNymbnQ316weFXLlyvtOTP+yzyjKzssCGnErM\nzA4Fajvn3syzahNgUu4CTkRkfzQmLsZ899Gncvxkafv9999PixYtqHvRRay54Qa47jpYvDhu8Q+G\n733vQb6fmM2sNsH4t+G5FpcFZphZjcg6xczsLuAEoFesE/UpWY6LZGkHqC1hpytxIgnOzHjggQc4\n6qijqFu3Lq+//jqVK1f2nVbKM7PHgcuA4wBnZisJrshVds7tjqy2GdhIUMjl2AjMAP5nZpuAbIIn\nONRyzv0Sr/xFJPw0Jk4kRJ566inuu+8+Xn75Zc4++2zf6SSseI6JizWdv0RSj+aJE0lC7du3Z/jw\n4TRq1Ijp0/d6VrqIiKQQFXEx5ruPPpXjJ2vbMzIyeOWVV7jpppt45JFHcM4Fz1udNi0u8QvC976X\nxJQsx0WytAPUlrBTEScSQueddx4LFixg7Nix3HzzzWSVKgU33QRPPuk7NRERiRONiRMJsU2bNtGy\nZUu2bdvGlIEDOa51a2jSBAYNgrQ03+l5ozFxIhJmGhMnkgKOPPJIpk+fTt26dTmrRQs+GDoUPvkE\nmjaF337znZ6IiMSQirgY891Hn8rxU6XtaWlp9OnThyeeeIKmbdowrHFjXKVKzB07Ni7x8+N730ti\nSpbjIlnaAWpL2KmIE0kSjRs3ZsGCBYyZMIGr161jU6VKvlMSEZEY0pg4kSSzY8cOunfvztSpU5k4\ncSL16tXznVLcaUyciIRZQc9hKuJEktTMmTPp0KEDHTp04P7776dEiRKwZ09K3PCgIk5Ewkw3NiQI\n3330qRw/ldsOcNhhh5GZmcmSJUuoW7cua15+Gc4+G5Yvj3ls322XxJQsx0WytAPUlrBTESeSxMqW\nLcsrr7xCy5YtOadtW94980xc7dowY4bv1EREpIjUnSqSIpYuXUqrVq24pHRpBq5YQVr79vDAA0nZ\nvaruVBEJM3WnisifVK1alYULF1K8Th1q7N7NT//7H7Rv7zstERE5SCriYsx3H30qx0/ltu8rfsmS\nJRkwYACPv/giNTdv5r7t29myZUtcYosky3GRLO0AtSXsVMSJpKC6deuy5JNP+P7wwznrrLN4//33\nfackIiKFpDFxIinuxRdfpHPnznTq1In77rsvmIok5DQmTkTCTPPE5aKToMj+/fDDD7Rv356ff/6Z\naRkZlGvbFsqV853WQVMRJyJhphsbEoTvPvpUjp/KbS9s/HLlyjFz5kzatm3LuIceYssZZ+DefTcu\nsSV1JMtxkSztALUl7FTEiQgQfPK7+eabyViyhHuPO47fLr6YTf36ga4CiYgkJHWnishedu/ezbAu\nXfh/Tz7JofXrc/Irr0CIxsqpO1VEwkxj4nLRSVDk4Hzw5pusuuoq3mvcmL4jR3LEEUf4TqlAVMSJ\nSJhpTFyC8N1Hn8rxU7nt0Yp//iWXcPnatWwtXZp//OMfzJ8/P26xJfkky3GRLO0AtSXsVMSJyH6V\nLl2aUaNG8eijj3LVVVcxbNgwdGVIRMQ/daeKSIGtWLGCZs2acc455zBixAhKlSrlO6V8qTtVRMJM\nY+Jy0UlQJHq2bt3KjAsu4NvNm/nXe+9Rvnx53yntRUWciISZxsQlCN999KkcP5XbHsv4hx9+ONfO\nmEGHrVt5/owz+OTjj+MWW8ItWY6LZGkHqC1hpyJORArNTj6ZY5Yupc0xx7D4wgt56403fKckIpJy\n1J0qIgfvt9/4tV49Zi9bxtYRI2jdrp3vjAB1p4pIuKk7VURi76ijKLNgAelXXcXDvXrxyCOP+M5I\nRCRlqIiLMd999KkcP5XbHtf4hx7KMc88w/T58xk+fDgDBw703nZJTMlyXCRLO0BtCbvivhMQkeRQ\noUIF3n77bS6++GKWLVtGvXr1MEuKHk0RkYSkMXEiElXr16/nkksuoUmTJvTv399LIacxcSISZhoT\nJyJelC1bljlvvcW2p59mQP/+vtMREUlaKuJizHcffSrHT+W2+47/2eLFPFy6NCUHD+bxxx/3lkcs\nmVk5M3vVzLJ95xIWvv8moiVZ2gFqS9h5K+LM7Hgze9rMlkW+pphZgaZ+N7MSZtbXzL4ws0/NbL6Z\n1Y51ziJSQIcdRom33uL2I45gzb33MmnSJN8ZRZWZXQXMByoCherrjBR/oyPnr4/NbKmZ3WdmJWKR\nq4gkLy9j4sysJLAIWAa0jCx+CqgFnOWc23qA7Z8A0oHazrmfzawDMBSo5Zzba/p4jSkR8WTFCnbX\nrEmHnTu59umnady4cVzCxnpMnJnNB64DHgCud84V6AOxmRUDlgBpQD3n3EYzqwG8B4x0zt2RzzY6\nf4mkmEQfE9cGOBPo7pzLds5lA92BSsBN+9vQzCoDHYGBzrmfAZxzY4CVQL+YZi0ihVOpEiVmzGCM\nGYNbt+bjfB7RFVJ1nHOrDmK7KsA/gDHOuY0AzrlM4HXgn9FLT0RSga8irjmwOvdJ0Dm3Hvg88rP9\nyQAMmJNn+RygoZkdFsU8i8x3H30qx0/ltvuO/6fY559PiRdf5LZBg7jiiiv44YcfvOUVLUW4NJYV\n+Z6367QEsPvgMwoH338T0ZIs7QC1Jex8FXHVCa6c5bWK4ArdgbbdA6zJs3wlwbx3ZxQ1uWjKzMxU\n/BSMnerx94rdoAHNOnSgU6dONG3alK1b9ztiImk5574CngE6mVkFADNrADQA7veZWzz4/puIlmRp\nB6gtYeeriDsO2JzP8k3AYWZ2yAG23ZbPJ+FNke/HRiG/qPn1118VPwVjp3r8fcXu2bMn1apV4/rr\nryc7O2Vv6mwDzAKWm9n3wIvALc65p/ymFXu+/yaiJVnaAWpL2Pkq4jRKVyQFmRkjR45k/fr19OuX\nekNYzawUMBc4F6jgnCtPcBXuQTP7r8/cRCR8fBVxPwFH5LP8SGCrc27nAbY93PaeBv7IyPefo5Bf\n1KxatUrxUzB2qsffX+ySJUvywgsvMHLkSF599dX4JZUY2gO1gbudcz8AOOc+Av4D3GpmF/hMLtZ8\n/01ES7K0A9SWsPM1xcgsoIpz7uQ8yz8FNjvnau1n2+7AAKCic25NruWPATcCRzvntuXZRlf+RFJM\nPB67ZWbjKNwUIyOATsAJzrkNuZZfBrwCdHLOjcqzjc5fIimoIOew4vFIJB8vAU+aWQXn3GoAMytL\ncPt9j9wrRpZvyDUGbirQH6gPjM+1an3g9bwFHMTnZC4iKWufRVY+56/1ke8VgA25Vq2Q5+d//HKd\nv0RkH3x1p44DPgX+bWZpkQkwBwIrgBE5K0WewrAWGJ6zLHJ310igp5kdG1mvHXAycG+8GiAiEpFv\nkZXf+Yvg3LcZeMjMSkfW+xtwF/AVkHL9yyJy8LwUcc653cClBFOFfB75Kg00yHMlbTOwkeBEmNut\nwBRgfqQL9gagoXPuk1jnLiJiZo+b2UqCeS2dma00sxV5Hp211/krMjfm+cAvwCIz+5igcHuFYALh\nXfFqg4iEn5cxcRI/ZvYOwUDqP40hlKIzs3LAWIIPEHH/QBS2+GY2CfgXkO6cmxfP2OKX/r8kHlLx\n/S4p/5jM7Hgze9rMlkW+pphZ+TjFrmFmo8zsczP7JPJw6/+a2XHxiJ8nl+YEB3TcK3Uza25m88xs\nsZl9Y2aLzKxVHOKea2azcu3/D8zs2hjEKdAD0M2stJkNixyHS83sNTMr8oTUBYlvZn83syFm9llk\nX3xuZuNyJpmNdfw8659LUMAV+VgsTGwzSzezNyLH4fLIfrizqDnEms9zWLQV9lhJVIl0bi8KMzvF\nzB6O/E0sNrMvI+fqy33nVhQ+3++iwcwqmtkWM/son6+j9rmhcy6pvoCSwMfAcwRFajGCcShfAYfH\nIf4ygq7eQyOvTwS+AL4ESsV5PywHXgaygb/FMXYXgi7yCpHXxYGngadiHLci8BvBDS/FIss6Rdrf\nLMqxct6UxgHZ+1lvFjAv5/8e6EMwoP3EWMcn6KabR3DHNsBRkdcbgLLxaH+u9d8GZkT+Ly6K075v\nAXwPVM+1bCAwO5bHYRSOLa/nsBi0p1DHSqJ+Jcq5PQrtuAX4FqgUeW0ENwtmFfVv02ObvL3fRbEN\nFYE5hd0uGa/EtSF4dFd351y2cy4b6A5UAm6KQ/zsSOztAM65tcAg4FQgnp90OgMLgUVxjImZVSSY\nAuZWF7nz2DmXRTBwe/i+t4yKywnmHxwS+X/HOfckwdM8ov1w8QM+AN3MLgX+H9DbObcjsrgvkAbc\nE+v4BJ9IH3B/PGj9N+ABgqeeXBeH+ACYWQZBIfJCEWMWOLaZHQE8QbDvc4+VHUDiP97K9zks2gp8\nrCS4RDm3F9V3wP3OuRXw+3OA/03wN3qFz8SKwMv7XSJIxiKuObA690nDObee4MpQ8zjEr57zx5FL\nzhO/y8QhPmZ2DEHR1JN93DkXQ60JPtHNzr3QOfeDc25JjGPv9XDxyKTQaUT54eKRE9+BNAd2Ae/m\n2m43wZWJIh2LBYzf1Dk3O8+yqByLBYxPZKD/QKArUToWCxi7GXAMwSfz3Nv+5px7Jxp5xJDvc1hU\nFfRYCQHv5/ZocM79z+39iLec7rof451PUXl+v/MuGYu46sDKfJavIvh0G1ORq055nUZwVaRIg7kL\noTcw0Tn3bZzi5VaL4JPe5WY2JzJ+5D0zax+H2JMJujzuM7PDI1PX3ENQwA2OQ/y8qgNr8zkmVgFl\nYz2WZj/HIgSPfoqHzsBHzrkP4hQvRy1gJ3Cymb0aGb+0xMzujhwXiczrOUzylyDn9qiLjLUcDiwh\n9r0lseDz/S7ayprZRDNbGBmr+LSZVdvfBr4m+42l4whu7c9rE3CYmR3i9v9Yr6gyszSgAzDaOfd1\nHOKdClxNMHGyDydFvh4ArnTOrY0MbH7OzE5wzvWPVWDn3GYzu5hg7M1PwBaCqRwaO+cyYxV3P/Z3\nLAIcS5BnPN1IMCl23it0UWdmRwPdCAqqeDuJ4Pw2jmA85DIzu4hgXN6pBPshUSXUOUzyF+9ze7SZ\n2SnAawTd9DOBDOfcFr9ZFU4CvN9F0x6C3qQhzrmPIkNCHgMWmlk959zi/DZK9E+kByPRLt33Irgi\ncEec4v0bGOCcy+9NIB5KAYcC90bGjOCcewmYBtxjZofGKrCZVSYYE7GSYDD/Xwg+pb1pZi1jFTcs\nzKwtcDrBmKt46AU842k8VCmCbvQhzrllAC6Y1mQU0CEydjNRJdo5TPIX73N7VDnnvnHO/Z2gK3U5\n8LEFE1SHie/3u6hxzn3rnKvugmcpE2nT/wFbCW48yVcyFnE/EQxuz+tIYGucr8K1I7hD7rKcwbAx\njlcXqEowoHuvH8c6fsRmgjehvFe+MoHDCIqIWOlL8P98e86NBM655wg+bY6wP0/EGg/7OxYBfo5X\nImbWkODqaMPI+KpYxzsFaAk8lN+PYx2fP65k5XccGnB2HHI4WAlzDpP8xfvcHkvOuc3OuS4Ej3x7\n3Hc+BZUg73cxFXkf+wy4cF/rJGN36ifkf2n1ZIJHfcWFmbUG7iR4CkW8uswuIbj6sCgYzw/ACZHv\nM81sF9DTORfLR/ssA/7B3h8Q9kS+x/KDw5nAd/m8yS0nGOheMfLvePkEOMfMiucZT3MysC5ex4WZ\nXULwOLuGcez2qQ/sAObkOhaPiXwfbWZbgMfyGWAdLcuAK/FzHBZVQpzDJH+ezu1RY2alct0tn9tn\nQHMzKxG5ASvRJcL7XdSY2ZHA9nz2/R72c75K5BPZwXoJqJB7QlMLHkJdBXgxHglYMKltN+Bi59yG\nyLImZtYxlnGdc/c75/7unDsr54s/PqVcFlkW6wN6euR79TzLqwHbgKUxjL0eODEyViW3CgTTA8Tq\nzqt9dX+9SHCn7O9dFGZWMvI6msfi/iYbvhh4kuD//6vIsnPMrHcs4zvnRjvnTs5zLObE7BBZFo0C\nbl9t399x6IB8x5ckCO/nsBgKdVexr3N7lL1qZvld2akI/BaSAi5R3u+iaSh57j6PvF+cCXy4r42S\nsYgbR/Bp9d9mlha5E20gsILgakRMmdl1BONuxgENzaxV5A+/KcHkkPFmeb7H2nME49Luj3yywMzq\nEByc/WLc9fAYQZdTn5wFZlYfyAAmOed+jVHcfPetc+4Ngq7cvrnGAt5LcLdsNG/w2NcD2BsQFDPP\nAOfnOhavIriqE9P4+1kvmsfivvb9AmAq0NWCRz5hZqcT3NAwOsHnLRuHx3NYjIW2mysBz+0HywEP\nRqbmwAK3AecSFBJhFu/3u2hywN1mdgL8fuPMIIIb4B7c91YJMFNxtL+A4wmeEPAlf8yyXT5OsX8m\nuPyZnedrD8HEo/HaB80IBvhvjMT+FlgRp9hHAyOB1ZH9/zHB1Zd4xG5IMEfd5wTdUpkEA4+LRznO\n45H9uzmyf1cSvMmWyLPe4cCwyLH4OUFRd3o84hNMGbCvY7FIT88oaPsj654b+fmPkXV/iKx7UE+t\nKMS+LwX8J/LzLyJf3Yg8MzqRv3yew2LQlgIfK4n8lSjn9ii0oxbwFMEHhY8ifxfvAC1951aENnl7\nv4tiG6oRXIjIjHx9B7wO1NvfdhbZWERERERCJBm7U0VERESSnoo4ERERkRBSESciIiISQiriRERE\nREJIRZyIiIhICKmIExEREQkhFXEiIiIiIaQiTkRERCSEVMSJiIiIhJCKOBEREZEQUhEnIiIiEkIq\n4kRERERCSEWciIiISAipiBMREREJoeK+ExCJJjM7FLgV2AGcBzwBXAjUBHo75z73mJ6IyD7p/CWF\nZc453zmIRI2ZdQMec85tN7P/AZuA9sDPQAvn3BteExQR2Qedv6SwdCVOkoaZGTDfObc9sqgycKdz\nLgs4yl9mIiL7p/OXHAxdiZOkZGblgZXA0c65rb7zEREpKJ2/pKB0Y4MkFTPLOaYvBpbknADNrI6/\nrEREDkznLyksFXGSNMysBbA28rIZ8FVkeWmglq+8REQOROcvORjqTpWkYWYXAncCC4H3Ce7yehs4\nDBjunNvhMT0RkX3S+UsOhoo4ERERkRBSd6qIiIhICKmIExEREQkhFXEiIiIiIaQiTkRERCSEVMSJ\niIiIhJCKOBEREZEQUhEnIiIiEkIq4kRERERCSEWciIiISAipiBMREREJof8Pe6cegU7kETIAAAAA\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot the glider path\n", + "pyplot.figure(figsize=(10,6))\n", + "pyplot.subplot(121)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_euler[:idx_ground_euler], y_euler[:idx_ground_euler], 'k-', label='Euler')\n", + "pyplot.plot(x_rk2[:idx_ground_rk2], y_rk2[:idx_ground_rk2], 'r--', label='RK2')\n", + "pyplot.title('distance traveled: {:.3f}'.format(x_rk2[idx_ground_rk2-1]))\n", + "pyplot.legend();\n", + "\n", + "# Let's take a closer look!\n", + "pyplot.subplot(122)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_euler, y_euler, 'k-', label='Euler')\n", + "pyplot.plot(x_rk2, y_rk2, 'r--', label='RK2')\n", + "pyplot.xlim(0,5)\n", + "pyplot.ylim(1.8,2.5);\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From far away, the Euler and RK2 methods seem to be producing similar answers. However, if we take a closer look, small differences become evident. Keep in mind that we are solving the same equation and both methods will converge to the same solution as we refine the grid. However, they converge to that solution at different rates: RK2 gets more accurate faster, as you make $\\Delta t$ smaller." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Grid-convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Just like in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), we want to do a grid-convergence study with RK2, to see if we indeed observe the expected rate of convergence. It is always an important step in a numerical solution to investigate whether the method is behaving the way we expect it to: this needs to be confirmed experimentally for every new problem we solve and for every new method we apply!\n", + "\n", + "In the code below, a `for`-loop computes the solution on different time grids, with the coarsest and finest grid differing by 100x. We can use the difference between solutions to investigate convergence, as before." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# use a for-loop to compute the solution on different grids\n", + "dt_values = numpy.array([0.1, 0.05, 0.01, 0.005, 0.001])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt)+1 # number of time-steps\n", + " \n", + " ### discretize the time t ###\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + " u[n+1] = rk2_step(u[n], f, dt)\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once those runs are done, we compute the difference between each numerical solution and the fine-grid solution." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# compute diffgrid\n", + "diffgrid = numpy.empty_like(dt_values)\n", + "for i, dt in enumerate(dt_values):\n", + "\n", + " diffgrid[i] = get_diffgrid(u_values[i], u_values[-1], dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And now we plot!" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nicaKFSu44YYbWLVqFR9//HHU4UgBmUymza7Dqqy9lhRJb+kkfdpm0qUpfxdffDGTJk3iuOOO449/\n/GPU4VQs6bkLe/aaiEjNNDc3M2XKFMyMa665JupwpEJq6RSR9JaOSByMGDGCX/3qV5x++un86le/\nijocKYFaOiISW4cffji9e/fm6quvjjoUCYGKToql+VmBJEhL/i666CKam5vp27dv1KGEJi25y6cq\nRcfMZlfjviKSTttsU9FEW6kjpeynE2QTt0nu3rWSwOqBmfn48eM1ZVpEpAQtU6YnTJgQfMFPbeKm\niQQiIuWodCLB+8BRwODcayjwMnAHMILspm1H5/77DmAx2U3fpM6luV85CZKav08++YR7772XjRsT\ntcDJpyQ1d6UopaP0L+7+RMsbM5tEdhO3+/NcO93MTia7idvvQopRRFLkrrvu4vzzz+f444/noYce\nijocCZk2cStC3WsitbVmzRoGDhzIkiVLuOeee/j2t78ddUgSQNjP6ewCFJsk0BXYKcB9RSTlbrnl\nFpYsWcLBBx/Mt771rajDkSrQJm4pluZ+5SRIWv7ef/99Jk6cCMA111xDu3axn4tUUNJyV44gk98v\nAR4nu4nbUmAp2WnSPYCewCqgIawARSQdpk6dygcffMBRRx3FMcccE3U4UiWB1l4zs32AnwDHAZ1z\nh1cDTcA4d58bWoQR0piOSO1s2rSJe+65h/32249DDjkk6nCkAsXGdLSJWxF6OFREpHShPBwahJmd\n4e6xXw426S2dpO/pkXTKX3wlPXdRrDJ9Q5XuKyIiMVbKMjiNwM7uPir3vpnia7EZ0NvdO4QVZFSS\n3tIREamGisZ0zOxtYEdgF3dfa2brgafb+MzD3b1ToGjriIqOSPW4O8OHD+dLX/oSF154IZ06xf5X\nhuRUWnR6AB3d/c3c+6Xu3rONr2nzmjhIetFJer9y0sU9fzNnzuS4445jp512YuHChXTtGvuF6UsW\n99y1paIxHXdf1lJwcjqa2VQz+1qRL/t+uUGKSHps2rSJyy+/HIAxY8akquCkXZC11zYB04Hr3P2V\nqkRVJ5Le0hGJyvTp0znjjDPo3bs38+bNU9dawoT6nI6ZLXP3HqFEVudUdETCt379evbdd1+am5u5\n4447OPfcc6MOSUIW9pTpV8ysVxsfeFeA+0qNpXn9pySIa/5WrFhB79692X///TnzzDOjDicScc1d\n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\nzP8H50NbGbioopAAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot using the matplotlib function loglog()\n", + "pyplot.figure(figsize=(6,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel(r'$\\Delta t$', fontsize=18)\n", + "pyplot.ylabel(r'$L_1$-norm of the grid differences', fontsize=18)\n", + "pyplot.xlim(1e-4,1)\n", + "pyplot.ylim(1e-4,1)\n", + "pyplot.axis('equal')\n", + "pyplot.loglog(dt_values[:-1], diffgrid[:-1], color='k', ls='--', lw=2, marker='o');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is looking good! The difference relative to our fine-grid solution is decreasing with the mesh size at a faster rate than in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), but *how much faster?* When we computed the observed order of convergence with Euler's method, we got a value close to 1—it's a first-order method. Can you guess what we'll get now with RK2?\n", + "\n", + "To compute the observed order of convergence, we use three grid resolutions that are refined at a constant rate, in this case $r=2$. " + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The order of convergence is alpha = 1.983\n" + ] + } + ], + "source": [ + "# check convergence rate\n", + "r = 2\n", + "h = 0.001\n", + "\n", + "dt_values = numpy.array([h, r*h, r**2*h])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt)+1 # number of time-steps\n", + " \n", + " ### discretize the time t ###\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + " ### call rk2_step() ###\n", + " u[n+1] = rk2_step(u[n], f, dt)\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u\n", + " \n", + "# calculate the order of convergence\n", + "alpha = (log(get_diffgrid(u_values[2], u_values[1], dt_values[2])) \n", + " - log(get_diffgrid(u_values[1], u_values[0], dt_values[1]))) / log(r)\n", + "\n", + "print('The order of convergence is alpha = {:.3f}'.format(alpha))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Probably you're not too surprised to see that the observed order of convergence is close to $2$. Because we used a second-order method! This means that the numerical solution is converging with the grid resolution twice as fast compared with Euler's method in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), or in other words, the error scales as ${\\mathcal O}(\\Delta t^2)$. That is a lot faster! However, we are paying a price here: second-order Runge-Kutta requires more computations per iteration." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Challenge task" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How much longer does it take to get the solution with RK2, compared to Euler's method? Run the same solution (same time grid, same parameters), but find a way to *time* the calculation with Python, and compare the runtimes." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Multi-step methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The screencast *\"Euler's method is a first-order method\"* motivated graphically an idea to get increased accuracy: using intermediate points between $u_{n}$ and $u_{n+1}$ and evaluating the right-hand side of the differential equation at those intermediate points. The idea is to somehow get a better approximation using more data from the function $f(u)$.\n", + "\n", + "Another way to bring more information about $f(u)$ into the numerical solution is to look at time data $t\\lt t_{n}$. For example, we can involve in the calculation of the solution $u_{n+1}$ the known solution at $u_{n-1}$, in addition to $u_{n}$. Schemes that use this idea are called _multi-step methods_.\n", + "\n", + "\n", + "A classical multi-step method achieves second order by applying a _centered difference_ approximation of the derivative $u'$:\n", + "\n", + "$$ u'(t) \\approx \\frac{u_{n+1} - u_{n-1}}{2\\Delta t}.$$\n", + "\n", + "Isolate the future value of the solution $u_{n+1}$ and apply the differential equation $u'=f(u)$, to get the following formula for this method:\n", + "\n", + "$$ u_{n+1} = u_{n-1} + 2\\Delta t \\, f(u_n),$$\n", + "\n", + "This scheme is known as the **leapfrog method**. Notice that it is using the right-hand side of the differential equation, $f(u)$, evaluated at the _midpoint_ between $u_{n-1}$ and $u_{n+1}$, where the time interval between these two solutions is $2\\Delta t$. Why is it called \"leapfrog\"? If you imagine for a moment all of the _even_ indices $n$ of the numerical solution, you notice that these solution values are computed using the slope estimated from _odd_ values $n$, and vice-versa.\n", + "\n", + "Let's define a function that computes the numerical solution using the leapfrog method:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def leapfrog_step(unm1, u, f, dt):\n", + " \"\"\"Returns the solution time-step n+1) using Euler's method.\n", + " \n", + " Parameters\n", + " ----------\n", + " unm1 : array of float\n", + " solution at time-step n-1.\n", + " u : array of float\n", + " solution at time-step n.\n", + " f : function\n", + " function to compute the right hand-side of the system of equation.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " solution at time-step n+1.\n", + " \"\"\"\n", + " return unm1 + 2.0*dt*f(u)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "But wait ... what will we do at the _initial_ time step, when we don't have information for $u_{n-1}$? This is an issue with all multi-step methods: we say that they are _not self-starting_. In the first time step, we need to use another method to get the first \"kick\"—either Euler's method or 2nd-order Runge Kutta could do: let's use RK2, since it's also second order.\n", + "\n", + "For this calculation, we are going to re-enter the model parameters in the code cell below, so that later on we can experiment here using the leapfrog method and different starting values. At the end of this notebook, we'll give you some other model parameters to try that will create a very interesting situation!" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# model parameters:\n", + "g = 9.8 # gravity in m s^{-2}\n", + "v_t = 4.9 # trim velocity in m s^{-1} \n", + "C_D = 1/5.0 # drag coefficient --- or D/L if C_L=1\n", + "C_L = 1.0 # for convenience, use C_L = 1\n", + "\n", + "### set initial conditions ###\n", + "v0 = 6.5 # start at the trim velocity (or add a delta)\n", + "theta0 = -0.1 # initial angle of trajectory\n", + "x0 = 0.0 # horizotal position is arbitrary\n", + "y0 = 2.0 # initial altitude\n", + "\n", + "# set time-increment and discretize the time\n", + "T = 15.0 # final time\n", + "dt = 0.01 # set time-increment\n", + "N = int(T/dt) + 1 # number of time-steps\n", + "\n", + "# set initial conditions\n", + "u_leapfrog = numpy.empty((N, 4))\n", + "\n", + "# initialize the array containing the solution for each time-step\n", + "u_leapfrog[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + "# first step using RK2\n", + "u_leapfrog[1] = rk2_step(u_leapfrog[0], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we have all the required information to loop in time using the leapfrog method. The code cell below calls the leapfrog function for each time step." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# use a for loop to call the function leapfrog_step()\n", + "for n in range(1,N-1):\n", + " \n", + " u_leapfrog[n+1] = leapfrog_step(u_leapfrog[n-1], u_leapfrog[n], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Like before, we extract from the solution array the information about the glider's position in time and find where it reaches the ground." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# get the glider position in time\n", + "x_leapfrog = u_leapfrog[:,2]\n", + "y_leapfrog = u_leapfrog[:,3]\n", + "\n", + "# get the index of element of y where altitude becomes negative\n", + "idx_negative_leapfrog = numpy.where(y_leapfrog<0.0)[0]\n", + "\n", + "if len(idx_negative_leapfrog)==0:\n", + " idx_ground_leapfrog = N-1\n", + " print ('The glider has not reached the ground yet!')\n", + "else:\n", + " idx_ground_leapfrog = idx_negative_leapfrog[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plotting the glider's trajectory with both the leapfrog and RK2 methods, we find that the solutions are very close to each other now: we don't see the differences that were apparent when we compared Euler's method and RK2." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nz6bl5ZdTu3btDKbcO/nLlrHoxBMpW7069WbMgAMO8B1JpMTQiVMhFaYeE2WJLxNZKlasmNAJVCXt\ndUlUmLKUZGaGVaoEL7/MotataTtoEPuMHOk71i7t2LGDhfPmwQMPkHPyyaw85xzm3XtvZAvUqP+e\naHwlg4pUEQ8uv/xyAF544QU2bNjgOY1IMZix/003sWr0aCrVqQPAokWLWLp0qedg/2vx55+z9YQT\n2DJhAsycSaUePbjgwgt9xxKR3dDhfhFPmjdvzowZM3jyySd3Fq2SXUry4f5dcc7RqlUrunfvzmWX\nXZaGZImbN28eBx10ENWqVQNg+LXXctTFF3NSs2Zec4mUZDrcL5IFrrzySgAee+wx9EeURMXmzZtp\n06YNPXv2BMDl5/P4gw+yZcuWjGd58sknue+++3Y+7vHooypQRbKIitQMClOPibLEl8ksF1xwAbVr\n12bBggW8//77XrPsibJIoipUqMDdd99NqVKlAPho6FC63HorZQcNgm+/Zfv27Wn7o2zJ4sW82LMn\nDBoEwB133LHL651GfR5pfNkt6uNLlIpUEU/Kli3LFVdcAcCjjz7qOY1IelRq2ZIlw4Zha9bAUUex\nqmlThrVtC+vXF/tr79ixg1defhlmzYKbbuKIM87guJEjWVe5MgC1a9fm3nvvLfb3ERE/1JMq4tH3\n33/PwQcfzLZt21i2bBmHH36470iSBPWkJumnn3iyQwfO3rqVOtdeC927c+ONN9KoUSO6desGwKxZ\nszjooIOoWbMmACtWrKBGjRpUjhWegwcP5oorrqBy5co455hdrhyN69ShTJcucOGFvL9mDc1btKBc\nuXKpzS4iKaGeVJEsccABB9ClSxecczz22GO+44ik13770WfGDA749FPo3h2AadOmkZubu/Mpq889\nFzvrLOjaFS6+mJUnncSmDh3giy8AePPNN/n000+B4M3us1tuYdGbb8K990KTJrQ5/XQVqCIRoSI1\ng8LUY6Is8fnIcs011wDw3HPPsb7QIdCS/rrsSpiySPJycnIoXbr0zscTJkygWaGTmb5o3ZqtffpA\nhw7QqROLjz6anzp02Hk90xtuuGHnXlaAy+++m8Z7cUOMqM8jjS+7RX18iSq956eISDodd9xxtGzZ\nkmnTpjF8+HCuvvpq35FEMqborUhvKXJDgCu6dPmfx+eee27aM4lIOKgnVSQExowZwwUXXMARRxzB\n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\nB0lEQVTo/D9EAVodDt65OwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot the glider path\n", + "pyplot.figure(figsize=(11,8))\n", + "pyplot.subplot(121)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_leapfrog[:idx_ground_leapfrog], y_leapfrog[:idx_ground_leapfrog], color='k', ls='-', lw=2)\n", + "pyplot.title('distance traveled: {:.3f}'.format(x_leapfrog[idx_ground_leapfrog-1]), fontsize=18);\n", + "\n", + "# Let's take a closer look!\n", + "pyplot.subplot(122)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_leapfrog[:idx_ground_leapfrog], y_leapfrog[:idx_ground_leapfrog], color='k', ls=':', lw=2)\n", + "pyplot.plot(x_rk2, y_rk2, 'r--', label='RK2')\n", + "pyplot.xlim(0,5)\n", + "pyplot.ylim(1.8,2.5);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What about the observed order of convergence? We'll repeat the process we have used before, with a grid-refinement ratio $r=2$ ... here we go:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The order of convergence is alpha = 2.186\n" + ] + } + ], + "source": [ + "# check convergence rate\n", + "r = 2\n", + "h = 0.001\n", + "\n", + "dt_values = numpy.array([h, r*h, r**2*h])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt) + 1 # number of time-steps\n", + " \n", + " ### discretize the time t ###\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " u[1] = rk2_step(u[0], f, dt)\n", + " for n in range(1, N-1):\n", + " u[n+1] = leapfrog_step(u[n-1], u[n], f, dt)\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u\n", + " \n", + "# calculate the order of convergence\n", + "alpha = (log(get_diffgrid(u_values[2], u_values[1], dt_values[2])) \n", + " - log(get_diffgrid(u_values[1], u_values[0], dt_values[1]))) / log(r)\n", + "\n", + "print('The order of convergence is alpha = {:.3f}'.format(alpha))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now have numerical evidence that our calculation with the leapfrog method indeed exhibits second-order convergence, i.e., the method is ${\\mathcal O}(\\Delta t^2)$. _The leapfrog method is a second-order method_. Good job!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### But chew on this ..." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Go back to the cell that re-enters the model parameters, just above the leapfrog-method time loop, and change the following: the initial height `y0` to 25, and the final time `T` to 36. Now re-run the leapfrog calculation and the two code cells below that, which extract the glider's position and plot it.\n", + "\n", + "_What is going on?_\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Reference" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Tobies, R. \"Iris Runge: A life at the crossroads of mathematics, science and industry,\" Springer Basel, 1st ed. (2012). [Read on Google books, page 73](http://books.google.com/books?id=EDm0eQqFUQ4C&lpg=PA73&dq=%22I%20have%20been%20making%20good%20progress%20with%20Lanchester.%20The%20second%20chapter%20is%20already%20on%20your%20desk%22&pg=PA73#v=onepage&q=%22I%20have%20been%20making%20good%20progress%20with%20Lanchester.%20The%20second%20chapter%20is%20already%20on%20your%20desk%22&f=false)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of the notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/01_phugoid/README.md b/01_phugoid/README.md new file mode 100644 index 0000000..c7c2701 --- /dev/null +++ b/01_phugoid/README.md @@ -0,0 +1,43 @@ +#Module 1: The phugoid model of glider flight. + +##Summary + +The phugoid model motivates the learning of numerical time integration methods. The model is described by a set of two nonlinear ordinary differential equations, representing the oscillatory trajectory of an aircraft subject to longitudinal perturbations. + +* [Lesson 1](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_01_Phugoid_Theory.ipynb) presents the physics of phugoids in the assumption of zero drag (following Lanchester, 1909). Plotting the flight path gives fascinating curve shapes. +* [Lesson 2](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_02_Phugoid_Oscillation.ipynb) develops a single-equation model for zero-drag oscillations, leading to simple harmonic motion. The lesson defines initial-value problems, demonstrates Euler's method, and uses the exact solution to study the numerical convergence. +* [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb) develops the full phugoid model and solves it with (vectorized) Euler's method. In the absence of an exact solution, the study of convergence uses a grid-refinement method, obtaining the observed order of convergence. The lesson ends with the paper-airplane challenge. +* [Lesson 4](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_04_Second_Order_Methods.ipynb) starts with the screencast "Euler's method is a first-order method" and develops second-order methods: explicit midpoint (modified Euler) and Runge-Kutta. It ends with a grid-refinement study. + +##Badge earning + +Completion of this module in the online course platform can earn the learner the Module 1 badge. + +###Description: What does this badge represent? + +The earner completed Module 1 "The phugoid model of glider flight" of the course "Practical Numerical Methods with Python" (a.k.a., numericalmooc). + +###Criteria: What needs to be done to earn it? + +To earn this badge, the learner needs to complete the graded assessment in the course platform including: answering quiz about basic numerical Python commands; answering quiz about basics of initial-value problems; completing the individual coding assignment "Rocket flight" and answering the numeric questions online. Earners should also have completed self-study of the four module lessons, by reading, reflecting on and writing their own version of the codes. This is not directly assessed, but it is assumed. Thus, earners are encouraged to provide evidence of this self-study by giving links to their code repositories or other learning objects they created in the process. + +###Evidence: Website (link to original digital content) + +Desirable: link to the earner's GitHub repository (or equivalent) containing the solution to the "Rocket flight" coding assignment. +Optional: link to the earner's GitHub repository (or equivalent) containing other codes, following the lesson. + +###Category: + +Higher education, graduate + +###Tags: + +engineering, computation, higher education, numericalmooc, python, gwu, george washington university, lorena barba, github + +###Relevant Links: Is there more information on the web? + +[Course About page](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about) + +[Course Wiki](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/wiki/GW.MAE6286.2014_fall/) + +[Course GitHub repo](https://github.com/numerical-mooc/numerical-mooc) diff --git a/01_phugoid/Rocket_Assignment.ipynb b/01_phugoid/Rocket_Assignment.ipynb new file mode 100644 index 0000000..2839d18 --- /dev/null +++ b/01_phugoid/Rocket_Assignment.ipynb @@ -0,0 +1,335 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Coding Assignment: Rocket" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The equations of motion for a rocket in purely vertical flight are given by\n", + "\n", + "\\begin{align}\n", + "\\frac{dh}{dt} &= v\\\\\n", + "(m_s+m_p) \\frac{dv}{dt}& = -(m_s+m_p)g + \\dot{m}_pv_e - \\frac{1}{2}\\rho v|v|AC_D\n", + "\\end{align}\n", + "\n", + "$h$ is the altitude of the rocket\n", + "\n", + "$m_s = 50kg$ is the weight of the rocket shell\n", + "\n", + "$g = 9.81 \\frac{m}{s^2}$\n", + "\n", + "$\\rho = 1.091 \\frac{kg}{m^3}$ is the average air density (assumed constant throughout flight)\n", + "\n", + "$A = \\pi r^2$ is the maximum cross sectional area of the rocket, where $r = 0.5 m$\n", + "\n", + "$v_e = 325 \\frac{m}{s}$ is the exhaust speed\n", + "\n", + "$C_D = 0.15 $ is the drag coefficient\n", + "\n", + "$m_{po} = 100 kg$ at time $t = 0$ is the initial weight of the rocket propellant\n", + "\n", + "The mass of the remaining propellant is given by:\n", + "\n", + "$$m_p = m_{po} - \\int^t_0 \\dot{m}_p d\\tau$$\n", + "\n", + "where $\\dot{m}_p$ is the time-varying burn rate given by the following figure:\n", + "\n", + "Propellant Burn Rate\n", + "\n", + "![burn rate](./burn.rate.png)\n", + "\n", + "Using Euler's method with a timestep of $\\Delta t=0.1s$, create a Python script to calculate the altitude and velocity of the rocket from launch until crash down. \n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Assessment:\n", + "\n", + "To check your answers, you can register for [MAE 6286: Practical Numerical Methods with Python](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about).\n", + "\n", + "1. At time $t=3.2s$, what is the mass (in kg) of rocket propellant remaining in the rocket?\n", + "\n", + "2. What is the maximum speed of the rocket in $\\frac{m}{s}$?\n", + " At what time does this occur (in seconds)? \n", + " What is the altitude at this time (in meters)? \n", + " \n", + "3. What is the rocket's maximum altitude during flight (in meters)? At what time (in seconds) does this occur?\n", + "\n", + "4. At what time (in seconds) does the rocket impact the ground? What is the velocity of the rocket (in $\\frac{m}{s}$) at time of impact?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Derivation of the rocket equations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In case you are kind of confused about the rocket equations, here we show how to get to them. \n", + "\n", + "Newton's second law states that the acceleration of the vehicle times its mass is equal to all the forces acting on it. Therefore,\n", + "\n", + "\\begin{equation}\n", + "(m_s + m_p)\\frac{d\\bf{v}}{dt}=\\sum {\\bf F}.\n", + "\\end{equation}\n", + "In the above formula we have assumed that the propellant inside the rocket and the rocket move at the same velocity (in other words, their relative velocity is negligible). \n", + "\n", + "Two of the external forces acting on the rocket are,\n", + "\n", + "\\begin{align}\n", + "{\\bf F}_g&= (m_s+m_p)\\bf{g} \\quad (\\rm{Gravity}),\\\\\n", + "{\\bf F}_d&= - \\frac{1}{2} \\rho_a \\mathbf{v} |\\mathbf{v}| A C_D \\quad (\\rm{Drag}).\n", + "\\end{align}\n", + "\n", + "We also need to consider the force resulting from the ejection of the propellant. During an interval $dt$, the engine of the rocket ejects downwards a mass of propellant given by $\\dot m_p dt$. Relative to the rocket, the speed of the ejected burning gas is assumed constant and equal to $v_e$ (the exhaust speed). The momentum variation induced on the exhaust gas by the engine during that interval is therefore, $d{\\bf p}_{gas} = \\dot m_p {\\bf v}_e dt$. Again using Newton's second law we conclude that the force applied by the rocket on the gas is,\n", + "\n", + "\\begin{align}\n", + "{\\bf F}_{rocket\\rightarrow gas} = \\frac{d{\\bf p}_{gas}}{dt} = \\dot m_p {\\bf v}_e\n", + "\\end{align}\n", + "\n", + "Using Newton's third law (|action| = |reaction|), the force exerted by the exhaust gas on the rocket is then,\n", + "\n", + "\\begin{align}\n", + "{\\bf F}_{gas\\rightarrow rocket} = -{\\bf F}_{rocket\\rightarrow gas} = -\\dot m_p {\\bf v}_e\n", + "\\end{align}\n", + "\n", + "If we collect all the forces acting on the rocket we finally have:\n", + "\n", + "\\begin{align}\n", + "(m_s + m_p)\\frac{d\\bf{v}}{dt}=(m_s+m_p){\\bf g}- \\frac{1}{2} \\rho_a \\mathbf{v} |v| A C_D -\\dot m_p {\\bf v}_e\n", + "\\end{align}\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of the notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "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.4.3" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/01_phugoid/burn.rate.png b/01_phugoid/burn.rate.png new file mode 100644 index 0000000000000000000000000000000000000000..d2cd9359506696d386f80a02f1fcae91e597ffae GIT binary patch literal 11761 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 QnAt{jG<4OUow5o0AHj2&AOHXW literal 0 HcmV?d00001 diff --git a/01_phugoid/figures/glider_forces-lesson3.png b/01_phugoid/figures/glider_forces-lesson3.png new file mode 100644 index 0000000000000000000000000000000000000000..6d73dd73285f165fc818e54bbf085a667bef3ea2 GIT binary patch literal 29182 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 literal 0 HcmV?d00001 diff --git a/01_phugoid/figures/glider_forces.png b/01_phugoid/figures/glider_forces.png new file mode 100644 index 0000000000000000000000000000000000000000..ac036d505fe1948aa1b5b29768b8dfd0765c1bf3 GIT binary patch literal 33331 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 n0FC~?KMz2Q{vX^uyQn1;x-o literal 0 HcmV?d00001 diff --git a/01_phugoid/figures/glider_forces_fbd.svg b/01_phugoid/figures/glider_forces_fbd.svg new file mode 100644 index 0000000..47a1d34 --- /dev/null +++ b/01_phugoid/figures/glider_forces_fbd.svg @@ -0,0 +1,465 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + trajectory + + + + + + + + + + + + diff --git a/01_phugoid/figures/glider_forces_nodrag.png b/01_phugoid/figures/glider_forces_nodrag.png new file mode 100644 index 0000000000000000000000000000000000000000..969042c183bab07d991615d249a151cdfebd5efb GIT binary patch literal 16886 zcmeHvV|%1s&}}raZQGgHwllG9+qP{^Y}=X`6Wf`nWBcvrJ?Af+Z|6&2ef8aa*Y4W2 zYpq&U-BC&kk_fQ4upl5H2+~qwDj*=BCBWz7&|ttvY6q}q5D;u^D^XD;X;D#PC1(e7 zD_b)V5KWj`EjLY!&D9-NswhzpvhD4K?Y!U4r+j-w$|7PV=!wWb#6VHR21~?*kd?(` zM3j+#{6NP5PfT{$JMVpd9u3&#o15;jxb&#+ebV-Mn%0H_iQgP)XfVt~3`ACeSfABQ zm>XS=L*o2#6NrKwNIZbrJ2dQSXG=fu?Nt*CYFU1pwG?0Xo$}PrIq&lx>H`Y0PCS#p zv#(DA-G=~DH9;4P4+>%~SzzcYwuU$>%#4P^f;^bUyLQdA)e^%0J>=Jo55?;j%8CGz zpDjiH4l1N6cI2z9?;lBsYYox>Pks%8x)6snsIC7c<^aOQha7JzC3T88E7DML(*N-C z35OPyA892ZTswHz8)UA)MO;Hm8rc6S5F|HCZ$wF1N+bC#BfEtuNi zc0sysiN6SIqt)LRSNhjFUZB3)mXXfr9(CGx94?B#>^=trP45CO4qrVIzO7PFGR67! zo+C(f=(>r!U(3G*S^wY~BQ#KIlGR|-BDldVhjb-)$6AZCg9)heR>3SsbhU>BY(83` zlaj9APR2(J2XP;W6CroL$2?f{eBY=X?Z)onT8>zy1`;g9Km;eY1@=oiZnX031z1Lj zVdsxW20^cWTzh`B!7;>oYQWS+tcZQYzF^M;{{vC66dyV4va}ax1Spcj-wp#9^$t6Eak$PQ*L1ctt z_%Hy0P|zUCBV>0%IF=v;hS1Z2?2aIHdmv5WpTf|_PHbFY@xiKzFwR1tTu_rjKPn(s z2ju6WwFmufkoiDE4AFZa7WW8VpwkCn*8+*5p-_k=A_)${LWyCd2vx#bh(*W2nnH9* zkj9Zng_Gt{PO(#A^1^3@v5Ig{A(!B{BM3!B=iyEfT0s0lR*cZ)5LgGd8kp(9tB1N8 zxB(#75ubaaj`+D?1;H_U&M&lEAiEI-1I0INA1L|~py(LUKSmRhMJj(kD6dd+rZPpx z$_SYi!YUtE@TkHyVHOmXDaTZ>vtiCe{u7lYNn#V`{oOksF%NS}|G@3a-Ua#z@(KS5 z*&F&5Mq=2(jEe0ROY`T)VMNrQ5@T2vwM^bj`y(&^2(3ZmMtV(@8rY@{y~d!m;Wc_& znl{4CAcCP;!we@bd|m~x@~GxNC{8FHs#{uHYP!7k*w2X1Xo_Jcqf>`*H};;W0yqYd z{lN~yNQWmkc<8R^BIxJnE9g7ujp*y>Y3K~-;ON)X9Moqt;?(Rk1k~U(2`ZS%E6VP_ z`hI^Xh>N#I$iz*i(+1K;RYjijER$7ns@g2UFC8qsEnO`oEtOX={qj)iFZ@y}CFC6y}iT;^tKUu>TqV^O;_xr^YnG{FQE) zZkwJ%Z$f`jvsKeoBT#cz<5n|VQ*E1T%VR5Gi(~s}TWos)@CAeegaMs^I6w-%C886e zPP}FOJ^nU+Os-rmZmxbVPA(@mRfi#?6C-ckur7wKpYGHa-`1Zkqb-Zh?hY(3O;1-( zFt0nW4Npu@9IsYSaL;?MO)tS4mix22ANLry{CheFCkLGS2}k|oyL0`GlBNlV`A7VZ zK9oPGf2jWO{c-n$=SMn(*AIpt3D7IB3ed{Xm9VdHc_`;7+8CH9?wA53Thx3^LzKp} zs8lL+cQUEORSe!zExN8^@N{LgnB?lT9Mp(0bW!gySTRUa1E`azps1y&qRH6O?9$1m zoktz$t*LdYsj9V0cvhHJaA&4x5@&NigMZrp?EK09v)?q$G{lU~%wUpbJZpkts&(8i z1uNq@nJJw}nV1@zhMbm-##b#>=|P#V{zW%Rc|zqZRHb|&y(#*qR;PlOu(;BwXsMW) zZkqJ61iS2G60U^2B7<_Rnw`9!7Qe`6*&7xDO&oC?9qzr4_|qGpc8j;TQ!=H(OW8#` zMsZ5?B6y{Rqn|^$Tlc*-J}|yrA#FCdF4Mm7N^N`2yUE+Mm)E=c?fmWbjR2Aw+$01( z#9tIrRC3rQ{Fj7J>_@D1TzYI;EE1karlH)lytDit`A+#>IUBi*Y1Qe28N$q8Ih#2J ztN}J8_QGwJjiC%P^!M}zS}F9Prrwi+u3LRo4*g-m#in%XFeMqJBo`;a}I+BoBi_vEJA{Nx&y01DFaOd%fuIj zQ^K2rvxAQ$FUSdr=BVH_kq^YFRBV*4)N-Ws?6z--Z$-hPvZgN1YFy}jf;}|BFt6j6 zG3ar8gs+q`bX8pE7A?OXYO&w2Rpbn6JZ-%Jy1B|*rNgJg`VqVdH$>dtNAf-PAEOY| zgRDiY%ET-bw|dD=Dv!#O#ln&Wlv9)i3SUmsubQ&39x^JE(@uwnt(9z*M@zS8xKxu1 z^H!i%pJ%XV7K;I9o)!=0ljfM__U2w@kNK&*TCUFTsn?ZXw#R^b?lpXsSt)ZO*Z=*;~QbsR~k_DIJ!1fDOKH?b1DU11iA@5U;E)>ag90uIC&i^ zcdEJ>T)U4D5A$LnD@fXmD*yI7bxpKdRjk)^Hj5V@&+46ZXXw1@#9XuNPT3dR%35vO zC)gNVL0@S0TzdqR-5Z`vF=o^yLA4>hb&j> z`F#J1HOSPbASQ3yBj+9FmBu2?sl_$QuJ)x3aQkezd+6naba>m@==bA3WWRUf@O8h} zoAeoaAL8EW%=UVHUHMTQHi+~t(DRP{i-pLi=VCp`yG}R~dc!5|9Iad0Ennv48{FdBV-L$P;ujjkc8$pahtQIsLnh!Db zNSerZncO5mnsypWT5FnYa=jY1T5#I2>Ql9O1$#yRy6n8_^4+|`YG={A43R^j?WtL+ z$(HF)GsrABZEPJ#Z8M$SHZS}4#r#p>!M__cBd;a0c^7EyobTyd8qW^+5QM2>?us-_ zdJen=A$mXlo*vZ;89?xmx+{Q20w#mqKpAL3*CrW?;+J$@~G(x{bW9Sim;7_3e4{T7t`i0f-?r^`+|1$p2HY zlAGxf;I3u)yp>Bd=-`>Z(xY;=D-Ctq)#0REYuBruKBPy1JVNolKU>VBzyuV27@ zX7I{#$X@pozW#Z;+0q3-?Wy-2ShMp`kR3po~aD>P&GP@*3tO zl_0AZFO~55gZ*dn4-DZyfg!@VT%n9ed0lC5pBB#7KaIhur-$#qW)!eXv`Wxe|@ucs&$^c5*i4_byUDiqwl%ldwt_pW*Sv3bZriG!R^r>{V}#rhNs^F@3|Z9{)b z`(QZt0VJFr2VxwmZ7k~uA_NF%x#+yN2y{sIvNz%dz}$fRjL07rpr)tAV+bM~7%?(y zfa{R;41mRnW}nor`gv{{Oc2M%fN%-B4flo^j{AqN%+p*DlUH4ygT>waNj~0d)~Jr- ziYFg-$GA`A>w|wCtTGr_@f(Sv2qYE!_A@p+*hi&I{!nRH3V!IACR@ksq`MP`m5wHq zv7XdC22BG~!(w-D#X2v=-SIhQZ_NIsjj*xK^VJ3EJ@n=ZIk4BgpZhoSRxd^57ZEE- zv(-H*oQ-U*S;jJp%`ZHT9Hcfocdw@}MBI3YF`9ClSxMb#-7GzWZnbMT@ttp*_iF+v zo{H|!gc}4A!e6Q)>FuJiVb@`Q!YYbx z(rZ9A^hG35lDM)@aoO(_;|`OnQSXt)5qbPNerNg}3Sl-Qibgt`>k5OWL6%$ewnNoQ z;>WS5td{b#M;xuJ5&F@Tjuf==Itz;?NR@TzIZ@ZQ}*w0OfBhb4gR{kif;99z}r9hzdH8qin}=0rq<4O zj8-@fqg!Y;toF|Ush)to=Gu$Lkjsb<{8&z~#p%S;>%4mZ>DORTR+Da8e2 zmj#@PH~sXPsb2E;l-?XJ0#7N+?P=_rc`x5;WSd@8hH0SVqIYuTDdU|WLiS`JLmr@p zr4R$*Ab}ycfr?9@YaNI}!eih50YV^gs;E{;)(A|<;L%cLR-jvnzPyknWH`ra^N`_5 z08cdIz!72sazXeA1=3eTPBw5+X2BXLpJA#*dIxNMNti-lJ7{5Y11&&*x9o;Qo3S@ z#iXcw%bW_W#DC`L@(6iE+NbZN`3DY0?h_W%nt-S9{K9G`xQCY|r%P{5l+Ub<+K%?i zCyV8I%#+9@-QZB0eonF#>HYdr*w(K`|#wA=N!q zG4XSPae_as|94{DX}xI~eeF<9Q|+6yos6Gmv4=zZKk!<@OaDBWZLeMoaKlLPC+;4Y zoz$V&jogXgU6sF+li8*z4x84`vq5_mr$^`b*Up2FL7Ta}%l_-&3Q!52s;KY$0p4(L zYwv{5Hjf5KOGrF;JrZ}Y1OldF_HjzFH3{j_oha?kH-^5Jq#6sF&i>J(w`pjvXURC* zS_0*n%?2j|Gdc8Yj0e2s>c&oAdtqyLaA{~6rPhqPX|*|hPPb1%5>@}YRz5FL^Ln-= z5+>g(pu{57C7j2^4d8ouzTc)d_n!&jYznaZbUz{e$LlI;?d#2IIPGF>cebluFxqOH zx&wr|*`Xi@U_z6$LpT~BuB7ZpK#ziD=HVd|y9O~wz$S#u6PZ*{s3ogF9E{lL!E^>p zU+}kn1PD77O)E<(JyvLyJeftzig}n2$5Q@d{>NyJRvpJ5?iX7;+-F-C zj*ISv9+N5|HO*P6TVYR@#hm3GS}4&WBr1+3$|`vwv#DqywkljNzB^kuH$P=L#}#E- zb}_w9e?YIOiPYHGz}~Rg)PE9rOzx=eeC9agd~%n0yKtj$w|yYkN+l$um?(c!JkP(6 zk7A(A&qCq^3DZL^0m~#$HcTwb6p^8mQlNpY0Z{9z_cbWhcr4xEM9A)K%5KvJ-9X_n z)eGRq@-qQv7ZoQ{GcidCDT6V`n(?7eui>giunSJ~(C+)hi2xh(Er*-EWHi`LeWK_T zJ#Z55(7#*rEkP`sDAFJ*g?^@MDY*vq)22gNO!ervA_}`pbE*R{ zJa-s|c7SFP|3*+OdnO+zHC$FOE@n}hcQAc5DL?B%GcQ=|q+YC9tXeAvAnp1vGE>Dk zIrd@CZ=Kely6CD$+S2VKTlFk?m8P@H5r*n)J|7fG*g4GcbN-|VNf{QD=!>7>FUZOa zcsyi(2zL%Y%iGJH5ZV7dnGt)fRy}C*iAR&8rz7ZJd-;b*BH!P;WP|)iOCW;^MhsNg z9?vN_5ix8Dhbc@_5orbZ8%Xm2q$7mx55>Y$<+2KNRVZt?%IT3Jo%tMWJvm5oe7bP{ z=)4iD{mENTUuyqQk+|Qfs1nvB#j2319+k@#*J!rT*H+0^uU5RLTW9L0F4!g5`9G60 zq2-pRy{GFnjkUZq-`5oyeVk97qFq>=>>L&E*lzRx!R@!NkE@|Fv{hZMgka3h zj(?`XJx{jM@i5}3KB{jn#V+ya64bC(IrNcu-%s0pI5L^2icu z3W_~%`Qd+w{dQ>k{wSPcUTog~3vg;a*+kPY&{CZ3kI&ul&f$yk&ftTZBYF?~%ItV~ zZT_3FR=QA6)i3VP`O^1xIN7v(H-+(?mbP5699D282(|LCYP||`VRSK!Cxa)BXTT}X zImOA@hTm5ADe~$3>gI;G;l9<^g!b)d@S{XO3Lm+ZP{luYW9N$z9^{G*M5l9e6YqF) zQwKw;=@vFHey{(_W1Yk#N!xGYf?$bGAiKro`}x*j45Pmu`g5!Y1cW9_T1;5g6ZA3< z$~Vs9eJo6l%oI8*tw>BHoM5SQ4E0#+Do=5hRTu z037&nO5woCS@N!|IC4$~rYMAuL^2SBF8Xs#GtfcT(20$nLZv z3Fb`RV6$2$JSX_{^rYlPCK>b zS+CTrSN)uB@k0yKLhz$O$;hZMNCa*$tEj1wcc#uu-&Dm zW*iF`8Xn$kwc)f`sgX{h6c-n-EK`Q<^tv~{-s#0+)O{I*A_A;6iqfdB)@S~?69xJx z8=~;g{d#A+#cGk=W<`o5F*_R<3o9aZv)v)0kB)C@GzNaLE7TN;kgr0u615L* z?)S20Jizs{9`1q+beN>U{Zc!2wXh!m0F+3X+1bS*z?O(H#sUgwVJ9C?{}x|ucL&@} zP-UW%$uC!_H8(dGk;2K;hd9#m5(t@NkQ)j?{QUV75ub|~`eDcC`t$9gKGXK;VzpkA zG@a&``BsP1#Y!z5HI^}p-1|Wc(+I@c7MIsu$xGEc6fN&It3@1nAt%^WI)jUc$Ms6> zW*i;oR@Btgyu5fqM3Zy{ z6e>6VpHC75t*xyA9c2RhdRAWWdj+@zZ7nUUD(~Flfk}cVPIR~tXvCaOP*Bi@Uns*Y zi6iFYcn&=z;iq3glM2t%T4XS%kpp3HSlaFOdHMMQ)=ShyG6>c@=$7{O@fbp-e}oE# z^pXB~M(-y=)VJEKs>3hcvZm$52Q~Ac&hrF~k4wdNDj~RwjK$)FoRy@9t7c9ZV~JGq z3x0pFiWC}gI_%I(z=Zo~ql(s)-az>&6v1W0HUfivl)~}#&dip})6)}Qz!%$#? zdbdB|U?fUFKwzWx%j4MhK50>Etk)$3ETfb0mcxdMJXY*SmEE^1J^*)?}wS`!l!*d5E&8j6iaI_>uR zt-zR$4w8(=AH2BPAI1Q8`<62+_xV?o1i>Z>@&|t=htpxV@AJ2KjNxXG2mt|s6Rj+3 zDVEwK@Ot|1cgX|gCi&#Ah1Sd}=I;7&{d<43=tSp}6E z26WA9kBtrx!~%4kNd{U@Z8Q{yjEep3eQ0?2(A2M!*}SwSSpO?@#f_oSz__>>;E_vJ zIsZ!gzcG-SIIvJE+j#dw?KhVzt&x_s>2L??u(YS03cm#JVC2!#)vVMT&7Z^@#y#G zb--)c*w2IcBGIB$qu_`lBFYWyxPLh+V?nC!Jdm^JQbM$#)G@%MQ>WPo_6L8>q*lE) zdntEAj??9zTpmKSs|ii{X3!EwC}%*>lLU+MwEDPV z>JsR(&$ma#Jf0so%-+HLxa@i9U5Bm3gxXahqsf7N(1tak#i|{TuLj?5SX+@7va!ME zVVotv6n0o9EV>pzEhSY9bHbLss9F5VLdOX~XV3uw7jw~Z2#Y1wrh{5l5@s_qmLW3iC(AZ>=g6hz4DUb9mgx`DCvIz)@zmtbh^^Y&oXD{B@E z21HcDa=d_)?~i*$UAFsmi-NQEN@;27HNCK+EnvDNfr;hte?89V^Lw9M^%m{tTdv8Q zRFDsxwvU8pV1&Fr^3H%~{M-L=CuVml z`S*LF!|Cwr>)qi+TEp4Aav!pp%L<6fB~He)ugHPzQoUPliCJ0P&PP%n9v&|rfj+1p zA-jgUJ;X%L5{xuyc}X4(FdRq%+=WiAyN*C$2DBf5(1fS++{e|un@_e&;9^X*UsHR1 zK`=Mj0Kw(UDH}1&qqDy6tx7h75qq%+;P?Jy)diVe&H{$NZUs*P_Y)ax?P7!hfd?6K zlh|=OCeL7B0-9iHoOX%Cuw@c4zQ~EGixk%gN1P>ePC^>QysM*H*hik%v8!iv5dz1A;?*k9|w1UEf6I5;zNIgBKT{3|{91@}oT?Z9f-g$RCmC+$&zC-~^rrW&PY=Lz3GEf&FA_7*1 z?YM(Pr4SSp#On^2r_fp{WdeJVyaK*|qk=$?Bo-&&?TqS$=C8yn{jX|>Sf%wmE+?=* z@(1qNjK0HqE**37*Q@H*tz=pqQXo67{qI-2x$`RDgMmpAnMGHJ~RNqrBqO?F~h{j#a3ZqVG-pH zm6&V=`6};e`_M^+lC0cZ`11P0u>`EGf#`i-W^b??K#S3EcrrVheMV?(2Q-)tvL+0Q zLR)$b+rOXqU=r1UtKI&D^@~^>)(2xb2QC8J>}1z-pdjhKTBk>+et(-Y7+2A8@~}4; zG9LL(#2n#wKf@WL291VC4|=HT-tMp)j(3$tr?FC@JZ$*)7xN`b;3LeFwBXw**$Y8X zxm*&9rRzKzltn!VL^Ti57kIMS-l+0DopEAIn3s}Dc#Ysy8c8AY1 zV@CS%mkC4Nhvry?Mm?b~KLQ~iHkyiUEp7VE!`ZJ)iowXE`#C|Z-?_QDdp-&*2nBIb zfy&#$K?E>0)Wd=d@KHvZQ1?7?CQd5ZY*`lxa-VH1h*lv(*~oNevjek^Ji9gVId8byD&gAPk2{WlgMK0vzj@ zz=UuOg!Qo@{8^DqdI%0(@`2l)ND)Y+HHS_-zYg`d_@9YtM5G5Lt3X5qQUhA9%=gDt zgZ(gRqTmJvQSyPLJd!6F;h$#aWdK9~rn8xvFpL~GKH);+E3?fC{oj5x_B@(zLe)(m zC{2zyiY~CCy0|pQf4$x|q8&OryY72!IcoK!!lzRVk!@KY_^tt?sX_JmXYw~ikOnY4 z={GWel*h)336Jm1oB2FFPmW7*_-3_Ik>qk24TD+`?qx!>?m08%+J^a+K3SViG*Jqf zQI%iGDh3n*h+U7iKXu&O12%Q^H?8yH%kIsco>p;qmJcY)E_+t+xrkAr zrE4TTez(sc^sK{!gFWp!w~H07Yl^K@%~BZ*Pqw7w3@a&+|L*d@s)V}^^V`CroB-PU zdK##)TS_l9$1<{lDe41p?0x&R&F)--PR#km71`HCxPH)LH5!Ai;Rk4Yc9^LVI?R!5 z;3T5~JtS^sQG@w&S7fKftRgQm8y6k#=cD7WcZ{OK1()5N0jIuYSLv`e!nNw2|9?rT zl}Gpd5KOcPr-Ks_Ygbc82T#44I!+FHzCx3d;89mDEGZ9%4}+vef14!kLqL-2fw=GR zK%|Ii)AJAc3^+$$Cc z#LcV#i_yhJ>j@=RjeX#@!=4l`YI>|b#Utipg{(pvtQ#8Xx5>VTr4d|cX{Wb0yI>tP zG&-NI*%P#o=<{E|3pjbJczgRAFI-0QzHjT@m-$0JPR!0`-3%MZf-}LXs5LXSTgbGB z6Q+rikdcu&6=l@dGcm>p5$Bd4qK9HnL7~pmgMt$vTDB!Q)6DG5Znyr+QCDw6UYokV zEQ^!qUbfbm>1+&pjrknos7+68^(vyDp0PXkK|ssK^!3UrYQ2?~@lIHO7n5IIE57Rt z`@~?^Q&K|aW7;Rg-&&!CR+P7}%(FDTQ(DK-jgZ*lhs@ft=`E$rTE4(T>3bC9V4Z5_ z3fV1x3B{{Ad&F>Np)cFF&_U9VMuqS!4;w2mcyw!IidYT!dX)=5ffHoz7;uSEc59(+Xe| zl!gnFh)bc%PT*Q(Oe?{8YsdL+kXl;DdX@#L=!7Vpitwv5;PDbdGxEE>`VA%3hIY48 zFNoC=?M~Hd;QnmDx)=U}ds}KqTdL3ztgH^eT$saQmmLIuq0hLsoZMkZ<;q~IgzI^% zg>~pcqw2vy&2`^ksu=nGQj29j2HV=bX}+1OXPcATzN_8kYK6Z?#B2yc7^>-?66gONM%H%F0EaV!9lJ3H{$T1o^I6oke%&k-Ev0vpL)Tx^sKnM+G*MT z;|KDO6DNVz>cN>@4r|ja@*+U- z=W5GXV0^a1;eb{lBv3%JLN3!5r=ef#tilZa(KLUdbK&W#7KbWQ)!pK67UHaT@2^Bk zMDdv8(QuOc>0x}o#kOyfLGT`bSbNcp#lv%CmvAEr2B{FZs403@ID`e5)&E$T_**TP zH8eXh40(LhXk@84p5}n}=3hl4NX>Q3WAQ$E9F+0nmr?4q=Aie!Btv*hHJv6L9<1=B zFjyGs-guo7A5Sd3=^!KD-Dy#=!3#UKN(WbiaAVtKcOWDO^?p)N7*#rIPF7kk{f+bG zUp%ZUME{~QXBTi?XNNlchkc#=C07;fpK<&DIf(d;^zExNbFJszx{h5t25c}z&vq+r zZ@%D*r+aO%NWm?G(pa?*Y3{QSzTeS`&^Sai!>8kMk~3>$K+j@`>eKaYB}5~GbEPV= z*WS1N34xzHeZZ95Pzho>v^ob~hB5{9UxuCE0ou?3>d;;}8bW(}wcY1dtF*bgweCl4 zZtnC6+w|UMomul-GXTx64$ROS|z18=;!r z2?EUNZm_k2*bvk!N?}uqK>-G%)861$FoF#Dwesa=4J}`zG5y#2rVFC=)yM9BeLPGC zI}^K!kM6_=pVDy z=(>%!+~wr`xkwT$k*Qpujr-559$)bQ`;dcoE=KY>q{&COxDU#s z964yYsqwet7r~h4P~Eu6?tP_~)K)g4^>v$rO@!)=G(Vg_-^qah7)Mj8cScpafwYSY zBqD-n$4yv!qF$o(dW6Z|j?^@$x;>8Ej#Q0jYn_~&IN;Ea7m;AOjH*kOE)J;!kSX0= z_4}62P0HxJ|9WhB;2L=XyyYyk0kU$CGOl`iKI=CRyqL&C+LKwf&lOJ(Pb_7bHaet*xBg@evNYSogYKpVS|;bCnB>^Cg@Nr=zMq}OGP2_=iGhe@SP2Rqey?$ zS-lEa0z$-wgGjndET+}7A9W%```FuKis<~e%LWd@{WJPRaU9(**FV(tQ zHLw1>4}*wJ0&2`GPv`d>pIyx!)5H9pA9PjAZ5P*3mo077tR3=sir#EDPHyPnuR>rF zioi2sa&fSUgxa1DyXi|xPx03T;1VDkr#E}qyG+F}^=FjwaIrlH>Ec|{2G!)ktxXaP z2thE3M~O%Fws$KjMmh@NQT`#aX;pqqmEP=|r@6W@FnYC6Zn&pvAy?8z^BJkiybxS* z%ZM6!X}B0UJ%_Gb;m#KJ0+VW0Y`nw$Tl+hp3Mmqd&25bJ=o1>K%esTDmNf(@wNE1;pf zsr_lKc*!dtHX_AB&9V?Jf1xo^pQNQBWd|Ise+s^Nulf-l*JlRKksBTWxd;3wRANfX z`)XW7e_l-BW#sQ+3Ss-0pQXEZl`Db+CR52wDJp~tS^}eE)$v7~QFlp!0>F;ISx8qX zk5j$8k|P_s?q1mVS_xYzJ~NTkiC(Mi!3>8RU@ZPBY7G<=k4|+wr|v(cJCO;Lw%fPy zl!5s`dEqO@h$X+L?gjQ3AoanzbyOESb3dvr3yUSY={m%TAyzmA(S^X zG`!veCkGn#fmIw(Eml`o2P)6%GIJWJ#6cp!Z;b&ad9VC@SU?EZi-nFF_SoTbtEfg7 z$i!{Su$a=uB0=4{orx=2M_6b-Ty7HFrYiTwY4=dQQ5H|CLz()*-3(R z35bq~KZ}b6o{8*hCF~g8PCO_dl>O_c;S%4A20Du{VO_~xT!PQ4ZjIWC%zwaA6dV#B zs1*usZEr&%;Hm;)6blP$6vCGh6qTA0xE}|oQ-b{QWkZTvqYY~=?S%VB>dx7YbeYb^ zcvC+?-Kt@E>YVJTD0XFr#eV^0~vfCug4XzA@Kfi z2JYu^I#1FFApmSGRVW5d)urp?ut@=nisq35S$QCn`}G(e$EYqmYr?@W?3lT*l9tyO8htBzapT_n2! zD%a%-dFN}5Wcd+@1n0-c%iSIhOZrOQ;VHniiV9&(UKRK#_KewYaJKqTeP>goV0e7S zT_5W-^(?p;wWEhSs4R$*3^JAoGe8l2bn>u0RK#AYo_W(!QCaNtcmc&^ue&2@RaMor z6QXJTQq>tYU|)cOtPsxZH!=PQquN)a$0jf4R{C9CqOZ8| z$A6hK-^x4TPiv@8Lxb$iX6JZfq)QL7=4D*y_irh>?**R&x5Q{nSQhsdKpl zPeFcG?}c1Pj9+Io6V?~uh#)}=wWU;dSBQ4M)3N=B&aVI+?k2ZYiPi?HoA-zOufz5| z$kQ(dJ_*++ObCgcU#mn9_UWq-mO@32rPYNwt24arRdGmvoPafI;6Xl{RkD%*dmaZ@ zvm7dQXdpQrBiCq{UyU(MChZkJR?xRkK}m_?*XwlCz?2BR$XAbdz+Uq3ZKMTww4vFv=lJ=+Cr|7k%f=GM%7?bi6R zli`#Tcar~X36dAMJf?%ckf`C~XsrL1yu4VhHcBwsW;*1B*K~w-gE>~Ew`qO$J!**8 zH;(JT!Y~<*fSC(LwiSc7RMUxFUI15Mf~IJ<{A&#CQgR`(0JR*3r6B0^-`JLP0O(bg$tP`v@3paoS=X<+oXO;IG^Ec&(V^xYl+^DFI z-+bLwtg!rO_t&J3j^U`hRLC`*#{r|{A0vFKa6_SpTike47!qudC)9LLOUx60R>fj<9s}6ga|BgV4f}57zyFXLD9&S9@sE* zz$FRI@SH z%uL5Dq*c-9t?j*k+u+Hj<3tz2yhCQ4{k_Zc);Ke5I+G=2RlpLHUY0Bf6^&YZo#CV6 zI6=~WKzVG71T=aX`q${<{d-hU!Ly&+*cY9ffJpp$7t^KT``2FXDQ&_8}R z25e| z)%JINFDf^uBKm1cmKHdtW%lIJzf=yKfu*Vdxh{Vn_yy5chp=j(ry&OB%}jKINB=UEUL2uKIE11_234 zDB!!cv9U2UL`p|T$Irh#J8OTwR9Qh#C-0a#w6K7>iKY1|rYa%v=cFKjaW=pylb(eI zrO_*WZZ1C#pL+q=Mh-DEqg7mN zx(TQmU{qZ1&5huw|8<-&j}>DRZJN`geC(|%5<8iQU{$3`i|4tIC=>E?RDj-m(PhWs z>FZ!PSRf2xviw59SWAhkJ#ae#ZS{%>G0NXzzlf|J59Ym-*Z37F2P69N{H0U5Sfbba zG1#RGh$*7Ct=7v`2K`vYCO$szU!U)S-Vc_ux!hb-aI12TlE6kjz06v(g<@s{@%eZX zSzlk@gB?}!J~#}zJP2;dIFdX0hv4?_RDfW0!l7@PvEe37cLNe#c;>TS)&sqsXPj@U zs>OrE{;R!Q^5OeMTW&{~MlJ<3V#25O<`0td-Kluj0vzm&)aca+7{v?#jDq~!$oI?w^i3h|6f!C^0a$Wb;~Ek2nAz_) z)jV3`fPqTmoi-54G?zBLf$w-0#XIvRO($@r`;5A1Yt=eO>z&OM&U~$g3smz#fBSfo zu4Sy~Pj}Oc`ZfbwRx?ifx!}i%`S{1sUubSsYF#%oyvEC(1AK@auD@~ej8#eI?mcvI zcP3=5&h@0cFU1F=&|np%q?BsGnzbPW{Ichq5JSITKFB^Tv#np@NkA9LiKW+t!}eF` z=%c+>TN32u!mf0hs33lcTgCzNj?wJO4yVJa+i2ve4!+Ua0%4NX&o5>aTTlb*@ zR7b+OiXb}~9IF-zOX}*AwBCruEvSOG1)_DhAd6TC5_4G4py7BjC@y{Th`7<8=pH90 zrz#5D%{GLf`4H?r8t&#{L?+BL&mlPsT+#oyVsfh9aWuy_-h9dMw|}+9_RjFS`|O^1 z${YJgfyxjnVEn{K8@sU80ek>0!9ww%JVV&_snLyF z)$O4CJ2!^}TW37VryhOS*V57gRAr6o)miupfZ3-6Es>`wMgO;oj9gFv;jTX4ODVcd zQ+*W~@3hKltxmiDr#EvD?MQas?kyK@|@+qYdprWE; z$U#41ztw@F?$*JCQZG`&brlm86{HCI(*KJgf&|F9P+?9*)}_%$OOjz0HQBVV`;2}a ztTmc!ce$YvQ^&nGL_Z&A7-XXpail}ADFDl?Ln#W3$dqO-#_*D%8w3lhu>>Nff2z8F zyWKBwQDdn7jIj9vXRN3(fz;S|f5Fsv&=Z@iI|7O5pxgfwD}A{_)X5ZTSBZ;aG+2~9v-ZaKVU~Yuq=yy z-V!+55n-2S?S%a>xQD2NR;3I)HK^1$psd(e8T3>xmC}2E;_%|<1gnk*0E}#Gs$}XT z4HDsKN~)j%?mft&80?~Q5g@C8hn3YZPu2Fu#=ntei#nT{EHK!Fpb91k^@?mHD7nIV zeIExu4My*fBdJG`1yTZ|{u^7HjkljK1jVlykcFk35`nu7)PNwJ%1!Bfc(O7z(T#WuRwong@9aRdbSal>+QGT9jdr z=wLFzfQIARGK!W`Qwj7d&tlv9*BgHS*8xB$;U1$yxZ^ujB^H=1tyq31*VH}7GuBtHq)o f|6`xrd`G;X*U4S>ya4~t0Yq9{L99;1F!+A}gNflq literal 0 HcmV?d00001 diff --git a/01_phugoid/figures/glider_forces_nodrag.svg b/01_phugoid/figures/glider_forces_nodrag.svg new file mode 100644 index 0000000..00942f4 --- /dev/null +++ b/01_phugoid/figures/glider_forces_nodrag.svg @@ -0,0 +1,368 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + trajectory + diff --git a/01_phugoid/figures/oscillatory_trajectory.png b/01_phugoid/figures/oscillatory_trajectory.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7dca91eb93c970cd940912af2285310018f394 GIT binary patch literal 43076 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≧1 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 LWvL1YlfeH2FG<84V2$U;h4GH8eDs z2KY0Fa|!&WRV`N^4Go>gQbtBqUPgvq)zR*$rL`Fv+D+0Y#>Ra1&JK=d#Ky)gog8eJ z9o^L4ya`q_Za^X%k)8A%#vR7-G5Y#5*9m97qG5U*dSug6l6u!PA#sSS^YHlaG(+jb zII5GfFte5k2&vN3$XNM#c`4CGN9UQb;0{e9@QV9tLNRsd-?%U1I$nB5hhB2n$FRyl z?@Ijg6!RN5%oCRN3-7*?hRb&tG9Fu4S|;O?rQbk*hyBJO z5u@=(`%TwN46loBR+nX6X?tSI_tcpFn_SE-x#t0mery;R?Q}0=@cm}#QFKNg1`4*%}<`=a2=_H1zY zJn{SGf3Ay8I(>0N(2svF`ggV+Ct`j8>jebuzEL*fVp>_B%gw9C;kLwr*3y-CP_WxHWPp_`|Dw@(a&-;s&*D z1tFZ?1ct757c&oj(->c&RO;x{uRg(H{eEj74#H;zh|>h$jB4LS$yi0|W@VbDCz)8& zxoc#;hv!cgT1sA_!9EbrT+#d{txhQof~%HGRa={Netuq=H6kK{SxjuawKMedsZiyPK&@r2l5|P zJ{`Y3_g*G8*S4WDv-^L#i4ny@8rhs%V|Sns-zZPgc!Q8->?7K zL-18BoGcTmOQ^q_;ita8Kl}gU3#!_?=dVY8{3!41Ti>tX>50(L(75d(1nta19037= zH{9zKN^4`~B&YHBz{2dq@?_@wit6hPpFMk~Um@)Rt;7*bUS2*W$Riy5eH*5~9aPK4 zb>sIwhd;+9RAnCVcdGicK?yz3VL2_I`)>T%%}g<9=$g;*ZwChb+4~>J>6705&mR!= zz}_Cjm4 z61YBYWK@)bp3;LC$Fp= zwYqA}+I2=$|e6t@G@mXV9=fuoZX4SHt;xM{wNb^hRDpbt~?349#}4!@b>MBgMy$lOM`nfL7r;NJ zLCui+#?T|Xk7uXHRAxujh4n{mHyK|*i$X|+K9uaZG}Y5XkEk-|U820Rw6xU7S%_1n z0LRE?481MAys{GS`2w3DYQ8f1MBrQmtI&N$pzP;3sRkqKH|d;T2O+R-7iRUM+2`RE60OwZaVy%$_pm@xnF89_a4L|(%hCC2;Kpt+Dq-7e z21F79yNkUtwzXSLJt-{XUjqrE`MbsYZ#EpS*O=`t56V*fzElMf_*PWrd(T0HLD5Vl zWX(HOGaD+##KqNlb6oRjQ!qt%c=*rS-P8T)agu>}*acQ$jw$)OWa+DEYiTJsI289Q z{1*a@#3TFC73aT^s0d6+o}&8ae+1GAwZ*nic<*#R;ND&0!&^x3vUM7C=edJ5RA|H# zM9$+HYKXCY>q*lE5CQ;!STtQ+%G|#bL=X$^)<= z`O5AW)a~gljaL>v92!&Fn5vs!&Mg$msXO=?l+t~~$N<6qT_b<_CGL<0$a_2&p%RzjdooMcF1AtoMEtz_Z)Cs0wSUcS5-IQ! zz5`o`cS|5rDz_R|c7FTfKBhXtybjBEC{I_G6-5yc(ydQHNB?`r69w!MSuzJu^*$!(pf0Tq|p$^B6lD8<9_B zh@|zW$Pt)}i;J3};W|ANE32ZbYej@P20G>!@|kd>1J{AON%vp~Ze4)HX%!Vihu(#T zb*6x(^i?~VXL71hAufG1)U&p*u#Xi#oQs$rHBWTewr0veQ@=*+G$FEFK?FW!{B~(H zCRtCZOmbtSTE}N$9`?q_3ZKQ~Kq1}0W)V zrt=ezDL3jCS)iu4W%BYN*;0pDv;m8R*PcLZ-OqO%!6N!ipG_~IRUZIw_0Lp3SPl6| ztw*VZ8ykuQAYe-ObdYPG;#;R*9k*O}dgbUw6$P%p`u&z0H{ftmB3a5iN!iHsXhU|- zXakErdbz~?5waz>hU54vR6-piA3<1uC6E$mYq_BLRUlV8+TF*)5g@wB!BMI$Md0(~ zVDpFLuTSQ$$?o|ahl;Jg-&=E=>NsAjoNoK}mL#>_$Q6nZrdWXGDIvF;sayh%jyx%Z zZR0Ru=;lW8qAn$@DPmYQWxWl4e${i~iotbD;g`=3nx%sI_%0x99b~eJ!-rG>EU^Ae z6}xTYpD8IfL>7}?#Clh7T`s8IR#=*$`Z;+WpHiXh_Ra;wi zcqT0JHVh&338F*@y@s={8w~#bUg$9P=+~T)3&cHggS*7jJ;^fnUaT7T9V*(@ZoR%j zDR5KgTB-Khcy3|+@~RP!%(By&?{-AuZ8N|Y!AiVjMKU*RPGr4;lLU<0HB91UpfJ=k zm3Qy*ru+2bE_=$}h^asPMOD4|1@DEfArVv*>Eo=PtSzSy<=l9`2&?hLDV7vdS>W+t zHZwC5tp2LPnspAC#kKC0)p~BBrhbu2lYCTc)@Mw3172vpiXpLML?OuF> zrKP3vr)VMP?UVNmGII^*r-l7oJ{p}h8}%F%6cox75Sv4TaghT)-kyKJ1bcw#Jh;_k ztRR&X(NIUJWO=?fX2k<|U$K#3p=Em%7vJMAFV`r}E*K<8r(LS$u^o9uzNenLweH30 zG2!7io-_qJY+D~_8!z>xJN|sjN{Q`0W|`T_7$$BK=^^OUdyjlHK-1#f(D%?xWW8!u zI%s6?1Ki9k{TeyBm|SFREIVS66BiwG0_4GJ;j~wn*G3R7xmT|9!iVx7El~SJa~rHG z`fNFlu7aqG?C4PHZI5bnKKK!+2v~&@IRpOQtKk+r-g^w&8D($as{V?;cW@1fEM6fs zwGGSw=4-NgH7oL_pAOcX+SVUFopkPlLcz2TvBUCvEow+-t_<2*x?=;ZKkM086B1v)o z>emQZT=Mo@Q4d?;WeY+<*Hs`91+l{I`5`Ej2Z@qMO`CE=$<)N%fZfEScwW)DACC zjTd?r&PD7>h@zolqWy7dzrzhAMb2%Cn+OW80Fd3faWVvYbgJwhPhhLFkJowavs8Ak z)aHmd{rX0mKnn$r13i+0J^F=)wzm27Q(9{l5fNP!@#R({n5f*dlY_0MI}Z}Xb#3c* zwNg0~_{S@3NF+GY-Hx#O!J68ssH&)_5Rh$AHp381vWq9T4g7_iY3goE3Lrw^9iZmY zzlxsOV*qQqv%9?f?0Ab0Fm7c#uia&4tD!t1AJd@3aPCzR!2M?5cLA)f-kgp794GV}Xu2yR#n^|8}c`;!3W?+k8UJ1xd z@Km7nTD_IJ3OIKZ5u@yNGvBre_t_BHqAV*-1NR@VQV2AECyrG;fB$F0+>tlvKMUJM z;c-_X-}hACt(LV$8I>Jf&aViFWs|&`Iid ziLP*_b`(+=Xe+*G?$J2C-5Q0hj>gEB>b)?_XRMZMmuVQt9Et4;H)> zN=KYB@kz=T_r;5)6WE5ba4ASmZj8}R$u%#CBDcr?~^QRgfP zKX!MEweiZzVPi@G3)P~VKMVnz6q$D`npcyh;iqwq?)2^FA=_bmXX zF{3t}Ht(Pt(Eb3tvUE7%a@6ipznoT~As3C9>lHF))QV+h{8LWH9Pl6oQ0&o?3vlZx&>vIFdIPHh91j}CJ@b*S*g(zE*z<4?f@ zMRaciIP zP)%K%2~QMmer0$l190l>x?JcDrGU32tdxzBLQc&zZiGr}P5jKv_ud5sg}CMBH^k7oHS z9UV(*cZVK@fBH0v`WopjYkYdNTjIWDk|{+=A4b97^dDl6`S9E|gd*~~=CGnR#-%H~ zLt1@;ADtho)V;j-%y0&P*jpX^sPN(*q0l++DCIGITC8VQHC*H|nx1Z2+ zwo_Do<&*;Np!nyVf`qrRd}i+=hC@I_cZb$NK-d4Cf;Fh`L-@B{byi{)Ic{P5IJ zQ3X`Bb7LAu8qcE&C6MQH}--LTfHyA1aI)Vm!%LE?w zT}qqK!K*1vp)^*2G7}#Fs*jVQcX--UbL8xD*pudV{vc6O;x|CkGk`rwY!V~VlH|{= zT{G7Kyk$#ZRnW|R@()J=y)mlnk5GHxD7##1@b51eI`&(+@)N@lo|psu7X;x zH-0u;5YMS!r3#8VuuEPuBz41UA>J3OBC#6@ii30B-_O~X%vcT4-a8ohm5hu`G=Fh< zEP18&wp|gCIy!zFge0iP+jFgZ@jl?5i!f0lZ#);K$&I{!3~Wr+ROacH$~uQqwo*a- zeh(x6MP2Xi*OJoG3rdB21*B;_@tmeWIH>GSt0Kq7^fJHJdG3~+7jH~dm#R0t7DG4S zdprO_h_OH8L4;Ld-Ox=&5;633h0u5q#|;40Po$b~{a#{WVG&a*v9;8C?7TE)FEI+? z@47AHeE7D<8Q@tvYoa%?-Zvqz$z~J*Yc#sbflYd?r&>HrVowK3rauV$-d_N_=?%st zk^z8DcA2;0OI-myxsbBZ&>KK0cj#g&!rkj3L9TBf!0;g9aO-@*VKwe2S?@k>6Ni;g&A5HhXx>@78w(R{nqy=xWHoK__tWz=2 z`tJIgm%Ra;)cr1au#6aYgl}-DYH6|TEOZM~4hHTgxD4saQhWmMi7zA zSUxdG-VsUjv}BW#nzp>hDxrO$T8?S`QFlt zc0;Z6tBvD%?+$A3U0zOJ@!#E;o;J)ELmm3rO!MzSD|c7Rc;WD%r9#mPr>q(oC*s5; z5Yu;6-{Ctcrn-$Jv6x$yxfG>}>~M2$N35XLLf{CrcHY0aN(+E7f1;c-P&dAnOw$Gk zpCRdU)UrI7oBpIZwDE@F6Z#}!Y-*Q*hb4~l3g#OI2GGg_;8ETKQqb(&=$nLp^c`3GNhIb$-|_ z%bOnGFdy{@C*!B_wJ@>u+r4P)0;g+sei7$q`wfs92r*S=Ptr-te$t2+GkIfS&bd^6Un z;6uI7@r`TdFi%;9=vtfy0OCjtF28sQMbu|dr`Lw)!1lFSlY}L69l*YB2kJm9l6}i- z5vcwTqLdD{+j-2|BH6aQR8iFEn8ZNUWq%wfd3N=rcBhM^u7)QD^??PCocr2o;HPVe zFxEKx=W!mtKFKa@AXd1&65<}-hqUF*D!5nJe)rB~Zf-7#K^$*P_(j`AEM{I%8g>+x zS0F|j%c2~2Q|9#*TrLx_t5{FF;@A|UI6v6cA2zMmNh%$t1aXJ^ogYtk1O;unFF&tL zR@5p&vwaz0$(;-l!uie8f*?gCnZ~eO)S~`pfbk3c0OP|2t%mL|bj8Q>3H{Wb$@pyh z3=qL?$po+U>c3w|0falQ;KY_kk*J3V*w3jwHI3krI*GdtTKT-}VF;u)sdX9D)Najq z@cFk&;jay+UOtm=I4`}KlA_x{EV|CVK?Mv`YJ9i|ZbH!W z2z;o}BWXKTt9$wK<=|9Mf<%wo)^y%voFzcV4_6VHzcy=(Qknyl+~zm1*WLt>`~6|E zN`?QF_NrR4!U~y_&zZO z33c>`MsS`(QgU)CYy>FNkBMYt86d3^DFd}V9C;}zDesc+Utuw*d&H_7@r9%ZzWjzU zlu$yEROzo|4@z4a&Yyzln7%uor{7G?14ZV>*(19;W+0$h6ulYNy1bZ?E4KuhHuWM4J{sS|sp zqp!+9vI+Qwd0S>M?&?PQC!~3z4@)48Ys})9dSlvoQh{OJSXGGR0d3)1hD|`XyM0$x z7q=;nMi}ap(uLXI>#+hhH{`KpiK)j3{mo))Gz)hTmXO>yVCc2R3{o>|%)3~3Z-Lrw z$>TQ#5@fNGhjS#=>xdPgVaNioHsJ>Fvcr&sK_I^A59yMZUUGlt1;uGwIP|ff;{ZfM7hS%|lUk=6HV0;91 zZGL`x3w2gN2>{i`CX$$MC(-dUPz+Vc@~oMe>FKY?isNTsfM7?oMzB&{R*^a_gAn{T zhy11hNyYQKL+d^FaMab+)3dT#%yQp8^!Z1q$t7s^SuJjc?kmf`tGHh<3lME5?75j2 z1W{n`@(yaElKBx`JX{&l%QZN9!IqZCFntG%sDb zZrt$#e0ETsv}bpM#OK^LFI>*e9vOnxtcR&r0zea`6*Ql$e($g`J+Sj_xVp})1Auxr zhLcgY2`WXh=WO-#ow#uhO%#sc#wh7}H#&hdYyHoA{B!cZk0t_{rmadThY2B#m>QLn zHdcX&HgltH-Sw>40oC1LiVd^CE(v7HN|1TxYK$O|oo@dexob`-xf zl>d2)2){%+@z}gp9s=1nC16b=11x~n#?MeZ^Ai*L3q?Bb`;vKuKwxtBx@1a67^VO=cps7l%5>lh z6CWcZTOP{MFiV|mzA#Xs%h1=+xe1Cki=c7&G=ibQL3t04YNwXg*4FU&__euFaDhz# z>QFgep_+t1=sBmaK&)LBNb;*#6k=}ctAG;0Z^Ot9oIlX$yc+V^`cBTw!@~ng9z}nb zodZgGLJ5$o?{!B-x#28IxdS<#toyUD3QoqsySviHN2sOngaliG^yzAVpA;8x7GMGO zQPiU=<{>d&j@IKFP*r#sWrLvt1+-OxbTmEZpaOb=AHiOFHO{mPt%DXQiwg%$H7v6I zCB5>2hhZBawWuaaN&4QsSI%o=gKSSQ&?{l0fy)3is`GS;zgQ~JnL*TAA&gccuH^1C z5DQZLFm9h&Tn1f{SOo6WUL>1(u(5&&>P{b~I_}x`H(!3N(4>mqk#KexdGJ}Nb*?oc zwMaPjE(ot!aLa;%$xJZVU%cnS2O15^kq$S&0%wsX6>-_m!V_@6IgkR}ev3444NwoJ ze2Evel#)S1)s!PzAifTbwsNEqIk7JngNH3TT5&L-esgCw9xujjq@R zGK<#ph=Ta%nB%{3o;M*|=s#3=+>FK_P15jgSsIVI4<(+v&&>BdhZN`@L@e&?|4kI} zUPJD!Z)dz}Z}`JkAg~oJWJw%qeP-anXhTj8{6(e#DSYxci2oUN%H+3kZni| zyx3zvY&|h@T>@LZ=#4h$Th4$j9W6s3F>s)~Ja3MlgHj`hO650cXbqY-vOghhNUvSH zer~_y2?uCT{yZD=Ozqo255esjwBF{vml;sC)apq4r%m{h1K>#k^)7V)Hl4R>0w@JR zL4~mXQuO#MgrH^R{@kCE%#~&O2epkR=SIW-zKs#QEtJxQIv|8fSOGNrBZl#P2AToR zLn7QaX}I0H7=H86Vyij_Q=r%VZq_360WEmch*>BF62xfH;}^+EVQ7}MRViEO;7Z9z zAoK8~%7*amRoVZL)~$9-|J@_7XGEqs3wvr!?yd~C|NI^l56Qp~ZYxi9Q}NUvq{P{O z!EIs)r55Si3m zhn}Bn!hIxasr7@g#+u#FS0$CP0Ihq9sqT3lgl{RK()T5Q7I>vgL89Suf2lxYnp3v2 z#IDAu+qBP%d$kqCNbu^_bj~Ty6|U^8toPv8!wIsR^U+4{>N9s{obU9lPu7fw6^a5U z#2WvsXMelo@oIllotYcXsv(fRYAS!kPvZQQ_-6x3p&qYUdld7)e8l9Y>gwYF(5zOL z4Zi*urMiJ>E$%RR;2*|kcw1%{>aZ#D)G>97?*yNU&4Pal(WXtQt#`$XjR#dOi+9Of z6-i4UJfMa>1jd1Pl=)IrLknrACks--EGXB-o;$$Hv?juSCjKn6O$C$!%i!_3U6rTP zO!Z@0WVUX|)WOm~%oKJB`hXh145ZK$^-Izbm+l^2Q8oA}y?`(?H600S>J>4BAbgP@ z2U6)ks}Sl0JOHg}KN0hm-F+3%n~(E5J4}915(57Wx+&!%9^MH=9NB}Kofnq4SUC{qmhMF^lt|BI<&)WSJ&JR5IM$P8|3;dXw=&Oh7(BP$U zp9$CorWZA3@vXZcQxx+oU`<;s<%U?d24rJuqis=_96IMG9A{idW5SzTG6;T&mO z_#^I!Y1&VZy*GD1heoGn)-uh~c^IvW=kM?BSL8=8&~ks|YK_lFa(Xm}U2kyOy^=s$ zJlZ%OHOAHFb->2Q^rSoNMDP5FWcv%kb7?|ES9HT-{FzR8TB9h34$tnR<#boYk~qhq z){=#xU>W%iCI6RjJghusV%X3*b641|co}kgzWtHT=P-sD8uXR0=g2$QG;`k3yIwX1 zPcQ34B-Qn|-b8(itudu`0<{NY1-TXOJ0y^z$%?p>MUQ*-fJWSh{A^cGQG6<3+j2R0 z?KFf&tYYhtO{5);hPas6d-Cm?TL)f_&OcB{iG3biPJ;^0BJ0sUm zQdzU*4RM6AzewGsz)zDt*LyQ(6)_w4dMX?cL}Y!CnDTu{2H0vHLT_ z4QJ(BbrswO*h2*do8c{?2jYnBun+Z4T;r3URH;?lRA!FRW*i@5* zH)s>XFtFE8nj3%~g}zcOcWPT_z9rXV~V)sSIUP~N- zDr>c7@A;jK-I!?b{Sy4A-jD>PMN{!q&k>u)nK)oH%5^Kd?9n-Ys^?tgWqDaF#A`R# zg=QIs{!!Cu302GDQ{8Z*_N@x(epux=l%)xO*7unIh#qfRKr1RIe_nM2$|n=qWb?0p zIj)^8rq@&OKP~eyqMRbQCcB-dn#!1kuS=WEj6OK@F20=;v!N0rlgDb{nPQ1%z>?TH zZ(L<;zd9Gu_@p^bmMd%j7e}c}8lJhOyEr(rbkRVt#zOIE5yN~*i)cHjdTLIdpWj}} z-JOtXpk3zt6Vqr2H7?c32?dc>-_{Mm7Eiv>4VZ(|n@6}7c19T|_f!Y6RbN-sTs>Ca%?8AiA= z1rpP)sk*?wC2~K1eP3RchvU{P{GXcYiLZ+SY4l*WHaAW}9+r`4Vh* zcXyA;CO#`)3fTP2^h-fUg~eE63VDb(c+`e@iGY@Rq{8NrJ{@_yToNP8Q|jo=6*=>pTW+6;btxzh=21yA{M;50qDv#tFF+8WQ7!`e&c#PZHI@T&-hL6YpdrK{W_hXxOXn2 z>KRI(Or&_YwVEwXw^$%cW-y)9)cP=mc^pGw?e;qzH^ZhJMYWwht8KN}y0GpK2}HiW zTPj!2Kh;H_tV)LLSFCssTT_f5Y()f-DJZI_<@5N!$t>F$S>>;0X1dx;#P&@#>(xeB zz<^21;f%eqUS_XCS(%yPy#)+3LgTj1pLb0b!*Z+4M+W0m;;EKCx>TaBoCAJu?N!J2 ztBJ}E_44o?jd|$v2J&5(xmtU&?ckFi8a!4J4V zvA;R-6!iPQT}}vQETdhZA4&;?7(Vfx8DQWdln|p*n)W@;SBl|fh}j*??Fu>ZJKs3} zeiDOP9RUWORsN@-6+smL)r_m3aL3mYJ6tqPXsy`||3SNnYTs_mw8HEsji9GoQM+Et z?MK>XL&T>&?ycRwPy-27dfSrdnu?LcGyFp~y(XP>4xs}GLESu&D<-FAP*Ve*f&;m1 zxa$v0X6^GcFSR&zOPEJ~cpD5!{@?Y)HGopj3M!qVTF@HZV{U0FTd)6US3h-F)9YhJ zWSi_`L?O}dY3gX9C-ES`JNHnsVR!DdWGp8_*r)8u%&>Qs;mA0q#^e6O%oG=d5sEIT z$5di&pniq5EZ7EY@7e{*R2+BRg3R#pzJ1)SA{ zYn<5d$-|u8B?Lk0fTL-w#PUG#1IpNAq~GVrHO>Pa+S}6!63pg_z5`t*6~E1SLFa8l zIn8_yKkv@MJyDAce@s*XcS%M-(eU}i&zK9vHYDRg5_02NvlwU#P)K-|T^RBMlgx8` zQK@wIZ2W!*c`x3=_?kb)vMahLDIXh`7V8j}cj7u+GhMqaQfyax{kFRAV06EFjn*?C zHgwIEPH#<_;Yp}ib5H^;6cdTUc2KOsZ(LqPD0#B63oOz2CHfv&0wv%v&LW-7t5>fO zRb>)V54tsUbNd5()u=QM3l7`OZF*ivtfu6~>Ghbhd=%G1jw+ns|k%r$Hw_&_$FPlxQaTvp?tRYPSH0w}Ixlm9xWK%Lm6cwoFJf zzOR8EubAa$tYcODc9&D+bEBt4NgdiEuxSyyaen&rX>SWtEFnCcc*44W7-%e`?fi?% znGZg*4C(3EAkK%@IoZm+BG^CI?>42OjGH|ZdG)qU>x*l@27BGVUSTKR^OuymLQ)6R!%@@7xVNus?rJ}aN%DmB4Q?dAJNPxb>l+t(GT84FEnMN>K zUZrs#nA|UV^F^2iHS405wH6!q$PG-pPtmjHVF-aQphIY51i079j)dP+c6ZY?0&#^{ z&Y8`=pl!pKg_yQyiw%3ypXqE5SgKaEYF#5q&IC$(7qr_aRhCDyjK^*&y6QjtBqFLE zBSGr?wu1v*)0BEP=c8t>R;x|reY=q4i?9H(JZFjC7QBs9H$kAe1M_S} zO*nOvuB=u8#{8~ecm88qZnM6jP%BcQ!X*qv71pSsv2| zpCuj#0m-0;H-Ka`QjSbKL$P{sYcAG!{!*Z0Q5q}tm$c9uj_&h#1ju>fw<8BFL`-p4 znAne(By;{4SKs$5i#^C&z*^sfhf)~a4B6PNId2>`8@IJ8I}1^nHhio}d6QyEKEE(e zaBM&7AwQMWV~^LIy44b!kG6XD(uud9hK5gdBwg*U`lN@c(K&Ol#pRTu2az{3isfGg`KSf}P|Hx!ZU(#wSXmRv#sXw#5 z+joy2u-Q>9yRKd--txRHn(pN0Udh>LKBpWCwS4Y+`7=$DBR1i2!R>7Ts)ulqGOq*j zSzlM#*}&tsO0^p+6`V!qxA#qj10Vr=dW{Q_A?%#X_k- z90&{;L(;Ff#B?OVa1;8fLoGNDQ7BANrbz0gN5S zGhu!wPmp>>-PeVEw2}k|8SLA+D$7npLdx4=L$PzRVro@P#>&T63(qwbGsoAi#x3tX z4ID$R*2?-sZh?}@ReXnsGGghgnCbLjUuyspIc)2is%~aQh!N%y9%Q-V4o%3xVM+i- z3m2qbX6J#Q{EJsWVP&S3WcSf@VP>HO>)~eRV5-M5>5MIzTKzKX?VuVnC-^f%g4i@e%C1p;jP76j(2xWM1=A@rl#9SqT?Uu(=+oq?p+a)%oFNh6y>#x430Fh8uOkN zP?J4PahsLi{y_Xj!&FvminQn#7G_>eWL!gE-iC6LcA+7<)mfmM*n@7u%_9GV5a3XI zzjYp&P~LYwTpMTNA$tnkAXl6>rY40-Spu;0n!Cy@CdF3Pkx1ayU2D&AoANM6UN*(> ztjOKcl|HS@kP4)Byl)IfbbwL7o!)qomoWXu2&KF0(fubU`Sv%9OkJ$HH3l!yeu}NE zix23>&?H*1kujG4v8R}Khx}MjI+~Sn=s}`jSu|}J)`RV0Bt)1%kF3by<%MFU{rRE~ ztjDp^2>oK|Bk&zEYbZ<_=?_NaYuQRZ3Cu`RF^(O1y>17?_Zn;H^bKMq%`LK7Sq(C{N{Xh#l13o0;2cD~^Y zewNguylKscs}GwspCZwzKT3tKW#o&op1;d#t~ z92JmNV;gw1M$R0>_OrL@89$$EO?j>tI_^g9n6-9gYkG}*zh7-WYJE6cjJ^KD=|@A| z_MZ3Q=(jcgY}qbDh9FjI3g0IK6RBwEgS2md?qeXD-f`=b$L5Jy&k^_?$Xs+JW~AZT ziiu!+qxXx^**1BvT&_Ep2UpT|Y}oOcb;RyQEelVrD!ZbQx4aflv9B~0O$;j-antp6 zX|ppsDE3J`UyKeZynlAqtQ*lU*H%)*+8IcTHr@%E(}I~K%^M#-etawF(4P=SC>{)I z&~_ll(_M(jM1(~wS&CX(Q9c>WBXJ41z97qd7C+}X@Xa&C%`#!`_9eN4^jb(Gxg*im zoR!&`U!xyvoCD1Je0Ec{H#a{0BDyb*UUyf}yo-7knUBRh4;-BrlN0_8pi%05yB^U6 z^~6IM`^`g_;srpCdsFK_B_jN6;AZNNS9s)Y??{iVg@7xG={Yc%>4%mW>Xm9ux#;04 zAGuy0bC`;7hE?;*oro?Z>gs>6@YUdY?c4^I;%cc0_c zlLrmIetpSH>2ggcF`pSN_e)|$7>4#VMB-*V zzfpUGkOtl0++s|?>A?+yx^cx7HNYK5-42!w>Y*M<{01zaB?B}A!kT>6C#v_1z9t7c zkD5ilEl+W}c!Gq?0bjmILz88CiJ~q!4q7c2a|Q>pz-PuPlf6>4$g|!v0JJ9-zgvOz z-M}GtR|`I@@J#%Uf%b7d(E1r`81-b((7Pc+f$jY-E2?+y1T0D?0QFr6G9F8{G3YdL zK!Zo{XjYN=NcCWvC4|Nini*KU18r~->?g;d$NP5o4aMyJE{T2p-pm@{_(@vBvaMMY z@+t?4NyGV>SMMuVXiFFYdEz$RBOm>*-`@Vh;PnFJe5kbK=Sj<=By5Yr9(2o~VV#fK zh9B+)k$vB|)9VDf&Co2PF6~BxM=Nu53oyP0hfX;((}YJwJ%zfp0TrY@RMJ;LhJBI= z+Dz3BmQxoi@U0weMYWo`{{Pep0SV=wRtUFjD77W3`Qi;_*+_L231(<`DcDE(uZKM^ zpYJ1C8Cv|`vj9GROzEb*k})u#!N$&h`KiY}G<0&{{Ndg-(REoF%I7miqUl!J#`lMC z8z4qF(pEfggW%hI?SDywQU@!d087)*kQ>1=~`Rbrw{_NwT!QEs_Kq?)l zJQkp)85)e15MtSj6WKj!(JOSm2S0jlR1m@GyTHEqX^pnKw^ID1`Ca{`h_l@qKmfbN zc{oRS!0?N44H9xn1KSSYZPe@Vo`o|CJK$aqsDe5gr40T2>Kxhy0-mR!m8yHRxAwb@ zzk%btJRtwHGuF)cexfbpM4^KEx%9qRF_E-#Pcr|GBxHc{f8uJ9a|#D&ztwUjghZ{?S4k~<`cH9@P!L10@{j$I(;uYna}jvdd#O_suyT=5zg7Y36gCl zE$%}bar;S#G0cU2R_Hg)CVo* zZsy02;-rT&2ls&$@0pcV{M0h$@PApGfVJir1`L$N3*uUunj-Na<@h}-WXQzBfQF4F zv8v|Cv1c=)F~KC_T8U&`f-(EmOJUqMdhWx|8|r|AEw~T#V&0Ip;}d~yU?SM*&CN>M zI=*0TE!gm)hXD;6UvxdU7i}q$M54e2et=L;nUi;vcW7o(= z1DwIfv;|FbmgwVg-m`A|fIwD|fN{*xA|j%d`BFy2)n zK`qJ{!KxB^aA#5Dx$PuEL<&()148o#W6=&-L`zw;eg5JTrW=Ct;=rdGeS`|91OG|< zXa`l!x+qJiZi|c@PPsNuxXcx4DKMMAR~Uajw92>NEx_MMgZ>D z8%rPkxv$MI5X^o};fxnEFyLa>L5lf~lQ8+`EC7E$@I_Aeqo{F#X%)CNalYLLH!i!m zO7`cAoG>CwaJie+5-%lw{=8E5rT+&F7@~nApZuL9MJdp=B>b0Y1t;rEWvSIuGc$Qh z%j|ZoEa=D+khWfA1B1P}9KzNRSkV9b(CP05LdUcQ&!QgZ&-d{6haBY5{u+>p=wd~| zT+P*sJA{64gJ=dP2hjZaKLEu)#h|;tctI7|R*ty$p`#lv-V6;+`(n4XwJ||vYGw%u z0}zjK;umKsXk$7$ItIIBf)fYqo)re;pT6;fuKPsC$cP7YXt*CGL&vfZ`UIqA>f7DUDR1hc{L(^Vlt zduAlFl(x6VpQuE~ybG3vb{6$<2-b`#4HUO47>81~?{@>2MApgGoK5@>R&& z1wBg>24LgBbJ=_Q=emE4D~`N>qaP1MzfM-E%HQb!2%^96b;OIm(XRu5>AQ5i&)?`T z1kvv;7)O0E6be4{n=}+GISX@h*H@Iwt>l82!z01bJAmJTV;)+;Q3-mGZ}noX7VOfO z01Kg!TYfe+dFNXyfQ-@4T+I6d9dOH2c!>_?z=m9ktfCeYy%=!^5o!ooZTc*F$p75o z8xZC>|94*i&I=K-1~gwyUw^eM9E=FvyLa#6Fb6o20|sP8;6M54%*xFCee@|nkO_bQ z)jJV6IqaXr+zR^N70BO%&)XLPgFP*AOH0dpkiH0Z-xSc#&;bM4p*g1r@!xxe9EZU( zqg;RX*?}Bjo>EU*Km3UwU}ORQNX%~Aiz!}!5mEq-&nOf_G5t7)@+m5c1xyDjbHuVj13re=vT}1HwznNKt^T_o?q6v6-*LFiztD1#SP1`xmVcq; zKaR@yOH2M`Eq`;b2m1f&xmEu{%fHa_FKhX?Ao_pdNW6ccmVcoI>WloV zwLo{qeBODJBD~jOI5GJeIsr7~fN+VIVd3288^n4ueygo5{xg*@|kW;>o9v^>Kt-&m4z;=oA ztFnmhn~hjBHA3hx!RL)EkP-%_FvsWe7k;&UBO*z6pcX{fBjVok-}iLc;683SH=P_4 zo*S)JH|-5Kp|CuiBc0+2vXxZi%kv8nDy&skE_%-PfX1y!p=38G+N>jnEq{3gOnh+R zWL2~^$etPM^_5h(?Y=+N8^o53(*b+=t>6?jB)}2s26S$;tYMv+{!Hn4x?}o_k>9kV zF!27ctoGV#YOmTjmnqZ325s6X#n9tAPPVf;l=qg6?$*Km>J9USK%t-3nY11O8k|zH zL+5s>-VYB$ImP`HB9ITH#2rtZ5B*s2!)cEF~ zE|J&MD;o-!z!zIADW4@u5uZ7xL*o@&sc?HcAhS|$ds-2jK6ntavjYYatF1pk z=eWb2F`bDkxqnfd$b)m(?BrGwBOXifcN5Nc>a&z~Q4-2}9kG?iu`Z z9DDEezANUM^Of52|B{+a{WI4p$rb`4#=R_66=Arldm$INb}o zT_QPL(r`fD14U;4p4jvcoDWf*$1#$omAhTRjQvHKgmfY6&K0cEm`z)anvze?DOtg8 z^LN@s{0MiQ`o|(KHIu1>5i=gPB%1;kfvu1IYee&&f84{woa4M1FeMTUp>A6Ws{I4( z3L}F|FIm$UNmPjSmR`+<-M!l>3Z0YoABYiq;`1N<9{7<;are$NjrUcbcBI=@@6`^O z?ZWXZ*7V5>J!Z3Cd!&=+)l46ciTAI_YgWzy3*+|=(|d5gNSte2`k+T5y8Flk7H`-f zA#5tdb2Jdfvdl4Wc{&-L=&rvwe>a_FIeXGIs8(LXEW;!#RDDw>acn?20{a4Hb)==ktkuo?{~i!?YX;($o=+V~J3?@My!@R0@Fr;3h&vdmRpwOqyP) zW9;TYF7R;hE=KcD64g0SA_UhGU|+B>-cP*I)kyB)X=Gg~M*qAjZVEmZZaNIOnmMDB$*bjJnl6e;+h8m=aw=DL$9Lvov zxd~M)!{5yQ{r$aStO)Tgo}OM@nQym#;4k7$v}{pkSX-^}f2mEo|D`s`7N~t-Fd2F@ zo<4|p5~M1aH<$hvz;cdEP$IsiG8fDqqMvNKRh}%yWyva|-nnchGOH9tt2XQ5lt+l8 zW^Y$lteoS$3%NeemaJis<8>`Es#!Q9cMEDU3FEgNHX`Jq&N_N@WOO{}A;zf+`+mW; zO**Tz*qF__+_?Ma97M&e&`UEyc-TvuI`p1}m-FI1DYEUaa6HtZdObu}ZqHviV-m z7-Udo#AoqFPv$OClFx+L_L^?zSI^u9?*{llHA!;99?zaz>K$N(He^r@P}?8do!wJ$ zW4mnVu{77Lt37jd{ocB7T)x?Kbo@P3A>g9Jgg+n;Q6pcOdIJ<@j;tMtVUaz=lEU)= zbi?SHpA9e6l5j&UfTp2q}zSry&v+|i%zEcz8GHQ=$ zZ=f=r+p?3L_B`y^VK#34R(E(2I3^*)SY^ieyKg&s7FJ+d$bab>IM=trLLN57pit#e zaYFzXa@7&b>w4T=?(vDxJj6a``${(@S1(UQ+g!VS`tpGHO6+4}WsYV%LY=c0e)$8! z04X>sVYo?2;ZFFI*m(~cSNAQdjI88f>Cx9;%wa)8C0)NG2f60)*@f52m}OU-OdmCq z*r_d3CFVLYM}AN+PiQb!I9e<}_<7}?Gj)i|M61@9wyhRpCs7?0$F~=qdJ=LYT^0Y1 zZ`Z1Btam4l=S~s!TgqOhAJMCIigjtHCS|Fe@0(OJ44-Ib`?AyGQxrmBy>m#j=k4SC zqqShED!1=Uch^=teFHcdXP=p5{?H4AeB=y}fgXAgi`(H?sxp`6mLE5|V9Ta2Nx(Gz z*A=g`TtV_=bV?Hk>8zRs?eE4?S(2X`DmgLA<<8$qSXUjk_bmt~)}8$3X=S;dUCe|A zlg!r{e&h^QZIyYGJ-se9rgnKLL;U7x3UBBjO%n=kK?mDkTq$pODY6~p>*}?$7?O6L z@!7w_&9-dcE@M{lEWf_JLbP3~4jKp;#5tO|SuQL*LS_>|cC0pot_i%Jm4JIwE2m$N<P$i>BMrGe5 zEtlKdii>wsULyJSS#hk&%nmWxLWRFbXw!Dr8Gdlc{>izpCV5-$>Ja^1EPNrRPDTBOhy)@8sEGgzBat-L{_}0DvtRJCeYN_(j&O4yB0VLEgKvw_#L#?XX zMoGWBsF2$t+=Y{u9?!tbyLDU&g}wReeq`D|OJ;P_Va?U3GJVCF;xuTZXn%V~K8?w4 zrJmd|O;hj5a|;F^%qDgTgnx5-pSE(!eCeLnvz?~wNiu5sgb7K`TTsgKuLpvGd)sknndako4=I9N|aya%ekDK));rEi3f0b(A^{} zzPVXFG)l}JIYGr?Fmxz#@rRR0O*n?$?dKk;n*#JQ(v*MB$8Ig=`BifIZ)cbSU!Ap& z7pkKE&er`+x3+XRs$LdrXZke!lWBZo#ijEDUlx;}3piE8UVbAohtJ>CsRTcBa9{rV zEMS<^{(LK8XgAb}_2>iN`s*n)`l4`^3=~vs#whUg50F<19TGyDx>fV-Bm@~yojOB) zqiM3^{>_9bzxZO_@ny%O=26oAC4PZURqLK&<-Blx6-PH_2`2o9T<6aEuEj~zru`r` zV^t~Vzwz5sbppF@d0ZW8rX)Y4Weha6^vecb8Ft3k<688&FPg=gv(5jPnOOk+#P@7`6ey}j@joHjTCrbAIcMj z^K)3uAI}WiQ?CVavc4A&ZBn&Jibb3zTQ|0MDRmp3>B^LejqY?%%v= zsN!s=6LSoslV|u8K4Z3hd|1%9#U=l(x%#ZHQuk@rn?7wLo%Dpt%qWS9c^1Crvrj+t zjW0W62?rJOj<4~xHcRx{wT+}lRJ;O=O`40t zPx5x`4If!|Vzt^>RBan+`8BRN#Xd`Xd-V5f5*^JBX`;b9yNPx->gSdLTt6vmeyQhH z6O%bUk_*5q)EXc->Lnk0xqIWDLufX#o^U6(Xs}xKs6?jUL=Ss9b!VQ}QNBOToiTl^ zE{hhd0WlBD{k^gw53WIuCF}&NqRS*^{L~@&zwX5O*%on)oC~aVAHSo}r&s$Vj2so6 zx6qF&UQYMjsP;YGt<&vCNssJUYire}S8p!-H6A8v?r6iYc|YOC(G1$3vJfG|8@6DUyZ)GCF7dv z!0SH}EYUFsiUt%mD?OMI!F;PXSAajmz=9=3VRy7JPEw$HPH2UmDv}8faP6E3y6xJ> z7k$X>a|GfJDiOi4Yd3{D4Nkvw1`=!|(9eo9P2H+VQD%?(PwWK*h^{Y^2Hk5-4GGph zf8?m?N;O{gxIBH=-!y~b@@;A(VTkgq25aC$1brXBsq91Lb7wwbset{WnC!2#RT-1EcpYN3^J zRuO|L{C#8Ar`tR$O!IPblC0XTj+p=PvTzPX`@z*clOACD zvEONcJX?cUz_q7>$Fw-t>uA}knz(tQ!o6S=F>L(2v%VmvPhYPer(#}5((Rk|-0ozp zWkF4|in6Hf?;U$qW!1c|B0RFiBK{1rA02|xqQN^oi>CA6JdZ_pvHL5y=8;ja-nNjY zBcKvTt=_3Ac&o4#u8cD!7>7-y{Pn~3WUU5$-0ctX?n#cb(6kin7FXQ#imNfVuCoE+ znmqxt1wui`1be&w^LL$N#pCYRhY#@got<8!EpBW|21z{2T%$creY~woLdyMc{Otoe zDhxKCxu0&p`@?SBp+k^Ob@@vOT}x6_KA`To7cehE>?w#sV{ZL(>H zb~5{vSHN{4aQ#`4e)BK|b)U301Cy(>7bKtol1DbfoQs*j8C*9=>(&!tvGuW*M;?HS~H5SWi7meA%w6h?b7s+~u ztBiCPD64Uz7l-){&Tj=8y-Kzx?cI~M4J~^0HV$L6RG*Nu_|E?t5hNlh8zFh*CJEU{ zsz_1z;MfAHs)INb4+ahC#OmT06anP90N>86ciGN-wrkM_*|7ZPmbe#ryDC*=-H*~- zuBAjqowN1vkw%3d6R$BeKdDc6j&grN0V^*&hmkHC%QfSo2Hn=spU)GD$TgHvKuNL+ z#0zXi>P-hoc)kR!5v+nH_OwLoxkmvv1lm{^pz?DS(Ef+i5wl|`sJo3ey7Ft>0G1eA z!)#H-o)Xv^1<4_xk$Q_p!cP#9178$=yD^R->!)AkcD7r~|MtMhaiQg5s~$fUuIA!g zhTcJ>b9q}u_!U9n!Y7mg+|&{c>eQnBoA$GpBv=aS=T;GjjMtvue>fw}`J8)11T1*? zoyiyZt}*Bq8SKc`C#RVTs!rEf#{p^)P0$0tLYw076<}DJsUD}A^vYRM9ozRzcste8 zE8rth2A#pZLbnI#b%2V6@*^UxTr&3{52=tMpj9teHuAVwjYG8j0Lpm}fliEb#PTH| zF0#{Yd4z}-BOOh{gZ>Hp{|c}|-yoTlx%x#K&&v(kfKkBny8^xt1F>&{zLC99jv3Aw zS3t-g4X6m!7Fx6`&6FV4+Zj+Syt^1Em@Ah+0Wtaj10@~Hpq2&rV7e}V;0zvjK>*fu zEwfI&>Ieg~533t!h?NS#W6pBe7|M`8;Rz?D;a7o(bs%meN7kEY~pift%%hl2lt39y32YE@bIbN8LS^jraqLu{Hq zU8~v)EGNr{0HFlEN=~TtDh71`I;m4v4bXndH3=i)fJf^?K$X~4Dp)GvnK}6Ru<-Fy zq8^vE6ntDp_uT!I$AzN)D7^^y@5pjfoU{T51LxzOd7^ejknYiq*LpddKoq9|mVLz! z{GZGx0s2(Ffa2OElmvbkJJlK6z5VGLgH9Av_w(>j5`n3UkJIB%W7Bx-b08*Jr|pSF zcWc01%?MiWUbhVIUuCl3Jk&!${C{mQb}LI zFOI$UpLf2VTO?WV{5wEOp`4q>_!Dd}Uvcqs;!f+nKupRkNpvA4<(uTBQSr@?7~1c; zawgAFPg2x{G%(Lr0jv5c4vX$gE^~IH*vuGcWM3E#*NR$FVrlobLeTnhJ>YdaoXdOy zcS43?mi1k?Nzlr1XNqIUgdd4lt3Z`LtvY51-&UKTMp+}YI;PxoWfVWeg;grwG~NB; zkmLj_6qh#3db zni^y@&*=ITJFN1(&fTY!WxP6e==|qZerR!|RYN?$fzw(QCSj8FcoN$B*|+b5YniWg zr<$$Kb;4-!*gU&;sz-z{FwcUP;^$vP?pC> zypO4u*1efUxR@tvfMauidW<^m9hMSbUeRsE5okz77kXa$Ll`BtnG`NmNz)3hdUdbm z8?*NHDY6h+6ocvA<#_XTwIiU$zG!gx!)lCqJpJv4+9*}VxIo~MH4t|AV>&HZYdtTh zknV*?;Sp4DcYWh&9V6b;WZBbLj&@~*daytd3wXn?tUdrrWK53ioC|)K>q^ZJ!07Sn zd$r)@I%V??-3Mc_o%HhZHt_jo!zdI_mK%ZLbB{2w{i_`XTajs)#dB$uez#7&w0)9b z)%~WUalE;Rm<9O5jsS)~*BmglPoqDd=)DwQQGnBF*VCzC`orT>yqLPS$EK+51G}m6 zDHk3OkHMZoao7a@d>qVbVR({Zl@rDB?I74AAwuNmW?s!T$?`+u7_FW=Ef zJy*PE9tQA=ihA)o^Zh2km_T_->CN)!y4W&zDx8>)$SNSZl?U{%aTK(XW&w722~BRo zO8+`forP%J4Sv3BElAFyJ3!ca3-oA)JAZuM^kn~_JcTsV7{LoiXQ9Gj)^Qy9+LZ$H z*F}4p82&jSy}k29>*|7GMvn0F`G;4UdAdLA-#JYhyB?7b@3Xi9B5jZ4FG=j?OZ*Mw z&;Bs9m>Tvc^Jw)RP^B_*Agrp86g^n(NPDsG_pngPgL**)PESIoK>Y^;XtT}MrP4pR z+$wn%B5C8baE7G!l)J?@b_WTSv;Z_;5n1`e=or7yp?+21;NQb#R6nLiSNAqW8Tj^M zAF&QdRh@i~+`yuikpdk1E8tq=+H4y@Z{m(Zy1rPDg}>w1`F?@6baq(QO>(4!w_r$^ zzi{c5dy}^~2))WdWpgHBJ)>AdU?;|i)sz)d5jdo+Fbh&2Ta`~PM0x(RD%~$l)J()P{ zxy;-496(Ai-3lS`u>Jb(4cF{S3WFkMvH*BNlqvOezxY!X7Q0-9&5UC@>Y+?^J@^8W z%IAWQHbd4b5$umZ`ygeii6cvTvWEbyY}Q=%XCA){p(DEZalURx_+2uen)g%f(Y}}4 zoGqe1j~m^OHxdBxhUDtBcZi{@`b{a%jzMr0;IqW++c-Xsev1b?P!)Ra zr1hiikd9V;uM#CkXe8w2_R&djyswh{y6#7r!TlE6!8E#DO=|&uzjGD&g1G|N;@l%r zk(l-pNuE2`5%lsiXDa0Lyu7%&VZ7ZB?1G-PB*hV)wVo2|q?d$Y-l*rbhKMy%xur8( zOP=&=HY|)Y3Nzzo@B>j>_{e(7{HB9QsUP^~o%>%&@SjE1)7Fl6vePwvdck<^UEswq z(~jw}^yxt}q8Vy4`hG>{o;bVjJngl72J`jD#WO}CrEf%QpN3P4+xN`bn>1=UJsbAj zcFWuL_&xVBqd<-XeU1%$)5rO4K>#Og;b*`Z=~UYl#-6y08JtVg$&*`3HFOizLgSI& zrzpRoK&z}{5#?YJ&M{{e)_KHp#;sDjr+5YWW)kgIi>u+W!Y^N8X0OWt z`7DZRvRbR!G=2Xy6h^c%23EWvT1FeV5-H7#Euqx68u+g@we_ENZIZsVK~uLgz$NK0 z&eq*m`XTH%-I;sHV#|bGsUxWPD!*8%|KV0>@rB6J{j780@ez@E|Z<&_LeXH0KW1BCl-Xp(-Wf~F&pVW!+ zl_H5()GO>^50wTQ(om?YucJ?irhV7E_;AMf?9ioHF`I8i5k;*&f@Sn7f|Me@`^1?G zFd!Tx)W12g%>vvC%6?x96!Iw|@~<>vQymC|uI|IvRwQ_?W_Z5n?&om(Y>I_~jqH)R zR1puB&emZ#OT%QTXw&Tl2)4e8r+{p)R{UD-JseVG{#CIk<`+FOe}KO^ z!Br}D_D3?WU_O-dq2SIT!6bf&ZDo4Fzo{#sizoln#`^})oc~;I9|<}{$6?~k$l`pc zHKKBLTl#6^4Vgk4O%@mHsh}ECo_^pLRs_;wv&^PkSiJI2($WVM43)duNb@hZRUeQt z+`HjMj1L)9CtcTu-DhmRb)53m>pw%bfdIGPG859|2Mn8g^IR7`}Pm{^f$MWI_mgxD@9e<&%I@%_~1B&b^2qt$xy9 z87=t4a)vMh1I{%`4w1%N|2v>eNLG4?1~e^Qa+SKCKtX{KD)cmVxol?1flDFIti=nf z#lCg*nw~U4-cu~Yle4rsGmV7A9jlP@U#0Wy)>1B6 zNryg;4@!JcEm-#GcfoI$Fhx8iu72!$h%*dHF+(OZsk1m3dk+cIT}LGAEaPU+Q0q}1lK z#5ugo99GNURttqU*0iNJ=uOWi$P&Kt!oO5Q)8l$;leV8EPW})JNQdGU5D>B|>V`g` zG9NiA01II6S$qlGfco)) zk`+OwXx1*cqX>+DtuQ~dlw<=Wt3G<+jPYIn{9Y&J~Qjs+l~@@fMiecj$gk#p19hSvKw7_Jg)p5CF;&m;V-I3$l!MO-d zB_5D_=>sCKd1SN=-N#9!%lmd6|k^orOMN++PUE0gf0SzIf;_>1<3j&dabD#j7{uAr#E+4b?YR65W zS(Nn7>*j=zwQc*^*c$X|cyfuIiuBK7Wja{gcU!_;GeVTwP!cytv;Pu6JUn6KB|1VpPvSPXcdBCiaj z=|OS}@o)~SEk2Lz0QFd{rsr4a@wBje;>La|`1Ica{|n+Bw^l&Gp(A^f$bRrQ0V%Bo zP^B}>yB~$w!hQd^#qxfcjLls9!8|Iwu?Ilp8*jQS`XNf#dWVfAW1ikV1t}RXm z#8KryK!9GSzEZnG0kVKneBh+YHfVoKAWj8>!x?h#V*sV2q6r#jZzd2u)c9ILaBkNb zg3raIng@FSo9U&w?ea`kTP3}!H`2}p;wR*g zPTyrDeF9K)=>wEj6hQSh+U4kPc1LL`EoG5f{V||@GL8}asV5f=%`-QAo}&NjAV(~T z1>m2t+O0@s-rzB7Nge(D9ab)80wQe|K-P?B8S*vAms>Fs#Q4&{+k;QSyE`5WJK=rs zfMQo#Ohk29!G(7O*o7-gScnHv^be^udU)MraOGtJdko8)PVn^e$%ac>-!xFT+vr|O z0QgxAM7THv1UPxXpj{HXT{%PkD7c5;fxSvxCb$JrHws+--`Exk7?u!ToeL$l0uSUpmxmXq;i8AB?#t-5euc^6^n?*r*PkRgE zIM?nV_%;u+&kvdG!5grKQ#0Cw-eumhe2h#OZqaE+HM`gKLBRhO7!{h~B~D`#+U~Gt zw53>ezW83>bKPeaGUC-|nmiiZ%-7gr)!PY)Ltb~KoK_@VULOr0EYbstLMEij1WS?Q zW8ha$*D|?J0)1iq|4d@OJTQr&pO6X%OSh+QUh@+J7Y-0bW74VC>#vS$nx*S+z2GvK-aC{yk&`Vo6L)6mY8s;zfOQ zhF_qRigGNtT2+6t5zdrA(p9&-faEC}VhGx$yamnt#JL~n9#;e9tk?2}+i(%25GrI(`1MEx*T_Ps; z&X7OkLu4dHJ=O6c#fEd)v>SfIbwS5d$*kM%-8nF`~Yqm$b5)sVxc zm5%{DU#K`wG`bvmjr>uTD}Sg$#_-d5sk#TCp6IW9rmnpS_X5ci1@SK+4UiSWIb)B} z`P}~p;cOd_U5$ps1CvhX6GN%rq@-NzwlPeuq5Bx^IYDJRc(7VkQ0<_f0tio$ZsCyo z#h)#y86H#q%}gcMv~2=m0> zEWiqS2xu92y|{}R!PN|T0_azD!e+jAfD62zEoiL(fQ}HWXwPr1c_sk(HUNEGJdH-* zm)PU)?88)xG?Z=uwkI1!A>P=%bnz}j4=H!yi>>hfAc=r0_Z8-2mGz;UtHn0CF7BBR z2hqUNgu{|7A8LeK28 zMJ>+Xz2zysirMfux_@N*II%*k62hO5MILun?CZ>js`heR?uJzDWdvm=<)D#N|D=a9g5ViNd%#l}b2^cgLqOUh0>SQp4K`cB zF=iAHOb2;J#2ZwLv7sHKHaQ^WruPA^mc^olk-o_A?i(b>flR`H*#X6IsblWrSL>cO zPC^N^z%`E)j#2UF4}))`NmsWb^n7OF(kN-w|LpX_Rs8&2zQ=j!=?LZC%4kSWX7b$0 zrpT}bb^2gGpdIxci#Tfq=*wiLI*}{5QrDDhGnQr>=TC1Bf?w4!99GD#t6W8~}mr@Kb=0gWwpd2t&UU`v#yx)pTUd5zGAQ)EyYGa2gsm>}0z zKLfk%C;XCfD~11#-?b*U;Q7KMC7JJ`&v}%?Nd$;KR(NiakN6YU$k8u{4eOJwP<)NGn5m zjNF=3GK^^T4K3??M%7zUxzF|@c?K0)0m8Z@ z<~WW{o+Ykpxl(lIV-EQ&f54SJWd4%)EnHyBPXI<_zA1WsWIFni!8`$?Vti4%07uB@ zRJ3^I#{gwZh6QzJs{QK5#9EAW8B~!9f(R6gTUrGPTN!r*ZjKjHKk89jbO_j-%^cwy zK1IPl-S8_>&-;nvr-N@>Zkg7g`_uIT-umg-;|QqcK$rpyE<-iTWIbIi|2}(y_|ps~ zC$0uLhOqKm{+Vb@hKD}<144K1HFQe@jjDO29O2BprOK0d1y7%GPRs@}M0lqurs{iC z)-lW@(CX7AkCk=4VTUt@p;?6ZBcHP2y_x0@fR=Sh1WYhLUHMZ|xKgc&V2q`C943uF zxy3r(8x&%jU7S?SH>XLq8VGwa;1yw$a0qVAofM}b^SZAHWT!LwM{}=c>X8J};Uw!P zKf6!iF^H8&!XGTac0jj&>nk{%WuNKo?m z=Nv)-lr&t*n>Z!LG56E8LZ!?v6$haQPf*$VS;wq7E zQE+okF}z@S8g>#9Bv$y{91+}Nr!gNYJym^poyIgxdqECicl!>Jx(|9vFbU;Srh|^9u2#VN>Syra+Ra%e=$ zTkY|pztyC>FOCJB(L}lQ!+Q6jOa_F~o_r)QFMZvZD~7z}Fgfgbpq}^V(|IMis{qc* z>CW`k6T~aJr3AA-=|1ynNrJT3nu>+$%xnBN&VU|w84zB*dILqo_w_oH9c5t)J^KPUFO}r zY}=xq_dUTAwT5&*solAZVql(TLh3w*y=bHHKOB|MtbE*K8`=ntS_q?|yYq{UIwa}^XvQ>0ufPc3>Vnvn>oAAkrN zOP5V?)1?I^B*+T`${k_l&L);Z1!5X`+qd93SHp*S+w{m*e3@<31D3+d3^&>07u+pn zGfTEV&+7nvDZi91!}}zzB5?Y!g1H)qgxt?dTa?pL)i*AZ4nXF*n2@1Wt~n>5Vz77NE3F`*3wpY`fx;pxJnq#1={|)iUWT>$j85IHSL@L z=@q8^=|SVYxu3qJh#Cf7pw!|fGS5nU1zh?#MRRSzO=2>DC3adLj2hBvsx*_7(>Um^4ykf*8|v=I(cQn zdMPrHn`OoM4C>Z;01eaD6UiM)GrH9HLpMOjw8WvBNj$xY*j!_DMJm$Ug)<9ucbHT7 zK5$L>bidN^|2>E_IY3(I-dbL0q3H2_*t4~cnpVPN*KVlF-i z#%Fo4+84)F9Q#CwVcFNq+^mGH}jI`Ux?WV1#4V`OqSLiftbGZLOP0%MKC1g4lXJP zD$NGl5|%!U7Q}j53=LI_8Z){bZ1-%HG=HRnE5(|`qnC>^m>1Onh!?iqXp*kbOy!Pb z>{~pBpUr{a(bM?kuG(JB;)(t4zV!gWKoqzwUC`TM2=ev%=u&*{0iMbC2Q!ch9Lxin zMB|E{fz^OQw0?7B5_<%vy)KYUiS$rYP5Jnz_4u(a~Scv8IV2|Ue4Jf)gl zh};VR6m}KYRFIqf8Nxsm8x!WaV`#*FIw8oQ6d@svA!YZbri!FXYWx5)T!NJ0k#3%> zLebfZ?}zm@bR0IOstQw2au%`SB`tNZ%80|PGGJTuLLQA$?Imb3Sjl6UKweV=yBp-M zLD5MpKw7)=BX)w1V>1*Z%b4F#;2JmR{Q?ob5es zFzC&8DxpxaQjV5CX-z?dlkXT zYcN_#Jojx|M{so`^C@~2^GfRnotPwl(F?$8em_FVC)T5%Q)jSLw_<^l$~G5Dk_PAU zc{9CbUXgajj4Q~selz^h#$NElxs|BixDT&}LFgXuB?tHgHT;LaT){1&w+7OalmVS6 zix{AYz^FsBd}~!)kProzN%pjFMt9aUf;borPIVKKOXn?II4;*1(vW`p)73FENEO^Q zN_5JgGQ*y8t}CXTS%bjGS(nrLTyqxiD>^y;y&tO>jMa&2ddmI<|1F&ey8}1E)wBuK zNL?>?>Jxuh>aL$x%+Iot<}w3RyxBxV*>NBdyIEo}Vq8s4J9?c5_jJ2*SUwsAol?3k ztGFT)Pqj-CzA_{Ieq}Yq-VpBsIZ1)fz-rmPP7rwd-W9=9zz2Q|z2mW{0H2^@y8YpI z{y`Mn?;Zp3ui6Q;$V?qFzrytA8z5M-6X~ZuqBsYGSbQ1ru*$5cF*-WaVkO!tc9Ura zyf*RsY07`5z!#VTF~#2toEcOTvR5aIZCr>j_4y``lcg9rTCI#W_LN(=ZrS;HPDY;v z;S2`ltiZFE>eb{F9*rH;` z5FGvtl`#x>AT@~mpjdj3%dDl!h$)TV?T|UF{&=|GMzs6Z%ZbX9PUkXbb}awbJ)k)P zHjjANiz|7{ncA{49hm?$Vx!JrT)W-6wH)eD@Gj6CC4OVlWMz=oP|D}iF@&M3cpYFA z#Sc>x-{c+NZkh9^K`tD{8Rag1Og>O#Ye$AJ7&lD(e|erJ($A_sjN@@@&D*p;?XSdU zdT@KHC5!(&NI9?CYWi=-+z`*_hI$2|?l41sUw^uaZLmUn%+(s|?Pv{u?s$jcPSAps>jz+nmn+r7uR%;_;^DQ!`Id|hbQNm-#?fNON>mg`51Zgc@njc7*=47 zs6V&PsjeHyFa~X5@H%c%0qteBsplL(I68ve@Jh+Jz|b}8okkio%@mNwfTdNGqy)e8 zLvgZy{V5SU#&xGkDJ$mSu%iozl%d3etCELcyL^{;swf@eh8vT@&l``e(ob_8%3ob4n0{E;F}mF>I(2f2tCiY@3m zgR&iyx9~;>=U~<7z6Xi>Km7zj=`7M>;?_WMkt;2)1EdmCo_fumqLc8`DF|LDQ0+awEx#xYQKXqaUnf_Ri<6!>&V&Xnf z6>|_|yodCwv4Oj>qachIA*All01}1(0=2@B`|FVAwn+0P@!Yb7-{coTyWQWhr^n`u zs{8G24m9^CU5bn!Y>c+$4lP0{GIf90oW);YOk+`B)RHMk&3c^8b~yq7i*c{<2&mUE zsQ{Fa9!loE12)-7h5(6{#}BLfg7w0>d7+Eqcrj@ zQE_vxpTzu|Qz%OEU0Q6Fqrvzg>Yuj`1pt4jTnh=84IZ)v7IHwj@pZSopR|CF{1pt& z*enA@?90E~A`$GFKcO0wuaU(H6+>_`JR zbYH=)jV=9AZjHbxJbW8#4DBFcI6N@Fco-%X0S}mDt3TVx%!7lgPxL0PF;E~|Z(jav zcUC(Xhkl8<3)b09;`S>EJ%&!bDE{8Bl@nt4-_DQp-g`!^uSP=V^NUhnJ71JumCfYW z%bZpeJSI8-zP^$1fl^&SOT2x3803lRny(K-l>V|9YUdO1wvtkRgCG@e$ggaY)A%Y5 zPob8#J?b$bSt1sMMK5UyB<;Tnd3jnl1MrJZLEt2Yio1ZMr{V+&`YBc9+reE!cmfCh~0CcapkDGfHKNRmDi1PxBSjQ9(6NQVS zQ?-%kF5r3lvTCf}@dH}+0M)2d z^ov$^=xK?09U?)5(%kg%&MT#hh0=`-7x`z%0U8@ z8rbJJ1QkswvUjMX0PIG1hPGv(kiXHbOl@T?S>d>)?y^%g4(C(?7S(_;A^8+FFa!}Y zw=J^XD6#km*puL!{xBzrZafwMr+C6BKLAev(tMB*BK0^{GTc-aLNZ2?iG87(=RkBH zI(d76t$J<$-uxQ|l4Qmu;G2hUedXxG#>+`1k689Y6{HQZ#oW-TPAf@Y)524LlD_}% zgFg4S0Q;)k|i0x-*!*XxL_jaX-0Qy0G-ZU(2$v6t6kc@$S^b8P2jn!jfx({s9!B?PZPLKz9$+ns&DDC|Q z6mtj(hFS?{*Gpjz+Y?F!Z%aPnL=bVndKw79kpQ(M-hyv;dHzL4mQbIFYke(Cg^op z-%A6n^&Ca=@^c{f@sudPel&Ej_d!CNKdLP7i^DR9a~0z5v)MhsSn=jukr_OM#v}k= zCghIq<%Da+DS$k&KnC4BMe@48i64fDlmOh3EfqyE_o@ZiYkQ(>t}&_fCeJLxu6O?) zAiD-uU^NX@w&Jt!OMe*J-yo}Z+xevq?VoQD0So+l2RGmX15l`$z!)qJ_rJ=GNHCzk zSO-di99iVOT@f*Rs59gOWP`fFZAa~Odp$?NogxHM26Oya)uQ64u|5I!9`rtND`1Go zsO3SzWWXa{CyD3|`7W2hI#i&>Xf2q6tyZ9l$#>ii3N|Sb(Vp+4^`##ArHw{WN;Y;U zfXxJ5d*Hyby1a}thW7du$+%*lGk!gbpkOCg3Y@;!mm{UTsQsz7km;eCuN zHbh#g6NVHwfeNth{Hy5*;1NB-y>|xm!8KyMpieW6 zG=XwoZr@Gn#s1Q$K-6Dk4!ZX=#(@IZ#79I?Ft1@&FNewwoFs4^1+TGrh^>Uf1~IEyU|D&-y;F-Pf*V+12XHZB&h1VXhiHi1Z&`OTl*ZIr&*Ds z)Nd~I-?gv+3>+-PH^`C-LoNdr^TVXAt^_(kcB?Q#wfEWO&=zLJ`1cn7=l6YZ3cz9M z1H1|;98w@{Kn1WojxIirO9y(zbZ;dIFkycGHX=BttKzLcM!-iE2_H zr)(8^0c5IuUt-n&5zQXfzmI3^z@~#4x2obnpEhpa6ufeZ17{jYn7zl@n{S@)v7RVx zeRe*~-SV%xj0a4S=IsNctNj~#)qQFZq^YTYCw!^zJpdCV?f?~F@Y*AakTLd#mjiPn zNAk;<@Szuq8o*CF=ayNtOF_<4T$E>dID$bt^>H|qPs9SBqsZv2CzNbS6O9cU_P7iq z=65cIdLvw;qH>`9a-W-i4nB8IX2jtGk~T!kC2ED=*eynS==!SVK%peO{Dsfw@C~1y zQm7ar2|0N|>Fe(Y+)h|6COs24&S1AF*V!4H16wopTC>_Rf&Jsm1WN!Yd+h`E=!V3Q z9I`h5tK{SPh=nAQ4h-xe@Dr~_+P<+vMJozCsP|5N60!}9C23EvTOLjXX(EZHL9NDe zlA`(Uw&A}ru1IeRVgKL=V8Fcf;DF~D1yGXn=U3oXF#>S4;3^Yz-hC{grqF*sLyiPr zu56pFhh)Pq2U>(2fekXAWnS}^CUb`i>_teU*RCBJplRa=36}qS&IjEJU~n?|ah*@I zt15nY45U=hulCr1IV!(?xUerxhT{Y7Tjc8HL4TB3dB6L!p02{11`Uk?|KA33v`_>2 zU#M6KKnbX}cBLzO;_fZyGZJ9p^T3uFeU;>`h z20e#^W)Aujp2JE8%*M9Wuuam~PGg&mZQDs>+qP|<$@BjR=fyc|HEVU}p6r=> zX7B6zX+jj_#1UX|VL?DZ5F{l;lt4g0`+=WsXfWV69+2U{0JiSe_wNdl-@g+n*jbzY zvNQn!kw7RQgX4o(+^oc|LFy*R0g z0=WP-sD%vIAX@!^P*YSSfaO@7eeLc`e!g_G^5JDap8nvv(QLml>dAVb1M%noi?syNxW`VkE~B;W-HoDe&BiLt_D)yulSQJPi!31e=MdC^V_ z?_^H;TM$09XG-O2$+#$U`mZ}jNAg>v&F$XD(w^~1l}E%k@Up@K(>^gnd5XkZFai!T zr?ddD$nDIC@Gfg#*E>5$t2$kosnF7&>leSeNx(6fXFn`;S zolz`^pzvA;tMF+74gs}dEEvCnh!>FO=0tMxb0(a;F zk?BG`?SfhD!h0o#AR&U?Cc-fVNAh26$!8)A{Xrcs%vBZ;p#Z*OKzSMfZUe2g#hDg( zV}n!CP45C?cNmn!1by)XTL>AoM^Gae(J(lf_**dAw(lbe@gO?c7fCUt7jDKc&wb8FZ}waHBf ztpa}`pw%~SM{kRNE5rpeBck!2`_8|sD;EMU0xy&fFnzy`FzfEjzKyPjZK$gaX!t(_ z-GQ5;o5-=yIQ~!mO2QaFIJT&^zHVV=XI^GVkeQ><2cP%a7_u|k_FA-7NAW^P% zmb{E#Pwbf3lIs@l7U>r7%zqblJdr|Hz{To6WR}R}%re3BqQRL6LmS*@L~nLxm~M1u zfy_?F#)+GPyN3(K*24aUJtdVP6($ujwLX=SZBL7n-kv^EtzjOw{JU0TJ-_^9CNh%{ z(~mj-0+=azGiwepq&2YuPu z~=^up1X=egd@Depd;y9j+4wOZ<8#OP3!1iRo$C;-9E%4 zlM4#QP2HFATW}2&JU;1T6{eXcNVrEh0eC~gH2=vxSGQOF1*D#VWv9O>-cxizV z*TlO-j`CnN0yRxF?Xn8Z-1&-m;S;Ts(r-l(e!(^lAyXR-rEVZrO2O_Po43exD zelA#4nh5lHrFfRUok$kMDN&UFon=4z>sR`{;U7Z~RHV!R^ngj^S)_G(S-Oi{y&Ok6 z&Up5CSo%uZM$=*wv`$0Is-sD>oTKj6^3n6$*qZF|{O-3+tK*Dgy#ud-@Bc`bb9;9F zPAC6!wY^_9+>BqZAG~?g^ci>W>c+izgnKse^LXrbSZ=6noORd< zkP1}jw{M_%qj`6HSbdm*s)43}zJTjNaYIOfM}6^vzJ}Gpo<#|VLxf|1J4gHx*c&wK z&x^>8I0pS29v|KwK^u7L zA0r)?+3{^QXlAq^q_AF02%Xa0b2j&9*rDrGrwpZBRE8eU+plmV8Cw~3I$9^W(~iXl zTVGp?ZGv9y{*i4SG!-;c3N|ti33$0OnRrTBDXnA&E=>;2_|-&VDM^W?bQU&JBGj?&9`Y&D%)|Zq{mD&TU3C)i*b|wknS6ep4MtBlfhP`=wMErXnL3| zW)j`GK5B#Uh0^hKS$-#jy@p!z>BL^h$cpr>bYlGN8}j{kqhhJzy4!Ks3yc-DZS_z! zr%F4$de^x|7O$mzyP)fmYetN=P-y|~ca685!QLlT0M97^o^GGgyRI! z1kaPg3hSk=b%lnli3s~|dS!OS%MBqdk`0o2eEBWEYmfHp|8~woTUgC~ng6zMG*@2o zQWem-_pJ6&F1vEum|*?Vrd#)R9$AG?f46_9$`itK1u`omBy{gLNue*hX3|8rNXB|8Owv=Yv-Zk)gpP6 zba~PmL!*vuyWOq&f_{`!t7D^%W9PEd*o~I^#BN61!dpdV2a3netL*sLNMpg;aWlU6 z%XxZ=^RDxgbLPfK$HTtY``Z?jGyy6>BA=4G%ALlA?VGh)C;Q0SE~T5FdnIp(=XF-p z!o&5$>PF{n60Zqwxtr-@*;ez+%?@}r_=4W3%hZR`wcVrYk@xI}^274=U5vo%M-xjj z+v11Vv+3^dKAv=E_jiYgCHhkt~_{Kp=vFGD-Z3kSUu6M+Zb#Gb|P=6CgP z+PjTGq+Fz=s1@-%T5y|H1hVo2=HYxG;l?2I>>wq>8tpvCzTtC+*reVm!tYQ~bG@OU zWr05F_#h$4q6TV>5MA)Bm>?oA;JuC@$ERg%GOBf}4rYalf`=NiGQCmZZKYsDd?1hJ zY%DAuZpOP7lxj%};At>8rL`FAB4uAH*@Ua{!^hvmAM_2Ut{6+24O>7!1VJQ4gj8HW zPuCo?AXJ|?Y^eW=3ByQ&{)$GV20c1Ims3;{L>7Tmlu~MG)&7;olNW=k&?~ndmA3Fy z-uiI9mb{d{^m0o0Fg`w>#&zI6?lGZ!z-8p|xD`YgCQpP64FTpWNB|w4B2KI*_P=45 zH!`$Tgzf)6vVw-l-~VEQj{e_)3g+Ryf}cm(eJ7$~=b*~X`fv0{$q4>)9-?SGFrngR zAsk4^&k>W8Ac$|{hSy7elHT)xz&rDr!;I$^oIbS7=cmYr@V--W#TV@l>zZcij?2Fa z+wYexK3)$5fYChP{i4y`ochP(fWSIVmaRH)(r{A2+*GBH>!eQJ>p@a^fwxtJuJI%f<1vQ#|ezc)l$Y=*KZj1OC}|Lt?!?FLd(n#VhMM&Z#2t zKW@70L~xup?cA3kUVVObY%+*`D#_(|fsdyN%T$p*u7foD*0YAczZ;g^{8*CE%RjD1 z7(1_rX*1o9sXL148&~aW$G*W)s#;%06+(c42MTJgDu*Y#oSnB`6oh-9S?HhOBicC~P&q5)UhE|i5HKRoxo8z;|yGs=4VevsjQe!pV< z`Nb$RJ+5TRylYftl{^P}Tn-Q#Ag^L3B$>PShNzW%tRRF0_|!f$zR zssfmS3ei_df#xZG`(sGnE0$O_>#%l$KTHWr-{UF=QcO{KSDCn|^Zl-J!(|7dMIZ|} zL+3chhKEpbUqmw%7c#a1#ItMG(oBp?Q#XhI(ogN_cejVf3 zAWO7Eh`|)NE0(wIK+_G%Qwdb>&U@JK7FZ@d$dv` z3=&Yg3Ynd6XVx8|mzfq7&E||ApPH6@+(o&C1|ol6$^P$2(W{7P1_Mc|=% zBD+V^G^J0Ul6jvbjBa}H=SADi_~#NDrY_v%Kh<3MwwG6#rwUn7Gfd+@2`s|)dt75F zSpK)$8O7$2!RD0URNehNBU9hSK@5 z+qF0OL*V@?3LeY*c_x!0%|=*J^H^+ke7MZrtyO<$iWE~+Mg6yOaH{w0A0=zok)oVf z!JD4f_lM5P8CELtQTAx4_{=(8DDp{%{4eGO;N)b+N-L}?^sAiv$wqAvWqd=Y{}ilz zb@Y7uJ73l=4&}wNe1E)uGQN%Bbha zY=*nNQ{gX2$~n%FQD&idwxALZyO43Zui?9HbTd#ICfV~Gbe-|HC2~vd zaWBH-#yKxVVrzDY33c7owFe%h!RK_M>Ku1$u+S!DXgC$e#>^vP%*FnwOE~|OFo&a! zn1&B@2n<+LANVJWcPTIL9EL;^cyDv}>x4Hf?ife;Sl-8uF=Bx7PWVJLA0_8Kw8y!Q zt*^n$J&qQQ0;oanG#e5#eh@Jf9QUV`swAMscb3Oitw!l_}p{NWQ)`$B&0^0^BSpwp@)*T3)xf|V!ieV3pu(CHRTUYp5&ffvUKrWr6|=G4 z#v)OQl{|rc!1zF2l@XYgM4pQEC~t>9$YG+>gfl&Zj2Ng;mlxL8+ewDhVf52&^|#NH z%s+2l9w9mhYdMa_n$^{RQ5Be$F6*!t6wGA~cA(fFVf*s5Ov}R=SZKIa##2RO>Trre zbevV^5N1WLR=BlbODt=}*6+{=YsM-Y7v_G6wrbUWr*`-2oz7$UZ|rNoU_)XoUqsJv zGuY++!~NTWmr_ahE?*F%?nI$l_rpvdmVUU+6+U8#2`D2T;`I>$&ulXQMl>17+kNJg zxntWjv51+rmBY0%Q5Z=b4dp8{8=)(IiMEjQ6w!mCFS+_rzYMj9F|-^;R|cJUj*=Ko z>0ERzoQgpu_oXzff2geV?$?VtdZb}IX12Ur-_@|xb8un&)rr$xbrHN}B`&XG zUcgH>o!=r@(CD!-Q-XO1Bhy@50kdy1#A}EAr@Pesq;l}py~>Y!c0GpzjQ?} zY`blK+LNg;Rj2)eR7#>A>3GL>g9^i2*R~I%PV2ilfI;>dOYm>Wa?vZL9?bBlsKP?k z|9l%T|K7^x9cytbV)ms*t%a%GH&t_Gn%KImJ?p%ky(+McoQG=_(s9ptfkWW2sOIDQ z*jOdu)dC8f%EWj{DuL%^Hx!QnKFN-=vRqtX_@Y0>!?$-81#$~Q6`nNniHALxrYlYL zl-wwO+?&|^=wHRh`sx$?m7cjO62!`chLGJ=a>u<^z05M=LFF&S)d*{8LRq6S*gEpc zY;t^eDrWa<&Kv!QrB)fJ5BKn(uwM1+T^Yp6e1QJthp6TKc6Z|@690*Xa-n=XB#VhCyeR(8MjMLW z=-VF=kIw^$C(0uxhSPAOAoI7%3RoCbBolk!plchSbFcS1M%wIkg865}R4 z#n``6`StU_2}pvwF9 zGPYmG0xQiYNLCdxP*J8yB4KGisc7B(fdWUJIMblc0uPa?X7VV;2ku)#%v3_HYG$Bn zVJYGe;)S6{)6mvO6jkGBJWB~oFznOyvv8K>R%n(O7=8KTJH9ZD01q)04S+0Yh-+a0 zX)}`Lru{eK$Bf7I`ybd@1yK4J!Y~!p=Qa3d&0>Rpf@M~7FgK-MpW$m|IG*1OpF|#iWje_@ZY3D#mry+!{&nsz>KR|;eY-c0d#=* zzq1Jb-_QZ%cwD3ZUoO3C5maao`SE4rV2Q1)Agzki_qh;`x9KE$+ArWIBxsm zvo_ADC`Yi4b0%1*sJPS-Up98WjY)KTyuW->lY)i`&Yf_v3jiI4NFi-9^S@sHo0?CW z`+afY_0alBGt%tGg^InOM)cp`F1$Z(GCyY1mz36zc!u_}Wauwz6u^mF0;V>DFm}FPE6Z{1T@4U&jPC=qAVE#**Yyykc&;Y+29$8Pf(J%?PMF=IV} zX@*?={T$~t%~pOlrvC`U;eQ&Ezi;0!S0|#XcPx8$%GdP#czfu4+zz9b`jV3U4d8rR z!&>~R&E9V(`kw$V!~5O!=0g-qS0r55^KK46GhF}#Yp_<0f`S4gBo@r&zMcI3dEonf zW2a~gaEa?;c)xD}pqOGTHE_-B#!PL|Wk12^JR{4I4sf1Rtr_4FA<$%)9#-wW4|q0+ zyVSs?$Aaa5p)kb(_5RGFtU6F~#W<2Gr1aM%g1VXcY$m`m0pMl~++7YQj&+wE0QeO= z(f`B1H~{z6L1rRC;yxrw8&qjID)_q&plt{xaL2)(^p6vOC-vi5pSGM-1oAbAwrc;b z$6z41ey&M>)mWlIzZ*h!*$Ti4?;N7|8(z@){(Qo^i)X%6Ifi6&rR%&VikWO2E13uo zg_rZziIn}u-b!CV6ljINYI?4FwgdRi&qsxnghVrH6fR0<7M1P&X{jpAJ)riW<_tN3 zPl-73sf-!T38q9!E59Bn%vsyE=7t5!JlmG^RJy*cSdyap1UlY~an$0?>LCyK3Qj@4 zZew+7{LBsrP63|dK2XHw=iA1oMTrLE-zGfI?EzXKu1$`<)lhB4E}NRjk&8q(0R=(Nvbyi`h@5>0sb)Z73xZKr6DT3Q1Vt*Tr%Y?I-efzawQX+YX#$quaO zX!%c0=ib>uCbUg&hyim6u$M&d!$>D7lM|FpYPus|D1yTmDlE<(0&AjAt}>|JU2LLy zQnsl2UG2=>8Oa>-vRK3OpGyFS+T&fNce*-j>+W7#39}(rZn_e^7^*d0!*}$zU;_*{ z&?odvt1cEfL&zcSlk|&5+oMQ+ z4}UyR%?FH`dG)VJit9moVVd3W>PfEPyYkjNK=BkEvnc``P_q!ss2@*xDK*$a7{t3k4t|@SK#@>H)2DnFiA> zjmO?mL0hH;C@We)>R&Spv`orc0QwE?`f}FTdDV|su6~p?ZYxcs5Yz=M|HdWLzgJTe zJQr<`@r)|*UTf^RTNau%r~t?1q0Df}xie>jWaPyeHq4%y1cjGp^PHtf-Y}dY*`3kC zW>s@kTHOEynm2#~#^7h&r*a}fEQ|U;9VHt@Zbd%=tjPj_jq&hsSGg&{1UKe%2arM< zmZxd%0028j6E>9vO=l!+fP0^nNvbx75qlS=JJn!k zhC1}3h>rro1fR4?qDDfxuSW@3Z>Ygs3H;xhxi}3U`6#}74N&jTw$K-MDVtCp+g>J5 zO{HoUjMI~c2?x_w1#uG+#h+#?YV_leto%`Tt@%n1P7AQb;ezg0@qtSm=Q=pW$t*B8 zP+i7BNkH<2-1GrQ6uhcu58n~Y!ho2h8YxzPq!f6P)Dm7B)&=*F1!fU(i0* zY;J>=mFK&Qr^+PGrksNHZ@blMf(ur&;A`k$ zq~hWf-~YCtns-hsQ>`)V7nJeoPgW0K)Qm6;-ufZ&EBw$bkU9M~WS`@rq{pxeQQ9JW=4J7U2NlBNl~TUnWYU;ZvH4 zby+$79%@}ueX~1nY%o?uI*NLW4Qrn3JsDRVTTA|g1QM#L zczPq2V~__Tprc_Bxpt8eqYyY&ZNlgqf`4)P6@A1%zrS3dp;m{dK~shIhQR(lB{$HR zjwVminO1|{4PE|*u-!k%S{sRA)A^&!OgdK3-iSC2^xU`4M}W)*3^pyLtc z#%6vsGR7|(>y;E+q)Ww+Mit$&Ckbky0}mjj%I_Z8fqLG+L2 zcXE1P6H)T02X&D#TtkW-25?;Ue*nzrmKZC-&k+xl|7r~FvPO4V8~gW)?UBuooac}= zKNeFoPigm8>gvX{YZ1zoaR4dz{td4kGkwYHPC`Am5tt2T>C(Ap2SIMO&8(r;K}b z5xf2%j@5@Xj)2;UW_PAPX3|Vbv_K;P)*1!n<|is;wY<`CepP*$L|K$dNWChh084XC z=zPX*Y|r>KwJD{hqU0YcI-VVn1JgQM37_ONue(DJuDbi|$o#hFsVJ{JT}--a-R;U2 zxZz9Ha){DY>rsvF5|hK2nz^mp8Tlleps`TjVC{Of4_a;27u8IFbn5;L&ZlERm%-sP z7yTBfSbR!-C!!cChM&(;sFZR-CMz=Pu17nE+Ele0-F~hYsCB}ZhbTF@qxnT-WW9K| z+4+n5Ut%g-GBlf$BUVJ+mB#pWi*5tIp zUg)T5FBT-vn3k6kH7hHUP=JWqJF5?4Sd{FO)&oFD?DrY=5LGsWUrx_^vZORpqjz z82d%3&gDi&5UnI5w0>0OL?heZ7y%}a1*^imI>31xmF|DMq3@EFz-)~JxHe*{_%~nC zm7$oD6>SAg2FYo-Mhe!cT`uk#ljDw`#y4Zp?zO~A>#FWAI==}PTr`))Jpex-3u;rD z+n)*k%9txPVPt->Xd)OoTK-|(-P*7?+6MDJ_{*<98UoY_Y87#oQvpgRyF`pkBODe! zf)3IuCtkm&Gv>Wf;k%G1Qb5d-nv+(B=bN4=7^<;-!Po5MmH(iGblmKn%;T+`Cmav8 z7=ksu=OXF%0)jJI*)l`8pKZGd`^NKpV_V6sr*$co8Pl?=3T-mc%N?<=Qk|#9H@uU{ z*MJ4Kf9G z!dVNF4Pn;}o~DDL{ni$Bv=-#4F_JuYy$CHNbeo9_L9u%JP)&j zrWbTp#R0*qaF5)sd+?^0P18SXjSqTEny54tb+AN_GER1|WNZt!P5FB^$a6v#^xPv7 zX70&G>l3SEdpHLms+|~fSf;dYhO3QSL(bF@h7(Uz`{7dB&T6wv6TKwA45|npe$$Sx zu23vYLpBhouMMmc(9S_Y?D1OuQlXlO#$75PWgYq*8Gb!yzXlC^JMq{$MLOO6o01%(OkUHI(p} zxxId@27@O1`1}KBRR!}0?Ds;5ch3+qe;X}^zT{~6Y;p$3(sh6}NHeyxl~#*xD9t1` z)hO1RLRW>1#E79A2qze@%IuDHnQt{_&0-4T9-;pF!m(tGhBCFCBaYNuWqH{LQxq#< znPQR{6IkGGbSoh-aKT0DBZ#0|?Z;b(>ELhM=I-IA)H-na-7wWe{oWyFlbvzI5^;{E z1Ntk?#QZ|%yQ6KGn)gblg#!IxpV3kfrNr-Q06d~WULFA~Q|#vOJNcLMnEXYDmI$Wh zSY318Pv5Sr$kZLj4StLmYay|0zFBo3RJFpJwpUHpQFSK7vPx|^&(p%rT?}0X9!#t( zE$*HtrfUm;ueD?TAZLaI?88#{O_Di<2(j8)u(YFwuB8%X8T_qmNTj8)&X#|Pdy?wB z0D>IISHYIf>L6&x zRFw>5M`0(W;W^FMSSMh!2$ym+SnX71+)4BPlz=ERds=_!5RWkUhT$P4l5pawl2Q`r zPreZ+RQ$BfwJa^&tvX8N1QE^N?@sICSm&n{d9Q8#yAUngI-He)7iNK!%NvCcEz}#O zC~}>}V-v4Lg$wS2@I9U9bK3T4Ha@o@c6e?n9BU5BJyS(r@(Cl%l2P|ewP$E6+osF<{aXMfpx<;V zz)4iWJo_?oy@yM>`WUcm-2h;$QBCvWi%iRSb10g3K;Jl4wU%SNpOj@?-G|Bg&z4xt z);T1DbYTu0SSNoNt*jzJ1QN1z-9eekLp?+)4ae!oti9AcK_H@=nhapMz1Tl3Ysa?RW%ftNvi$CUROiuD%mdW1(B#W?_|W&SjsrD(0|c- z;PI^2^7HM86qr0`SNkIHa#~xKKU#oiSp}*}#P+uC?5<#b!A#gLAFtA93Z*eOZRb`r zDbWoAxRLT@wZ|?pM9MgMmaxC4a5LY*;OGqEZUD}~w_g%Te0JTRHOl}RzOwRNkPHOs zc1~UY_d^N5p#DV2lXV5+Sy833iY1MuF$YK@DAVZg3SRBxFh5qofS3a!J*pUVfdpc>KV zL5BoYH5l1Wcs~-VdiZuG+>@@BP>oFYb1pb{o6;u2f;qrvS=xuLt}1-;iM|riNquu6 z16cv6-6dz6xk7i51(>t)um}gUTt4KD3ZjMWPTY8NPk*}6tC}zYbSq4_#tB#^BTD81C(!h3qpA4v9zps65 zA?nn)%kUjjzmXj`5Ta9e5w#gX( zrZ!T^h^!<|+|}l#DT%-N4fGtL0tlPHosv-m6YyrTI~XZ?NpTT&U{SLZ*_M)*|EZWp zREOZh1R-Pp2hTdneNvWaFf=B0eiC*ol`bFC04RM(EbUu?c*d;ALqu3fH+H?73J}jg za$)X#_2(=OdldAHnz&$dC7cw!^M}Y;ptuhlT%%HozW1BszC@y$9-VJmuLeiVU9Z8_ zSrt;SUAk>Q4n0SWjXhw}_UZpi()tKXuj})t85^$H!t|5^qh;x~djX#A3NvFIH)mJ5 zd9WB?(&?yh=(*}piHGQx!aiK)vv~gl4JmTG*4}zpi?_evw%YFA_riWFAoMW;l-lbq zaHL16Z)A(HKc;f9=^Xl%Qi8*yo5s0Mn6TJ13rt9PUs^Rf*?_JeE}pajiA#o(*Wxz)e05&ogVSK|?o8IkZP zRv;SV#bj$%QAQy@`yrZt_l8gXiFokL8TW3wxD+4VmJ(A#TbnuU=ON1*R`&a7bl+e> z_%uWkr6>x_;$qk;%FkDXh{}!e#|+=TiM26x71(d6xt$ud|0%d)uWyl2UXdvLKQ!neMC^oP%SSdkoB|;^@qF zFTnfvD%U7nbEIt%Z6(%*HLvLY6MkoSJ^wnD^v0?cO)^UvBU4ZhL{9C-fcl>y@gYRS zZ0Q8s&JWlyv)+M2xtD9fa2x?-Gg9L-;ceJ-N zK>eTh0fd2!oIK3_3;F<7h(Zuxk>C?uvH$03jH5tHoqcU>V*PK#4cH_nAR&M<3s@Bn zk-&imi+$<;jR1QlUJFXX1L4y_$+8Cy_=B95~Cs$< z0?10o)@q^L3XJU!{|M>W?8x(_v0nq`>>5yvH`$r{LeT6RCarPt5j+ zIA5*l2Ix03#<&RS-(?H35?1pL$@}p;bjj0qUO{rDrwB~gF}o4^ zha-7!Hy>$#FQTOGZB`c~WI)R^a?Nmg}}4+yAG^88O^ zGv4=}~VM+A9Yjoa;-0lZ#!~8{N=NF18KW=pn%(`2E>(Q5u?OwAy+|SN^dmkt+>|!Ss^s;vMWOC zwkrTQ5L`(5%17kThWQ++ozAK#%icXrczXeW`FlaX{NX#~otc8UP#2~~S@Icxu|tfX zmnOUtg%9{_FIVj+ruKU-^ohI7(L;yg-zU`m(AEN_=Wg#3zDE`6fx%N%MX5uXP8P(ksSnicm2msJ20M zPa)@Tm^?t9KnyVg_T^{7trvu;O3OlH(=YcBmW0SOMb5|`edzUw4e$`jb7_=)7R5Lit>;I9ulp9b?8Ht{o22_uz1Kv&fT29|PF zjEu4qVFUto|_V?-MT6}*@9h>gY0B6U`dG7X{E}_0S7uaXa z(%S3hFJOCG*9=ie^PG6xmFk-?<{XO5>Y^BtQq@DNz|qCQgl}K0B?HDCMY6%4+dP0b zgr%ue0ufR?>oyeN5ge*l{RE?i6evfKoXh-GkP=)9plQ$KkkG@4tXUET`YM_56d41y zxA=;&fBZm#Zw#nmWR8A)PVs%w4BO~hCi#uNag1m>SB|JZ{yi2oT;s|ijqEJe*vA^`1H z>i-A8;c>S3Jvw!ZY?b~ARdwCHg=vl)LkxJSa-|>?0l-4GC4TcqJSi|Ql|$Y7BUrOe zvR}KLx$WXW(j{ihq=8Cemy%M1>HnEW1iXmdTeGC7I_BU)rzXQLsBKuoKe ztbBt{@JWI-4Svz(ea3@s0hAcUDpdfm@s z0IsvhnR~v~LqmgTn5LLWR93HdVkVwPeJUGO;^a0Impn0a#=oS2cU}lbFDB>=a1tg{ z2E(R;C#bmoMYsYRIy6fQ0K^69PRm;Q-t=Iv?{>+|9V0!;?);IhLO@@}yLEG8grgQx z4UD&(QrX!F0KI%cUq};Xy_;2L1vLp%2(n=Lz*yU`^O<}L@+(@q5h^|-nGZS% zK?1DhpkS4Xz!vBaVvB$4QafmUvM*u1D&K|KiYP;hK0QMll^JuizwYxMGdEfm<>XSk zv&!=I6IRASgV9Hiz)dwebaT#id{be)rasY-;#qrL0xMV3{>{F`yf{c^ZS7_I$}Itn ztO%sX^_Yq0?;2TN%z64Yer8YVI4zlMO`m!(#Rn)s;%N(rx3jA{ZIsMQXI;CHjO2=n z=Z|f80Lg9;GoX_u(&yXa$QT)g5a`7MA@n<7t2K}@L(GWa$w5^FST$U=!x(}H z4w%?1P?CS~t=BK;;Z3RF(BTut|4}N&>jbi`z|O&|9stBGO3cG1zTaz99=lcl5aV{! zV%9eR_XycFft~}YvVBdS%d9W0A!nEzg03(D8 zAW=(_+(M)*Z#aKLTBvy4FM{K2GoEgaskS*9M2hBKWWYt z&?$FI=O$@vfLihufOF(ORMloLJPvqTT!E)iaMw7uv5R=3-2SVeRN`&}(?PXuG1N;< z<@vp&v|>3iI2D%%DF0!oTtLHWcdOp*{0pi8D}@pN-is!mOjh1N7FKP!Jfr9pZG}7k zs#nV#fo*{%Ee~|SPhK8`@5Gb=#G8?Z@Ai`Py?|zflJXa8+E0J!yHA{wOm|^9rB-0F zhvp;OXz_0$_2w|q>`+mRz_t~uR+vn4X%X3oz1LL(KZLJg?Qmh{9N<|W@xyA5046~j zfDd3_(3!CeIf5>~=69H>qIl4vp3tE!rYg|_-bWCjK#@D*KaIk?MA1T!wY~eQCJTGi zEnkqrI>D=4AT6f%w8ZT~f_Ie{Cl{IoY3FR?zN&-)0U;N|0O{}I$BnGWjs}NkYIuQd zywnRjhf?~--0bdaD-d{V3u6o2L@sg^;-!(I&?W{vp%RN+zrXq!%lz9S=3%;ty~N}^ zAr}hYy2l{>w=Jcdee|A+Md*q_)-uJZ1`-=o<0BRyhZkMdb!fTS(rVh9GNzoK*#2IEMOJrHH0Y>b)Hu{>&B( zcNX3l)uVT+J79T!?{LIoOH`Z0iNaj3Y?m<#*GcE=3n$st=K5;;t^YHP!kxQ6o`GZUYa&$OJLetd0COp8UaHYl zT8D#P{MRsdU4d-g9y&NQJ(LaAIXk>-DVd;lC^Q8 zO5RRE3@J1I&3x!JE&4vZ>^KPjFlS+kL#rKxJ+~NV&KY0gp5ZpYZQK+pbSfqy3q1-r zL-U175Y@-Qp$3jZv~~NQiAthXaoI&%Bwm(*-zh{R7m+ik&jXaUI+lx3^R+Oy!O{QF z5Rc;${}R!muml0eRV77Ln7-B4bYB=|7j=kY{{8Y(_!)rlmhsLv(3_S(stD85T~ZAY zXbR@Ecw4Et&gsFy1YVXV+C;vBP>frN%+6w7VD;(O=vHV|l8sS_Nw>DInn}r0Nay5C z0PmBeCCa7P(Q|)OfUct0()xjB4djOs^3)5&xasU(qq?3hym=-cmei>Rak^C|d=?o< zj@<6LFV>=_#xuN*@{?EsCwriG#9Yk+jGa+bM3sTJZ8QOB@Z|%%Rq9^(s|qftb&$%8 zO3PWpN<~7#a5>w2UMrAj`U(h=`vw_-ZK1#SroinGgv#^@Ra^iJS^EnShFtyu@bvps zb+!3!C|9sIj&Wx6dkMC5-o=r08VY$0^9MkeuM{On+T?a+fm z)w@#)DvhWL_%Zc&s`01+4o!~)mOZMnXY~eL_9elfoQGL{$cDOhCThZ#v<#s_iNtev zKd1V>MG-dmup;B= zdJj^z%2E({jM*2~ZDq{4RoWppLG#?@3xKj}K2aQ4d%vt$BHrS|l`dl1d7lSE!m=tb zS83QFRQa|9LIs{YrBk4sD ztG2IZaxy`BmFd%Gd&P1@z?{U;zZR8>O^?YU!WTz$&g-srt4Gqokl_s0wbPkGKE(Aeu`BeTz7+iA$v06L#5n~tDVY!;&=FZopUKU$dDe;x z98&8AB*VB0}uG4Bs4%ym_COOKc4zEPQSEszb{;#E3ye6 z7QX`w#$`P@d{1%q9uYZA`#HcTpbrzGM)vB*ebz-A7B$;kEDeoZrpBn!0Q}89c3cPIjBR|O+y-* zOn>YIjNi&0E0kwGw-MF1ANmWmX|X8lk*0R^hvb{IOI6AOHoSN@mf0FH#`Lnctx+Ez zt<*RqsHrUTGT2`x>Yx&6obTjGvEp>Sp*)Gsxhn87bc*;W3|J7Kev9t{^sh~IlU11s zWUv^>EzAd%R8ln)l?1lL_Oi*@y1shD_;|WOYk)w;%q5*^$KBzsZEzmR-q5e-ib}Q; z!}k6B@%wPhp7u4~9A*w&O`Aab?=1`~^4x@g>1iyE`@ER(@Qu$*9|7js;h|>kms6qb z*9lpvToRH$kyGPYY(ep3Dwos|M60`#r%}Hj~QvV*68&M67sq4@*QG~uQ@oZtm8LH9)aWijl_l% zL9dwLG<~bT8CRlrYcL8wXCA=euP>p}d8egO&q%A!+M6f7_%kDDsR}V)v?iJ|8eV9pg7h0KVs$0C-i{OKIjrpO-+S` zZ!uMNvvx6eME<4cQ&;scU^xY&t>2bg0gNqOGs(Z#q2+dz?~d6w2a##_jvl{!;w5=a zT^s+q;-$4Ct6>kY@8SZgG}w*jv^1Vw=z7O6G2#u-Y+UF4?2?w!A~3dFH{Psp@_hN7 zCT*e+rSK6`UMFrY2!WTB;yFXKb~&Qucs|S=6b<`Jlc#=Va}GdhjP7Kq|bWPiYCn2Pwy;?7@UY<(OjJawT4%B{6qKJ*fT=;}oxJTUnWgT3V77&& z{n1d|?EFLU#u8 z%TA`mNy)}F+K;7=QqWTS(s;Ku*U7@(*}*Wm@iy15UUgJkOQcR3wZ?!xCp`wP2BB>E zQ+)j==PTx7Zn_i`kg=u!+jK6!dqbyc-lO@ha&0Jg>}x5G?&IR*-d1lvqh&bgjUZ&z z2nXrIh4pfC?XZtj{8meai|ZkCyG@@7Iq5c^Zu0fuoDC}!P%GjYbG`SX*AJ(EU$2k! zYsX`?`HjUnI=Y$7LxF~eX_xvsTanYs?VpCWWrOCIC}^VTW*}VY(kztIYt**z87N6? zu7bR`+`F(0KcJCd;zK1eE}3#}^NF7-#&p&D*6_U9*yB=FPHzA`_Ug9{hy5t8p#U`mlHaOCymxxB5iXPfl@LPE&W1o~1?lGMw6 z`)QHM6Z#ydp)3L4k8NOPGkOaLlU{F-%RX;-Fl-)4PG9O2 z6)UsGq|wVNV3SQdS`cu*R-zx%5O2^nw`TT@MZBuy+?b=h%c8o{yS9dCL`4S@kK?ed=lQDbv4-W7*fizN9I_2R`fO+s}ZEV%G_EWKYcKk5Y9*vT(l_R7HiM zCQ(U?&=s6VXlFb=LDfO_CF%Z?j+P&0LGgj3{6izYu$eKaZG%?TYf&ZYg+!%DQn4eV zacT_=NqTQb3`DavJ!8wT|J)t{%FjzIT8yK!Y9adgh+LsdPLT4qRdUr=MAE5`R)Tv_ z%|;s}SwKOX^W6j`Z(KXHTG;(naQ$vjBk<(ZiKDQITMz!D2%F%l!_4(kudTqx)kMQn zVU(<7*-`H)i+pwp+91^7_$AzmNj@2bj!;gumQX{PQL2<`STJyjkgf?4oBZ&cq)C_mdL5obRe0`I352W|0c#Ew`o)NxJtxsq4BAvTMU-^vyh)FgmeOQGTs&p&-K)kh1n*C;}eZ;LuXx z@ay?-p|D8{lH2-DlSx^@APMOvOt3WMzFncKIyKV@BfSM-@v;#yAxG>3<&;zrt#qE233eMlxf`XE7Dd*<>zGnVq0{3w*)f^?WY@IGD&(zkspc1*~BZ zdoKf9-U6D@1QQz;g%v$Z^sLb`-pY~K=kI*l=b}1o0)=@rN@mqAG{{A|PowMHNwnj; z`Zx6OW$C?P2)(`sI=eNV;lmbFwm1mBL0_vu26)xz{q$(_m|MtDROF*Vcs}(8YF=Kc zlR3;GrYDCzUIItwPH6J5#l1rBu>RqGAsX-!(~Ag;FOtyxihS0vh=uq&H_uXDhpV zfRj0k0*uAFLcEn<=+JJusUDlZ&s)Cjt&LQticb=soS#(eGRyYf4JJq#4;pGr(Pd?H zrMI3jym^W>43mr;em&C>3)YpMsL{Ls%u}>jG3(;K2xsxX|5GHh2OcJyvaXag#7lhw zSF1CCSpp9+XGwsuszkN)d1kOIO2o;=oExg(OhsJ*2g0!An#pfLFi!^V$IN za%B)1md6+y9~oG)rw|MNStO1CV$=TLfAhaTw9l(cu0uN=I}qRlq$>vT9fA7SeYb1~ zv2h>{>C6M@r4dP&~e%f`nyj7dUnt=(=!lN z4^p*D23;%=8v;p)T1ed-H0n~G1?3PSPRJA|cy`kiogr3;~I zX)Zk(@?Cdh_yQ?+M)bv>=LtNI{{p*B@!E15 zD9|vs<&%Nn?b3Wlr0~aj+0*~X1$4;<(8~jMAD0W=xAgk93oW_W#vdSERuvENDL^*@ zmL+B4owXA0l9pHwq=aYexdsd|NC^+LrbLA|N7F=99XWd-3lefXP$(b4CW4!<|0bcMf_np2MDMS8MbPfu&glPDCQqMb1!TPE z^_Bhz4bj`IZ>^P+`+0zPqB^nx-p4a2Ed6w7LO2KE$j%R;$n=crVTScFM@FFI1H8=n zVPIteLztkW*~$O%eZepx$ftd?1uD~6vf32*90kxQ?2hi^812uG7 zfsUi0n^)P!5IH$joahAzkO0-vLJ5yf<(|BdWS?R$a|?|MT>y{+A<@BgVw&=`HJ~Me zKsRVu8V;SF#=W$C+nhMEsR0Sa_#657gp|^RUJtzcR2BTFFI0LHFW} zeJh`C4i_NA}uBwGN@M7y-ea zK1WC4I3R`P_eg?v{TQsyuIclsuAx&?c*Z7{DELr&??>aEfCh&k>_dPW_PeFktl408 z7FkmSPuny_XCok7*$iS#0AY{39AD+F(@^znK$9@zE)Z6%J{NUn5(2$=6w<^aReHzL zv?Y}@MPI8VOA)}MYl}(3wVD7TF}5!n_R(du7<&jo5}34K0666(isqA6#d2RKRttDQ!zb_i432vi-#Z;}9!bEux2s<~sP1UMO9_mk9;}polit<8nI) zLV^Dy^(J2z9k~l6LKL~0Th_mW42IG-AAAv%No0i!!-@isfIl})<*?CgW=p>um-6-dcpgMH^TyihM<~=YU(A{Q@RzvV!8kJC_|zj`4)RUnRxSmS6c2 zRmX*_mXaHpFLI2jyA(dVgJrK76GQ*jU)7hrD06ffZrEcZzK-vEOxe7aJVjFrh4)TK zL;sUQ(JlLPFoPyxBim0SVQ{O3i_{}^PN>8vS_C!y6tx663uG$Fyqy~VA_}SI#cfhfHu+65-c4hO&pSQwY_${1nX%4&sB4MIXu0TH})XS zl3?J=3)lwSyD{D1%_6b55sv)JobWn%XZq+yZ z?di|S8&p%*&UJ^9#@ms`;7sJ0rcL$W0b~>WoH;jG*~$2T(%ZRPyQ^q^2N*eyrBjTZ zK9KyR-ATk&aWBDeaeXF;Jv(F{BzZd-fILawRP8hYs5RZ=suqpgQeU}>+!vx@A@-h3 ztw{n$p>DLWS#j4+D5|dw;i((xt*;T|KOd^K+T8sF(R|!7=Bj=nvh1aslJA}y&To=S z4!1|)r%5viXwvF^} z>5Rk3J=0FXp@RHmMfnedK?V=E-G0G$geHo>aZfE?!EV;tBNjauhItE$BjIPwsy>ta+K`bL`U7&z{ax84$pn+ z2PK)d1fNCJ&V@vNl4;Rj$SU)CH_2rNwZL@nWq`KE?I*7oHSX>kZEmKW$Lqn93ivB#sv>}P?E$^E6V*gYH@ zHa^ikrm|{R3&oQPw=RqR@HGoeVs!>c0Xbo=qs62us5fJU-xjS#9%?-)u+-5C^xkc~ zy)k*nRd{|G{TVE;&5%WPf~kFI=#5<_|N84l)%xx|v+z|&Rf&K8w zXy=F48hHH@MqfLA4l=SawtWt4jY~*A3r|WCxv0?D8NOj5xvNYkrvwINrgedZqhpAPYNUFfoWG6n+EfManzpc1;rVhr5v_r(dO<&KnRE+ zS$q=b_le?5{gO)3_Bry|$JckgV#$Urz~@QzGD{TK+Zj<3{Nf(e)d&D(bNu zC&%o`mK!#yy+Me198>OZ?1_V-M>=I)}Laje0a%v9h#y^3iMnzMMj*v9b zQTYW=husfeJnhT(cCYft%K}TpM?7X)>NfY(iFAcTtsq}t6Xl$$h|4)4fya(9|bf8YqJx@l5U^MJIYO1`^ig}3F2PAFb&ib zO;_?XeHClyOuQF~e0Be#R^!1RRu`9jSaB6PR!osYdeR8c?P|;{l*s|Te&_1dP`s9s zV|sfgzv1sY;Z&+qlY)1Pza+3f?t^PQq5R}7n5X6`|E3ye_dC)@!u;k7mvbYymm64)o2cdn{qkomcQMUV=Ph~bEDG4o-Kv|n5pVg7p zHV-+%Pni+_O@L>A3#_=@7(&}A|^JjV{WEu`^B9P_q;Js2gZr}0N{&v+w za^|jq%JTicl4KVWYBW@OF1EG#uI_YeEPXM$6oPMPn1*i%%s;u8duDk|ac-q@8#UY= z_2LEjYrbtVo;dHTa{iW&lbX%Fh>*3)6m%lBv~--bLBS4VtmZRub9`d%C@B=iw(iVe7z_)z8Y29R53-ja1TG+{P=vd{zCFuzfAhnE zwCOq;y~pRm=SOX91u0}~+=}X^(P={@Ok|Yq5(N$sT&(b?(zO~YMt{wp# z%D+xNbpglXnD;v%H!Be4lt}lu*t3F;duUXr5=$d6|q_zGr>PFc_w!qBkFur1NqCv#$jDbTW>T;1Po%D~f-+K}1Ph^{=X(aM?&!hO zewrKRkiu%J&`(0kW;fOHJ`>0a(_I_~#Jf>xL1`k%O&r3UI&MmT;USufS zoL${>rw*0b?QS$-igIwW@wPJx;_j;zHwE?xQnP6?UzjF_F06D((4wa{=AV-p1i5l* z->I~J&E2gxa2tyVhJHT<@R3W0Qrd0h3F%J=Wk;I}zXqXi1L;Qx_Ms4dC5eP_e(?}6 z>SVVzhGzP%CFf}zsz0*<+>c8_WDWhZ_w23TM|~chNk_G}#H9}cGhV|-!-a`qB88RS zaDaCul7@>_Mn*rswwX=v@-y(O+2#xG+`H<=AUqvk!VAxFhGb50C>b#9~RYt&>rzY zHb6>~peGDNP;UDe7K0zE!&5EgS3Z`^d_@?}gpcBvn1Q3egmIh`Ypt(VP)On?b=WY2 zLm24{aCukV^%FgW^w9OvLKH3N+}5#ZAD+vI!x^-rGadYLhj z#%_OGSG`p6T>4BCt#HcxdQUg{H4s2vA!`cS9AHz-O`;-IfPzj!Zl=a9a@WPq9KE7k zITQ1>I%0V04+4^UCe5R<8G0g^JY}3{jEHBmsm|^Qfe)``{Md(`&W#jKYO&ZUkqPbA zOaulKmXlG}_KWt&EvB8Uczl0>9`8FqO0-y7XNb9K8BGCVY|1C+7$NXjx3XOqe0>Qd zA3@LJ_DcoAls38rCFo4p&y>euoTZa(obp3u{#sjm5paiuZ!m;(HsViHalZ{&uUXdA z|FPw;cc=3B*^jo(_FSqp&JPHK@=t|q0rNJw8sw($r+Lp^MyRWNPj@`aKAyIx*9cuX zZpoj7B4Nj;Dzsa7@M64k;UmGKkgwJ`ro3lP^m8bVrg!jPjs%~e zx!3kz?6m5~m6_4dDbzf|5M(@ib~9wmQof|UQ~*K>cc0f5l*T`scJ1MQb>`3oic)nL zn!19wa>&^LczbR&xuK$#_FSvNMt${KbDnxsuDnWwcgex`WO>f+HvR0wUInK8%9qix z))Yqk@ntUeTX&hi+5uW={F;X2*jLOy;Kwx^G(9wpy;@Do?Se^2w1ci!#a641H5Mu3 z9mqr0S)x(Tbpf!pLvKc*qHviJH!lAU0sZqYwGG)VvfuF<*X3zG+f5MK6{tJPH`M5^ z$UaFoGdm}V8LYI|)OVi(E^fQD^_I`6Rh>-qBIq5~fKab|^`~=%1kj#j>&3LA&a>*f zvmnBn!kEtytP&AfW6L9_<)oeKupF*$ai4fc*h7`lVLvtb-A$6f#M``{jrIm)YR|r( z_6N$;#{X?C%h9U9BP^ML(=;Y?kS$+fD0`?87RXNcBU2SY&$RTp8`MyIL>GQiGsl=L zQiMtdkO)QWM!Z!FuA9#JL5s@7;ovF!BU!sBUISnDFA7CKGs_u9>AhLV1y@fbjz3X& z*E$H#d~z`v=svys$HMrUNinvoXuqQ3lN_@3l-^QVasvG(<|A7VG1XDvD`pWr?3=e) zlu0okZl{lV9+R018N+@L=OP4I4Ppw9_-|up{pPMIahv&JF=Vn%F z!9*Cm4KRk`lQ-p=^c^+&|l$Of0aM9W%f8b~d$yok$ImaZ>*`F(l zV)NuN1oK)}Wg;anS-(;uL@*8~G?DvVp*BnGD8Aw&d0!BCSJl_tVu_ca+OzTuACjce zrhcGS)>4^y?}00Ej$o3PLo4*tbD6`sGd6by&h;S+r~5!$(pcc*Zv|AZkC>K{Z;6X~ zEKAggefho%{tD3;&xat9AOJFdLy+tT8d=^ty_;c@b*~>Q8--fB%*4 zu=s{UB0l{!$%+cUY12-Xe|HnBAg{*d#CLR0ljamd-~PT zFPYY=%GwD%R}ne-JoYbCO`i_f&9OezO^)|WW_!FB607v!Axd$1bBMOu7m%p&0RjoL zEauBZ;`k6;tmV%elR?gS> zr8z;V0ixPUka7-`NfrdWb zhY_Im_r0s60IF3GZ8Xvt9{N!@t1Vs53bXZ%?G?e8G;;d_R52&ig z4y7jfn3qSDHnVNL74-q4_lsYF@=aa5)=BfK$+k|0hdYC@tUw7hj=QUu&mv)pbJ6QBD?U1QLV;;GB9R@i{O?fFdiFie=c?q@b4Ot9}{U1 zt`p6mpUqgqlH%f;(}|URSfDK_yu)2xVD8y9cf2En5wa8xG0rr|aGR|Y;TkxLLQ39Y zOn9vC#zuYIy%wc|FZ+i{CJ@N!SMf$oNe}<9`5?ZDwUd)h&z5m6!?e>f%+yR4Kzgt~;Py{l&p1fX!mMXk;(8@M?191E4(mrJ|WjSh@R`N2y$Y<!Vtk`Epc_A^IRY)+ zDXvK*54uWU9Xjd@{__6EY1ifrr@p&o9U`yzYbXL>WjR&sX(F2^oq!}YOJVhD9g80>5C3$Z(96nBrBU>=P^v@>g0Z_zjFMEW;mFEOt zi$K^5`ufGN{svf-hs3aXOSFt_+?(s2iUy8Lk^_Krv=vzL;u$az^qWy`geem1xDk ztKLjVOV{yPC7V1ydHw=a6Aq-d#ttvJn!8*yGbiAlcbg***4SaHI~XpF+h>Sbb+KTAjhP^h^@zEjLo zOA%D&5z$OHuyTy)x)yJY?`Dy$tos-k+q{G&*>S@{4HHD3?E0f_dId^HX+H6XhHdDW z6?6E7A?0PaPojkmD9}|>^YU3&{Y5$#mXwr<0%maT$#R_GkQh?FU^-S-5d6Hsi%u?j z=^M+2)e7&X{RM8g)jJSTaov6aUB1|$a@%jt|0s(QFALYkSvLPp_y^(d%CX;Lry*zg zqh58kLJElIy}&(7=imE;da@%kC@+yYex+;tA#K`Tkg=%H(COI1J4&fBIWwfPumVk~ z=|%pGxWI&3jL1s&?kK9pR_o%hB+{RN<)b$fN8Ie!R{iC~41717`1N!IywIu78Y498 zY$;8C<8&FhV51Fsapl`By#f(_YEd{Pp6<|XhA*29ZyKViZGNOh1@9I3J%;I;0oUg# zRW-uSh8#QZO&!^lB%O$FDV{#HH<79;sL^O>T-AuP%b0T^o850~>KXertpXW1Mntdg zvHUdfVtR!p;q5%xZM>^L7+v0|I^Ez2H-iwSyLzo5zV^hbYn~VNcGkKS!N6!jjsdddEg(*uHrSD#YU;>P$uMs9y;x<8u5X}0YOSJ2GoYgwbX3v^0{H0&6uNYuE?90&* zT$-%UG5N5MGrZ-*+E0RgR9d+PyEyVR<|03Rm=#CFC)L0z!%PUqXJU$p!V`OaA}(fE zt*Btgkf`_oZRk+sSQg>>{PH|BJacD$f#n`4nQ#^+0s;CtzRMDqn!H(jHl2R*fP)Ju zcq<|0{Yc-Q^}hKQ*c7AO6nv+jHD&=CtQDaztN zf&TnKP3zc^5ukusC&)2_f7<&%#n@;NmxGDp=BC7d`tM%+n$h#+KZUgP(+2b%uW zQ^4*S*Sg;Pa!zFX174S7QBjMpeQwjHSiiGBO4ch)pV-FKzs-e<8Xj1aFAY|~1F2ZSq4~4)6-#m8KR2ZqHPrea5+Theo6smu$Re)m=C>YAa>I19a`)u>>;^!^72?siQ z#iq(b&R`x4kv(p4Z7Xd|9m#W$64~njp@$xk2ooM^wK~9kp*!WMRk&r7)4?yMEza*Z zRe9t&Ly*xV()fQZY_pt)2Xr zRU0j;Dova1_1XO4bYQm95*X+Wv!2zJp9EWKn!QmFD7*Q(I@1ccM9>2U@H-8<=o#Da zQ=i_)zfGfti`Ft?yfB!Jvb-t4xt_R6aKNbdpBk^9cp48_S=*D_dxVruwgrwPc$00 z0>_wNq>NF{yjD;TDJ$`1T=3pXsUrDBTcleMPw9PlVjdkL(rboUpcml>b=aml& zB?>>DiI@lQ)$VC1>*sx>9g_#%O3kJjCnHr*KQ^)b*gn=rvRWG=FmxI`>YtTBZK_z& zk3T#cF6CcQSua6J?~UC4dI(?kDNY@^p>Ul3nb7OuSKz=gmzl)bk5HP%1mIz;9)J|D z3BV)2i&=$gnR&+-!nN32DA;(frdiv_Mf=eo37fM7YhGWD_4iJR5QuV3rhjgvWPH+d z0#Dq*tDkcaFc89Z^6MD4(1mww+us2RLJvwNK`q@}wk_kgNoaopeMW-*irP)@YyIh1 z{+-kwutg7{%+=RHtZ^j{r_E?Siw=%7_~VDIn!p9&y=0m1IPWfPfrF4ZnV!rTTgjpf z3)HoXEdK<6a;ZYSjw60pAIzlss)a~{*$!VF0ws>sUVHq6e_u#xIHQG!h8vM z6Z?CGizvTnxU9)rPDPWdjJH+5nN;g)BOoN^160;loe7qaRGYN9&!pNZss)m!DfUkv ze*p|Cgba*47dPVIDP9|fm%j1zdNdzx0*|l?6}N2tPAVc&@XX;1ek{!yT0lb{{v` zDKKNAcN=92L1>EDnm~w0pI2v^%j2-P=HnQ2)wF-Sp@@C8ABJ;kHkB!> z&cIJP0Jw;v^^Y9G zdH87Y2J8i3SwU;agEHEYccFzUg8XUJk@lNL0oV02wEzA&W1jG^l^8)ap% zAs@9QXw0IyriUFf4+?l!*xoFHgI3Cxmx-lDq3phK$dbO~HAga1W9=9kGPD-Fv{*G= zd{MlTZGXZb-4drBI39)0P7t@b4%aSaN>pP_T^vf~sxjr7G~1BI`~YiFj32{ugH$_> zVt+RW_LLgyXw`Dxb6jD}eq)UXqa4P!n-%PrSy~lN)K4(y{W5hLVqkyU@9rdFYrDaz zX&{O~Ha;p}-sbR6O|tM`u3bbZvZ2pN;btA*J9L3kAb)yw;i<9v*Bkj^} zTkp7>$D`%h%y-n25b)NTFb#fMO2fwf1Tn-M`ut^7vKxhDrlNCzjN9w+12twh6qjV~ zkS0207s+kyh?MdaP%cVHBLA)bzLx59(bw2tSU(Hj2vwGLEmt$6LTgOmD?s&dquv45 zd@}0;c`9)STp0l`!qnqf-kyg^So!4tFqnn3e=-F%B~8IN|K; z(T?Ga)krYdrntNXpXofb_zwT|cK`yhxK%D`aYJK{f`tYSN=ElNbhRLLp1K>r0>euy z15gv&L|0tqh@`5O_)&u`mWL2QNno~aB77FPhy;`0Pp+D`(P_Gg#Be#1Vkw0BR@mcE zhq-j!N7N)8g2Dg%$fKkJ)a*RsgV9?sa+w~K-dK4qC}}*t`1!cJgkR%?d;>9DgVgBn zQxi?&BdUp4S(_7~<^)t$nQXq?4L=aR2ce=UJagbU|9dmh#2`$XU3pYWpN|q zB@Rj)H!TEGSfX{kslwTJ;g8hm{G_Nk9=>YJiIuPPaBj`pFdTSx8O)XQ!i8fa+?5wc z*N?OU>y2Rl&#}1Ca+H`c9a2DT>%Zo>k^xq<`pf3^201u|pM&RGi0Q<9ScHu**VS1Y zj1S$CmG-tMffp?X0(`qoCyIns1MgV6w684R+hw{c6~Lcx4#h*_pgK&jl18$=`kl7C z-<#L*2v-%J|M)4ZIYd5?{tBJy3b6Y<3-VPUlI*7@2NAKufj%GtxpWZ+EEF%`10un83o zBC*(LaMbx`Xt&*iM;bx=1R3eFP&Lc;#dG%rftab3D-I_ zR)`U`Pj%7bGqLL!k6*EbMlw@^VNG{~*3)~dEbx()y32mdR3}wwabCPspxP0~wS@~> zj-Xuz!>w>%X?>cV@ggLBC}e5Lv|iU|AWmkFk3~GTMb05xpB8xst*!Ql4IWGnE4oqn zh)K~1I8lh5i;WFqSeupc1HaXtzar8*>p~)~syC&!f44Qj1dDA@R2HMVuS^{nqYkS= zKX_NA5iYuXV8Gz?#2m<{&pp4t#)-5uPUMWjxv8(FRNO%r-OPg*1oL(LYS`fCd z406cl7fP{DCEt=a5mi-Q3OvU$iaB#)I85*r{hrd_aUbgy?#K7GajNhc(5zV;XO)M{W?fB8A0c0T~l!vrN7tT-K{TWHU7TGeA_-x zer-N#k(cd1^4)v53Aw79c!djg;YK<}4RyUvdg$cC&jhXV5wu?tv_HG=Og=C4Ix7ci zH(Mz#GZ|*Fr*R;p;!9W@r6Nch@ck*_)%Rp0e}bIG1KjI!9_n-k8ns+I&f-H42bR7j z_^S_R7uk!lAs{>6q2(P(<{srC%eHN&-0D$qBOu>JuP&W}^2Wy_rGOT_2}`b@4%aYc z(*03>jHU*^t*o#uhv~3gDs(yew1NHupT2^O^~cJ%dNR%&)0AS8pk(OJ^MNUD1IbN% zI!rSMalulUbbsX}VtA}o6Vrx058O-E&?QU`Ak98--bXU~h>T4{pe=8Pmwq>jPjYXc zJ3YD2K@t$~`1JMM+f#d0_$UqC`IwCUyV7NB4V$Wl)JPU5>Mkk3`iIIT-Gt>CVJ6+FrCR}(-mvgO)S&W5YI0gfUgNPKZ zWZU~YlpOMBZ`$3t_S|6 zcbR$zI8k$AyYz_u;hY^O>_o~FN5EVt(5-o1=Iv|T6agee6S$Oxs1?k4cbb>s-)qchSjP)b~Th}Mn%CWxQ zct&@A`#B^vd04^>Y_>9Uo!Y!aPS$bkrfNgO7*S5#I#U0rwmYq!N{S*H%{2Rb%g|M6 zoQ#;_5Aw_B5`{E>Ps5k5G;r;qtU2gQ&w2>NUuR{_mwF`g!@?f15HaHht^FM?Uzm5o zT&Zx#7qMGOQ%ggEFL*&I?+JiFd7Jpl3yPSZ+)txI*YddNk%n00fLqFw&lvjat zD9zA$&1$IaODHFLP*h98)?PfHk(Q*v8T-tAJm-zOQ1mu5C*+tegL``C=M&v*Umz_8 z$J-XM*ex;W)Ee~&*&K|bOmKS0;GYEfrlRLU+S=O*d2jKbPB#{l(A@xHz`(YYtD5s3 zbw=Y&oGS5~a`|TYfdv%gH&uSgCpbz6&Rm;qawz;Hm386=p0_N^x3f~q>!HhSE5!32 zY$a9Ih}O1badL((Yv5d<#5<7Ft-zR~S9nJlJyuhOQC)|B&PHPKtAg9^)1!ry)^(^1 z^t7x%{TtD>SglW5so5@G&@MMMYsCcGzpKO0s+&o2cHdDDrE%{`ZgfLM%k@{NZ#y&X zNA!R+lZ0{sua(Z6t{| zJv!pwl+%)Amlzcq*q}${fZBLQJ(S2+y*bXM!Q3rg67ew3P@v>~{g3{VOWN6uxr9X1dfZY>wAg$JzFj2P4=2mJ&Wh z6I?FJKI&ze-h;@OTFUpS3_)P2`{g)K-8WIrL@PTiiH!D(NC)|)p|58p+6cKA>TfZe zRVghJ4jc{+73HhYU?}A4(BB(=t!2yJ=W~}RliaDWt_zp-_4NgsOV*BvYL7L3eRaAnsx&6g5%W=^ zo_!&~y3x{;B)BPST^^x|Wr2u}Rf>YmnY_y^ns*-6;R=BzxxU`?e{ciyXey=dN2nhw za${YGDYF;kSwNv!i+|Mr`4c=(k;=?e{GgQ0_1ND}q_P&&sHJ1F%q>G)OQF&-1+qpY zx@Z_kFeNoLELpr$d&Xk%$P&c${~jK`4sQ`xJ~tcWAql=xV96{O8|a3`DM1OTZ!znudmNs?627}jyyXvE3|UxovHRj!&(Qo&>158 z->e0T;r>)!xmSzH0zptC2S+Phvx8v>4e6OB-#V_V@LY=d2OCP6rF`AoLeL+%l=ZVm zyi1%V=;mL?eGBsUS6jHfZ85ft4hoh2cmL~`m2sYqTRy&VIvzsMz`ky~pss=U; zawh{_U2c@*UvzUWXJw7>GDiJ$Bi@i%P)5n0Q-1q(d;8wuW}pySuFT;y8b9_&a zkPkbGM||@Ff>Y?->rqmlU7Om4UNbYi5QMv!S?VO#F7(VHhOWVmJ$A|szI~f^- z)Jv|$14}5+xH{;#c3oj#W8T0%a5c0Fwc&-KzgEvmlNNsamPqU*HBB}nBcsue!&P>% ztLsX`2e0?mG@K>JUHX17DHCb-pyNCNS0TF-r33R9l9!C&GN-9vPS59DrYXf{u`{Dk z!8^wFZ0Zkb@46;eIYg_oI=L4qlS)*R;|fZ>6@YzkETs zy1J55zR6Ydg`qb?OtQeYyir~)G999J+^=a=oy$7@Ec_e6hp5G|iwM4Jr}n|>PwoiO z4=6_1hB`)Y^7AcqlGqab>;p$+6=}){J3cYf zd-dcdLaUH|D1<}j0&1vqP0>)HmYa$L-Oo^}ABUOe?Fn^kV~R@_NiCBd-5UeOBoj)Z z38SnP7HmSWu{^w9Q8R9I_4gB?*{yjuku~!NnI*H^k@>ZA=q76K$i5Ae+T6XpO(Duk z;Xpl!`a2#k_spLuTgf{E0f*@`;ID@g4#h!YT@Z0i2mx<==6$4)7!Dly-58CTk@ zyHC#LowYH~2@Jaso`SgDM~N!cxLq~wRgGRAQ3PiwI9&riA3(t~>t+(!K zLAak7EF^W%aU0|(bcMru`|(cA#~N!AE~6ln=o55lCps+7OO}u;o~yEzJio2dr66yN zfzFC6?LeCKPv^k`zpvtYuY``qHpAX4DDj(2Z*A<*CcDUXt$M+TtR?5qQz6sPO(q__ zwp*OIhJ(F##@8pUY@^{oZab_9-Zq%GdW}MMp>mXLDfF~fJ`cV5!)a_5L$F;Y8ZT*! z*xu9|%BOr5)%NHw9?BNlFq+726b_;_G`adhj$_uMN5wme6qvL_R$3%z5iv_b0&3`3 z727gInVdZZnmq3ocEvgb87L?edU+{vt;FynD+@t6Yl&c}r`R`e5<(t4bdD`!oqpBk zglL!yTrOdEDQO;m&d*uh@}NH(*+e74eobNg_vX};N=NPUt_e~07`7;^SL0%(m^U6ZKI`;guu?wV!D9R?Ls7Q~XFE;+9$7^M($A=h zrDJRyfT5MQ1SteP=>UIV8HCFY_#_>0Gg%b_Rh@KRU^Fh#+arZVXIp?}JorfZIpsVq zZLTY|R3DnK8w&~Y>Uvb`6DY8v2XH&iFcEfa;*?tTlp9ndk2n(IG8AWF7Rktf7t71j zxUMZQDQM!JRoo4;uH#;CmJt(+Qy%tos(z>pVAx2POu1{|!;YV3^hXDwX~o%G_K63{qB2~~x3@0Q15BdM`J zZOSzu=jgAft8%fxrX1Ss6=fnhI2A6h9&$`jHJ>VdV>B^$__xI|Rl1i@vbPD@WO#hTrdRPx6a-xwk>rp?#n=Gcr18C3; z0%Y6}KmDwbF=4=A$67KMsS3xiJN;@;(jv3Gw~-I>3a2VZDp?^;1bOL+uy3<2>*kcC z9oVX+#|8*vsRqd7TtWpSM$K}DL1(y+Js>6hl;~l}>fk%>WVFd2eA!(-e?xd;8U_AOkx0gR4ml_ z?L1^jNwE*0SVe%D0v5`$SEOvg(l#i*$_?>Jyc|1DJ4&Y7p=R~q6g$C;yB?Sx#$c%J z5R^;`WpfEcg#qQFGi|VH#O3Bd2Lq@fYnVosb9dQ@;P0fwOI29v)>d8!|nG6QM5Sq8YWXeP>sj3iPv#!f60Qpa>B-;G?1gAlz|_F}}P zh!f8VdkRMCbUXz7!Bd~6Qk4W2s&ZFj0D*%ceLz(&f~K2-J|GWJQZsV_Pw<6*dcoyr zDIIp&(oh!Uz<`W7TE($zN-90T!iuA^P4`-0950`O+R&B>>IdjK69Eokz@h2&^%V*m z0Jcn5*|Z|8R2H;ZJV=w_Dg1SGVt;lm&T}vgl`qbQ0XtIR;#cF+)n>$YZ7$)!O{Q!L z9{|}**6~~*@lY==CJ%n1%lBuObM zXvUajb)f@#2ux{L?UJYKvZocK#I0&qVOj{nQpTfR!;;Osz7)Pl++$IEKO@t zW2+cxyj^&YPqUc8Bt;8R+Sn zzM?ZWL}lk8no=CF1wwO{qS?GJ!laB+LV!ZydN>!xL@Z;xiWFRZo5B2u zMZ8pTlG$KM2}`2G6bVX%QzW&noLxddG6p!pGiFQ6CukY-9{C7C@kA!XLge^Zl2W)> zcvuw=A}$*j%cU}`l;d#iy{wLM-dg+Dk>@Bbk|lSkhiI=@E+^u;QYY&1%0g~p7t#~( zp+t}fzjt35!PS7Rh}%Npe&$`sxkwnDqD%T zwl9d{jSVY|nrotn$nYRIOiaO{_MV2M8;Y50j4y3~uQuYi^%ZtvoA>xaptu;|2KrRP zx|k^A5t~IXpzPxchb?qafaV?_I&C#u7{$K&PxaHEXLte5E|`!y&REbw@|v z@+XgCrrekoIW`B7L`X)yWwC!C3K{@}1jL)4q^O7~?K_t_zOnUxp#6jh){nkh0!R6y(~jFtL%uTwPmU*!8!0>mt+sF%mT~Bu zsQ6Xi4DbPGD{M;vo*D=IQ5%v9&rZk6tSXN_gvjf}KO)kD*O5R&>N;}nRaycqfgd4(4SkpT zBjnwiYzedkPFeyDsVA-8-dszdC9tjp8dBGlcdynGXbGIO1R7FLTD`rwmOx8jT?sU# zt}E|ettHSBIB5wqq@J{Tdvh&;mcY6aXh>aG-o08&pe1n95@<+0Y4!HzS^_PBbtTY{ xx~{x?wU$6j;G`wckb2VU?aj3WS_11z;6Ef56N3t4;bs5;002ovPDHLkV1mVR+x-9l literal 0 HcmV?d00001 diff --git a/01_phugoid/phugoid.py b/01_phugoid/phugoid.py new file mode 100755 index 0000000..0f99fd6 --- /dev/null +++ b/01_phugoid/phugoid.py @@ -0,0 +1,112 @@ +# Script to plot the flight path of the phugoid using Lanchester's model. +# It uses the sign convention and formulae provided by Milne-Thomson (1958). + +import numpy +from matplotlib import pyplot + +numpy.seterr(all='ignore') +''' +see http://docs.scipy.org/doc/numpy/reference/generated/numpy.seterr.html for explanation. ignore over/underflow errors that pop up in the radius_of_curvature function +''' + +def radius_of_curvature(z, zt, C): + """Returns the radius of curvature of the flight path at any point. + + Parameters + --------- + z : float + current depth below the reference horizontal line. + zt : float + initial depth below the reference horizontal line. + C : float + constant of integration. + + Returns + ------- + radius : float + radius of curvature. + """ + return zt / (1/3 - C/2*(zt/z)**1.5) + +def rotate(x, z, xCenter, zCenter, angle): + """Returns the new position of the point. + + Parameters + --------- + x : float + previous x-position of the point + z : float + previous z-position of the point. + xCenter : float + x-location of the center of rotation. + zCenter : float + z-location of the center of rotation. + angle : float + angle of rotation + + Returns + ------- + xCenter_new : float + new x-location of the center of rotation. + zCenter_new : float + new z-location of the center of rotation. + """ + dx = x - xCenter + dz = z - zCenter + # the following formulae take into account the orientation of the axes + xNew = dx*numpy.cos(angle) + dz*numpy.sin(angle) + zNew = -dx*numpy.sin(angle) + dz*numpy.cos(angle) + return xCenter + xNew, zCenter + zNew + +def plot_flight_path(zt, z0, theta0): + """Plots the flight path. + + Parameters + --------- + zt : float + trim height of the glider. + z0 : float + initial height of the glider. + theta0 : float + initial orientation of the glider. + + Returns + ------- + None : None + """ + # arrays to store the coordinates of the flight path + N = 1000 + z = numpy.zeros(N) + x = numpy.zeros(N) + + # set initial conditions + z[0] = z0 + x[0] = 0. + theta = theta0 + + # calculate the constant C + C = (numpy.cos(theta) - 1/3*z[0]/zt)*(z[0]/zt)**.5 + # incremental distance along the flight path + ds = 1 + + #obtain the curve coordinates + for i in range(1,N): + # minus sign for the second coordinate because the z-axis points downwards + normal = numpy.array([numpy.cos(theta+numpy.pi/2.), -numpy.sin(theta+numpy.pi/2.)]) + R = radius_of_curvature(z[i-1], zt, C) + center = numpy.array([x[i-1]+normal[0]*R, z[i-1]+normal[1]*R]) + dtheta = ds/R + x[i], z[i] = rotate(x[i-1], z[i-1], center[0], center[1], dtheta) + theta = theta + dtheta + + # generate a plot + pyplot.figure(figsize=(10,6)) + pyplot.plot(x, -z, color = 'k', ls='-', lw=2.0, label="$z_t=\ %.1f,\\,z_0=\ %.1f,\\,\\theta_0=\ %.2f$" % (zt, z[0], theta0)) + pyplot.axis('equal') + pyplot.title("Flight path for $C$ = %.3f" % C, fontsize=18) + pyplot.xlabel("$x$", fontsize=18) + pyplot.ylabel("$z$", fontsize=18) + pyplot.legend() + pyplot.show() + +# End of File diff --git a/lecture_22/.ipynb_checkpoints/lecture_22-checkpoint.ipynb b/lecture_22/.ipynb_checkpoints/lecture_22-checkpoint.ipynb new file mode 100644 index 0000000..8fdd6a6 --- /dev/null +++ b/lecture_22/.ipynb_checkpoints/lecture_22-checkpoint.ipynb @@ -0,0 +1,821 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "%plot --format svg" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "setdefaults" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![q1](q1.png)\n", + "\n", + "![q2](q2.png)\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Initial Value Problem\n", + "\n", + "## Euler's method\n", + "\n", + "$\\frac{dy}{dt}=f(t,y)$\n", + "\n", + "$y_{i+1}=y_{i}+f(t_{i},y_{i})h$\n", + "\n", + "The error of this method is:\n", + "\n", + "$E_{t}=\\frac{f'(t_i , y_i )}{2!}h^2 + \\cdots + O(h^{n+1})$\n", + "\n", + "or\n", + "\n", + "$E_{a}=O(h^2)$\n", + "\n", + "### Example: Freefalling problem\n", + "\n", + "An object is falling and has a drag coefficient of 0.25 kg/m and mass of 60 kg\n", + "Define time from 0 to 12 seconds with `N` timesteps \n", + "function defined as `freefall`\n", + "\n", + "Using the Euler ODE solution results in a conditionally stable solution *(at some point the time steps are too large to solve the problem)*" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "function [v_analytical,v_terminal,t]=freefall(N,tmax)\n", + " t=linspace(0,tmax,N)';\n", + " c=0.25; m=60; g=9.81; v_terminal=sqrt(m*g/c);\n", + "\n", + " v_analytical = v_terminal*tanh(g*t/v_terminal);\n", + " v_numerical=zeros(length(t),1);\n", + " delta_time =diff(t);\n", + " for i=1:length(t)-1\n", + " v_numerical(i+1)=v_numerical(i)+(g-c/m*v_numerical(i)^2)*delta_time(i);\n", + " end\n", + " % Print values near 0,2,4,6,8,10,12 seconds\n", + " indices = round(linspace(1,length(t),7));\n", + " fprintf('time (s)| error (m/s)\\n')\n", + " fprintf('-------------------------\\n')\n", + " M=[t(indices),abs(v_analytical(indices)-v_numerical(indices))];\n", + " fprintf('%7.1f | %10.2f\\n',M(:,1:2)');\n", + " plot(t,v_analytical,'-',t,v_numerical,'o-')\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time (s)| error (m/s)\n", + "-------------------------\n", + " 0.0 | 0.00\n", + " 7.1 | 26.67\n", + " 14.3 | 54.21\n", + " 28.6 | 33.62\n", + " 35.7 | 29.84\n", + " 42.9 | 82.85\n", + " 50.0 | 47.86\n", + "\n", + "O(h^2)=51.02\n" + ] + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "Gnuplot\n", + "Produced by GNUPLOT 5.0 patchlevel 3 \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\t\n", + "\t\t-40\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t-20\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t20\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t40\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t60\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t80\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t20\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t30\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t40\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t50\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\n", + "\n", + "\tgnuplot_plot_1a\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\tgnuplot_plot_2a\n", + "\n", + "\t\t \n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "[v_an,v_t,t]=freefall(8,50);\n", + "fprintf('\\nO(h^2)=%1.2f',min(diff(t).^2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Heun Method\n", + "\n", + "Increase accuracy with *predictor-corrector approach*\n", + "\n", + "$y_{i+1}=y_{i}^{m}+f(t_{i},y_{i})h$\n", + "\n", + "$y_{i+1}^{j}=y_{i}^{m}+\n", + "\\frac{f(t_{i},y_{i}^{m})+f(t_{i+1},y_{i+1}^{i-1})}{2}h$\n", + "\n", + "This is analagous to the trapezoidal rule\n", + "\n", + "$\\int_{t_{i}}^{t_{i+1}}f(t)dt=\\frac{f(t_{i})+f(t_{i+1})}{2}h$\n", + "\n", + "therefore the error is\n", + "\n", + "$E_{t}=\\frac{-f''(\\xi)}{12}h^3$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Example with Heun's method**\n", + "\n", + "Problem Statement. Use Heun’s method with iteration to integrate \n", + "\n", + "$y' = 4e^{0.8t} − 0.5y$\n", + "\n", + "from t = 0 to 4 with a step size of 1. The initial condition at t = 0 is y = 2. Employ a stopping criterion of 0.00001% to terminate the corrector iterations." + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dy =\n", + "\n", + " 3\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + "\n", + "y =\n", + "\n", + " 2\n", + " 5\n", + " 0\n", + " 0\n", + " 0\n", + "\n" + ] + } + ], + "source": [ + "yp=@(t,y) 4*exp(0.8*t)-0.5*y;\n", + "t=linspace(0,4,5)';\n", + "y=zeros(size(t));\n", + "dy=zeros(size(t));\n", + "dy_corr=zeros(size(t));\n", + "y(1)=2;\n", + "dy(1)=yp(t(1),y(1))\n", + "y(2)=y(1)+dy(1)*(t(2)-t(1))" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dy_corr =\n", + "\n", + " 4.70108\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + "\n", + "y =\n", + "\n", + " 2.00000\n", + " 6.70108\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + "\n" + ] + } + ], + "source": [ + "% improve estimate for y(2)\n", + "dy_corr(1)=(dy(1)+yp(t(2),y(2)))/2\n", + "y(2)=y(1)+dy_corr(1)*(t(2)-t(1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This process can be iterated until a desired tolerance is achieved" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "n=0;\n", + "e=10;\n", + "while (1)\n", + " n=n+1;\n", + " yold=y(2);\n", + " dy_corr(1)=(dy(1)+yp(t(2),y(2)))/2;\n", + " y(2)=y(1)+dy_corr(1)*(t(2)-t(1));\n", + " e=abs(y(2)-yold)/y(2)*100;\n", + " if e<= 0.00001 | n>100, break, end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y =\n", + "\n", + " 2.00000\n", + " 6.36087\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + "\n", + "dy_corr =\n", + "\n", + " 4.36087\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + "\n", + "n = 12\n", + "e = 6.3760e-06\n" + ] + } + ], + "source": [ + "y\n", + "dy_corr\n", + "n\n", + "e" + ] + }, + { + "cell_type": "code", + "execution_count": 127, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y_an =\n", + "\n", + "@(t) 4 / 1.3 * exp (0.8 * t) - 1.0769 * exp (-t / 2)\n", + "\n", + "dy_an =\n", + "\n", + "@(t) 0.8 * 4 / 1.3 * exp (0.8 * t) + 1.0769 / 2 * exp (-t / 2)\n", + "\n" + ] + } + ], + "source": [ + "\n", + "y_euler=zeros(size(t));\n", + "for i=1:length(t)-1\n", + " y_euler(i+1)=y_euler(i)+dy(i)*(t(i+1)-t(i));\n", + "end\n", + "\n", + "y_an =@(t) 4/1.3*exp(0.8*t)-1.0769*exp(-t/2)\n", + "dy_an=@(t) 0.8*4/1.3*exp(0.8*t)+1.0769/2*exp(-t/2)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "yp=@(t,y) 4*exp(0.8*t)-0.5*y;\n", + "t=linspace(0,4,5)';\n", + "y=zeros(size(t));\n", + "dy=zeros(size(t));\n", + "dy_corr=zeros(size(t));\n", + "y(1)=2;\n", + "for i=1:length(t)-1\n", + " dy(i)=yp(t(i),y(i));\n", + " dy_corr(i)=yp(t(i),y(i));\n", + " y(i+1)=y(i)+dy_corr(i)*(t(i+1)-t(i));\n", + " n=0;\n", + " e=10;\n", + " while (1)\n", + " n=n+1;\n", + " yold=y(i+1);\n", + " dy_corr(i)=(dy(i)+yp(t(i+1),y(i+1)))/2;\n", + " y(i+1)=y(i)+dy_corr(i)*(t(i+1)-t(i));\n", + " e=abs(y(i+1)-yold)/y(i+1)*100;\n", + " if e<= 0.00001 | n>100, break, end\n", + " end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y =\n", + "\n", + " 2.0000\n", + " 6.3609\n", + " 15.3022\n", + " 34.7433\n", + " 77.7351\n", + "\n", + "ans =\n", + "\n", + " 2.0000\n", + " 6.1946\n", + " 14.8439\n", + " 33.6772\n", + " 75.3390\n", + "\n" + ] + } + ], + "source": [ + "y\n", + "y_an(t)" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "Gnuplot\n", + "Produced by GNUPLOT 5.0 patchlevel 3 \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t20\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t30\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t40\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t50\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t60\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t70\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t80\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0.5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t1\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t1.5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t2\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t2.5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t3\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t3.5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t4\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\n", + "\t\n", + "\t\ty\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\ttime\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\tHeuns method\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\tHeuns method\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "\t\n", + "\tEuler\n", + "\n", + "\t\n", + "\t\tEuler\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "\t\n", + "\tanalytical\n", + "\n", + "\t\n", + "\t\tanalytical\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot(t,y,'o',t,y_euler,'s',linspace(min(t),max(t)),y_an(linspace(min(t),max(t))))\n", + "legend('Heuns method','Euler','analytical','Location','NorthWest')\n", + "xlabel('time')\n", + "ylabel('y')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# Phugoid Oscillation example\n", + "\n", + "[phugoid lessons in python](" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Octave", + "language": "octave", + "name": "octave" + }, + "language_info": { + "file_extension": ".m", + "help_links": [ + { + "text": "MetaKernel Magics", + "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" + } + ], + "mimetype": "text/x-octave", + "name": "octave", + "version": "0.19.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lecture_22/.ipynb_checkpoints/lecture_22_python-checkpoint.ipynb b/lecture_22/.ipynb_checkpoints/lecture_22_python-checkpoint.ipynb new file mode 100644 index 0000000..2fd6442 --- /dev/null +++ b/lecture_22/.ipynb_checkpoints/lecture_22_python-checkpoint.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lecture_22/01_phugoid/.gitignore b/lecture_22/01_phugoid/.gitignore new file mode 100644 index 0000000..0d20b64 --- /dev/null +++ b/lecture_22/01_phugoid/.gitignore @@ -0,0 +1 @@ +*.pyc diff --git a/lecture_22/01_phugoid/.ipynb_checkpoints/01_01_Phugoid_Theory-checkpoint.ipynb b/lecture_22/01_phugoid/.ipynb_checkpoints/01_01_Phugoid_Theory-checkpoint.ipynb new file mode 100644 index 0000000..902854f --- /dev/null +++ b/lecture_22/01_phugoid/.ipynb_checkpoints/01_01_Phugoid_Theory-checkpoint.ipynb @@ -0,0 +1,764 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, C. Cooper, G.F. Forsyth, A. Krishnan." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Phugoid Motion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Welcome to [**\"Practical Numerical Methods with Python!\"**](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about) This course is a collaborative, online, open education project, where we aim to give a foundation in scientific computing. The focus is on numerical solution of problems modeled by ordinary and partial differential equations.\n", + "\n", + "This IPython Notebook introduces the problem we'll be studying in the **first module** of the course: the _phugoid model of glider flight_. We'll start with some background, explaining the physics, and working out the mathematical model. \n", + "\n", + "First, we'll look at an idealized motion where there is no drag, resulting in a simple harmonic motion. We can plot some interesting trajectories that will pique your imagination. In the next notebook, you'll learn to numerically integrate the differential equation using Euler's method. But hang on ... first things first. \n", + "\n", + "The term \"phugoid\" is used in aeronautics to refer to a motion pattern where an aircraft oscillates up and down —nose-up and climb, then nose-down and descend— around an equilibrium trajectory. The aircraft oscillates in altitude, speed and pitch, with only small (neglected) variations in the angle of attack, as it repeatedly exchanges kinetic and potential energy.\n", + "\n", + "A low-amplitude phugoid motion can be just a nuisance, as the aircraft does not exceed the stall angle of attack and nothing bad happens. But the mode can also be unstable leading to a stall or even a loop!\n", + "\n", + "Look at this video showing a Cessna single-engine airplane in phugoid motion:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkz\nODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2MBERISGBUYLxoaL2NCOEJjY2NjY2NjY2Nj\nY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY//AABEIAWgB4AMBIgACEQED\nEQH/xAAaAAACAwEBAAAAAAAAAAAAAAACAwABBAUG/8QAQBAAAgIBAwEDCAgFBAIDAQEBAQIAAxEE\nEiExE0FRBRQiMmFxgZEjQlJTcpKhsRUzYsHRBkOC4SRjovDxNMIW/8QAGQEBAQEBAQEAAAAAAAAA\nAAAAAAECAwQF/8QAKBEBAAIBBAICAQQDAQAAAAAAAAERAgMSMVETIUFhBCJSgaEyYnEU/9oADAMB\nAAIRAxEAPwBlFdfYp9GnqjuEcKqvu0/KJKax2Nf4R+0PYRPpxEU8coKaj/tp8oa01/dp8oPIlhyI\nqCzeyr+6r/KJfY0/cp+UQFsEMWCZ2ra+yp+7T8oliuof7SflkyDB57o2wWaqUfdp+UQxXQf9tPyi\nZt57xJvPuk2ltfYUn/bT8ok7Cn7pPyiZO1Yd8IXtG0to7CodKk/KJDVWf9tPyiKF5MMOTJtLEtVQ\n/wBqv8olGmvORUn5RJuMm4xULYjXSRg1Jn8IgCmjPNSflEvcZecxUFgfT6furT8ok7Cnb/Lr/KIR\nJlFj4RSWUdPVn+Un5RJ2FQ/20/KIRfxEE2CWi1dnV91X+USdjT92n5RL3r3S+090UWX2NP3SflEr\nsqvu0/KI4FD1/SUwTuYy1BZRqq+6T8ogNp6T/tp+URpU9xEEhx3RUJZLaav7tPyiLOnr+7X5TTk+\nEHM0WzHTp92v5RKFNf3a/lmk+6TEIQKqe+tPkIxaqs/yk+Qh9lmEtWIqF9qFFP3afljFop+7T8ol\npXHKoHSZmlL83p7qk/KJR09XdUn5RNG2Q5EgStNXfWn5RD83p+6T8olk5lB8SUWIU1D/AGk/KIa1\n1fdJ+USltHfGKymSltBVV90n5RC7Kr7pPyiECJczRYOwp+6T8ok83q+6T8ohyRRYOwq+6T8ok7Cn\n7pPyiMzKigs0VfdJ+USjRT90n5RG5lEiKCeyo+6T8oldjV90n5RGnEA++WiwGqr7qv8AKJR09P3a\n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\n", + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.display import YouTubeVideo\n", + "YouTubeVideo('ysdU4mnRYdM')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That doesn't look too good! What's happening? \n", + "\n", + "It can get a lot worse when an aircraft enters one of these modes that is unstable. For example, one of [NASA's Helios Solar Powered Aircraft](http://www.nasa.gov/centers/dryden/history/pastprojects/Helios/) prototype broke up in mid air due to extreme phugoid oscillations!\n", + "\n", + "Helios was a proof-of-concept solar electric-powered flying wing that broke the world altitude record for a non-rocket-powered aircraft in August 2001. But in June 26, 2003, it broke something else. The aircraft entered phugoid motion after encountering turbulence near the Hawaiian Island of Kauai. The high speed in the oscillatory movement exceeded the design limits, and it ended up wrecked in the Pacific Ocean. Luckily, the Helios was remotely operated, and nobody got hurt." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The physics of phugoids" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The phugoid oscillation has the aircraft pitching up and down, as it decelerates and accelerates. The trajectory might look like a sinusoid, as in the figure below. The assumption is that the forward velocity of the aircraft, $v$, varies in such a way that the angle of attack remains (nearly) constant, which means that we can assume a constant lift coefficient." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/oscillatory_trajectory.png)\n", + "#### Figure 1. Trajectory of an aircraft in phugoid motion." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the descending portion of the trajectory, the aircraft's velocity increases as it proceeds from a peak to the minimum height—gaining kinetic energy at the expense of potential energy. The contrary happens in the upward segment, as its velocity decreases there.\n", + "\n", + "We measure the pitch angle (between the aircraft's longitudinal axis and the horizontal) as positive when the aircraft's nose is pointing up. In the portion of the trajectory below the center-line, where it curves upwards, the pitch angle $\\theta$ is increasing: $\\dot{\\theta}>0$. And where the trajectory curves down, the pitch angle is decreasing: $\\dot{\\theta}<0$, as shown in the figure.\n", + "\n", + "Let's remind ourselves of the forces affecting an aircraft in a downward glide. Look at the figure below: we show the flight path, the forces on the glider (no thrust), and the _glide angle_ or flight path angle, $\\gamma$, between the flight path and the horizontal." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/glider_forces.png)\n", + "#### Figure 2. Forces on a glider." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The force of lift, $L$ —created by the airflow around the wings— is perpendicular to the trajectory, and the force of drag, $D$, is parallel to the trajectory. Both forces are expressed in terms of coefficients of lift and drag, $C_L$ and $C_D$, respectively, that depend on the wing design and _angle of attack_—the angle between the wing chord and the flight path.\n", + "\n", + "If you are not familiar with airplane aerodynamics, you might be getting confused with some terms here ... and all those angles! But be patient and look things up, if you need to. We're giving you a quick summary here.\n", + "\n", + "Lift and drag are proportional to a surface area, $S$, and the dynamic pressure: $1/2 \\rho v^2$, where $\\rho$ is the density of air, and $v$ the forward velocity of the aircraft. The equations for lift and drag are:\n", + "\n", + "$$\\begin{eqnarray}\n", + "L &=& C_L S \\times \\frac{1}{2} \\rho v^2 \\\\\n", + "D &=& C_D S \\times \\frac{1}{2} \\rho v^2\n", + "\\end{eqnarray}$$\n", + "\n", + "If the glider were in equilibrium, the forces would balance each other. We can equate the forces in the directions perpendicular and parallel to the trajectory, as follows:\n", + "\n", + "$$\\begin{equation}\n", + "L = W \\cos \\gamma \\quad \\text{and} \\quad D = W \\sin \\gamma\n", + "\\end{equation}$$\n", + "\n", + "where $W$ repesents the weight of the glider.\n", + "\n", + "In the figure, we've drawn the angle $\\gamma$ as the _glide angle_, formed between the direction of motion and the horizontal. We are not bothered with the _sign_ of the angle, because we draw a free-body diagram and take the direction of the forces into account in writing our balance equations. But later on, we will need to be careful with the sign of the angles. It can cause you a real headache to keep this straight, so be patient!\n", + "\n", + "It looks like we've set this up to do a little bit of mathematics. Are you ready?\n", + "\n", + "But before, a short glimpse of the history." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Lanchester's Aerodonetics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Phugoid theory\" was first described by the British engineer Frederick W. Lanchester in _\"Aerodonetics\"_ (1909). This book is so old that it is now in the public domain, so you can actually download [from Google Books](http://books.google.com/books?id=6hxDAAAAIAAJ&dq=%22phugoid%20theory%20deals%20with%20the%20longitudinal%20stability%22&pg=PA37#v=onepage&q=%22phugoid%20theory%20deals%20with%20the%20longitudinal%20stability%22&f=false) a PDF file of a scan, or read it online. \n", + "\n", + "Lanchester defines phugoid theory as the study of longitudinal stability of a flying machine (aerodone). He first considered the simplification where drag and moment of inertia are neglected. Then he included these effects, obtaining an equation of stability. In addition to describing many experiments by himself and others, Lanchester also reports on _\"numerical work ... done by the aid of an ordinary 25-cm slide rule.\"_ Go figure!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Ideal case of zero drag" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section, we follow the derivation given by Milne-Thompson (1966), which we find a little bit easier than that of the original in \"Aerodonetics\"!\n", + "\n", + "An aircraft flying in a steady, straight horizontal flight has a lift equal to its weight. The velocity in this condition is sometimes called _trim velocity_ (\"trim\" is what pilots do to set the controls to just stay in a steady flight). Let's use $v_t$ for the trim velocity, and from $L=W$ deduce that:\n", + "\n", + "$$\\begin{equation}\n", + "W = C_L S \\times\\frac{1}{2} \\rho v_t^2\n", + "\\end{equation}$$\n", + "\n", + "The weight $W$ is constant for the aircraft, but the lift at any other flight condition depends on the flight speed, $v$. We can use the expression for the weight in terms of $v_t$ to obtain the ratio $L/W$ at any other flight velocity, as follows:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{L}{W}= \\frac{v^2}{v_t^2}\n", + "\\end{equation}$$\n", + "\n", + "Imagine that the aircraft experienced a little upset, a wind gust, and it finds itself off the \"trim\" level, in a curved path with an instantaneous angle $\\theta$. In the sketch below, we exaggerate the curved trajectory of flight to help you visualize what we'll do next. The angle $\\theta$ (using the same name as Milne-Thompson) is between the _trajectory_ and the horizontal, positive up." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Figure 3. Curved trajectory of the aircraft going up." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can form a free body diagram to determine the balance of forces. \n", + "\n", + "\n", + "\n", + "#### Figure 4. Free body diagram of the aircraft trajectory" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the free body diagram, we can see that\n", + "\n", + "\\begin{equation}\n", + "\\vec{L} + \\vec{W} = m\\vec{a} = \\frac{mv^2}{R}\\hat{n} + m \\frac{dv}{dt}\\hat{t}\n", + "\\end{equation}\n", + "\n", + "where $\\frac{v^2}{R}$ is the centripetal acceleration and $R$ is the radius of curvature of the trajectory.\n", + "If we decompose the lift and weight into their normal and tangential components we get\n", + "\n", + "\\begin{equation}\n", + "L\\hat{n} + W_n\\hat{n} + W_t\\hat{t} = \\frac{mv^2}{R}\\hat{n} + m \\frac{dv}{dt}\\hat{t}\n", + "\\end{equation}\n", + "\n", + "The component of the weight in the normal direction ($W_n$) is\n", + "\n", + "\\begin{equation}\n", + "W_n = -W \\cos \\theta\n", + "\\end{equation}\n", + "\n", + "If we then consider that all of the components in $\\hat{n}$ must balance out, we arrive at\n", + "\n", + "\\begin{equation}\n", + "L - W \\cos \\theta = \\frac{mv^2}{R}\n", + "\\end{equation}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can rewrite this as\n", + "\n", + "$$\\begin{equation}\n", + "L- W \\cos \\theta = \\frac{W}{g} \\frac{v^2}{R}\n", + "\\end{equation}$$\n", + "\n", + "where $g$ is the acceleration due to gravity. Rearrange this by dividing the equation by the weight, and use the expression we found for $L/W$, above. The following equation results:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{v^2}{v_t^2}-\\cos \\theta = \\frac{v^2}{g R}\n", + "\\end{equation}$$\n", + "\n", + "Recall that we simplified the problem assuming that there is no friction, which means that the total energy is constant (the lift does no work). If $z$ represents the depth below a reference horizontal line, the energy per unit mass is (kinetic plus potential energy):\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{1}{2}v^2-g z = \\text{constant}\n", + "\\end{equation}$$\n", + "\n", + "To get rid of that pesky constant, we can choose the reference horizontal line at the level that makes the constant energy equal to zero, so $v^2 = 2 g z$. That helps us re-write the phugoid equation in terms of $z$ as follows:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{z}{z_t}-\\cos \\theta = \\frac{2z}{R}\n", + "\\end{equation}$$\n", + "\n", + "Let $ds$ represent a small arc-length of the trajectory. We can write \n", + "\n", + "$$\\begin{equation}\n", + "\\frac{1}{R} = \\frac{d\\theta}{ds} \\quad \\text{and}\\quad \\sin\\theta = -\\frac{dz}{ds}\n", + "\\end{equation}$$\n", + "\n", + "Employing the chain rule of calculus,\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{1}{R} = \\frac{d\\theta}{ds} = \\frac{dz}{ds}\\frac{d\\theta}{dz} = -\\sin \\theta\\frac{d\\theta}{dz}\n", + "\\end{equation}$$\n", + "\n", + "Multiply the phugoid equation by $\\frac{1}{2\\sqrt{z}}$ to get:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{\\sqrt{z}}{2z_t} - \\frac{\\cos\\theta}{2\\sqrt{z}} = \\frac{\\sqrt{z}}{R}\n", + "\\end{equation}$$\n", + "\n", + "Substituting for $1/R$ on the right hand side and bringing the cosine term over to the right, we get:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{\\sqrt{z}}{2z_t} = \\frac{\\cos \\theta}{2 \\sqrt{z}} - \\sqrt{z} \\sin \\theta \\frac{d\\theta}{dz}\n", + "\\end{equation}$$\n", + "\n", + "The right-hand-side is an exact derivative! We can rewrite it as:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{d}{dz} \\left(\\sqrt{z}\\cos\\theta \\right) = \\frac{\\sqrt{z}}{2z_t}\n", + "\\end{equation}$$\n", + "\n", + "Integrating this equation, we add an arbitrary constant, chosen as $C\\sqrt{z_t}$ which (after dividing through by $\\sqrt{z}$) gives:\n", + "\n", + "$$\\begin{equation}\n", + "\\cos \\theta = \\frac{1}{3}\\frac{z}{z_t} + C\\sqrt{\\frac{z_t}{z}}\n", + "\\end{equation}$$\n", + "\n", + "Taking the derivative of both sides of equation (15) and applying the relations from equation (10) yields:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{z_t}{R} = \\frac{1}{3} - \\frac{C}{2}\\sqrt{\\frac{z_t^3}{z^3}}\n", + "\\end{equation}$$\n", + "\n", + "Make sure you have followed the derivation, and perhaps write it out on paper!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Phugoid Curves" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Equation (15) is non-linear, which usually means we are hard-pressed to write a clean expression for the variable of interest, $z$. In fact, Lanchester himself said that he was unable to _\"reduce this expression to a form suitable for co-ordinate plotting.\"_ If the great polymath couldn't do it, we can't either!\n", + "\n", + "But Lanchester _was_ able to plot a suitable approximation of the phugoid flight path using what he called the \"trammel\" method. If you're interested in seeing how he did it, his explanation begins on page [48 of Aerodonetics](http://books.google.com/books?id=6hxDAAAAIAAJ&pg=PA49&lpg=PA48&dq=aerodonetics+the+use+of+the+trammel&source=bl&ots=lB6EVKYQuT&sig=aVE2kiDWZoWftaWczMIrcYftMOs&hl=en&sa=X&ei=gTD_U82fGYjzgwT3moGwCQ&ved=0CCAQ6AEwAA#v=onepage&q=aerodonetics%20the%20use%20of%20the%20trammel&f=false). It's a trip.\n", + "\n", + "Lanchester used Equations (15) and (16) to solve for the constant $C$ and the radius of curvature $R$ and then iteratively plotted small arcs of the phugoid path. By hand.\n", + "\n", + "We wrote a neat little code that duplicates the manual trammel method, but it might be a bit much for you to absorb in the first lesson. If you want to look it over, you are more than welcome to. If you are just starting with Python, skip it for the moment and we'll return to it at the end of this module. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Plotting the flight path" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we mentioned, we wrote a Python code to reproduce programmatically what Lanchester did graphically. Here's a neat feature of IPython Notebooks: you can run external programs with the magical keyword ... wait for it ... `run`. And the jargon of IPython _is_ to call this \"magic.\" In fact, there are a bunch of [magic functions](http://ipython.org/ipython-doc/dev/interactive/tutorial.html) that you will learn about. They will make you a happy camper.\n", + "\n", + "Let's do it:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%run phugoid.py\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This code cell loaded our simulated-trammel code, `phugoid.py`. The code defined a function for you in the background, called `plot_flight_path`, taking three inputs: $z_t$, $z$ and $\\theta$. \n", + "\n", + "Look again at Equation (15), where we take the positive square root. There are several possibilities, depending on the value that the constant $C$ takes. \n", + "\n", + "* There are no physical solutions for $C>2/3$, because it would result in $\\cos\\theta>1$. \n", + "\n", + "* If $C=2/3$, then the solution is a horizontal straight line, because $\\cos\\theta=1$, $\\theta=0$ and $R=\\infty$.\n", + "\n", + "* Any value of $C$ for which $0 < C < \\frac{2}{3}$ will produce \"trochoidal\"-like paths. What does this look like? Let's use our custom function `plot_flight_path` to find out!" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n5MgRihQpQt++fQE4fPgw+fLlo1SpUpw8eTLV19+1axfFihULPC5WrBixsbFZ10G/zPQzNefrf0oy\n2tfBgwczdOhQALZu3UpERESq22amn+mtL7XtixcvniM/0wtR4BMRkWxlluFzxf7JuT/a6bV69WqG\nDx9OxYoVyZcvH506daJHjx5/2q5atWqMGDEiQ6+xf/9+Nm7cyJQpUwBo27Ytbdq0oXr16syYMYP7\n77+fCRMmnHcfR44c4aKLLgo8joyM5Pfff0/T66e1j5C5fqbmfP1PSUb6unfvXr799lu+++471qxZ\nw6RJk3j++edT3T4z/UxvfefbPqM/06ykKV0REfG8Zs2a8dVXX9GoUSMKFChAjx49eP3119m/f3+W\nvUaRIkVo0KBB4HHlypWJjo7m22+/5aqrrkrzPoJD7R9//EGJEiXS9L3J+xgVFcXIkSMZP3483333\nXfo6kwGp9f9826e3r4sWLaJr16488MAD3HXXXezZs4cOHTpkSz/TW19q22fmZ5qVNMInIiLZKqOj\nclnt5ZdfZv/+/bz99tuAbzqwbNmySbYJngIMlpYpwHr16rFs2bLA43z58pGQkMC3337LqVOnmDt3\nLsuXL+f06dPMnj07xf1cccUVrFmzJvD48OHDNGnSJEN9fP3112nfvj1NmjShT58+fPrpp1nSz9Sk\n1v/UZKSvO3fupE6dOoBv5Wvnzp355JNPsqWf6a0vte2LFSuWqZ9plsnMio/cfEMrykREsky4/059\n+eWX3bPPPuucc27jxo1u6dKl7oYbbnArVqzIstc4ffq0a9GiReBxq1at3LZt25JsM3z48CSrdH/6\n6SeXmJgYeHzy5EnXoEGDwOOGDRu6/fv3O+eci42NTbJtcsn7+PDDD7tff/3VOefcDTfckImepWz8\n+PGub9++gcfn63/yfjqXsb6OHTvWjR071jnnXOfOnd2OHTvcI488ki39PF996enP+faTktT+L5HJ\nVbrmwuSTV04zM5dX+y4iktVSu+B7OPjPf/7Db7/9RtGiRRk2bBjXXHMNd911F59//jmDBg3K0tea\nP38+y5cvxzlH7dq1ueOOOwLPTZs2jREjRmBmDB06lJtvvpkmTZowbtw4GjduHNhu0qRJbN++Hecc\n1apVC+yjTp06vPXWW1x//fVp6uO+fft45plnqFChAp07d2bOnDlZ1s933nmHqVOnsnPnTvr27cuT\nTz5JkSJFUu1/Sv3MSF+PHz/O888/T4MGDahfvz4tWrTg4Ycf5tlnn82WfqZWX3r7k1p7SlL7v+Rv\nz/ABsQp8IiKSaeEc+FIyefJkqlSpQuXKlbnssstCXU6aJCYm8s0331zw1C7nvP3227Rt25Y6derQ\nt29fPvvss2yuMOukp6+5uZ8pUeDLYgp8IiJZJ7cFvlmzZhEXF0ezZs3Oe664cDJ16lS6devGxRdf\nnKbtDx8+zMcff0yxYsWoX78+LVu2zOYKs056+pqb+5kSBb4spsAnIpJ1clvgy41OnjzJJZdcEuoy\nckRe6mtyCnxZTIFPRCTrKPCJZI3sCnw6D5+IiIiIxynwiYiIiHicAp+IiIiIxynwiYiIiHicAp+I\niIiIx+lauiIikmlVqlT50/VKRST9suu8kDoti4iIiEiY02lZREREROS8FPhEREREPE6BT0RERMTj\nFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RE\nRMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6B\nT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjwj7wmdk4\nM9tvZhuC2oqbWbSZbTGz+WZWNOi5oWYWa2abzKxDaKoWERERCR9hH/iAfwIdk7UNARY652oBi4Ch\nAGZWF+gF1AFuAN4zM8vBWkVERETCTtgHPufcMuBIsubuwAT//QlAD//9G4Epzrl459x2IBZonhN1\nioiIiISrsA98qSjjnNsP4JzbB5Txt1cEdgZtt9vfJiIiIpJn5dbAl5wLdQEiIiIi4Sp/qAvIoP1m\nVtY5t9/MygEH/O27gcuCtqvkb0vR8OHDA/ejoqKIiorK+kpFRERE0ikmJoaYmJgs2585F/6DY2ZW\nFfjSOdfA/3gk8JtzbqSZDQaKO+eG+BdtfApchW8qdwFQw6XQSTNLqVlEREQk7JgZzrkML0QN+xE+\nM5sMRAElzexXYBjwCjDNzO4FduBbmYtz7kczmwr8CMQBDynViYiISF6XK0b4soNG+ERERCS3yOwI\nn1cWbYiIiIhIKhT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4\nRERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE\n4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9E\nRETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxO\ngU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERE\nRDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4\nRERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE\n4zwZ+Mysk5ltNrOtZjY41PWIiIiIhJI550JdQ5Yys3zAVuBaYA+wGrjVObc52XbOa30XERERbzIz\nnHOW0e/34ghfcyDWObfDORcHTAG6h7gmERERkZDxYuCrCOwMerzL3yYiIiKSJ3kx8ImIiIhIkPyh\nLiAb7AYqBz2u5G/7k+HDhwfuR0VFERUVlZ11iYiIiKRJTEwMMTExWbY/Ly7aiAC24Fu0sRf4FrjN\nObcp2XZatCEiIiK5QmYXbXhuhM85l2BmjwDR+KasxyUPeyIiIiJ5iedG+NJKI3wiIiKSW+i0LCIi\nIiJyXgp8IiIiIh6nwCciIiLicQp8IiIiIh7nuVW66ZGYmEi+fMq8IuI9Z86c4ddff2Xnzp3s27eP\ns2fPEh8fT6FChShdujTly5enZs2aREZGhrpUEckBeTrwRUREUKJECa644gqqV69O06ZNadWqFU2b\nNtUvQRHJVU6dOsXXX3/N/PnzWbVqFevXrycuLu6835M/f37q1KlDy5Yt6dixI9dccw3FihXLoYpF\nJCfl6dOypPZc4cKF6dy5Mz179qR79+5cfPHFOVmaiEiaJCQksGDBAsaOHctXX33F6dOnA8+ZGZUr\nV6Zy5cpUqFCBiy66iIiICE6ePMmBAwfYtWsX27ZtI/hvQIECBejSpQt33nknN954IwUKFAhFt0Qk\nBZk9LUueDnzx8fEcOnSIn376ic2bN7Ny5UqWLVvGpk3/O09z8eLFufvuu3nwwQepU6dOCCsWEfE5\nfvw477//Pu+++y47d+4MtDdr1oyuXbvStm1bmjZtyqWXXnre/Zw8eZINGzawePFi5s+fz7Jly0hM\nTASgUqVKDBgwgPvvv5+iRYtma39E5MIU+DLofCde/uWXX5g1axaffvopa9asCbR3796d559/nqZN\nm+ZUmSIiAceOHeP111/nzTff5OjRowBUq1aNfv360adPHypWrJip/e/du5fPPvuMsWPHBj74FilS\nhIEDB/LEE09QuHDhTPdBRDJGgS+D0nqljbVr1/LBBx8wceLEwHRJ165defXVVzXiJyI5Ij4+nrFj\nx/K3v/2NgwcPAtC2bVueeeYZOnTokOWLzxITE5k3bx6vvfZa4OLtZcuW5cUXX6Rfv35ERERk6euJ\nyIUp8GVQei+ttm/fPkaPHs17773HqVOniIiI4OGHH2bYsGGUKFEiGysVkbxs8eLFPProo2zcuBHw\nBb2///3vtG3bNkdePyYmhkGDBrF69WoAmjdvzgcffECjRo1y5PVFxEeBL4Myei3dAwcO8PzzzzN2\n7FgSExMpUaIE//jHP7j77rsxy/DPQUQkiaNHjzJo0CA++ugjAC6//HJee+01brrpphz/XeOcY+rU\nqTz55JPs2bOHiIgInnjiCV588UUtahPJIQp8GZTRwHfO+vXreeKJJ1i8eDEAHTt25IMPPqBKlSpZ\nVaKI5FGzZ8+mf//+7Nmzh8jISJ577jkGDhzIRRddFNK6jh8/zvPPP88777xDYmIidevWZdKkSTRu\n3DikdYnkBQp8GZTZwAe+T70TJ07kiSee4MiRIxQuXJhXX32Vv/71rxrtE5F0+/3333n00UcZP348\nAC1atGDcuHHUrVs3tIUls3r1au6++242b95MgQIFePHFFxk4cKCO7RPJRgp8GZQVge+cffv28cgj\njzB9+nQAunXrxscff0ypUqWyZP8i4n1r1qzh9ttvJzY2losuuogRI0bw6KOPhm2IOnXqFIMHD+ad\nd94BICoqis8++4xy5cqFuDIRb1Lgy6CsDHznTJ06lQcffJCjR49Svnx5Jk6cyHXXXZelryEi3pKY\nmMjo0aN59tlniYuLo379+nz22WfUr18/1KWlybx58+jbty/79++nfPnyfP755zm2oEQkL8ls4NOF\nZLNQr169WL9+PW3btmXv3r1cf/31DB48mPj4+FCXJiJh6Pjx49x0000MGjSIuLg4Hn30Ub799ttc\n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\n9dVXqf4eVOBT4Atrq1atcj179nRmluSP++zZs11CQkKoy5MckpiY6ObOnZvkQ4CZuW7durmlS5eG\nujyRTImPj3eTJ092derUCby/K1eu7N566y134sSJUJcnYeTIkSPu73//uytdunTgvVK/fn03c+bM\nC37gVeBT4MsVfvrpJzdgwABXuHDhJFfuGDVqlM5m72GHDx92r7/+epIrYxQqVMg99NBDujqGeE58\nfLybMmWKq1u3buD9Xrx4cffMM8+4PXv2hLo8CaHdu3e7gQMHBhZjAK5p06Zu2rRpaR78UOBT4MtV\njh496kaNGuUqV66cZLr31ltv1ZSeRyQmJrqlS5e6O++8M8m0bYUKFdyIESO0kEc8LyEhwU2fPt21\natUqye+5e+65x/3www+hLk9y0MqVK92dd97pIiMjA++Fa6+91i1YsCDdf+8yG/jC/jx82cXMXF7t\neziIj49nzpw5fPjhh8yZM+dcCKdGjRr069eP22+/ncsuuyzEVUp67NmzhylTpjBu3Dh+/PFHAMyM\nDh068MADD9CtWzcKFCgQ4ipFctZ//vMfRo8ezcyZMwO/59q1a0f//v3p2bMnkZGRIa5QstqZM2f4\n/PPPeeedd1i92ne113z58tGzZ0+GDBnClVdemaH9mhkuE+fhU+CTkPv1118ZN24c48aNC1yqzcxo\n164dd9xxBzfffDPFihULcZWSkuPHjzNjxgw+/fRTvv7668AftHLlynHvvfdy3333cfnll4e4SpHQ\n27ZtG2+88Qbjx4/n5MmTAJQpU4Z+/frxwAMPULVq1dAWKJkWGxvLP//5T8aOHcvBgwcBKFGiBPfd\ndx/9+/fP9M9YgS+DFPjCT3x8PHPnzuWTTz5h9uzZnDlzBoDIyEi6du1K7969ueGGGyhSpEiIK83b\nTp48ybx585g6dSqzZ88OXPYnMjKSLl26cOedd2o0TyQVx48f59NPP+X999/nhx9+AP43Et6nTx+6\nd+9OoUKFQlylpNXvv//OtGnT+Pjjj1m2bFmgvVGjRjz66KPcdtttXHzxxVnyWgp8GaTAF96OHTsW\nGDlatGhRYOQoMjKS6667jp49e9KtWzfKli0b4krzhkOHDvHll1/yxRdfEB0dneTajldffTV33nkn\nN998M8WLFw9hlSK5h3OO//znP4wZM4apU6dy9uxZAIoUKcLNN9/MXXfdRbt27ciXL6SXvJcUJCQk\n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\nKVasGMWKFaNo0aIUK1aMMmXKUL58eSpUqEDx4sU9H+guRIEvgxT4REREJLfIbODTsj0RERERj1Pg\nExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERER\nj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4R\nERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4\nBT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExER\nEfE4BT4RERERjwvbwGdmr5rZJjP73symm9mlQc8NNbNY//MdgtqbmNkGM9tqZm+EpnIRERGR8BK2\ngQ+IBuo55xoBscBQADOrC/QC6gA3AO+Zmfm/532gn3OuJlDTzDrmfNkiIiIi4SVsA59zbqFzLtH/\ncCVQyX//RmCKcy7eObcdXxhsbmblgCLOudX+7SYCPXKyZhEREZFwFLaBL5l7gTn++xWBnUHP7fa3\nVQR2BbXv8reJiIiI5Gn5Q/niZrYAKBvcBDjgWefcl/5tngXinHOfhaBEERERkVwvpIHPOXf9+Z43\ns75AZ+CaoObdwGVBjyv521JrT9Xw4cMD96OiooiKirpw0SIiIiLZLCYmhpiYmCzbnznnsmxnWcnM\nOgGjgaudc4eD2usCnwJX4ZuyXQDUcM45M1sJPAasBr4C3nLOzUtl/y5c+y4iIiISzMxwztmFt0xZ\nSEf4LuBtIBJY4F+Eu9I595Bz7kczmwr8CMQBDwUlt4eB8cBFwJzUwp6IiIhIXhK2I3zZTSN8IiIi\nkltkdoQvt6zSFREREZEMUuATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhER\nERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgF\nPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER\n8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+AT\nERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGP\nU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhER\nERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgF\nPhERERGPC9vAZ2Yvmtl6M1tnZvPMrFzQc0PNLNbMNplZh6D2Jma2wcy2mtkboalcREREJLyYcy7U\nNaTIzAo75373338UqOuc629mdYFPgWZAJWAhUMM558xsFfCIc261mc0B3nTOzU9l/y5c+y4iIiIS\nzMxwzllGvz9sR/jOhT2/S4BE//0bgSnOuXjn3HYgFmjuHwEs4pxb7d9uItAjp+oVERERCVf5Q13A\n+ZjZS8DdwFGgvb+5IrAiaLPd/rZ4YFdQ+y5/u4iIiEieFtIRPjNb4D/m7tztB//XbgDOueecc5Xx\nTeE+GspaRURERHKrkI7wOeeuT+Omk4GvgOH4RvQuC3qukr8ttfZUDR8+PHA/KiqKqKioNJYjIiIi\nkn1iYmKIiYnJsv2F86KN6s65bf77jwJtnXO9ghZtXIVvynYB/1u0sRJ4DFiNLyC+5Zybl8r+tWhD\nREREcoXMLtoI52P4XjGzmvgWa+wA/grgnPvRzKYCPwJxwENBye1hYDxwETAntbAnIiIikpeE7Qhf\ndtMIn4iIiOQWnj0ti4iIiIhkDQU+EREREY9T4BMRERHxOAU+EREREY9T4BMRERHxOAU+EREREY9T\n4BMRERHxOAU+EREREY9T4BMRERHxOAU+EREREY9T4BMRERHxOAU+EREREY9T4BMRERHxOAU+ERER\nEY9T4BMRERHxOAU+EREREY9T4BMRERHxOAW+PCYmJibUJYSE+p23qN95i/qdt+TVfmeWAl8ek1f/\no6jfeYv6nbeo33lLXu13ZinwiYiIiHicAp+IiIiIx5lzLtQ1hISZ5c2Oi4iISK7knLOMfm+eDXwi\nIiIieYWmdEVEREQ8ToFPRERExOPyXOAzs05mttnMtprZ4FDXk5XMbJyZ7TezDUFtxc0s2sy2mNl8\nMysa9NxQM4s1s01m1iE0VWeemVUys0VmttHMfjCzx/ztnu67mRU0s1Vmts7f72H+dk/3+xwzy2dm\na81stv+x5/ttZtvNbL3/Z/6tvy0v9LuomU3z92OjmV3l9X6bWU3/z3mt/+sxM3vM6/0GMLMnzOy/\nZuMP4E8AAAXQSURBVLbBzD41s8g80u8B/t/l2fN3zDmXZ274Au42oApQAPgeqB3qurKwf22ARsCG\noLaRwCD//cHAK/77dYF1QH6gqv/fxULdhwz2uxzQyH+/MLAFqJ1H+l7I/zUCWAk0zwv99vfnCWAS\nMNv/2PP9Bn4Giidrywv9Hg/c47+fHyiaF/od1P98wB7gMq/3G6jgf59H+h9/DvTJA/2uB2wACvp/\nn0cDV2Rlv/PaCF9zINY5t8P9//bu7sWqKozj+PeprBxL7M2CbKzohaiQpCISycykDLS6KCOigl4u\nuugq6eWivyCioJuIJAwTslKDqIwQ6yKzF1NTIzJRpzSlMlKQsqeLtQZPU3RhJw+u8/3AcPZeHJj1\n23v2nGevtddM5m/AImBOj/vUNZn5IfDTiOY5wEt1+yXg5ro9G1iUmb9n5hbga8rxOeJk5o7MXFO3\nfwU2AhPoj+z76uZxlAs/6YPcETEBmAW80NHcfG4g+PvMTNO5I2IsMDUz5wPUPHtoPPcIM4BvMnMb\n/ZH7aGBMRBwDjAaGaD/3RcCqzNyfmQeAlcCtlHxdyd1vBd+ZwLaO/e21rWXjM3MnlMIIGF/bRx6L\nIRo4FhFxNmWU8yPg9Naz12nNz4EdwPLMXE0f5AaeBh6hFLjD+iF3AssjYnVE3FfbWs99DrA7IubX\n6c3nI2KA9nN3uh1YWLebzp2Z3wFPAVspGfZk5ns0nhtYD0ytU7gDlBvas+hi7n4r+PTXD8imRMQJ\nwGLg4TrSNzJrc9kz84/MvIwyonllRFxM47kj4iZgZx3V/be/SdVU7mpKZk6mfBg8FBFTafx8U0au\nJwPP1ex7gUdpPzcAETGKMprzam1qOndEjKOM5k2kTO+OiYg7aTx3Zm6iTN8uB96iTNce+Ke3Hur3\n6LeCbwgY7NifUNtatjMiTgeIiDOAH2r7EOXuYdgRfSzq0P9iYEFmLq3NfZEdIDN/AVYAN9B+7inA\n7IjYDLwCTI+IBcCOxnOTmd/X113AEsoUTuvnezuwLTM/qfuvUQrA1nMPuxH4NDN31/3Wc88ANmfm\nj3Vq8w3gatrPTWbOz8zLM3Ma8DPlefSu5e63gm81cF5ETIyIY4G5wLIe96nbgr+OeiwD7qnbdwNL\nO9rn1tVP5wDnAR8frk7+D14ENmTmMx1tTWePiFOHV2xFxGjgesrzi03nzszHM3MwM8+lXMPvZ+Zd\nwJs0nDsiBuooNhExBpgJrKP9870T2BYRF9Sm64AvaTx3hzsoNzbDWs+9FbgqIo6PiKCc7w20n5uI\nOK2+DgK3UKbxu5e71ytTDvcXZQTkK8oDjo/2uj9dzraQspJrP+WiuRc4CXivZn4XGNfx/scoK3s2\nAjN73f//kHsKZeh7DWUY/LN6nk9uOTtwac26hrK664na3nTuEcfgGg6u0m06N+VZtuGf8XXDv79a\nz11zTKLcsK8BXqes0u2H3APALuDEjrZ+yP1kzbCWslBhVJ/kXkl5lu9zYFq3z7f/Wk2SJKlx/Tal\nK0mS1Hcs+CRJkhpnwSdJktQ4Cz5JkqTGWfBJkiQ1zoJPkiSpcRZ8kiRJjbPgkyRJapwFnyRJUuMs\n+CRJkhpnwSdJktQ4Cz5JkqTGHdPrDkjSkS4iHgBOBS4EFgATgfHAJcC8zBzqYfckicjMXvdBko5Y\nEXE/sDYzV0XEFcBy4B5gL/A2MCsz3+lhFyXJET5J+o9OycxVdXsQOJCZSyJiNDAtMz/oYd8kCXCE\nT5K6JiKeBc7KzFt63RdJ6uSiDUnqnmuBFb3uhCSNZMEnSYcoIo6KiBlRjAcupqPgi4h5PeucJHWw\n4JOkQ/cg8C5wPnAbsA/YDhARs4H1veuaJB3kM3ySdIgiYhLwCLAJ+AIYC0wHtgDfZubLveudJB1k\nwSdJktQ4p3QlSZIaZ8EnSZLUOAs+SZKkxlnwSZIkNc6CT5IkqXEWfJIkSY2z4JMkSWqcBZ8kSVLj\nLPgkSZIaZ8EnSZLUuD8BNDBkjW1LjH8AAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#zt = 64, z = 16, theta=0\n", + "plot_flight_path(64, 16, 0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Cool! Note that the plot title tells us what the calculated value of $C$ was for our input conditions. We have a value of $C$ between $0$ and $\\frac{2}{3}$ and our path is trochoidal, like we announced it would be.\n", + "\n", + "* For negative values of $C$, the resultant flight path consists of a series of loops. Let's try it out!" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nUqZMGcLCwrjpppvo0KHDX9arWLEigwYNytZ77Nu3j/Xr1zNlyhQAWrRoQfPmzalcuTKffvop999/\nP2PHjj3nNo4cOUKBAgWSP4+KiiI2NjZT75/ZfYTz28/0nGv/05Kdfd2zZw/Lli1j5cqVrFixggkT\nJvD888+nu34w9nPy5MnMmDGDN998M9vbyOz3Pzs0tSoiInleo0aN+O9//0u9evWIjIykQ4cOvPXW\nW+zbty9o7xEdHU3t2rWTPy9XrhxfffUVy5Yto3HjxpneRsqyGhcXR4kSJTL12tT72LJlS4YMGcKY\nMWOSj0PLSent/7nWz+q+zps3j/bt29OrVy+6du3K7t27adWqVY7uZ6dOnfjggw+46aabsnUbuqx8\n/7NDI3IiIpKjQuXWXa+99hr79u1j2LBhgG9a7pJLLvnTOimn4lLKzFRczZo1+e6775I/DwsLIzEx\nkWXLlnHq1CnmzJnD4sWLOX36NJ9//nma26lUqRIrVqxI/vzQoUM0aNAgW/v41ltvcd1119GgQQO6\nd+/OxIkTg7Kf6Ulv/9OTnX3dtWsX1atXB3xnvLZt25bx48fnyH5+8cUXvPrqqyxevJjo6GguueQS\nPvnkkwzPxE1t6dKlxMXFZer7ny3W2nz58O26iIgEQ6j/m/raa6/Z5557zlpr7fr16+2iRYtsmzZt\n7Pfffx+09zh9+rRt0qRJ8ufNmjWzv/7665/WGThwoH3ppZeSP9+yZYtNSkpK/vzkyZO2du3ayZ/X\nrVvX7tu3z1pr7ebNm/+0bmqp97FPnz52586d1lpr27Rpcx57lrYxY8bYHj16JH9+rv1PvZ/WZm9f\nR48ebUePHm2ttbZt27Z2x44dtm/fvjmyn3PmzEn+eiYlJdmyZcvar776Kt39CUj9dUkp9fc/Len9\nXfIv/0ufMTZEflPKbcYYm1/3PSNnz55l8+bN7Nixg507d7J3715OnDjBmTNnKF26dPJBpiIiAend\n6DsULFmyhMOHD1OsWDFefPFFrr/+erp27crUqVN56qmngvpeX375JYsXL8ZaS7Vq1ejSpUvyc9Om\nTWPQoEEYY+jfvz8dO3akQYMGfPDBB9SvXz95vQkTJrB9+3astVSsWDF5G9WrV+edd97hxhtvzNQ+\n7t27l2effZbLLruMtm3b8sUXXwRtP999910+/vhjdu3aRY8ePejXrx/R0dHp7n9a+5mdfT1+/DjP\nP/88tWvXplatWjRp0oQ+ffrw3HPP5ch+jhw5koSEBHbs2EGVKlV44IEHzrk/6X1dIO3vf1rS+7vk\nX/6XA05V5ITjx4/z7bffMnfuXJYtW8batWuJj49Pc93atWuzdu3aXE4oIqEulItcWiZNmkT58uUp\nV64cZcuWdR0nU5KSkliwYEGmL2ExbNgwWrRoQfXq1enRoweTJ0/O4YTBk5V99fJ+pkVFLpPye5E7\nfvw4M2bMYNKkScybN4+EhIQ/PV+hQgUqVapEuXLlKF26NEWLFuWCCy6gVKlSdOrUyVFqEQlVXity\nn332GWfPnqVRo0bnvNZZKPn444+5+eabKViwYKbWP3ToEB9++CHFixenVq1aNG3aNIcTBk9W9tXL\n+5kWFblMyq9FbsOGDbzzzjuMGzeOuLg4AMLDw2nSpAmtWrWiRYsW1K9fP0euki0ieZfXipwXnTx5\nksKFC7uOkSvy076mpiKXSfmtyK1evZoXXniB2bNnJy9r0aIFXbp0oWPHjiF3+xcR8RYVOZHgyGqR\n0+VH8rjt27fz5JNPJt/CpFChQnTv3p2+fftSo0YNx+lERETkfKjI5VHx8fEMHjyYwYMHc/r0aQoU\nKECfPn146qmnKFWqlOt4IiIiEgQqcnnQmjVr6Nq1K+vWrQOgc+fOvP7665QpU8ZxMhEREQkm3aIr\nD0lMTGTIkCE0atSIdevWUblyZRYsWMDEiRNV4kRERPIgjcjlEYcOHeKuu+7i66+/BuDBBx/kjTfe\nyLdn/YiIiOQHKnJ5wPr167nlllvYunUrpUqVYuzYsdx0002uY4lIPlK+fPm/3M9SRLIuq9c11NSq\nx82ePZsmTZqwdetWGjRowIoVK1TiRCTXBW6z5IXH8OHDk0vnI488wtmzZ51nyu7j+PHjtG/fHoCI\niAjGjx/vPJMe5/fYvn17lv7uqch52Pjx4+nQoQOxsbF06tSJRYsWeeZWMyIiLgwaNIg+ffpgreX1\n11/n7bffJiLCu5NT0dHRzJw5k8cff5yEhAS6devG6NGjXceSXKQi51EjRoygW7duJCYmMmDAACZO\nnEihQoVcxxIRCVmvvfYazz77LMYY/vOf//Dkk0+6jhQU4eHhDB06lNdeew1rLffffz/Dhw93HUty\nie7s4EFDhw5N/gfojTfe4IknnnCcSEQktI0cOZKHHnoIYwwTJkygc+fOriPliLfffpvHHnsM8O1z\n7969HSeSYNEtulLxapH7z3/+Q+/evTHG8N5779GrVy/XkUREQtqkSZO4++67sdby/vvvc//997uO\nlKNSltaPP/6Yjh07uo4kQaAil4oXi9yUKVPo3Lkz1lpGjBjBgw8+6DqSiEhIW7BgAX/7299ISEhg\nyJAhPPXUU64j5YpXX32VAQMGEBUVxZw5c7j++utdR5LzpCKXiteK3Ny5c2nbti0JCQm8+uqrPPvs\ns64jiYiEtG3bttGoUSMOHTrEY489xptvvuk6Uq6x1vLII48wbNgwoqOjWbp0KdWrV3cdS86Dilwq\nXipyv/zyC40bN+bYsWM8/vjjvPHGG7pek4jIOcTGxtKsWTPWrVvHTTfdxOzZswkPD3cdK1clJSVx\n1113MW3aNKpUqcLSpUu58MILXceSbFKRS8UrRe7IkSM0adKETZs2cdttt/HJJ58QFqaTjUVE0mOt\n5a677uLjjz+matWq/PDDDxQvXtx1LCdOnjxJ8+bN+fHHH2ndujX//e9/812hzSvSK3JqBCEsMTGR\nTp06sWnTJurUqcO4ceNU4kREMjB69Gg+/vhjihQpwueff55vSxxA4cKFmTlzJiVLluTLL7/k+eef\ndx1JgkytIIQNGjSIL7/8kosvvpjPP/+cIkWKuI4kIhLSNmzYwCOPPALAe++9R0xMjONE7pUvXz55\nNmfw4MF88803riNJEKnIhahFixbx4osvAjBhwoQs33tNRCS/iY+P56677iIuLo7u3bvTpUsX15FC\nxrXXXssLL7yAtZauXbty4MAB15EkSFTkQtChQ4fo3LkzSUlJPPPMM7Rq1cp1JBGRkPfqq6+ybt06\nKleuzLBhw1zHCTnPPfccLVq0YM+ePdx777144ThxyZhOdghBnTp1YsqUKTRt2pQFCxYQGRnpOpKI\nSEhbs2YNDRs2JCEhgYULF9KiRQvXkULSzp07qVu3LkePHmXcuHF07drVdSTJJJ3s4BGffvopU6ZM\noXDhwkyYMEElTkQkAwkJCdx7770kJCTQp08flbhzKFeuHG+99RYAjzzyCHv37nWcSM6XilwIOXTo\nUPLdGoYMGULFihUdJxIRCX0jRoxg1apVlC9fnkGDBrmOE/K6d+9O69atOXLkCH379nUdR86TplZD\nSPfu3Rk3bhzXXnst8+bN06VGREQycODAAapUqcKxY8f47LPPuOWWW1xH8oQdO3ZQq1YtYmNjmT17\nNu3atXMdSTKgqdUQ99133zFu3DguuOACRo8erRInIpIJzz33HMeOHaN169bcfPPNruN4Rvny5Xn5\n5ZcBePTRR4mPj3ecSLJLbSEEBI7rAHj66aepXLmy40QiIqHvxx9/ZPTo0URERPB///d/unVhFvXt\n25caNWrw66+/5qv70OY1KnIhYOTIkaxdu5YrrriCZ555xnUcERFPePbZZ7HW0rdvX6pWreo6judE\nRkbyzjvvAPDKK6+we/dux4kkO3SMnGNHjx6lUqVKHD58mBkzZtChQwfXkUREQt7ChQu59tpriY6O\nZuvWrZQsWdJ1JM+6/fbbmTFjBg8++CAjRoxwHUfSoWPkQtTrr7/O4cOHueaaa7j11ltdxxERCXnW\nWvr37w/A448/rhJ3nl555RXCwsIYNWoUW7dudR1Hskgjcg79/vvvVKlShbi4OH744QcaN27sNI+I\niBd8/fXX3HjjjZQsWZKtW7cSHR3tOpLn9ejRg7Fjx9K1a1fGjRvnOo6kQSNyIehf//oXcXFx3HHH\nHSpxIiKZNHjwYAD69eunEhckL774IpGRkUyYMIGffvrJdRzJAo3IOfL7779TsWJFzp49y4YNG6hW\nrZqzLCIiXrFixQoaNWpEdHQ0O3fupHjx4q4j5Rl9+/Zl+PDhdOzYkWnTprmOI6loRC7EDB06lDNn\nztCxY0eVOBGRTBoyZAgAvXv3VokLsmeffZbIyEimT5/Or7/+6jqOZJJG5Bw4cOAA5cuXJy4ujtWr\nV1OvXj0nOUREvGTTpk1Uq1aNyMhItm3bxmWXXeY6Up7Ts2dPPvzwQ3r37s3IkSNdx5EUNCIXQt5+\n+23i4uJo166dSpyISCa9++67WGvp2rWrSlwOeeKJJwD46KOP2L9/v+M0khkqcrksNjaW4cOHA75b\ny4iISMZOnjyZfDblP//5T8dp8q7q1atz8803Ex8fz7vvvus6jmSCilwumzhxIseOHaNZs2Y0bdrU\ndRwREU+YOnUqx44do0mTJtStW9d1nDztqaeeAmD48OGcPn3acRrJiIpcLrLWJv+G07dvX8dpRES8\n4z//+Q/gO8lBctbVV19N/fr1OXz4MNOnT3cdRzLgySJnjHnRGPObMWaV/3FTiuf6G2M2G2M2GmNa\nucyZ2qJFi/jpp5+45JJLuOOOO1zHERHxhFWrVrFs2TKKFy/OnXfe6TpOnmeM4YEHHgDg/fffd5xG\nMuLJIuf3prW2gf/xPwBjTHXgTqA60AYYYYz5yxkergRG43r16kVUVJTjNCIi3jB27FgAunXrRsGC\nBR2nyR86depE4cKFWbhwIRs3bnQdR87By0UurYJ2KzDFWptgrd0ObAauytVU6di/fz8zZswgPDyc\nXr16uY4jIuIJCQkJTJ06FfAVOckdRYsWpXPnzoBG5UKdl4tcX2PMj8aY0caYYv5lZYBdKdb53b/M\nuSlTppCQkECbNm24/PLLXccREfGEb7/9ln379hETE0ODBg1cx8lXAoMO48aN48yZM47TSHpCtsgZ\nY+YaY9ameKzzf7wZGAFUtNbWA/YC/3abNmOB0+a7du3qOImIiHdMmjQJgM6dOxNCR8rkC1deeSU1\na9bk8OHDzJ0713UcSUeE6wDpsdbemMlVRwGz/H/+HSib4rnL/cvSNHDgwOQ/t2zZkpYtW2YpY2Zt\n2LCBlStXUqxYMW6++eYceQ8RkbwmLi4u+azJTp06OU6T/xhj6NSpEwMGDGDy5Mm0a9fOdaR8Zf78\n+cyfPz/D9Tx5iy5jzKXW2r3+Pz8GNLLWdjbG1AAmAo3xTanOBaqkdS+u3LxFV//+/Rk8eDD33Xcf\no0aNypX3FBHxulmzZnHLLbdw5ZVXsmLFCtdx8qUtW7ZQuXJlChcuzP79+ylUqJDrSPlWXrtF1+v+\nadYfgWuBxwCstRuAj4ENwBfAQ85uqOpnrU2eGtC0qohI5s2a5Zts6dChg+Mk+VelSpVo3LgxJ0+e\nTP5+SGjxZJGz1naz1tax1taz1naw1u5L8dwga21la211a+1XLnOC7/pHO3fupHTp0jRv3tx1HBER\nT0hKSmL27NkAOiTFscC0duDsYQktnixyXjJz5kzA9xtlWJi+3CIimbFy5Ur27NlD2bJlqVOnjus4\n+drtt98OwFdffaVbdoUgNYscNmPGDABuu+02x0lERLwjMI13880362xVx8qWLUu9evU4efIk3377\nres4koqKXA7avHkz69evp1ixYlx77bWu44iIeMacOXMAaN++veMkAn9Mb+s4udCjIpeDPvvsM8D3\nD5FuySUikjlHjhxh1apVREZG6pfgEBEocrNnz8aLV7vIy1TkctBXX/nOtdC1d0REMm/hwoUkJSXR\npEkTXe4iRFx55ZVceuml7Nq1i7Vr17qOIymoyOWQuLg4Fi1aBMDf/vY3x2lERLwjcBzWdddd5ziJ\nBISFhdG6dWsAvvnmG8dpJCUVuRzy3Xffcfr0aerXr8/FF1/sOo6IiGfMmzcPUJELNddffz2ATngI\nMSpyOSThkfzBAAAgAElEQVRwX7pWrVo5TiIi4h2HDh1i3bp1FChQgCZNmriOIykEivWCBQtISEhw\nnEYCVORyyNdffw3AjTdm9paxIiKybNkyABo2bEiBAgUcp5GUypYtS5UqVThx4gSrVq1yHUf8VORy\nwPHjx1mzZg2RkZE0a9bMdRwREc9YunQpAFdddZXjJJKWwPRqYPpb3FORywFLly4lKSmJBg0aULBg\nQddxREQ8IzAi17hxY8dJJC3XXHMNAEuWLHGcRAJU5HLA4sWLAbj66qsdJxER8Q5rrYpciAt8X5Yu\nXarryYUIFbkcEChymlYVEcm8rVu3cujQIUqVKkW5cuVcx5E0VKxYkZIlS7J//362b9/uOo6gIhd0\niYmJ/PDDD4CKnIhIVqxZswaABg0a6P6qIcoY86dROXFPRS7INm3aRGxsLOXKlaN06dKu44iIeMZP\nP/0EQO3atR0nkXNRkQstKnJB9uOPPwJQv359x0lERLwlUORq1arlOImcS6NGjQBYuXKl4yQCKnJB\nt3r1akBFTkQkq1TkvKFOnToArFu3Tic8hAAVuSALjMjVq1fPcRIREe+Ij49n06ZNhIWFUb16dddx\n5BxKly5NiRIlOHr0KL///rvrOPmeilwQWWtV5EREsmHLli0kJiZSoUIFXX8zxBljkkfl1q5d6ziN\nqMgF0f79+zlw4ADFihXTqfMiIlmwZcsWACpXruw4iWRG4ISUdevWOU4iKnJB9MsvvwBQrVo1nTov\nIpIFgSJXqVIlx0kkMwJFbv369Y6TiIpcEG3atAmAmJgYx0lERLxl69atgO+CsxL6Av/P/frrr46T\niIpcEAVG5KpWreo4iYiIt2hEzlsC3ycVOfdU5IJII3IiItmzbds2QCNyXnHZZZdRoEABDhw4wPHj\nx13HyddU5IJo8+bNgIqciEhW7d69G4AyZco4TiKZERYWljwqFxhNFTdU5ILEWsuOHTsAqFChguM0\nIiLecerUKY4dO0ZUVBQlSpRwHUcyKXCGsaZX3VKRC5LDhw9z6tQpihYtStGiRV3HERHxjD179gC+\nC83qjH/vCFxm67fffnOcJH9TkQuSXbt2AVC2bFnHSUREvCVlkRPvCEyD6+4ObqnIBcnOnTsBdCFg\nEZEsChwfpyLnLZdddhmgIueailyQaERORCR7Dh8+DEDJkiUdJ5Gs0IhcaFCRC5K9e/cC+o1SRCSr\njhw5AsCFF17oOIlkhYpcaFCRC5KDBw8CcPHFFztOIiLiLUePHgWgePHijpNIVlxyySWA7z7j4o6K\nXJAcOHAA0NSAiEhWBYqcRuS8pWjRohhjiI2N5ezZs67j5FsqckGiETkRkezR1Ko3hYWFJY+iBsq4\n5D4VuSAJjMipyImIZM2JEycAiI6OdpxEsipQvgNlXHKfilyQBH6IdVVyEZGsiY+PB+CCCy5wnESy\nSkXOPRW5IImNjQWgSJEijpOIiHiLipx3qci5pyIXBNZaTp48CUChQoUcpxER8RYVOe9SkXNPRS4I\n4uPjSUpKIjIyksjISNdxREQ8RUXOuwoXLgxAXFyc4yT5l4pcEARG4wI/0CIiknkqct4VFRUFwJkz\nZxwnyb9U5IJARU5EJPsCJSBQCsQ7AuU7UMYl96nIBYGKnIjI+TPGuI4gWaQROfdU5IIgcEVr/TYp\nIpJ14eHhACQmJjpOIlmlETn3VOSCwFoL6LdJEZHsiIiIACAhIcFxEsmqQJHTiJw7KnJBpCInIpJ1\nGpHzrsCVGlTk3FGRC4LAiJyIiGSdRuS8KykpCfijjEvuU5ELIo3IiYhknUbkvCtQvlXk3FGRCwKN\nyImIZF9gei5w4ph4R6DIBUZVJfepyImIiFOBe1QH7lkt3hEYRVWRc0dFLggClx3R6dciIlkXHR0N\nwPHjxx0nkazS1Kp7KnJBUKhQIUD3mhMRyY5AkTtx4oTjJJJVGpFzT0UuCAoWLAioyImIZEfRokUB\njch50enTpwFdEN8lFbkgCBS5U6dOOU4iIuI9GpHzrsD3LPA9lNynIhcEGpETEck+HSPnXYEiFxhV\nldynIhcEkZGRhIeHk5iYqNPnRUSyqHjx4gAcOXLEcRLJqkD51oicOypyQWCMoXDhwoBOnxcRyapL\nLrkEgH379jlOIlmlETn3VOSCpESJEgAcPnzYcRIREW+59NJLARU5L9Ixcu6pyAXJRRddBMChQ4cc\nJxER8ZbAiNzevXsdJ5Gs0tSqeyFb5IwxHY0xPxljEo0xDVI9198Ys9kYs9EY0yrF8gbGmLXGmE3G\nmLdzM6+KnIhI9mhq1ZustRw8eBD44/9AyX0hW+SAdcBtwIKUC40x1YE7gepAG2CE+eNu9SOBntba\nGCDGGNM6t8KqyImIZE/RokUpUKAAJ0+e1HHGHnLs2DHOnDlDkSJFki+ML7kvZIuctfYXa+1mwKR6\n6lZgirU2wVq7HdgMXGWMuRSIttYu9683DuiQW3lLliwJqMiJiGSVMUbTqx4UGEENfO/EjZAtcudQ\nBtiV4vPf/cvKAL+lWP6bf1mu0IiciEj2XX755QDs2rUrgzUlVKjIhQanRc4YM9d/TFvgsc7/8WaX\nubJDv02KiGRfhQoVANi2bZvjJJJZgf/vAmcdixtO73Jrrb0xGy/7HSib4vPL/cvSW56ugQMHJv+5\nZcuWtGzZMhtx/G+m3yZFRLJNRc57NCKXs+bPn8/8+fMzXM9pkcuClMfJfQ5MNMa8hW/qtDKwzFpr\njTHHjDFXAcuBbsA759poyiJ3vsqW9XVIFTkRkaxTkfOewIicilzOSD3A9NJLL6W5XsgeI2eM6WCM\n2QU0AWYbY+YAWGs3AB8DG4AvgIestdb/sj7AB8AmYLO19n+5lVcjciIi2aci5z3bt28HoHz58m6D\n5HMhOyJnrZ0JzEznuUHAoDSWrwRq53C0NJUoUYKCBQty/Phxjh8/rtuViIhkgYqc9wSKXOB7J26E\n7Iic1xhjkkflfvvttwzWFhGRlC6//HIiIyPZs2cPp06dch1HMiFQ5K644gqnOfI7FbkgChwnt3Pn\nTsdJRES8JTw8nCpVqgDw888/O04jGTl9+jS7d+8mIiKCMmVy7UpfkgYVuSCqVKkSAL/++qvjJCIi\n3lOjRg0ANmzY4DiJZCQwYFG2bFkiIkL2KK18QUUuiGJiYgDYtGmT4yQiIt5Ts2ZNANavX+84iWRE\nx8eFDhW5IFKRExHJPo3IecfmzZsBqFixouMkoiIXRCpyIiLZpxE57wiU7UD5FndU5IKoYsWKhIeH\ns337duLj413HERHxlCpVqhAREcHWrVuJi4tzHUfOQUUudKjIBVFUVBQVKlTAWsuWLVtcxxER8ZSo\nqCiqVq2KtZaffvrJdRw5h0CRq169uuMkoiIXZFWrVgV0jIeISHZceeWVAKxYscJxEknPwYMH2b9/\nP0WKFEm+7Ja4oyIXZHXq1AFgzZo1jpOIiHhPw4YNARW5ULZx40bANxpnjMlgbclpKnJBVq9ePQB+\n/PFHx0lERLxHRS70BU5G0bRqaFCRC7K6desCGpETEcmOunXrEh4ezvr163WrrhC1atUq4I+BC3FL\nRS7IKleuTMGCBdm1axeHDx92HUdExFMKFSpEzZo1SUxM1C/EIWrlypXAH8czilsqckEWHh6u4+RE\nRM5DoCAsW7bMcRJJLT4+nnXr1mGMoX79+q7jCCpyOSIwvbp69WrHSUREvKdZs2YAfPfdd46TSGo/\n/fQTZ8+eJSYmhujoaNdxBBW5HKHfJkVEsq9FixYALFq0CGut4zSSkqZVQ4+KXA5o2rQpAD/88IPj\nJCIi3hMTE0OpUqXYt29f8j09JTQEilzg7GJxT0UuB9SoUYPo6Gh27NjBnj17XMcREfEUY8yfRuUk\ndCxduhRQkQslKnI5IDw8nMaNGwPw/fffO04jIuI9gSK3cOFCx0kk4NixY6xdu5bIyEgVuRCiIpdD\nmjRpAqjIiYhkxzXXXANoRC6ULFmyBGstDRs2pGDBgq7jiJ+KXA7RcXIiItlXp04dihUrxrZt29i2\nbZvrOMIfpTowWiqhQUUuhwRG5JYvX87p06cdpxER8Zbw8HBuuOEGAL766ivHaQT+uBxM8+bNHSeR\nlFTkckiJEiWoW7cu8fHxGpUTEcmG1q1bA/Dll186TiLx8fHJl9S6+uqrHaeRlFTkctD1118PwLx5\n8xwnERHxnlatWgHwzTffkJCQ4DhN/rZ8+XLi4+OpWbMmJUqUcB1HUlCRy0GBIvfNN984TiIi4j1X\nXHEFMTExHD9+PPmyF+LG119/DUDLli3dBpG/UJHLQddccw3h4eEsW7aMEydOuI4jIuI5ml4NDYHj\nFAOjpBI6slzkjDENciJIXlS0aFEaNmxIQkKC7hkoIpINgSI3Z84cx0nyr6NHj7Js2TIiIiI0IheC\nsjMiV9MY82jKBcaYQcaYW4OUKU/R9KqISPZdd911FCxYkBUrVvD777+7jpMvffvttyQmJtK0aVOK\nFi3qOo6kkuUiZ60dD1xljHk2xbL+wAPGmM7BDJcX3HjjjYB+mxQRyY5ChQolj8p99tlnjtPkT5pW\nDW3ZmVrtA2wHvjTGPJziqQnAG0HKlWc0b96cokWLsmHDBl3UUkQkG2677TYAZsyY4ThJ/qQiF9qy\nM7X6GrDcWrsS2GiMudu/vChwMGjJ8ojIyMjk3yb/+9//Ok4jIuI97dq1Izw8nPnz53PkyBHXcfKV\nX375ha1bt1KiRAmuvPJK13EkDdkpcnOBCgDW2rlAojHmZiAG6BDEbHlGu3btAJg9e7bjJCIi3nPR\nRRdxzTXXkJCQoF+Ic1lgOjtQpiX0ZKfIdQOKGWOKA1hrJwMlgCustZo7TEObNm0wxvDtt98SGxvr\nOo6IiOdoetWNQJG79VadzxiqjLU2OBsy5jagqrV2cFA2mMOMMTZY+54ZTZo0YenSpcycOVN/IURE\nsmjXrl2UK1eOAgUKsH//fqKjo11HyvP27dtH6dKliYqK4uDBgxQpUsR1pHzNGIO11qReHrQLAltr\nZwAfBWt7eU379u0BmDlzpuMkIiLeU7ZsWVq0aMHp06f172gumTVrFtZabrjhBpW4EBbUOztYa/cF\nc3t5yR133AH4ityZM2ccpxER8Z7OnX1XuJo0aZLjJPlDYFq1Qwcd/h7Kgja16jW5PbUKUKtWLdav\nX88XX3xBmzZtcvW9RUS87uDBg5QuXRprLXv27OHiiy92HSnPOnHiBKVKlSI+Pp7du3dz6aWXuo6U\n7+X41Kpk7O9//zsA06ZNc5xERMR7SpYsSatWrUhMTNS/ozns888/5/Tp01x99dUqcSFORS4XBYrc\nzJkzOXv2rOM0IiLeo+nV3DF58mQAOnXq5DiJZERTq7msRo0abNy4kTlz5nDTTTfl+vuLiHhZbGws\nl1xyCadOnWLz5s1UrlzZdaQ859ChQ1x66aVYa9m9ezelSpVyHUnQ1GrICIzKTZ061XESERHvKVKk\nSPK/ox9++KHjNHnTp59+SkJCAjfccINKnAeoyOWywDD19OnTOXXqlOM0IiLec9999wEwZswYEhIS\nHKfJezSt6i0qcrmsWrVqXHXVVZw4cULXQhIRyYarr76aqlWrsmfPHubMmeM6Tp6ye/du5s+fT1RU\nlC474hEqcg50794dgHHjxjlOIiLiPcYYevbsCcAHH3zgOE3eMmHCBKy1tGvXjuLFi7uOI5mgkx0c\nOHToEKVLlyYxMZFdu3Zx2WWXOckhIuJV+/bt4/LLL8day65duyhdurTrSJ5nraVatWps2rSJWbNm\nJd+RSEKDTnYIIRdddBHt27cnKSmJiRMnuo4jIuI5l1xyCTfffDOJiYl89JHuDhkMS5YsYdOmTVx6\n6aW6qoKHqMg5EpheHTNmDPl1VFRE5Hz07t0bgJEjR+qkhyAInAXcvXt3IiIiHKeRzNLUqiNnzpyh\nbNmy7N+/n8WLF9OsWTNnWUREvCgpKYkaNWrwyy+/MG3aNDp27Og6kmfFxsZy6aWXcvLkSX755Rdi\nYmJcR5JUNLUaYqKiorj33nsBeO+99xynERHxnrCwMPr27QvAO++84ziNt02bNo2TJ0/SvHlzlTiP\n0YicQ1u3bqVy5cpERUXx+++/c9FFFznNIyLiNSdOnKBMmTKcOHGC1atXU69ePdeRPKlx48YsW7aM\nDz/8kHvuucd1HEmDRuRCUMWKFWndujXx8fGMHTvWdRwREc+Jjo5OLh7Dhg1znMabli1bxrJly7jw\nwgv5xz/+4TqOZJGKnGMPPvgg4JtedT1CKCLiRX369AFg0qRJHDhwwHEa7xk+fDgAPXv2pFChQo7T\nSFapyDnWtm1bLr/8cjZv3sy8efNcxxER8ZyYmBjat2/P6dOnNSqXRQcOHGDq1KkYY5IHFsRbVOQc\ni4iIoFevXoAO1hURya6nn34agHfffZfY2FjHabzjgw8+ID4+nrZt21KxYkXXcSQbVORCwAMPPMAF\nF1zArFmz2LRpk+s4IiKe07x5c5o1a8aRI0cYNWqU6ziekJCQwMiRIwGSz/4V71GRCwGlSpWia9eu\nWGv5v//7P9dxREQ8KTAq9+abb3LmzBnHaULfzJkz2blzJ5UrV6ZVq1au40g2qciFiEcffRTw3enh\n8OHDjtOIiHhP+/btqVGjBr/99huTJ092HSekWWt5/fXXAXjssccIC1Md8Cp950JEzZo1ad26NadO\nneL99993HUdExHPCwsJ46qmnABgyZAiJiYmOE4WuBQsWsHz5ckqWLEmPHj1cx5HzELJFzhjT0Rjz\nkzEm0RjTIMXy8saYU8aYVf7HiBTPNTDGrDXGbDLGvO0mefb169cP8F0LSdMCIiJZ16lTJ8qXL8/G\njRuZNm2a6zgh64033gDgn//8py454nEhW+SAdcBtwII0nvvVWtvA/3goxfKRQE9rbQwQY4xpnRtB\ng+XGG2+kVq1a7N69mwkTJriOIyLiOVFRUTz33HMAvPTSSxqVS8O6dev44osvKFiwIA899FDGL5CQ\nFrJFzlr7i7V2M/CX21GktcwYcykQba1d7l80DuiQgxGDzhhD//79ARg0aBAJCQmOE4mIeE+PHj2o\nUKECP//8M1OmTHEdJ+QMHToU8F0AuGTJko7TyPkK2SKXgSv806rfGmOa+5eVAX5Lsc5v/mWecued\nd1KpUiV+/fVXPv74Y9dxREQ8JzIykgEDBgC+UTn9UvyH7du3M2nSJMLCwpIP5xFvc1rkjDFz/ce0\nBR7r/B9vPsfLdgPlrLUNgMeBScaYIrmTOOdFREQkj8q9+uqrJCUlOU4kIuI9Xbt2pVKlSmzevJlJ\nkya5jhMyXnvtNRISEujSpQsVKlRwHUeCwIT6/T2NMd8Cj1trV53reXwF71trbXX/8ruAa621ad5z\nxBhjX3zxxeTPW7ZsScuWLYOcPnvOnDlD5cqV2bVrF9OnT+f22293HUlExHPGjh1Ljx49qFixIhs3\nbiQqKsp1JKe2b99OlSpVSEpKYuPGjcTExLiOJOcwf/585s+fn/z5Sy+9hLX2r4eWeaTIPWGtXen/\nvCRw2FqbZIypiO9kiNrW2qPGmB+Ah4HlwH+Bd6y1/0tnuzaU93348OH07duX+vXrs3LlSoxJ61BB\nERFJT0JCArVr1+bnn3/mnXfe4Z///KfrSE716tWLUaNGcffddzN+/HjXcSSLjDHeKnLGmA7AMKAk\ncBT40VrbxhhzO/AycAZIAl6w1n7hf82VwBigAPCFtfaRc2w/pItcXFwcFStWZO/evcyYMYMOHTx1\n3oaISEj47LPP6NChAyVLlmTLli0ULVrUdSQnduzYQeXKlUlKSmLDhg1UrVrVdSTJovSKXMie7GCt\nnWmtLWutLWitLW2tbeNf/qm1tpb/0iMNAyXO/9xKa21ta22Vc5U4LyhYsGDyKfQDBgzQKfQiItlw\nyy230Lx5cw4ePJh8J4P8KHBsXOfOnVXi8piQHZHLaaE+IgcQHx9P1apV2bFjB+PHj+fuu+92HUlE\nxHO+//57mjVrRsGCBdm8eTNlynjuggbnZcuWLVSrVk2jcR7nuRE5gQsuuICBAwcC8OKLL+puDyIi\n2dC0aVPuuOMO4uLiSHmSW34xYMAAEhIS6Nq1q0pcHqQRuRCX8mDdESNG8OCDaZ6EKyIi57Bp0yZq\n1qxJUlISq1atom7duq4j5YqVK1fSsGFDLrjgAjZt2kS5cuVcR5Js0oicR0VERPCvf/0LgH/961+c\nOnXKcSIREe+JiYnhoYceIikpiYcffhgv/CIfDM888wzgu6eqSlzepBE5D0hKSqJRo0asWrWKl19+\nmeeff951JBERzzl69ChVqlTh4MGDTJ48mbvuust1pBw1d+5cWrVqRbFixdi6dSslSpRwHUnOg0bk\nPCwsLIx///vfAAwePJjdu3c7TiQi4j3Fixdn0KBBADzxxBOcPHnScaKck5SUxNNPPw1A//79VeLy\nMBU5j2jZsiUdOnTg1KlTyfcQFBGRrLn33ntp2LAhv//+O6+99prrODlm/PjxrF69mjJlyvDwww+7\njiM5SFOrHrJ582Zq1qxJQkICK1eupH79+q4jiYh4zg8//EDTpk2Jiopi/fr1VK5c2XWkoDpx4gQx\nMTHs3buXcePG0bVrV9eRJAg0tZoHVKlShb59+2KtpV+/fvnmYF0RkWBq0qQJ3bt358yZM8n/puYl\nr7zyCnv37qVJkyZ06dLFdRzJYRqR85gjR45QuXJlDh8+zKeffsptt93mOpKIiOfs37+fatWqceTI\nESZOnEjnzp1dRwqKwMzN2bNnWbp0KVdddZXrSBIkGpHLIy688EJeeuklAB577DFdjkREJBtKlSrF\n0KFDAXj00Uc5fPiw40TB8fjjj3P27Fl69OihEpdPqMh5UO/evalXrx47duzg1VdfdR1HRMST7rnn\nHlq2bMmBAwd48sknXcc5b19++SWzZs0iOjo6+excyfs0tepRgXsHRkZGsm7dOt12RUQkGzZt2kSd\nOnWIj49n3rx5XHfdda4jZUtcXBy1a9dmy5YtvP7663mimMqfaWo1j2natCk9e/bk7NmzefJgXRGR\n3BATE5N8SacHHniAuLg4x4my59VXX2XLli3UqlWLRx991HUcyUUakfOwgwcPUrVqVQ4fPsyUKVP4\nxz/+4TqSiIjnnDlzhgYNGrB+/Xr69euXfAF2r9iwYQP16tXj7NmzLF68mGbNmrmOJDlAI3J5UMmS\nJZOPg3jsscc4evSo40QiIt4TFRXFmDFjCA8P56233mLRokWuI2VaUlISDzzwAGfPnqVXr14qcfmQ\nipzH3XfffTRt2pQ9e/bomAgRkWxq2LAh/fv3x1rLPffc45nbd3300Ud89913lCpVisGDB7uOIw5o\najUP2LBhA/Xr1+fMmTN8/fXX3HDDDa4jiYh4zpkzZ7jqqqtYs2YNffr04d1333Ud6Zz27t1LzZo1\nOXz4cJ66Fp6kTVOreViNGjV4/vnnAbj//vs985ukiEgoiYqKYuzYsURGRjJ8+HC++eYb15HSZa3l\nwQcf5PDhw7Rq1YpOnTq5jiSOqMjlEU8//TR16tRh27ZtyaVORESypm7durzwwgsA9OjRgyNHjjhO\nlLbJkyczc+ZMoqOjGTVqFMb8ZaBG8glNreYhK1eupHHjxiQlJbFkyRKaNGniOpKIiOckJCTQvHlz\nli5dyh133MG0adNCqiilnFIdNWoU9913n+tIkgs0tZoPXHnllTzxxBNYa+nevbtu3yUikg0RERFM\nmjSJ6Ohopk+fzujRo11HSpZ6SrVnz56uI4ljGpHLY06fPs2VV17Jhg0bPHGwrohIqJo4cSJ33303\nBQsWZOXKlVSvXt11JCZNmkSXLl2Ijo7mp59+oly5cq4jSS5Jb0RORS4PWr16NY0bN+bs2bPMmTOH\nm266yXUkERFP6tatG+PHj6du3br88MMPFChQwFmWnTt3UrduXY4ePaop1XxIU6v5SP369Xn55ZcB\nuPfeezl06JDjRCIi3jR8+HAqVarEmjVreOqpp5zlSExMpFu3bhw9epT27dtrSlWSqcjlUU8++STN\nmzdnz5499O7dW/diFRHJhujoaCZPnkxkZCTDhg3j448/dpLj9ddfZ8GCBVxyySV88MEHIXXyhbil\nqdU8bNu2bdSpU4fY2FjGjBlD9+7dXUcSEfGkYcOG8fDDD1OkSBGWL19OtWrVcu29ly9fTrNmzUhI\nSNDhMvmYplbzoQoVKjBs2DAAHnroIX7++WfHiUREvKlv377cddddxMbG0rFjx1y78HpsbCxdunQh\nISGBRx55RCVO/kIjcnmctZZu3boxYcIEateuzdKlSylYsKDrWCIinhMbG0ujRo34+eef6dKlC+PH\nj8/xKc577rmHMWPGULt2bZYtW+b0ZAtxSyNy+ZQxhhEjRhATE8O6det47LHHXEcSEfGkIkWKMH36\ndAoXLszEiRMZOXJkjr7fRx99xJgxYyhQoACTJk1SiZM0aUQun/jxxx9p0qQJ8fHxTJkyhX/84x+u\nI4mIeNLkyZPp3LkzERERfPPNN1xzzTVBf4+1a9fSuHFjTp8+zYcffsg999wT9PcQb9GIXD5Xr149\n3nrrLQDuv/9+fv31V8eJRES8qVOnTvTr14+EhATuuOMOduzYEdTtHz9+nL///e+cPn2ae+65RyVO\nzkkjcvmItZY777yTTz75hNq1a/P9999TuHBh17FERDwnISGB9u3b8+WXX1KnTh0WL15MkSJFznu7\n1lo6derE1KlTqV27Nj/88AOFChUKQmLxOo3ICcYYPvjgg+Tj5e6//35dX05EJBsiIiKYMmUKMTEx\nrF27lh49epCUlHTe2x0xYgRTp06lSJEiTJs2TSVOMqQil88ULVqUmTNnUqRIESZPnszbb7/tOpKI\niCcVL16czz//nGLFijF9+vTkO+pk18KFC3n00UcBGD16NFWrVg1GTMnjNLWaT3366afccccdhIeH\n8yGE+i0AACAASURBVPXXX9OyZUvXkUREPGnOnDm0a9cOay0TJ06kc+fOWd7Gzp07adiwIQcOHODx\nxx9n6NChOZBUvExTq/Int99+O8888wyJiYnceeed7Nq1y3UkERFPatOmDW+++Sbgu+7bggULsvT6\nU6dO0aFDBw4cOMCNN97I4MGDcyKm5FEakcvHEhMTadOmDXPnzqV+/fosWrRIJz+IiGTTI488wjvv\nvEPx4sVZsmQJ1atXz/A11lq6dOnC5MmTqVixIsuXL6dEiRK5kFa8RiNy8hfh4eFMnjyZypUrs3r1\narp16xaUg3VFRPKjN998kw4dOnD06FHatGnD3r17M3zN0KFDmTx5MkWKFOHzzz9XiZMsU5HL5y66\n6CJmzZpFsWLF+PTTTxkwYIDrSCIinhQeHs7EiRNp3LgxO3bsoF27dsTGxqa7/syZM3n66acBGD9+\nPDVr1sytqJKHqMgJ1apV45NPPiE8PJxBgwYxduxY15FERDypUKFCfP7551SsWJFVq1Zxxx13cObM\nmb+st3z5cjp37oy1lldeeYUOHTo4SCt5gY6Rk2TvvfceDz74IJGRkXzzzTe0aNHCdSQREU/atGkT\nzZs358CBA9x5551MmjSJ8PBwAHbs2EHjxo3Zt28f99xzDx988AHG/OXQJ5E/Se8YORU5+ZPAwbol\nSpRg8eLFVKtWzXUkERFPWrVqFddddx3Hjx+nV69evPfeexw/fpyrr76a9evXc/311zNnzhyioqJc\nRxUPUJFLRUUubQkJCdx2223Mnj2b8uXLs2TJEi677DLXsUREPGnhwoW0bt2a06dP8/jjj7NmzRq+\n/vprqlevzpIlSyhevLjriOIRKnKpqMil7+TJk9xwww0sXbqUunXrsmDBAooVK+Y6loiIJ82ePZtb\nb701+aoApUqVYunSpVxxxRVug4mn6PIjkmmFCxdm9uzZxMTEsGbNGm6//Xbi4+NdxxIR8aR27dpx\n0UUXJX9+0003qcRJ0KjISZpKlizJ//73Py699FLmzZsXtBtCi4jkN4MHD+bAgQPJn48bN46RI0c6\nTCR5iYqcpKtChQrMmTOH6OhopkyZwsMPP4ymo0VEMm/UqFE8++yzGGOYOnUqw4YNA+Chhx7i/fff\n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\nnfuBvr+KXDIqcpLRXL9+nY0bN7J69Wo2btzIkSNH7nm8YMGCNGrUiKeffhofHx9q1qypk9zTIZfL\nxaFDh9zF7bvvvuPcuXP3PKdYsWL4+vri6+tL8+bNdUhdJB2LiooiIiKCyMhI+vbt+8DfR0UuGRU5\nyehOnz7Nt99+y8aNG9m4cSMnT5685/Hs2bNTu3ZtfHx88PHxoW7duhQvXlwzYtPYxYsXCQ8Pd99+\n+OEH9yXd7nrooYdo2LAhDRs2pEmTJjzxxBP6dxLJZFTkklGRk8zEWsvx48cJDQ1l27ZthIWF3XMt\nwruKFClCzZo177mVKVNGpSEFWGs5e/Yse/bsYe/evezdu5ft27ffc57jXcWLF6dBgwY0atSIRo0a\nUalSJf0biGRyKnLJqMhJZnf58mXCw8MJCwsjLCyMnTt3Eh0d/ZvneXt7U6VKFapUqULlypXdH4sV\nK6ZycR9RUVEcPnyYQ4cOsX//fndxu3Tp0m+emydPHmrXrk29evWoV68edevWpWTJkg6kFpH0TEUu\nGRU5kXtZa4mMjGTXrl3u286dO7l48eLvPt/b25uKFSvy2GOP8eijj/LYY4+5b0WLFs3QJc9aS1RU\nFJGRkURGRnL8+HGOHDnCoUOHOHTo0O8WNoACBQpQrVo1qlevTrVq1ahZsyaVK1fW7GIR+UMqcsmo\nyIn8MWst58+fZ//+/Rw4cOCej5cvX77v1+XKlYtSpUpRokQJSpYsSYkSJdz3ixcvTuHChSlcuDD5\n8uVLd4UvNjaW8+fPc+7cud98PH36tLu8xcTE3Pd75M2bl4oVK7pvTz75JNWrV6dkyZLp7r9XRDyD\nilwyKnIiD+5uwTt69Cg///wzP//8M8eOHXPfv98eqeSyZcvmLnWFCxfG29ubvHnzki9fvns+5s2b\nlxw5cpAtWzb3LXv27GTLlo2sWbPicrlwuVzcuXPHfd/lchEbG0tMTAwxMTHcvHnTfT8mJobo6Ggu\nX77M5cuX+fXXX933r1+//qeye3t7U6ZMGcqUKUPp0qUpX748FStWpEKFCpo0IiIpTkUuGRU5kdRz\n9epVTp8+zenTpzlz5gxnzpxx3z979iyXLl0iKiqKGzduOB31N7y8vHj44YcpVqwYxYoVo2jRou77\nxYsXp2zZspQuXRpvb2+no4pIJqIil4yKnIjzbt68yaVLl7h06RIXL17kypUrXL9+nWvXrnHt2jX3\n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\n8zlOaAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_flight_path(64,16,numpy.pi)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can play around with the input values and see what kind of behavior results. Just note that any value of $C > \\frac{2}{3}$ will result in $\\cos \\theta > 1$, which doesn't exist. Python will probably throw a few errors if you hit that condition, but just try again!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* The last case is $C = 0$. Take another look at Equation (16) and plug in $C = 0$, what should happen? It looks like it will just reduce to \n", + "\n", + "$$R = 3z_t$$\n", + "\n", + "It's a constant radius of curvature! In fact, this solution is a series of semi-circles, with a cusp between them. One way to force $C = 0$ that we can figure out from Equation (15), is to make:\n", + "\n", + "\n", + "$$z = 3z_t\\ \\ \\ ,\\ \\ \\ \\theta = 0$$" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmwAAAGXCAYAAAAOKAxiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XecVNX9//HXoYh0BBUFpSgqikLEWNBIMagRBcGCEiv6\njb23WGIkiYVYY0v5RaNGRCQSC0qkaEABE8EGIihKFQIICkRAyu75/TEDWddd2IXdvXd2X8/H4z52\n5syZO5/rZeXNOfeeCTFGJEmSlF7Vki5AkiRJm2dgkyRJSjkDmyRJUsoZ2CRJklLOwCZJkpRyBjZJ\nkqSUM7BJkiSlnIFNkiQp5QxsUg4IIXQJIeSHEM7eXFsp93lO9v2dy67S5JXVcYUQWoUQXgwhLMnu\n7y9lVaMklZaBTUpQgdBV1JYXQjikQPeivpZkW7+qpMTvDyF0CCHcFkJosY2fuc1KUEtZfIXLU8CR\nwF3AmcCfymCfZS6EULOCPy+EEK4OIUwPIawJIcwLIdwbQqhTXvsoTf+yqE9KoxpJFyAJgMHAiCLa\nPyvwOBR8IcY4LoRQG1hfnoUV8APgNuCfwLwK+sxEagkhbAf8CHgoxvhAWe+/lLXsCVwAdABWZLfl\nZILkgWTq/HUFlvQ74HJgGHAvsC9wBZlz0r2c9lGa/mVRn5Q6BjYpHd6LMQ4u7ZtijOvKo5hiBMpm\n5KoslHctu2Q/4+uy3GkIoRpQK8a4pgR9a5AJZacA1wA3xuyXP4cQdgT+ABwHnFiWNW6hpv2Ay4Dn\nY4x9C7TPAR4KIZweYxxSlvsoTf+yqE9KK6dEpRxV3DVsIYSWIYRhIYQV2e2FbNucEMIbReyqWgjh\nuhDCZyGEb0MInxSxz9uAjddwjS0wbVvsdV0FriX7cQhhQPbzvw0hfBhCOK2I/vVCCLeHEP4VQvgy\n23dmCOGu7EhiaWvZ4nEVU/cTwBwygXBAgenpztnXm4QQHs1Ota3N/nwkhNB4M8d/awjhM2ANcGoJ\naqgFjAJOAA6OMb6wMawBxBiXkhlBqgZM2NL+ytBPsz9/V6j9z8BqMlPHZb2P0vQvi/qkVHKETUqH\nOiGEJoXa1sYYv9nC+74zypQNDeOBnciMwMwgcx3WWKB24TeTGUW6C9ge+COwFrgYeCKEMDPG+Ha2\n3zBgV+BnwO3Z/QJ8vsUjg98CdYBHs8/7A8+GEGrFGP9aoF9z4LzsZz0DbAC6ADeQmc46rhS1lPS4\nivJH4H0yf+n/PbsBTA8hNADeBvYAHs/2OzC7724hhENijKsK7e9eMv+v/X/ASuCTzXz2Rk8BhwAd\nsuGsKB8Cb8YYi5wSDyEEoHFRrxXjq4KhsBg/BPKBSQUbY4xrQwgfAAeX4HNKu4/S9C+L+qR0ijG6\nubkltJEJJPlAXvZnwW1wEf3O3kLb3dl9nV7oc36b7ftGgbZzsm3vAtULtDcDvgWeKbSPc7L77lzC\nY9u4/9lAvQLtDciMYC0lMz24sb1GwToKtP86+7k/LEktpT2uYmpvmd3HLwu135H93AsLtV+S7f+r\nIuqYXvA4S/DZJ2Tf9+st9Nsd+GkJjqEkWx7QogS1TQH+U8xrz2X3U6Ms91Ga/mVRn5tbWjdH2KR0\n+H/A3wq1LdqK/ZxA5i+swtfp3AtcX8x7Ho0x5m18EmNcGEL4FNhrKz6/KL+PBUYKY4wrQwh/JBN+\nugIjs+0bNvYJIVQH6gPVgdeBXwCHApNL8bnlcVy9gS/JTLEV9CcyN0H0yf4s6PcxxrWl+IyryYSo\nRzfXKcY4n8zNKsVZROkusi/Jn7c6ZEYri/JtgT4ry3AfpelfFvVJqWRgk9JhZoyxqOvLSqs18O/C\njTHGL0MIy4voH8mMgBW2DCiL5Tsi/5uyLOhjMtOWexRsDCFcAlwItOO719hGYIdSfm55HFdrYFKM\nMf87HxZjXjYMHlhEHTNLuvNsUO0MTI0xLt6GOsmGxLL4M1XQajLT7UXZvkCfstxHafqXRX1SKhnY\nJOUV0x6KaS8XIYRryIwEvgY8CCwE1pG5tu0pSn+TVCqOi9IFhB3JjCpuNuRlr0/rtrmQn70jtbjw\nUpQvCwfRIiwE9g0h1Izfv3auObC04EhpGe2jNP3Loj4plbxLVKpc5gBtCjeGEHYCGm3jvrdmGY1A\nZh2swtpl9zerQNuZwOwYY48Y419ijK9lA8mSMqqlLMwC9smGoU2yI2N7893j2RpLKX5Kr6DeZMLs\n5uwO/KeE20JgtxJ87iQyf28UXNB5412tP6DQxf5ltI8t9Z9cir4lqU9KJQObVLkMB3YNIfQr1F7c\n9Wul8Q2ZAFaaOw8BLs7eXQlACKEhcBGZxV/HFeiXB8Ts6NHGvjWAm/h+QNvaWrbVi2RGrf6vUPsF\n2fa/f+8dpZC95u5vwBHZY/+ekPl2hwNjjOO3sLuN17CVZDuakl3D9lz251WF2i8gcxfyMwXqrBFC\n2CeEsPvW7qOE/Qdtw76lnOGUqFS5/JbMWlRPhBAO5X/LehxO5mL5wsGnNNODk8hcDH9LdvmQVWRG\nxN7ZwvuWAv/Orm8WyCzrsRtwfozx2wL9ngfuBF4LIfwdaAj0IzOSVLjOLdVSXtOed5NZR+3REMJB\nZJb16EhmOZLpwD2F+m9NHVeTWVvt8RDChQX/G4UQegCHAQO2tJPyuIYtxvhRCOFR4NIQwjAy386x\nH5lvFhgbY3y2QPfmZP6bjAWO2sp9lKp/afct5RIDm5S8SMmm+Lb4XaIxxmUhhCOA+8gEo8j//sJ8\nh8zCrVvaZ3H7nh9C6A/8HPg9UJPMtWWbC2wx2/9IMktfNAU+JbMcxXOF+t6d/Xk+mTXQFgFDgCfJ\n3KRQcOHYLdVS4uPaQr/C/w1WhhAOB34F9ALOBRZnaxgQv78GW6mnbrPn8CAyxzY6hDAf+IrMXY4j\nY4y/LO0+y9iVZG7ouADoQSaQP8j3746F4v9sl2Yfpe1f2n1LOSHEmJZvmilaCOFxMksVLI4xts+2\n7UBm6LslmWt2+sYYVyRWpJRy2VGopcAfY4yXVNBnnkPmGwm6xRjfrIjPlKTKKheuYXsCOLZQ243A\nmBjjPmSG/G+q8KqklAohbF9E88brwEZVcDmSpDKQ+inRGOP4EELLQs0nklnlHTLTIGPJhDhJMCKE\nMBd4j8w/yroDx5P5yqqXKriWil5CQ5IqpdQHtmLsvHFRyRjjohDCzkkXJKXIcOBsMks/1Aa+IHMx\n/K9jxV8Dke5rLiQpR6T+GjaA7Ajb8ALXsH0VY2xc4PVlMcbCX5wtSZJUKeTqCNviEELTGOPiEMIu\nFL2wJiGE9KdRSZKkrBhjkZeS5MJNB5C5DqbgAbxM5nZ6gHPYzHU5xX3rfXlst912W4V+npvnz81z\nVxk2z19ub56/sts2J/WBLYQwGJgI7B1CmJdde2kgcHQI4RPgx9nnkiRJlVLqp0RjjD8t5qXuFVqI\nJElSQlI/wpZLunbtmnQJ2gaev9zlucttnr/c5vmrGDlxl+jWCiHEynx8kiSp8gghEIu56SD1U6KS\npHRo1aoVc+fOTboMKee1bNmSOXPmlOo9jrBJkkok+6//pMuQcl5xv0ubG2HzGjZJkqSUM7BJkiSl\nnIFNkiQp5QxskiRJKeddopIkbYUPP/yQp59+mnvvvXdT26pVq/jtb39LixYtWLFiBddee22x73/p\npZeYNm0a1atXp1mzZpx11lkVUfZWef/99xk5ciQ33ngjAMOHD+eLL75g7dq1tGjRgpNOOmmz70/7\nsZa2vuL6l+txJv29WeX8nVxRklQ2/H/q/9x3332xT58+sX///t9pP++88+LcuXNjjDG2a9cuzpkz\np8j3r1ixInbs2HHT88MOOywuXbq0/AreBvn5+fH444+Pv/rVr2KMMc6fPz/ec889m14///zz4zff\nfFPs+7flWCdMmBAff/zxeO+998avv/56K49g80pbX3H9S7Of4n6Xsu1FZhqnRCVJKqVrrrmGE088\n8Ttts2fPZuHChbRo0QKAUaNG0bJlyyLf/+abb9KuXbtNzzt06MA///nP8it4GwwbNoxu3bptev7l\nl18yZswY1q9fD0C9evXYbrvtin3/1h7r559/zpNPPsl5551HixYteP7557fhKIpX2vqK61/e59Qp\nUUlSlTNr1iz+/Oc/f2c9rI2PQwgcdthh9OrVq1T7fOONN2jYsCGDBg3i66+/pn79+px77rlF9v3i\niy9o1KjRpueNGjVi5syZW308xdnW41y2bBnVqlVjxx13ZNWqVQAceOCB5Ofn88Mf/pALLriAY445\nhpo1axa7j6091p///OfcdNNNAHz66adUr169XI6ztPUV13+HHXYo13NqYJMklYkQilzvs9Q2/oW7\nNSZNmsSAAQNo3rw51apV4yc/+Qm9e/f+Xr899tiDu+66a1vK/J7Fixczbdo0hgwZAsCRRx7Jj370\nI9q0afO9vl9//TXbb7/9pufbbbcd33zzTYk+p6THCNt+nH//+9/52c9+xlNPPfWd9htvvJGBAwdy\n/fXX87vf/W6z+9iaY/3Pf/7DO++8w7vvvsvkyZMZNGgQt956a7H9t+U4S1vf5vpv7TktCadEJUmV\nxsEHH8yrr77KD37wA2rWrEnv3r154IEHWLx4cbl/dv369TnggAM2PW/RogWjRo0qtm/BYLpmzRoa\nN25cos8pfIxdu3blt7/9LU8++STvvvvuth1EAe+88w6HHnro99pnzpzJuHHjGDVqFC+//DK33347\nb7/9drH72ZpjfeONNzjhhBO44IILOOuss1i4cCHHHHNMuRxnaesrrv+2nNOScIRNklQmtmVkrCzd\neeedLF68mIcffhjITKc1bdr0O30KTqEVtC1Tou3atWP8+PGbnlerVo28vLwi++65555Mnjx50/Nl\n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\nSZISMm/ePPr160d+fj633norJ5xwQtIlSZVKoiNsIYTRIYQpBbap2Z89AWKMv4gxtiAzBXp5krVK\nkor27bffcsopp7B06VKOPfZYbrvttqRLkiqdREfYYoxHl7DrYOBVYACZEbXdC7y2W7atSAMGDNj0\nuGvXrnTt2rWUVUqSihNj5IILLmDSpEm0atWKwYMHU7169aTLknLC2LFjGTt2bIn6pvmmgzYxxs+y\njy8Hjowx9i1w08GhZKZCR+NNB5KUiPvuu4/rrruOunXrMnHiRNq3b590SVLO2txNB2m+hm1gCGFv\nMjcbzAUuAogxfhxCGAp8DKwHLjGVSVLFe+2117jhhhsA+Otf/2pYk8pRakfYyoIjbJJUPj755BMO\nPfRQVqxYwW233fady08kbZ3NjbAZ2CRJpbJs2TIOO+wwPvvsM/r06cPzzz9PtWqpXSVKyhkGNklS\nmVi7di1HH300b731FgceeCBvvvkm9erVS7osqVLIyYVzJUnpEmPkZz/7GW+99RbNmjVj+PDhhjWp\nghjYJEklcscdd/D0009Tt25dXnnlFZo3d81yqaI4JSpJ2qJBgwZx1llnEULgpZdeomfPnkmXJFU6\nTolKkrba6NGj6d+/PwAPPPCAYU1KgCNskqRivf/++3Tu3JlvvvmG6667jnvuuSfpkqRKy7tEJUml\nNmfOHDp16sSiRYvo168fgwYNcvkOqRwZ2CRJpfLll19y5JFH8sknn3DUUUcxYsQIatWqlXRZUqVm\nYJMkldjKlSvp1q0b7733Hu3bt+fNN9+kYcOGSZclVXredCBJKpE1a9bQq1cv3nvvPfbcc09Gjhxp\nWJNSwMAmSQJgw4YNnH766YwbN45mzZoxevRodtlll6TLkoSBTZIE5OXl0b9/f15++WUaN27MqFGj\naN26ddJlScoysElSFZefn89FF13EoEGDqFu3LiNGjKBdu3ZJlyWpAAObJFVhMUauvPJKHnvsMWrX\nrs2rr77KoYcemnRZkgoxsElSFRVj5Prrr+eRRx5hu+2248UXX6RLly5JlyWpCAY2SaqCYozccsst\n3HfffdSoUYNhw4ZxzDHHJF2WpGLUSLoASVLFijFy8803M3DgQKpXr86QIUM44YQTki5L0mYY2CSp\nCokxcuONN3L33XdvCmsnn3xy0mVJ2gIDmyRVETFGbrjhBu69915q1KhhWJNyiIFNkqqAGCNXX301\nDz74IDVq1GDo0KH06dMn6bIklZCBTZIquby8PC688EIef/xxatasydChQ+ndu3fSZUkqBQObJFVi\n69ev5+yzz2bIkCFsv/32vPDCC/zkJz9JuixJpWRgk6RK6ttvv+W0007j5Zdfpn79+rzyyit07tw5\n6bIkbQUDmyRVQitXrqRPnz688cYb7LDDDowcOZKDDz446bIkbSUDmyRVMosXL6ZHjx6899577LLL\nLowcOZL27dsnXZakbWBgk6RKZPbs2RxzzDF89tlntGnThpEjR7LHHnskXZakbeRXU0lSJfHhhx9y\n+OGH89lnn3HggQcyfvx4w5pUSRjYJKkSGD16NEceeSSLFi2iW7dujB07lqZNmyZdlqQyYmCTpBz3\n5JNP0qNHD/773//St29fRowYQYMGDZIuS1IZMrBJUo6KMfKrX/2K/v37s2HDBm644QaeffZZtt9+\n+6RLk1TGvOlAknLQunXruOCCC3jqqaeoVq0aDz/8MJdccknSZUkqJwY2ScoxS5cu5aSTTuKtt96i\nTp06DBkyhJ49eyZdlqRyZGCTpBzy8ccf07NnT2bNmkWzZs0YPnw4HTt2TLosSeXMa9gkKUeMHDmS\nTp06MWvWLA466CAmTZpkWJOqCAObJKVcjJH777+fHj16sHLlSk455RTefPNNmjVrlnRpkiqIgU2S\nUmz16tWcddZZXHvtteTn5/OLX/yC5557jjp16iRdmqQK5DVskpRSc+fOpU+fPrz//vvUrVuXp556\nipNPPjnpsiQlwMAmSSn0z3/+k759+7J06VL23HNPXnzxRfbff/+ky5KUEKdEJSlF8vPzueuuu+je\nvTtLly7l2GOPZdKkSYY1qYozsElSSnz99deceOKJ3HzzzZuuV3v11VfZYYcdki5NUsKcEpWkFHjv\nvfc45ZRTmD17NjvssANPP/00xx9/fNJlSUoJR9gkKUExRh5++GE6derE7NmzOeigg3jvvfcMa5K+\nw8AmSQn56quvOOmkk7jiiitYt24dF110EePHj6dVq1ZJlyYpZZwSlaQETJw4kX79+jFv3jwaNmzI\nn//8Z0499dSky5KUUo6wSVIF2rBhA7fffjudO3dm3rx5HHroobz//vuGNUmb5QibJFWQ2bNnc9ZZ\nZzFhwgQArr/+eu644w5q1qyZcGWS0i71I2whhGtDCPkhhMYF2m4KIcwMIUwPIRyTZH2StCUxRp56\n6ik6dOjAhAkTaNasGaNHj+buu+82rEkqkVSPsIUQdgOOBuYWaNsX6AvsC+wGjAkh7BVjjMlUKUnF\nW7p0KRdffDHPP/88ACeffDJ/+tOfaNKkScKVScolaR9hewC4vlDbicCQGOOGGOMcYCZwSEUXJklb\n8uKLL9KuXTuef/556tWrxxNPPMHf/vY3w5qkUkttYAsh9ALmxxinFnqpOTC/wPMF2TZJSoWvv/6a\ns846iz59+rBkyRK6dOnChx9+yLnnnksIIenyJOWgRKdEQwijgaYFm4AI/AK4mcx0qCTljFdeeYUL\nL7yQhQsXUrt2bQYOHMhll11GtWqp/fexpByQaGCLMRYZyEII+wOtgA9D5p+juwHvhRAOITOi1qJA\n992ybUUaMGDApsddu3ala9eu21q2JH3PkiVLuPLKKxkyZAgAnTp14sknn2TvvfdOuDJJaTV27FjG\njh1bor4hF67VDyHMBjrGGL8OIewHPAMcSmYqdDRQ5E0HIQTvRZBUrmKMPPPMM1x11VUsW7aM2rVr\nc/vtt3PllVdSvXr1pMuTlENCCMQYi7xuItV3iRYQyUyXEmP8OIQwFPgYWA9cYiqTlITZs2dz6aWX\n8o9//AOA7t2786c//Yk99tgj4cokVTY5McK2tRxhk1Qe1q1bx3333cdvfvMb1qxZQ6NGjbj//vu9\nqUDSNqkMI2ySlArjxo3j4osvZvr06QD069eP+++/n1122SXhyiRVZt62JEklsGjRIs455xy6du3K\n9OnT2WuvvRg9ejSDBw82rEkqdwY2SdqMjdOfe++9N3/961+pVasWAwYMYMqUKXTv3j3p8iRVEU6J\nSlIxRo0axZVXXsmMGTMAOOGEE3jggQdo06ZNwpVJqmocYZOkQj799FN69+7Nsccey4wZM9hrr714\n9dVXGT58uGFNUiIMbJKUtWzZMq644gratWvHSy+9RN26dRk4cCBTp06lR48eSZcnqQpzSlRSlbd2\n7VoeeeQRbr/9dpYvX04IgfPPP5/f/OY37LrrrkmXJ0kGNklVV15eHoMHD+aXv/wlc+bMATKL3953\n3320b98+2eIkqQADm6QqJ8bIq6++ys0338zUqVMB2G+//bjnnns47rjjXPxWUup4DZukKuWtt96i\nc+fO9OzZk6lTp7L77rvzxBNPMGXKFHr06GFYk5RKjrBJqhImTpzIbbfdxpgxYwBo0qQJv/jFL7jo\noovYfvvtE65OkjbPwCapUvv3v//NbbfdxsiRIwFo0KABV199Nddccw0NGjRIuDpJKhkDm6RKafz4\n8dxxxx289tprANSvX58rr7ySa665hh122CHh6iSpdAxskiqNGCOjRo3ijjvu4K233gKgbt26XHHF\nFVx77bU0adIk4QolaesY2CTlvLy8PF588UUGDhzI5MmTAWjUqBFXXHEFV1xxhUFNUs4zsEnKWatX\nr+bJJ5/k/vvv5/PPPwdgp5124pprruGSSy7xGjVJlYaBTVLOWbJkCY8++iiPPvooy5YtA6B169Zc\nc801nHfeedSpUyfhCiWpbBnYJOWM9957j4ceeohnn32WdevWAXDwwQdz/fXXc9JJJ1G9evWEK5Sk\n8mFgk5Rq69ev54UXXuChhx5iwoQJAIQQ6NmzJ9dddx1HHnmki91KqvQMbJJSaf78+Tz22GM89thj\nLFy4EMisoXb++edz2WWXscceeyRcoSRVHAObpNTIy8tj1KhR/PGPf+SVV14hPz8fgLZt23L55Zdz\n9tlnU69evYSrlKSKZ2CTlLg5c+bw5JNP8uSTTzJ37lwAatasyamnnspFF11Ely5dnPaUVKUZ2CQl\nYvXq1bzwwgv85S9/4Y033tjU3rp1ay688EL69+/PzjvvnGCFkpQeBjZJFSY/P59x48YxaNAgnn/+\neVauXAnA9ttvz8knn8x5551H165dqVatWsKVSlK6GNgklasYI1OnTmXQoEEMHjyYBQsWbHrt4IMP\n5vzzz+e0006jUaNGCVYpSelmYJNULqZNm8bQoUMZOnQoM2bM2NTeqlUrzjzzTM444wzatm2bYIWS\nlDsMbJLKRIyRjz76iGHDhjF06FCmT5++6bXGjRtz2mmnceaZZ9KpUydvIJCkUjKwSdpqeXl5TJw4\nkRdffJEXX3yRWbNmbXqtcePG9OnTh759+9KtWzdq1qyZYKWSlNsMbJJKZcWKFYwePZoRI0YwfPhw\nli5duum1nXbaiZ49e9K3b1+OOuooQ5oklREDm6TNijEybdo0RowYwYgRI5gwYQIbNmzY9Pqee+5J\n79696d27N506dfL7PCWpHBjYJH3PggULeP311xkzZgxjxozhP//5z6bXqlevTufOnenRowfHH388\n7dq185o0SSpnBjZJLF68mDfffJM333yTN954g48//vg7rzdt2pTjjjuOHj16cPTRR7sEhyRVMAOb\nVMXEGJkzZw4TJ07kzTffZNy4cXzyySff6VO3bl26du1K9+7d6d69u6NokpQwA5tUya1atYp3332X\nt99+m7fffpt//etfLF68+Dt96tSpw+GHH06XLl3o0qULhx56KNttt11CFUuSCjOwSZXI6tWr+eCD\nD3j33XeZPHky7777LtOnTyc/P/87/Zo0aUKnTp340Y9+RJcuXTjooIO8o1OSUszAJuWg/Px85syZ\nw5QpU5gyZQpTp05lypQpzJw5kxjjd/pWr16dDh060KlTp01bmzZtnOKUpBxiYJNS7JtvvuHzzz/n\nk08+YcaMGUyfPp0ZM2bwySefsGbNmu/1r169Ou3ateOggw7ihz/8IQcddBDt27endu3aCVQvSSor\nBjYpQWvWrOGLL75g3rx5zJ8/nzlz5vD5559v2pYsWVLse3fddVcOOOAA2rdvv2lr27YttWrVqsAj\nkCRVBAObVMa+/fZbli1bxldffcWyZcv48ssvWbRo0Xe2//znP3zxxRd8+eWXm91XrVq1aN26Nfvs\nsw9t27albdu27Lvvvuyzzz4urSFJVYiBTVXe119/zauvvkp+fj55eXmbtvz8fDZs2MDatWv59ttv\nv7OtWrWKlStX8t///nfTzxUrVvDVV18VOVVZnBo1arDbbrvRokULdt99d1q0aMGee+65aWvevDnV\nqlUrx6OXJOWCUPgC5cokhBAr8/GpbEyZMoUOHTqU2f5q1qxJkyZNaNKkCY0bN2bHHXdk1113ZZdd\ndtm0NW3alN13352mTZsayCRJAIQQiDEWeUeYI2yq8ho3bswZZ5xB9erVqVat2nd+Vq9ene233/57\nW506dWjQoAH169f/zs/GjRtTt25d78CUJJUpR9gkSZJSYHMjbM7FSJIkpZyBTZIkKeUMbJIkSSln\nYJMkSUq51Aa2EMJtIYQvQgjvZbefFHjtphDCzBDC9BDCMUnWKUmSVN5SG9iy7o8xdsxurwGEEPYF\n+gL7AscBvw8pWUNh7NixSZegbeD5y12eu9zm+cttnr+KkfbAVlQQOxEYEmPcEGOcA8wEDqnQqorh\nH9rc5vnLXZ673Ob5y22ev4qR9sB2WQjhgxDCYyGEhtm25sD8An0WZNskSZIqpUQDWwhhdAhhSoFt\navZnT+D3wB4xxh8Ai4D7kqxVkiQpKTnxTQchhJbA8Bhj+xDCjUCMMf42+9prwG0xxn8X8b70H5wk\nSVJWzn2XaAhhlxjjouzTk4CPso9fBp4JITxAZiq0DfBOUfso7qAlSZJySWoDG3B3COEHQD4wB7gQ\nIMb4cQhhKPAxsB64xC8MlSRJlVlOTIlKkiRVZWm/SzQnhBDuzi7i+0EIYVgIoUGB11zkN+VCCD8J\nIcwIIXwaQvh50vVo80IIu4UQ3gghTMveqHRFtn2HEMKoEMInIYSRBe4sV8qEEKplF0R/Ofvcc5cj\nQggNQwh/y/6dNi2EcKjnr2IY2MrGKKBd9o7WmcBNACGE/UjpIr/KCCFUAx4BjgXaAf1CCG2TrUpb\nsAG4JsbYDugEXJo9ZzcCY2KM+wBvkP09VCpdSeaylo08d7njQWBEjHFfoAMwA89fhTCwlYEY45gY\nY3726b+A3bKPe5HSRX61ySHAzBjj3BjjemAImcWZlVIxxkUxxg+yj78BppP5nTsReCrb7SmgdzIV\nanNCCLsBPYDHCjR77nJAdvboyBjjEwDZv9tW4PmrEAa2snceMCL72EV+06/wOfoCz1HOCCG0An5A\n5h9KTWOMiyET6oCdk6tMm/EAcD1Q8AJqz11uaA0sDSE8kZ3S/n8hhDp4/iqEga2EtrDI78Y+twDr\nY4zPJliqVCWEEOoBzwNXZkfaCt9B5R1VKRNCOB5YnB0h3dzlIZ67dKoBdAQejTF2BFaRmQ71d68C\npHlZj1SJMR69uddDCOeSGeY/qkDzAmD3As93y7YpPRYALQo89xzlgBBCDTJh7ekY40vZ5sUhhKYx\nxsUhhF2AJclVqGIcAfQKIfQAagP1QwhPA4s8dznhC2B+jHFy9vkwMoHN370K4AhbGQgh/ITMEH+v\nGOPaAi+9DJweQtguhNCazSzyq8RMAtqEEFqGELYDTidz3pRufwE+jjE+WKDtZeDc7ONzgJcKv0nJ\nijHeHGNsEWPcg8zv2hsxxrOA4XjuUi877Tk/hLB3tunHwDT83asQrsNWBkIIM4HtgGXZpn/FGC/J\nvnYTcD6ZRX6vjDGOSqZKFScbuB8k8w+Yx2OMAxMuSZsRQjgCeBOYSmbqJQI3k/nH0FAyo9pzgb4x\nxuVJ1anNCyF0Aa6NMfYKITTGc5cTQggdyNwwUhOYBfQHquP5K3cGNkmSpJRzSlSSJCnlDGySJEkp\nZ2CTJElKOQObJElSyhnYJEmSUs7AJkmSlHIGNkmSpJQzsEmSJKWcgU2SJCnlDGySJEkpZ2CTJElK\nOQObJElSytVIugBJyhUhhAuAHYF9gKeBlsDOwP7ADTHGBQmWJ6kSCzHGpGuQpNQLIfwMmBJj/HcI\n4WBgNHAusAp4DegRYxyZYImSKjFH2CSpZJrEGP+dfdwCyIsxvhhCqA10jTG+lWBtkio5R9gkqZRC\nCA8Bu8cY+yRdi6SqwZsOJKn0ugFjky5CUtVhYJOkLQghVAshdA8ZOwPtKBDYQgg3JFacpCrBwCZJ\nW3YhMArYC+gLrAa+AAgh9AI+Sq40SVWB17BJ0haEEDoA1wMzgA+BBsBRwBxgdoxxUHLVSaoKDGyS\nJEkp55SoJElSyhnYJEmSUs7AJkmSlHIGNkmSpJQzsEmSJKWcgU2SJCnlDGySJEkpZ2CTJElKOQOb\nJElSyhnYJEmSUu7/A9i2e0jPCtaoAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_flight_path(16,48,0.)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That looks an awful lot like a quarter circle. And what's the radius of the arc? It's $$r = 48 = 3z_t.$$\n", + "\n", + "We can also get a semi-circle out of our simulated trammel by changing to another configuration where $C$ is (near) zero. Here's one example:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnwAAAGXCAYAAAApho2KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xt8jvXjx/HXZwdzHjlEaqRSQjEiyTGhg3MpSlPOp3Qi\nOVffHOL7S+pbEioihAgxKXNINaeIlEMZUcMoDdNsn98f9721ZmPm3q579/1+Ph73Y7uv+951v697\nY+99PtfBWGsREREREd8V4HQAEREREclZKnwiIiIiPk6FT0RERMTHqfCJiIiI+DgVPhEREREfp8In\nIiIi4uNU+ERERER8nAqfiIiIiI9T4RPJY4wxDY0xycaYxy607BLXGeH++gaeS+o8T22XMaaCMWaR\nMeaIe33TPZVRRCQ3qPCJeIk0pS2jW5Ixpnaap2d0iZzLvWxOlr/eGHOrMWakMSbsMl/zsmUhiycu\nJ/QBUB8YAzwKvOOBdXqcMSbY6QwAxuVpY8wuY8wZY8wBY8wEY0zB3FiPMaaAMeZn97+dSRk8foMx\n5iVjzNfuEn/SGLPVGDPkUjOK5BVBTgcQkfPMBj7LYPneNJ+btA9Ya9cYYwoAiTkZLI3qwEhgNXAg\nl17TkSzGmHzAncAka+1rnl7/JWa5DugB3Ar86b79gauI1sCV8yXHAv5jItAfWABMACoDT+L6XjXN\nhfW8DJQg87L/BNAH+BT4ENe/m8bAf4AHjTG3W2vPXkJOEa+nwififbZYa2df6hdZa//OiTCZMHhm\n5MwTcjpLGfdrnPDkSo0xAUCItfZMFp4bhKvUPQA8Awy27guhG2NKAm8D9wCtPZkxO4wxNwP9gPnW\n2g5plu8HJhljHrbWzsmp9RhjwoEBwEDg/zJZ/cfAaGvtX2mWTTHG7AWGAF2Bty6WUSQv0ZSuiA/I\nbB8+Y0x5Y8wCY8yf7tsn7mX7jTFfZrCqAGPMc8aYvcaYBGPMTxmscySQsg9bVJpp50z3a0uzL91d\nxphR7tdPMMZsM8Y8lMHzCxtj/mOM+cYYc9T93D3GmDHukcxLzXLR7cok93vAflyFclSa6fUG7sdL\nGGP+555qPOv++KYx5ooLbP9wd7E4AzyYhQwhwErgfuA2a+0nKWUPwFp7DNcIWADw1cXWlws6uT9O\nTLf8XeA0rinxHFmPu0S/i2uE/JPMVmyt3ZKu7KWYi6vcV81iRpE8QyN8It6noDGmRLplZ6218Rf5\nun+NcrlLx3qgFK4RoB9x7YcWBRRI/8W4ftGNAfIDk4GzQG/gPWPMHmvt1+7nLQDKAt1xTYH96F6+\n76JbBuOAgsD/3PcfBz4yxoRYa2ekeV45XNNuC4BZwDmgITAI13TePZeQJavblZHJwFZcpWOh+waw\nyxhTFPgaqAhMcz+vhnvdjY0xta21p9KtbwKu/3enACeBny7w2ik+AGoDt7rLXUa2AWuttRlO6Rtj\nDHBFRo9l4njaUnmJagHJwMa0C621Z40x3wG35eB6ngEqAW3I3oDGNe6Psdn4WhHvZq3VTTfdvOCG\nq9AkA0nuj2lvszN43mMXWfaqe10Pp3udce7nfplmWYR72WYgMM3yq4AEYFa6dUS4190gi9uWsv5f\ngMJplhfFNYJ2DNf0ZsryoLQ50ix/yf26tbKS5VK3K5Ps5d3rGJFu+Svu1+2Zbnkf9/NfzCDHrrTb\nmYXXvt/9dS9d5HnXAJ2ysA1ZuSUBYZfxc7wd+C2Tx+a61x/k6fUA1wLxwHPptnlSFnMHABtw/UFw\nQ3a3XzfdvPWmET4R7zMF1z5Gaf2ejfXcj+sXZvr9nCbg2r8pI/+z1ial3LHWHjbG7AZuyMbrZ+Qt\nm2ak0lp70hgzGVd5agREupefS3mOMSYQKAIEAl8Aw4A6wKZLeN2c2K42wFFcU4hpvYPrIJK27o9p\nvWUv7WCAp3GVlv9d6EnW2oO4DvbJzO9c2sES2fl5S1EQV2nKSEKa55z08Hom4zqwKbsH1ryO6+fq\nBWvtnmyuQ8RrqfCJeJ891tqM9q+7VNcC36ZfaK09aoz5I4PnW1wjcOnFAZ44/YrlnynXtH7ANe1a\nMe1CY0wfoCdQhX9Pz1mg+CW+bk5s17XARmtt8r9ezNokd5mskUGOLBcJd9FtAHxvrb2sKUZ3yfTE\nzxSQuq9cqXSLz1hrT+Lavy79Yynyuz+ezsLLZHk9xphHgbuA+mmLfVYZY14G+gKTrbWvXurXi+QF\nKnwiklZmvyxNJstzhDHmGVwjkStwjbwcBv7GtW/fB1z6/llesV1kreikKIlrVPOCJdG9f17jC/2R\nkElBu5Cj6YtsOtfgKtGWf97D93Htd3kYqGyMCbbn71NYDjiWdgT3ArK0Hvdpc/6L60CNI+5T1wBc\n7f4Y6l52zFr7Z/oXMcaMAoYC06y1fbKQSyRPUuET8V37gevTLzTGlAKKXea6s7NDv8F1HrUl6ZZX\nca/v5zTLHgV+sdbe+68VGNPcQ1k84WfgRmNMQNpy5B6Zq8S/tyc7jpH5lGZaKVPLF5JS0LLC4hq9\nvNA5DTOaIj7s/rgRuBvXgSapRw27jzaujuugoay42HrWuBcVwFVm78O1G0P6bemM6+fpvNO0uMve\nCOA9a233LOYSyZNU+ER81xLgWWNMR2vtR2mWZ7b/3qWIx1XgLuXIT4DexpjJ7qk/jDGhQC9cJw9e\nk+Z5SYA1xhhrbcr55oKAFzi/4GU3y+Va5M7TDdd+lyl68M+R0dnmnhr+GLjLGBOU0aiYcV1dpIa1\ndsRFVufRffguMkU8F9e57J7i36eJ6YGrnM1K+2T39/U64LR7X8SsrudD9/1TuM5PmF7K92A5MBX4\nPt3rjsBV9j6w1nbNZFtEfIYKn4jvGofrXGbvGWPq8M9pWe7ANSKUvjhdyvTmRlwHEwx1n/7lFK4R\nueiLfN0x4Fv3+e0MrtOyXA10tdYmpHnefGA0sMIYsxAIBTrimtZNn/NiWXJq2vZVXOfR+58xpiau\n07KE45rW3AWMT/f87OR4GlfZmWaM6Zn2PTLG3AvcDoy62Eo8vQ/fRV5rhzHmf0BfY8wCXFOtN+O6\nYkZUuj8+wDU9uwvXyF+TS12PuwgvTLdOjDHl3Z/us9Z+ku6xvrjetxjgS2PMI+m+PNZau+pSt13E\nm6nwiXgXS9amKC96LV1rbZwxph6u/Zsedz8eheuXajSuE/9ebJ2ZrfugMeZx4HlcVyQIxrVv3YUK\nn3U/vz6uU5dcCezGdTqRuemem7LjfFdc58D7HZiDaz+xH9LmyUKWLG/XRZ6X/j04aYy5A3gRaAV0\nwXX+treAUfb8c/Bd8tSz+3tYE9e2fW6MOQgcx3WUamQWRvacMgDXFHIP4F5cRf91zj9qOUVmP/eX\nup6srreWe3kYrp+p9NYAKnziU4x7tkRE/IR7FOwYriMSc2UndWNMBK4rYjS21q7NjdcUEZF/6NJq\nIj7MGJM/g8Up+8GtzOU4IiLiEE3pivi2z4wxMcAWXH/gNcV1NON6YHEuZ8ntU6CIiIibCp+Ib1sC\nPIbr1B0FgF9xHUzwks39/Tm0/4iIiEO0D5+IiIiIj/PbET5jjJquiIiI5BnW2mzvGuPXB21Ya3VL\ncxs5cqTjGbzxpvdF74veF70nel/0vjh9u1x+XfhERERE/IEKn4iIiIiPU+GTVI0aNXI6glfS+5Ix\nvS8Z0/tyPr0nGdP7kjG9LznDb4/STXNNdhERERGvZozBXsZBG357lK6IiJyvQoUKxMTEOB1DxG+V\nL1+e/fv3e3y9GuETEZFU7lEEp2OI+K3M/g1e7gif9uETERER8XEqfCIiIiI+ToVPRERExMep8ImI\niIj4OBU+ERERkcu0du1aEhISOHv2LOvWrXM6znl0WhYREZF0Tp06xbhx4wgLC+PPP//k2Wef/dfj\nW7duJTIyksGDB2e6jsWLF7Nz504CAwO56qqr6Ny5c07HzpZt27Yxc+ZMJkyYkLrsYtufXl7Z1uzI\n6P3JSEREBDExMZQuXZp33nkHAGstxYsXJyAgIPXI22bNmjF37twcz52eCp+IiEg6Tz75JCNHjiQs\nLIyqVavywAMPUL58ecD1S3z48OHUrl07068/efIkL730Eps3bwagbt263HvvvZQoUSJX8mfV//3f\n/7F+/XqKFSv2r+UX2v70LmdbN2zYwI8//siJEyfo2rXreTmcltn7k5GhQ4fSokULypYtS2BgIAD7\n9+/nrbfe4o477iAgIIBFixZx991353TsDGlKV0REJI1ffvmFw4cPExYWBsDKlSv/VXYWLFhA48aN\nL7iOtWvXUqVKldT7t956K6tXr86ZwJfhmWeeoXXr1v9adrHtTy+727pv3z7ef/99nnjiCcLCwpg/\nf342tyLnZPT+ZCY4OJirr746tewB5M+fn7Zt21KhQgWKFi1KcHAwlStXzqm4F6QRPhER8Tk///wz\n77777r9OYpvyuTGG22+/nVatWmX4tV9++SWhoaF8+OGHnDhxgiJFitClSxcA4uLiCAgIoGTJkpw6\ndSrT1//111//NSpUrFgx9uzZ47kNdLuc7czMhbY/I9nd1ueff54XXngBgN27d/+rKKWXE9vpadHR\n0VhriYuL44YbbqBVq1aULVs29fHJkyfz9NNPO5ZPhU9ERLLEmGyf5P882b2ax8aNGxk1ahTlypUj\nICCAFi1a0KZNm/OeV7FiRcaMGZOt14iNjWXnzp3MmTMHgPr163PnnXdy/fXXs3DhQrp3784HH3xw\nwXWcOHGC/Pnzp97Ply8f8fHxWXr9rG4jXN52ZuZC25+R7Gzrb7/9RnR0NJs3b2bTpk18+OGHDB8+\nPNPn58R2elq3bt2oUaMGANWrV6dhw4aEhoYCrvcoLi6OkJAQx/Kp8ImISJ5x2223sWzZMt566y12\n7dpFmzZteO211+jUqRNXXnmlR16jSJEiVKtWLfV+WFgYK1eu5Pjx49SpUyfL6zh+/Hjq/TNnzlCm\nTJksfW36bWzUqBHjxo3jyiuvpFq1atSsWfPSNugSZbb9mRW+7Gzrl19+yf3330+PHj04ffo0gwYN\nolmzZjm+na+++ioJCQn/WpYyShgREXHBqeuLufXWW1M/L168OFFRUanTwXPnznVsKjeFCp+IiGSJ\nt1xjd/To0cTGxvLGG28ArunA9GUv7RRgWlmZAqxSpQrr169PvR8QEEBSUhLR0dGcPn2a5cuX89VX\nX5GQkMCnn36a4Xquu+46Nm3alHo/Li6O8PDwbG3ja6+9RuPGjQkPDyciIoJZs2Z5ZDszk9n2ZyY7\n23rw4MHUArR48WLuvfdeZs6cmePbOWjQoIs+JztmzZrFZ599lpo5Pj7+X1PUX375JY899liOvHaW\nWWv98ubadBERScvb/28cPXq0HTp0qLXW2p07d9p169bZe+65x3799dcee42EhAR7++23p96/4447\n7N69e//1nFGjRtkXX3wx9f6+fftscnJy6v1Tp07ZatWqpd6/9dZbbWxsrLXW2j179vzrueml38a+\nffvaAwcOWGutveeeey5jyzL2/vvv2y5duqTev9D2p99Oa7O3rVOnTrVTp0611lp777332piYGNuv\nX78c3c7sSv/+WHv++7B+/Xq7Zs0aa6218fHxtkKFCvbUqVOpj1evXt2uWrUqS6+X2b9B9/Js9x4d\npSsiInnChg0bqFatGs2bN6dJkyYsXLiQa665hkaNGnH77bd77HVCQkIYNWoUI0aMYPjw4fTp04fr\nrrsu9fGPP/6YxYsXs3jx4tQjSx944AG+++671OcULFiQQYMG8Z///IeXX36ZgQMHUrp0aQBatmzJ\nqlWrsryNwAUPaLgcb775JtOmTSMqKooXX3yRv/7664Lbn347s7utDz74INu3b2fq1KkMHz6csLAw\nkpOTc2w7syuj9wfOfx/q1avHwYMHmThxIkOHDmXOnDkULFgw9fESJUpQrly5XM+flrFeMkSf24wx\n1l+3XUQkM2mPgswLZs+eTfny5QkLC+Oaa65xOk6WJCcns2bNmoue2iXFG2+8Qf369alcuTJdunTh\no48+yuGEnnMp25qXt9OTMvs36F6e7SOnVPhERCRVXit8ixcvJjExkdtuu+2ydrjPTfPmzaNly5YU\n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\npozTkbyGRvjysB49elC9enUOHDjA2LFjnY4jIiLimISEhNRrz7/44osqex6mET6HffXVV9x5552E\nhITwww8/ULFiRacjiYiI5LqXX36ZESNGULVqVbZu3UpQkKNnjvM6GuHL4+rVq0fnzp05e/Ys/fv3\nxxtKqIiISG7av38/o0ePBuDNN99U2csBKnxe4NVXXyU0NJTPPvuM+fPnOx1HREQk11hr6d27NwkJ\nCXTs2JGGDRs6HcknaUrXS7zzzjv06tWLMmXKsGvXLooVK+Z0JBERkRw3Z84cOnbsSLFixdi1a5f2\n3cuEpnR9RPfu3alXrx6///47gwcPdjqOiIhIjjtx4kTqgRrjx49X2ctBGuHzIjt37qRGjRokJiay\nfv166tWr53QkERGRHNO9e3emTp1KgwYNWL16NQEBGofKjEb4fEiVKlUYNGgQ4Dply99//+1wIhER\nkZyxZs0apk6dSr58+XjnnXdU9nKY3l0vM3ToUK6//np++OEHxowZ43QcERERj0tISKBnz54ADBky\nhJtuusnhRL5PU7peaM2aNTRq1IigoCA2btxI9erVnY4kIiLiMYMGDWL8+PHcdNNNfPfdd4SEhDgd\nyetpStcHNWzYkH79+nHu3Dm6dOlCYmKi05FEREQ8YsOGDUyYMIGAgADef/99lb1cosLnpcaMGcO1\n117Ltm3bUk9GKSIikpedPn2aLl26YK1l0KBB1KlTx+lIfkNTul4sKiqKxo0ba2pXRER8wjPPPMNr\nr71GlSpV2Lx5s0b3LoGmdH1Yo0aN/jW1q6N2RUQkr1q/fj0TJ04kMDBQU7kOUOHzcmPGjKFixYps\n27aNUaNGOR1HRETkksXHx6dO5b7wwgvUqlXL6Uh+R1O6ecD69etp2LAh1lqioqJo0KCB05FERESy\nrFu3bkybNo1bbrmFjRs3ki9fPqcj5Tma0vUDd955Jy+88ALWWjp37swff/zhdCQREZEsWbBgAdOm\nTSN//vzMnj1bZc8hKnx5xMiRI7nttts4cOAAffv2dTqOiIjIRR06dIju3bsDrmvlVqlSxeFE/ktT\nunnI7t27qVGjBqdPn2bWrFl06tTJ6UgiIiIZSk5OplmzZnzxxRfce++9LF26FGOyPSPp9zSl60cq\nVarE66+/DkDv3r3Zv3+/s4FEREQy8dprr/HFF19QqlQppk+frrLnMI3w5THWWtq3b88nn3xC7dq1\nWbdunfaHEBERr7Jx40bq1atHYmIiS5Ys4f7773c6Up6nET4/Y4xh6tSphIWFER0dzeDBg52OJCIi\nkuqPP/6gQ4cOJCYm0q9fP5U9L6ERvjzqm2++oX79+pw7d47FixfTqlUrpyOJiIifSzsLVbNmTb76\n6iudYNlDNMLnp26//XbGjh0LQJcuXYiJiXE4kYiI+LtJkybxySefULRoUebNm6ey50U0wpeHWWtp\n1aoVS5cu5fbbb2ft2rUEBwc7HUtERPxQdHQ0d955J4mJicyfP5/27ds7HcmnaITPjxljeP/997nm\nmmv45ptvGDhwoNORRETEDx0/fpyHHnqIxMREnnzySZU9L6QRPh/w9ddf07BhQxITE3V+PhERyVVJ\nSUncd999REZGUqtWLdavX6+p3BygET6hbt26qefn69atG9u3b3c4kYiI+IsRI0YQGRlJyZIlmT9/\nvsqel9IIn4+w1vLEE0/w/vvvU7FiRTZt2kTx4sWdjiUiIj7sk08+oV27dgQEBPD555/TpEkTpyP5\nLI3wCeD6QXjrrbcIDw/n559/5pFHHiEpKcnpWCIi4qN27drFY489BsCrr76qsuflVPh8SIECBVi4\ncCElSpRg+fLljBw50ulIIiLig/7880/atm1LfHw8Dz/8MM8884zTkeQiNKXrg1atWkXz5s1JTk7m\no48+4uGHH3Y6koiI+IikpCRat27NsmXLuOWWW9iwYQOFChVyOpbP05SunKdp06a89tprADz++ONE\nR0c7nEhERHzFoEGDWLZsGSVKlOCTTz5R2csjNMLno6y19OrViylTplCmTBk2btzI1Vdf7XQsERHJ\nw6ZOnUr37t0JDg5m1apVNGjQwOlIfuNyR/hU+HxYYmIizZo1IyoqivDwcNauXau/xEREJFtWr15N\ns2bNOHfuHNOmTeOJJ55wOpJf0ZSuZCo4OJj58+dz3XXXsWXLFiIiIkhOTnY6loiI5DF79uyhffv2\nnDt3jueee05lLw9S4fNxJUqUYOnSpYSGhrJgwQIGDx7sdCQREclD4uLiuP/++zlx4gQtW7Zk7Nix\nTkeSbFDh8wM33XQT8+fPJygoiPHjx/Pmm286HUlERPKAM2fO0KpVK3bv3s0tt9zCrFmzCAwMdDqW\nZIMKn59o2rQpU6dOBeDJJ59k0aJFDicSERFvlpSUxKOPPsqGDRu4+uqr+eyzzyhSpIjTsSSbVPj8\nSEREBC+99BLWWjp27MjXX3/tdCQREfFC1lqefvppFi5cSGhoKCtWrKBcuXJOx5LLoKN0/Yy1lh49\nejB16lRKlCjB119/zQ033OB0LBER8SITJkxg4MCB5MuXj8jISBo1auR0JL+n07Jkk78WPoBz587R\nqlUrli9fzrXXXsv69eu56qqrnI4lIiJeYPbs2TzyyCMAulqTF9FpWeSSBQUFMW/ePGrVqsUvv/xC\n8+bNOX78uNOxRETEYcuWLSMiIgKA8ePHq+z5EBU+P1W4cGGWL1/OTTfdxI4dO7jvvvs4deqU07FE\nRMQh69at44EHHuDcuXMMHDiQZ5991ulI4kGa0vVzv/76K/Xq1ePAgQM0a9aMTz/9lJCQEKdjiYhI\nLtqyZQuNGzfm5MmTdO/enXfeeQdjsj17KDlAU7pyWa6++mo+//xzSpUqxcqVK+ncuTNJSUlOxxIR\nkVzy008/0aJFC06ePEmHDh14++23VfZ8kAqfUKlSJSIjIylatCgff/wx3bt31yXYRET8QExMDHff\nfTdHjx6lRYsWzJw5UydW9lEqfAJAjRo1WLp0KQUKFOC9996jV69eKn0iIj7swIEDNG7cmIMHD1Kv\nXj0WLFhAvnz5nI4lOUSFT1LVr1+fpUuXkj9/ft5991369euH9nMUEfE9v/76K40bN+aXX36hdu3a\nLFu2jIIFCzodS3KQCp/8S5MmTVIP3Hj77bcZMGCASp+IiA85dOgQjRs35ueff6ZWrVpERkYSGhrq\ndCzJYSp8cp67776bRYsWkS9fPt544w2eeeYZlT4RER9w+PBhmjRpwt69ewkPD2flypUUK1bM6ViS\nC1T4JEMtWrRg4cKFBAcHM3HiRAYNGqTSJyKSh/322280adKE3bt3U716dT7//HOKFy/udCzJJSp8\nkqn77ruP+fPnExQUxIQJE3juuedU+kRE8qDffvuNu+66i59++olbbrmFVatWccUVVzgdS3KRCp9c\nUKtWrZg3bx7BwcH83//9H3369NHRuyIieUhMTAwNGjRg165dVKtWjS+++IISJUo4HUtyma60IVny\n2Wef0b59exISEujcuTPTp08nKCjI6VgiInIBu3fvpmnTphw8eJDw8HAiIyMpWbKk07EkGy73Shsq\nfJJlq1evpmXLlpw6dYr27dsze/ZsnbNJRMRLbd++nWbNmhEbG0u9evVYtmyZjsbNw3RpNck1jRs3\n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\nvMsjiwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_flight_path(64,16,-numpy.pi/2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That is so nice. We have reproduced the trajectories that Lanchester found more than a hundred years ago, painstakingly drawing them by hand with a contraption called a \"trammel.\" It must have taken him days!\n", + "\n", + "Here is how the different phugoid curves are drawn in von Kármán's book, _Aerodynamics_ (1957). He never says _how_ he drew them, but we're guessing by hand, also. We did pretty good!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/vonKarman-phugoids.png)\n", + "\n", + "#### Figure 4. Phugoid curves in von Kármán (1957)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the next notebook of this series, we'll look at the differential equation that arises when you consider small perturbations on the horizontal phugoid, and we'll learn to numerically integrate that to get the flight paths." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Lanchester, F. W. _Aerodonetics_, D. van Nostrand Company: New York, 1909. On the public domain. [Get it from Google Books](http://books.google.com/books?id=6hxDAAAAIAAJ&pg=PP1#v=onepage&q&f=false).\n", + "\n", + "2. Milne-Thompson, L. M. _Theoretical Aerodynamics_, Dover 2012 reprint of the revised 1966 edition. [Read on Google Books](http://books.google.com/books?id=EMfCAgAAQBAJ&lpg=PP1&pg=PP1#v=onepage&q&f=false) (see section 18.5)\n", + "\n", + "3. Sinha, N. K. and Ananthkrishnan, N. _Elementary Flight Dynamics with an introduction to Bifurcation and Continuation Methods_, CRC Press, 2013. [Read on Google Books](http://books.google.com/books?id=yXL6AQAAQBAJ&lpg=PP1&pg=PP1#v=onepage&q&f=false) (see chapter 5)\n", + "\n", + "4. von Kármán, T. _Aerodynamics_, Dover 2004 reprint of the 1957 2nd edition. (see pages 149–151)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of this notebook. " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Execute this cell to load the notebook's style sheet, then ignore it\n", + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/lecture_22/01_phugoid/.ipynb_checkpoints/01_02_Phugoid_Oscillation-checkpoint.ipynb b/lecture_22/01_phugoid/.ipynb_checkpoints/01_02_Phugoid_Oscillation-checkpoint.ipynb new file mode 100644 index 0000000..eb6283b --- /dev/null +++ b/lecture_22/01_phugoid/.ipynb_checkpoints/01_02_Phugoid_Oscillation-checkpoint.ipynb @@ -0,0 +1,949 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth. Partly based on David Ketcheson's pendulum lesson, also under CC-BY." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Phugoid Oscillation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Welcome back! This is the second IPython Notebook of the series _\"The phugoid model of glider flight\"_, the first learning module of the course [**\"Practical Numerical Methods with Python.\"**](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about)\n", + "\n", + "In the first notebook, _\"Phugoid Motion\"_, we described the physics of an aircraft's oscillatory trajectory, seen as an exchange of kinetic and potential energy. This analysis goes back to Frederick Lanchester, who published his book _\"Aerodonetics\"_ on aircraft stability in 1909. We concluded that first exposure to our problem of interest by plotting the flight paths predicted by Lanchester's analysis, known as _phugoids_.\n", + "\n", + "Here, we will look at the situation when an aircraft is initially moving on the straight-line phugoid (obtained with the parameters $C=2/3$, $\\cos\\theta=1$, and $z=z_t$ in the previous analysis), and experiences a small upset, a wind gust that slightly perturbs its path. It will then enter into a gentle oscillation around the previous straight-line path: a _phugoid oscillation_.\n", + "\n", + "If the aircraft experiences an upward acceleration of $-d^2z/dt^2$, and we assume that the perturbation is small, then $\\cos\\theta=1$ is a good approximation and Newton's second law in the vertical direction is:\n", + "\n", + "$$\\begin{equation}\n", + "L - W = - \\frac{W}{g}\\frac{d^2 z}{dt^2}\n", + "\\end{equation}$$\n", + "\n", + "In the previous notebook, we saw that the following relation holds for the ratio of lift to weight, in terms of the trim velocity $v_t$:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{L}{W}=\\frac{v^2}{v_t^2}\n", + "\\end{equation}$$\n", + "\n", + "This will be useful: we can divide Equation (1) by the weight and use Equation (2) to replace $L/W$. Another useful relation from the previous notebook expressed the conservation of energy (per unit mass) as $v^2 = 2 gz$. With this, Equation (1) is rearranged as:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{d^2z}{dt^2} + \\frac{gz}{z_t} = g\n", + "\\end{equation}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Look at Equation (3) for a moment. Does it ring a bell? Do you recognize it?\n", + "\n", + "If you remember from your physics courses the equation for _simple harmonic motion_, you should see the similarity! \n", + "\n", + "Take the case of a simple spring. Hooke's law is $F=-kx$, where $F$ is a restoring force, $x$ the displacement from a position of equilibrium and $k$ the spring constant. This results in the following ordinary differential equation for the displacement:\n", + "\n", + "$$\\begin{equation}\n", + " \\frac{d^2 x}{dt^2}= -\\frac{k}{m}x\n", + "\\end{equation}$$\n", + "\n", + "which has the solution $x(t) = A \\cos(\\omega t- \\phi)$, representing simple harmonic motion with an angular frequency $\\omega=\\sqrt{k/m}=2\\pi f$ and phase angle $\\phi$.\n", + "\n", + "Now look back at Equation (3): it has nearly the same form and it represents simple harmonic motion with angular frequency $\\omega=\\sqrt{g/z_t}$ around mean height $z_t$. \n", + "\n", + "Think about this for a moment ... we can immediately say what the period of the oscillation is: exactly $2 \\pi \\sqrt{z_t/g}$ — or, in terms of the trim velocity, $\\pi \\sqrt{2} v_t/g$.\n", + "\n", + "_This is a remarkable result!_ Think about it: we know nothing about the aircraft, or the flight altitude, yet we can obtain the period of the phugoid oscillation simply as a function of the trim velocity. For example, if trim velocity is 200 knots, we get a phugoid period of about 47 seconds—over that time, you really would not notice anything if you were flying in that aircraft.\n", + "\n", + "Next, we want to be able to compute the trajectory of the aircraft for a given initial perturbance. We will do this by numerically integrating the equation of motion." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prepare to integrate" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We want to integrate the differential equation and plot the trajectory of the aircraft. Are you ready?\n", + "\n", + "The equation for the phugoid oscillation is a second-order, ordinary differential equation (ODE). Let's represent the time derivative with a prime, and write it like this:\n", + "\n", + "$$\\begin{equation}\n", + "z(t)'' + \\frac{g \\,z(t)}{z_t}=g\n", + "\\end{equation}$$\n", + "\n", + "There's a convenient trick when we work with ODEs: we can turn this 2nd-order equation into a system of two 1st-order equations. Like this:\n", + "\n", + "$$\\begin{eqnarray}\n", + "z'(t) &=& b(t)\\\\\n", + "b'(t) &=& g\\left(1-\\frac{z(t)}{z_t}\\right)\n", + "\\end{eqnarray}$$\n", + "\n", + "Are you following? Make sure you are following the derivations, even if it means writing the equations down in your own notes! (Yes, the old-fashioned paper way.)\n", + "\n", + "Another way to look at a system of two 1st-order ODEs is by using vectors. You can make a vector with your two independent variables, \n", + "\n", + "$$\\begin{equation}\n", + "\\vec{u} = \\begin{pmatrix} z \\\\ b \\end{pmatrix}\n", + "\\end{equation}$$\n", + "\n", + "and write the differential system as a single vector equation:\n", + "\n", + "\\begin{equation}\n", + "\\vec{u}'(t) = \\begin{pmatrix} b\\\\ g-g\\frac{z(t)}{z_t} \\end{pmatrix}\n", + "\\end{equation}\n", + "\n", + "If you call the right-hand-side $\\vec{f}(\\vec{u})$, then the equation is very short: $\\vec{u}'(t) = \\vec{f}(\\vec{u})$—but let's drop those arrows to denote vectors from now on, as they are a bit cumbersome: just remember that $u$ and $f$ are vectors in the phugoid equation of motion.\n", + "\n", + "Next, we'll prepare to solve this problem numerically." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Initial value problems" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's step back for a moment. Suppose we have a first-order ODE $u'=f(u)$. You know that if we were to integrate this, there would be an arbitrary constant of integration. To find its value, we do need to know one point on the curve $(t, u)$. When the derivative in the ODE is with respect to time, we call that point the _initial value_ and write something like this:\n", + "\n", + "$$u(t=0)=u_0$$\n", + "\n", + "In the case of a second-order ODE, we already saw how to write it as a system of first-order ODEs, and we would need an initial value for each equation: two conditions are needed to determine our constants of integration. The same applies for higher-order ODEs: if it is of order $n$, we can write it as $n$ first-order equations, and we need $n$ known values. If we have that data, we call the problem an _initial value problem_.\n", + "\n", + "Remember the definition of a derivative? The derivative represents the slope of the tangent at a point of the curve $u=u(t)$, and the definition of the derivative $u'$ for a function is:\n", + "\n", + "$$u'(t) = \\lim_{\\Delta t\\rightarrow 0} \\frac{u(t+\\Delta t)-u(t)}{\\Delta t}$$\n", + "\n", + "If the step $\\Delta t$ is already very small, we can _approximate_ the derivative by dropping the limit. We can write:\n", + "\n", + "$$\\begin{equation}\n", + "u(t+\\Delta t) \\approx u(t) + u'(t) \\Delta t\n", + "\\end{equation}$$\n", + "\n", + "With this equation, and because we know $u'(t)=f(u)$, if we have an initial value, we can step by $\\Delta t$ and find the value of $u(t+\\Delta t)$, then we can take this value, and find $u(t+2\\Delta t)$, and so on: we say that we _step in time_, numerically finding the solution $u(t)$ for a range of values: $t_1, t_2, t_3 \\cdots$, each separated by $\\Delta t$. The numerical solution of the ODE is simply the table of values $t_i, u_i$ that results from this process." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Discretization" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to execute the process described above and find the numerical solution of the ODE, we start by choosing the values $t_1,t_2,t_3 \\cdots t_n$—we call these values our *grid* in time. The first point of the grid is given by our _initial value_, and the small difference between two consecutive times is called the _time step_, denoted by $\\Delta t$. The solution value at time $t_n$ is denoted by $u_n$.\n", + "\n", + "Let's build a time grid for our problem. We first choose a final time $T$ and the time step $\\Delta t$. In code, we'll use readily identifiable variable names: `T` and `dt`, respectively. With those values set, we can calculate the number of time steps that will be needed to reach the final time; we call that variable `N`. \n", + "\n", + "Let's write some code. The first thing we do in Python is load our favorite libraries: NumPy for array operations, and the Pyplot module in Matplotlib, to later on be able to plot the numerical solution. The line `%matplotlib inline` tells IPython Notebook to show the plots inline." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import numpy \n", + "from matplotlib import pyplot\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, initialize `T` and `dt`, calculate `N` and build a NumPy array with all the values of time that make up the grid." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "T = 100.0\n", + "dt = 0.02\n", + "N = int(T/dt)+1\n", + "t = numpy.linspace(0.0, T, N)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have our grid! Now it's time to apply the numerical time stepping represented by Equation (10)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Challenge!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* Write the code above using the NumPy function `arange()` instead of `linspace()`. If you need to, read the documentation for these functions." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Pro tip:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Enter a question mark followed by any function, e.g., `?numpy.linspace`, into a code cell and execute it, to get a help pane on the notebook." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Euler's method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The approximate solution at time $t_n$ is $u_n$, and the numerical solution of the differential equation consists of computing a sequence of approximate solutions by the following formula, based on Equation (10):\n", + "\n", + "$$u_{n+1} = u_n + \\Delta t \\,f(u_n).$$\n", + "\n", + "This formula is called **Euler's method**.\n", + "\n", + "For the equations of the phugoid oscillation, Euler's method gives the following algorithm that we need to implement in code:\n", + "\n", + "\\begin{align}\n", + "z_{n+1} & = z_n + \\Delta t \\, b_n \\\\\n", + "b_{n+1} & = b_n + \\Delta t \\left(g - \\frac{g}{z_t} \\, z_n \\right).\n", + "\\end{align}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### And solve!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To apply the numerical solution method, we need to set things up in code: define the parameter values needed in the model, initialize a NumPy array to hold the discrete solution values, and initialize another array for the elevation values." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# initial conditions\n", + "z0 = 100. #altitude\n", + "b0 = 10. #upward velocity resulting from gust\n", + "zt = 100.\n", + "g = 9.81\n", + "\n", + "u = numpy.array([z0, b0])\n", + "\n", + "# initialize an array to hold the changing elevation values\n", + "z = numpy.zeros(N)\n", + "z[0] = z0 " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You should pay attention to a couple of things: (1) See how there is a dot after the numbers used to define our parameters? We just want to be explicit (as a good habit) that these variables are real numbers, called \"floats.\" (2) We both _created_ and _initialized_ with zeros everywhere the solution vector `z`. Look up the documentation for the handy NumPy function `zeros()`, if you need to. (3) In the last line above, we assign the _initial value_ to the first element of the solution vector: `z[0]`.\n", + "\n", + "Now we can step in time using Euler's method. Notice how we are time stepping the two independent variables at once in the time iterations." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# time-loop using Euler's method\n", + "for n in range(1,N):\n", + " u = u + dt*numpy.array([u[1], g*(1-u[0]/zt)])\n", + " z[n] = u[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Make sure you understand what this code is doing. This is a basic pattern in numerical methods: iterations in a time variable that apply a numerical scheme at each step." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot the solution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If the code is correct, we have stored in the array `z` the position of the glider at each time. Let's use Matplotlib to examine the flight path of the aircraft.\n", + "\n", + "You should explore the [Matplotlib tutorial](http://matplotlib.org/users/pyplot_tutorial.html) (if you need to) and familiarize yourself with the command-style functions that control the size, labels, line style, and so on. Creating good plots is a useful skill: it is about communicating your results effectively. \n", + "\n", + "Here, we set the figure size, the limits of the vertical axis, the format of tick-marks, and axis labels. The final line actually produces the plot, with our chosen line style (continuous black line)." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pyplot.figure(figsize=(10,4)) #set plot size\n", + "pyplot.ylim(40,160) #y-axis plot limits\n", + "pyplot.tick_params(axis='both', labelsize=14) #increase font size for ticks\n", + "pyplot.xlabel('t', fontsize=14) #x label\n", + "pyplot.ylabel('z', fontsize=14) #y label\n", + "pyplot.plot(t,z, 'k-');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Explore and think" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Try changing the value of `v` in the initial conditions. \n", + "\n", + "* What happens when you have a larger gust? \n", + "* What about a smaller gust? \n", + "* What happens if there isn't a gust (`v = 0`)?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exact solution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The equation for phugoid oscillations is a 2nd-order, linear ODE and it has an exact solution of the following form:\n", + "\n", + "$$\n", + "\\begin{equation}\n", + "z(t) = A \\sin \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + B \\cos \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + z_t\n", + "\\end{equation}\n", + "$$\n", + "\n", + "where $A$ and $B$ are constants that we solve for using initial conditions. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our numerical solution used the initial conditions:\n", + "\n", + "$$\\begin{eqnarray}\n", + "z(0) = z_0 \\\\\n", + "b(0) = b_0\n", + "\\end{eqnarray}$$\n", + "\n", + "Applying these to the exact solution and solving for $A$ and $B$, we get:\n", + "\n", + "$$\\begin{equation}\n", + "z(t) = b_0 \\sqrt{\\frac{z_t}{g}} \\sin \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + (z_0-z_t) \\cos \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + z_t\n", + "\\end{equation}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We already defined all of these variables for our numerical solution, so we can immediately compute the exact solution. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Pro tip:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The expression is a bit long —if you don't feel like scrolling left and right, you can insert a line break in the code using a backslash '\\' _(without any trailing spaces)_ and Python will treat the next line as a continuation of the first." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "z_exact = b0*(zt/g)**.5*numpy.sin((g/zt)**.5*t)+\\\n", + " (z0-zt)*numpy.cos((g/zt)**.5*t)+zt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot the exact solution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can plot our exact solution! Even better, we can plot _both_ the numerical solution *and* the exact solution to see how well Euler's method approximated the phugoid oscillations.\n", + "\n", + "To add another curve to a plot, simply type a second `pyplot.plot()` statement. We also added a legend using the format\n", + "\n", + "```Python\n", + "pyplot.legend([\"line 1\",\"line 2\"])\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAncAAAEZCAYAAAD13APVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdYVMf+x/H30ItSpClKsXfF2I0Fa1BxTSTWaDSm32hM\noveXaJop9+YmamI0uYk1ttiNuoC9YE9sib03UCxREEEQhJ3fH5SriIqwu4dd5vU8+wR2z8581sHw\ndeacOUJKiaIoiqIoimIdbLQOoCiKoiiKohiPKu4URVEURVGsiCruFEVRFEVRrIgq7hRFURRFUayI\nKu4URVEURVGsiCruFEVRFEVRrIgq7hRFURRFUayI2Yo7IURbIYReCHFRCGEQQgwu4JgaQojfhBCJ\nQojbQoh9Qoha97zuKISYLIT4WwiRIoRYKYSoaK7PoCiKoiiKUtKZc+bOFTgIjADSgPt2TxZCVAZ2\nAGeA9kBd4EMg5Z7DJgK9gH5AG8ANiBJCqBlIRVEURVEUQGhxhwohRDLwlpRyzj3PzQeypJSDHvIe\nd+AaMERKuSDnuUrABaCrlHKd6ZMriqIoiqKUbCVixitn5i0cOCaEWCOEuCaE2C2E6HPPYY0BeyCv\niJNSXgSOAa3MGlhRFEVRFKWEKhHFHeALlAHGAGuATsAC4FchRLecY8qTPbN3I997rwJ+5gqqKIqi\nKIpSktlpHSBHbpG5Qko5Mefrg0KIJsAwYJU2sRRFURRFUSxLSSnurgOZwNF8zx8H+uZ8fQWwFUJ4\n5Zu9Kw9szd+gEML8JxMqiqIoiqIUkZRSGKOdElHcSSkzhBB7gFr5XqoBnM/5eh9wF+hC9pJt7gUV\ntYCdD2nXFHEVMxg7dixjx47VOoZSBGrsLJsaP8umxs9yCWGUug4wY3EnhHAFqud8awMECSFCgBtS\nyjjgG2CxEGIbsJns7VD6Aj0BpJRJQogZwDdCiGtAAvAtcADYYK7PoSiKoiiKUpKZ84KKpsD+nIcT\n8FnO158BSClXAq8Bo8jeD+8tYJCUcvU9bbwDLAcWAduBW0APqaboFEVRFEVRADPO3EkpY3hMMSml\nnA3MfsTrGcDbOQ/FioWGhmodQSkiNXaWTY2fZVPjp4BGmxibgxBCTegpiqIoimIRhBDWdUGFoiiK\nomjFmCeyK0phmHrySRV3iqIoSqmnVnoUczHHPyZKyh0qFEVRFEVRFCNQxZ2iKIqiKIoVUcWdoiiK\noiiKFVHFnaIoiqIoRbJt2zZq1cp/c6knFxwczMaNG42QyHjtxsbGUrZsWYs8H1MVd4qiKIpSQgUH\nB+Pn50dqamrec9OnT6d9+/YapvqfNm3acPz48WK3I4R46IUGFy9eJCIiAh8fHzw8PKhfvz6zZz90\nS9xCt5tfcHAwmzZtyvs+MDCQ5ORki7yaWhV3iqIoilKCGQwGvv/+e61jPCAzM9Ms/QwaNIigoCBi\nY2NJSEhg7ty5+Pn5Gb2fnH3mjN6uFlRxpyiKoigllBCCUaNGMX78eJKSkh54/fz589jY2GAwGPKe\nCw0NZcaMGQDMmjWLp59+mvfeew9PT0+qVavGzp07+eWXXwgMDMTPz485c+bkvTc9PZ1Ro0YRFBRE\n+fLlefPNN7lz5w4AMTExVKpUiW+++YYKFSrw8ssvExMTQ0BAQN774+Li6NWrF76+vnh7ezN8+HAA\nzpw5Q4cOHfD29sbHx4eBAwcW+HkKsnfvXoYMGYKzszM2NjaEhIQQFhaW97per6du3bp4enrSvn37\nh84kDhkyhI8//jjv+3uzDxo0iNjYWHr06EHZsmUZP378A3+28fHx6HQ6vLy8qF69OtOnT89ra+zY\nsfTp04fBgwfj5uZGvXr12LdvX6E+nymo4k5RFEVRSrAmTZoQGhrK+PHjC3V8/qXI3bt307BhQxIS\nEujfvz99+vRh//79nDlzhnnz5jFs2LC8Zd8PPviA06dPc+DAAU6fPs2lS5f4/PPP89q6evUqiYmJ\nxMbGMmXKlPv6zcrKIjw8nMqVK3PhwgUuXbpEv3798l7/8MMPuXz5MseOHSMuLo6xY8cW6vO0aNGC\nf/zjHyxatIjY2Nj7Xjt58iQDBgxg0qRJXL9+nW7dutGjR48CZxUftUQ7d+5cAgMDiYqKIjk5mVGj\nRj1wTL9+/QgMDOTy5cssXbqUMWPGsHnz5rzXIyMj6d+/P0lJSeh0OoYNG1aoz2cKqrhTFEVRlEcQ\nwjiPovcv+Pzzz5k8eTLXr19/4vdXrlyZwYMHI4SgT58+xMfH88knn2Bvb0/nzp1xcHDg9OnTSCmZ\nNm0a3377LR4eHpQpU4bRo0ezcOHCvLZsbGz47LPPsLe3x8nJ6b5+du/ezeXLlxk3bhzOzs44Ojry\n9NNPA1C1alU6duyIvb093t7evPvuu2zZsqVQ+ZcsWUKbNm344osvqFKlCo0aNWLv3r0ALFq0iPDw\ncDp27IitrS2jRo0iLS2NnTt3FthWUZdd4+Li2LlzJ19//TUODg40bNiQV1555b5ZzzZt2hAWFoYQ\ngoEDB3LgwIEi9WUMqrhTFEVRlEeQ0jiP4qhbty7h4eH85z//eeIT/O89P83Z2RkAHx+f+55LSUnh\n77//JjU1lcaNG+Pp6Ymnpyddu3a9r6D08fHBwcGhwH7i4uIICgrCxubB0uLq1av069ePSpUq4e7u\nzqBBg7hx40ah8nt4ePDVV19x+PBhrl69SkhICM8++yyQvVQaGBiYd6wQgoCAAC5dulSotgsrPj6e\ncuXK4erqmvdcYGDgff3c++fs4uLCnTt37lsuNydV3CmKoiiKBfjss8+YNm3afQVFbrFx79W0V65c\nKVL73t7eODs7c/ToURITE0lMTOTmzZvcunUr75hHFZYBAQHExsaSlZX1wGtjxozB1taWw4cPk5SU\nxNy5c4tU+Hh5eTFy5Eji4+NJSEigYsWKXLhwIe91KSVxcXFUrFjxgfe6uro+8s/pUZ/N39+fhIQE\nUlJS8p6LjY2lUqVKT/wZzEEVd4qiKIpiAapWrUrfvn3vu3LWx8eHihUrMnfuXLKyspg5cyZnzpwp\nUvs2Nja8+uqrvPPOO/z9998AXLp0iXXr1hXq/c2aNaNChQp88MEHpKamcufOnbzl0ZSUFFxdXXFz\nc+PSpUuMGzeu0Lnef/99jhw5QmZmJsnJyfz0009Ur16dcuXK0bt3b6Kjo9m0aRN3795lwoQJODk5\n0apVqwfaCQkJYdWqVSQmJnLlyhUmTpx43+t+fn4P/bMLCAigVatWjB49mvT0dA4ePMjMmTMZOHBg\noT+HOaniTlEURVEsxCeffEJqaup9s0zTpk1j3LhxeHt7c/To0bzz3KDgiwgeNUP19ddfU61aNVq0\naIG7uzudO3fm5MmTj3xv7nO2trZERkZy+vRpAgMDCQgIYPHixQB8+umn7N+/H3d3d3r06EFERESh\nl5fT0tJ47rnn8PT0pGrVqsTFxaHX6wGoWbMm8+bNY/jw4fj4+BAdHU1kZCR2dnYPtDNo0CAaNmxI\ncHAwYWFh9OvX774Mo0eP5ssvv8TT05Nvv/32gc+7YMECzp8/j7+/P7169eLzzz+nQ4cOecc9yZ+z\nqQlr2dMlPyGEtNbPpiiKohiPNe1vppR8D/t5y3neKBWhmrlTFEVRFEWxIqq4UxRFURRFsSKquFMU\nRVEURbEiqrhTFEVRFEWxIqq4UxRFURRFsSKquFMURVEURbEiqrhTFEVRFEWxIqq4UxRFURRFsSKq\nuFMURVGUUmjs2LEMGjSoSO/dtm0btWrVKnaG4OBgNm7cWOx2jNlubGwsZcuWteiNrc1W3Akh2goh\n9EKIi0IIgxBi8COOnZJzzMh8zzsKISYLIf4WQqQIIVYKIR68O7CiKIqiWJHQ0FDKlStHRkaG0dp8\nkttj2djYcPbs2bzv27Rpw/Hjx42S4WE5Ll68SEREBD4+Pnh4eFC/fn1mz55d7HbzCw4OZtOmTXnf\nBwYGkpycrOntw4rLnDN3rsBBYASQBhRYEgshngeaAvEFHDMR6AX0A9oAbkCUEELNQCqKoihW6fz5\n8+zevRtfX9+8e6oaw5POTJl7JmvQoEEEBQURGxtLQkICc+fOxc/Pz+j9WOPt58xWFEkpV0spP5JS\nLgMMBR0jhAgiu4DrD9zN95o7MBQYJaXcKKX8ExgENAA6mTS8oiiKomhkzpw5dOrUiUGDBj0wczVk\nyBDeeustwsPDcXNzo0WLFvfNsI0YMYLAwEDc3d1p0qQJ27dvv+/9ubNT3bt354cffrjvtQYNGrBi\nxQratWsHQMOGDSlbtixLliwhJiaGgICAvGPj4uLo1asXvr6+eHt7M3z4cADOnDlDhw4d8Pb2xsfH\nh4EDB5KUlFSoz713716GDBmCs7MzNjY2hISEEBYWlve6Xq+nbt26eHp60r59+4fOJA4ZMoSPP/44\n7/t7sw8aNIjY2Fh69OhB2bJlGT9+POfPn8fGxgaDIbtUiY+PR6fT4eXlRfXq1Zk+fXpeW2PHjqVP\nnz4MHjwYNzc36tWrx759+wr1+UypxMx4CSHsgAXAF1LKEwUc0hiwB9blPiGlvAgcA1qZJaSiKIqi\nmNmcOXPo27cvffr0Ye3atVy7du2+1xctWsTYsWNJTEykWrVqfPjhh3mvNWvWjAMHDpCYmMiAAQPo\n3bv3fUu7uTNWQ4YMYd68eXnPHzhwgPj4eMLDw9myZQsABw8eJDk5md69e9/Xf1ZWFuHh4VSuXJkL\nFy5w6dIl+vXrl/f6hx9+yOXLlzl27BhxcXGMHTu2UJ+7RYsW/OMf/2DRokXExsbe99rJkycZMGAA\nkyZN4vr163Tr1o0ePXqQmZn5QDuPWqKdO3cugYGBREVFkZyczKhRox44pl+/fgQGBnL58mWWLl3K\nmDFj2Lx5c97rkZGR9O/fn6SkJHQ6HcOGDSvU5zOlElPcAZ8B16SUUx7yenkgS0p5I9/zVwHjz9Mq\niqIoCiA+E0Z5FMX27du5dOkSOp2O6tWrU6dOHebPn/+/bELQq1cvmjRpgq2tLS+88AJ//fVX3usv\nvPACnp6e2NjY8N5775Gens6JEw/On/To0YOTJ09y5swZILvo6devH3Z2do/NuHv3bi5fvsy4ceNw\ndnbG0dGRp59+GoCqVavSsWNH7O3t8fb25t13380rFh9nyZIltGnThi+++IIqVarQqFEj9u7dC2QX\ntOHh4XTs2BFbW1tGjRpFWloaO3fuLLCtoi67xsXFsXPnTr7++mscHBxo2LAhr7zyCnPmzMk7pk2b\nNoSFhSGEYODAgRw4cKBIfRnT40fNDIQQocBgICT/S+ZPoyiKoij/Iz/V7nys2bNn06VLF8qWLQtA\n7969mT17Nu+8807eMfeeh+bs7ExKSkre9+PHj2fmzJnEx8cjhODWrVtcv379gX6cnJzo06cPc+fO\n5dNPP2XhwoUsW7asUBnj4uIICgrCxubB+aKrV68yYsQItm/fTnJyMgaDgXLlyhWqXQ8PD7766iu+\n+uorbty4wahRo3j22We5ePEi8fHxBAYG5h0rhCAgIIBLly4Vqu3Cio+Pp1y5cri6uuY9FxgYmFdk\nwv1//i4uLty5cweDwVDgn4e5lIjiDmgHVAAu3zN1agt8LYQYIaUMBK4AtkIIr3yzd+WBrQU1eu/U\nb2hoKKGhocZPriiKoigmkJaWxuLFizEYDFSoUAGA9PR0bt68ycGDB2nQoMEj379t2zbGjRvHpk2b\nqFu3LgDlypV76CzW4MGDefHFF3n66adxcXGhefPmhcoZEBBAbGwsWVlZ2Nra3vfamDFjsLW15fDh\nw3h4eLBixYq88/GehJeXFyNHjmT27NkkJCRQsWJFDh06lPe6lJK4uDgqVnxwAw1XV1dSU1Pzvr9y\n5cp9rz/qqlh/f38SEhJISUmhTJkyQPZWKZUqVXriz5BfTEwMMTExxW6nICVlWfa/QH2gYc4jhOyr\nZb8FOuYcs4/siyy65L5JCFEJqAUUOA87duzYvIcq7BRFURRLsmLFCuzs7Dh27BgHDhzgwIEDHDt2\njDZt2uQtCz5quTE5ORk7Ozu8vb3JyMjg888/59atWw89vmXLlgghGDVqFC+++OJ9r/n5+eUt2ebX\nrFkzKlSowAcffEBqaip37tzJWx5NSUnB1dUVNzc3Ll26xLhx4wr9+d9//32OHDlCZmYmycnJ/PTT\nT1SvXp1y5crRu3dvoqOj2bRpE3fv3mXChAk4OTnRqtWDp+CHhISwatUqEhMTuXLlChMnTiz0ZwsI\nCKBVq1aMHj2a9PR0Dh48yMyZMxk4cGChP8fDhIaG3lenGJM597lzFUKECCFCcvoNyvk+QEr5t5Ty\n6D2PI2QXcleklKcApJRJwAzgGyFERyFEI2AucADYYK7PoSiKoijmMGfOHIYOHUqlSpXw9fXF19cX\nPz8/hg0bxvz588nKyirwYoHc78PCwggLC6NGjRoEBwfj7Oz8wFJm/ve++OKLHDp06IHiZezYsQwe\nPBhPT0+WLl1633ttbW2JjIzk9OnTBAYGEhAQwOLFiwH49NNP2b9/P+7u7vTo0YOIiIhC7x+XlpbG\nc889h6enJ1WrViUuLi5vK5iaNWsyb948hg8fjo+PD9HR0URGRhZ4juCgQYNo2LAhwcHBhIWF0a9f\nv/syjB49mi+//BJPT0++/fbb+/4MARYsWMD58+fx9/enV69efP7553To0OGhf4YlYX88Ya69XXLO\nq8vdJVDyv/PpZkkphxZw/DlgspTy23uecwDGAwMAZ7KLun9IKR9YZBdCSGvbt0ZRFEUxPmvc56yo\n5s6dy7Rp09i6tcCznRQjeNjPW87zRqkMzVbcmZsq7hRFUZTCUMVdttTUVDp06MCwYcOMsuyoFMwc\nxV1JOedOURRFURSNrF27Fl9fXypUqMCAAQO0jqMUk5q5UxRFUUo1NXOnmJOauVMURVEURVGeiCru\nFEVRFEVRrIgq7hRFURRFUaxISblDhaIoilKKpKXBypWwZw9kZECdOvDcc1C+vDZ5SsLeZIpiLGrm\nTlEUi3XpUnaBsGgR/PknZGVpnUh5HClh1iwIDobZs8HHB6pWhV27oHZt+Oc/sws/82aS6lGIR2ys\npHZtyVtvSVJTH3w9M1Py5ZeSSpUkhw5pn7ckP0xNXS2rlHpXrkBqKvj7g5OT1mmUwjh+HEaOhD/+\ngObNwcUFDh2CzEz45BMYNAjUREzJk5kJr76aXYjPmgUhIfe/fu0avPUWnDsH0dFwz/3YFY3duAGt\nW8NLL8H//d+jj50/H0aNgh07oHJl8+SzBupqWUUpptRU+Ne/smcP6taFDh3Aywt0Ovj9d63TKY8y\naxa0aQPPPAMXL2YXAUuWZBd8s2bBt9/C889nj7FScmRlQb9+cPVq9i/9/IUdgK8vLF4M4eHQrl12\nQaFoLysr++9UePjjCzuAAQPggw+yj09JMX0+5UFq5q6IpITfVt3kyxWLOJHyBxkyFU8q0yVYx7/f\nbEFQkJo2KKn274fevaFBi+vUjFjIFZu9pGelE+BaDbvTzzLr340ZMAC+/hpsbbVOq9xrwgT44QdY\nvRo8Kl1h4eGF/HnlTzKyMqjpVZPn6zxPDY96vPwynD0L69aBq6vWqRXInmndvx/WrgUHB4hLimPR\nkUUcuHqALEMWtb1r07tub2p51wLg/fdh+3bYtAkcHTUOX8p98UX2OGzY8L//J55NPMviI4s5fO0w\nAHV96tK3Xl+qeFbJe99LL4G9PUydqkVqy6Nm7jQWfzmLeq9OoM+OKthX38xHLzVnyns6ntM5sNpx\nMNX+FcqYb49jpXWzRVu3Drp0zaDZqC+JaVCdS+IPWge2Jrx6OHb2WczPjKD2v8LYdewcERHZJ3or\nJcP8+TBpEmyIucPsi6Op/WNtDl09RLugdnSv3p3Uu6k8M+8Z+i5/jq9+uESNGtC3b/ZSoKKtFSuy\nH8uWQQYpjFg9goY/N+TUjVN0CO5A12pdSUhLIHRWKC/89gLXbl/jq6+yz8cbM0br9KXb/v3Z/6Ca\nNy+7sLt55yav6l+l+fTmXLp1ic5VOtO5Smfik+NpPr05r+hfITEtEYDvv4f167Nn1xUz0/qkQhOe\nrChNYf/hZOn8SjcZ8ElbeeTyqQdez8zKlJ9ETZK2o71lp7f0MjPTJDGUIti9W0qvSgmy0cRQGTYv\nTF64eeGBYzIyM+R/tv1H+n7jK1u9sFEOGCBlVpYGYZX7/PmnlN7eUm7efVU2ndpU9lrUS15OvvzA\ncWl30+Qnmz6R/hP85dazO2XHjlJ+9JEGgZU8ly9L6ecn5Y4dUsbejJX1/ltPDvxtoLx++/oDx6ak\np8iRa0fKwO8C5Z+X/5TXr0tZqZKUa9dqEFyRWVlSNm8u5YwZ2d+funFKVptUTb4e+bpMupP0wPE3\n027KNyLfkNUnVZfH/z4upZRy40Ypg4KkTE01Y3ALlVO3GKcGMlZDJe1hiuLuxNnb0uHNVvLpb16S\nGZkZjzx286nfpcMYP9l5+AppMBg9ivKELl2S0i8wSVb+OkSOWD1CZmY9uuredHaT9PnGR9YN3yi/\n+MJMIZUCpaZKWaeOlD/OuiZrTK4hP9r4kTQ85i9V1Iko6fONj4z+63dZvryUMTFmCqs84PnnpRwz\nRsq4pDgZ+F2gHLdj3GPHb+GhhdJvnJ88eOWgXLVKyipVVHGghalTpWzVKrvIO3XjlKwwvoL8ec/P\nj3/f3qnSf4K/PHUjewLk+eel/OwzU6e1fKq406C4u5mUKcu+2lM2+uIFmWUo3FROzMk90m60j3zz\n3zuNmkV5MllZUnbonC4rj+0g/xH1j8f+YskVcy5Gev3HR5arfUBu22bikMpDjRwpZUS/27LFtBZy\n9IbRhX5f9Mlo6TvOV05belpWrqyKAy1s2iRlcLCUlxNvyvr/rS+/3v51od+78NBC6T/BX15Muigj\nIqT8+GMTBlUecPu2lBUqSLl3r5TXUq7JapOqySl7pxT6/VP3TpWVJ1aW129fl+fPS+nlJeXFiyYM\nbAWMWdypCyoKqcm7/+ai0xoufLEBRzuHQr9vxg49ry0fxvKwfeg6+Rgtj1J4EyfC+L/ep0Gnw0QO\n0GNrU/irJH49+Cv/t+oz7Gbu5dhfbri4mDCo8oCjRyE0FMJ+fJ27NreY32v+E202+8PuH5i+fzpV\nNu2ifm1nPvvMdFmV+2VmQqNG8OmnkiX0w8PRg5/Df36i8fty65esOb2GuZ0206SRPQcPQsWKJgyt\n5Bk/PnvngMVLDHT9tSshfiF83fnrJ2rjn+v+yeG/DxPVP4r3/8+WjIzs82aVghnzggpV3BXCv2f/\nwSfHdBwZsY+aFSo98fv7TP2AyD+OcG2inrJl1VW05hQfD7W6r8el/0sceutPfFyfvMB+I+oN1my6\nTX/HuXz1lQlCKgWSEjp3hqCw34hx+Cd/vv4nbo5uT9iGZMBvA3AyeBP55mR274YqVR7/PqX4Zs7M\n3qR48MRf+O73b9nz6h6c7J5sI0mDNBA+P5ynKjzF3bVfkpQEP/9sosBKnuRkqFYt+wrZdbe+Y/HR\nxWx7aRt2Nk92U6tMQyYdZndAV1PHoKqjqF07ez9KVaAXzJjFnebLp6Z6YKRl2St/35G2I2rKf69Y\nUuQ20jPTpceYujJs1AKjZFIKr/eAFOn2aaBcf2Z9kdu4nXFbBk2oIt2eWiWPHDFiOOWR9Hopa4bc\nkH7j/OSuuF1FbichNUFWGF9Bvjx2uxw40IgBlYfKyMg+T27puovS+xtveejqoSK3denWJen9jbfc\ncvyA9PKS8tSD17EpRvaf/0jZv7+UJ6+flF5fe8kzCWeK3NaZhDPS62svefrGaTlypJTDhhkxqJVB\nLcs+nrFm7lr933+4ZLuDC19FFquddUf+oOvsZ1n/3BE6tCxX7FzK423fDt2+/YBu/S6ysM+8YrW1\n/sx6+v76Kq3+OkzUb2WMlFB5GCmhcWPwGfoGNarYM7nb5GK1t+zoMsZs/IjEfx9g8wYH6tY1UlCl\nQLNmZc/alR/Wn2qe1fiiwxfFam/G/hn8vO9nusf/zvlztsyaZZSYSgEyMrLvKhEdLfngcFc6VenE\nqFajitXmhJ0TWHV6FfM6b6BOHcHp09mbxiv3U/vcmcna32P53WY8y18r/kkCXeo2p7XPswye8SVW\nWk+XKFLCu/8+hmw0g4ndxhe7vc5VO9O5Viu2ZU5g1y4jBFQeaeVKuO2+h4PpK4tdGABE1ImgSrlg\nWr79Ex9/bISAykNlZWXf/aXH25v4/eLvjG4zuthtDm00FHsbe3w6zUOvz76nsGIaixdn3+P3nOMK\n4m7FMaL5iGK3OaLFCK6mXGXPrUh69oRp04wQVHk0Y00BlrQHRliWrTRssOzylfE2ybqYeEXajvaS\n05cVfYpbKZwNG6R0Hfqc/HrbOKO1eTbhrHT9vJxs2fmy2t7GhAwGKRuGGGTdce3ktH3TjNbuoauH\npO83vtInIFEtr5vQsmVStmiZJRv93EguOVL001ny2xG7QwZ8GyD/8Xaq/Oc/jdascg+DQcpGjaRc\nGZkhq02qVqzTWfJbdXKVrDm5pty9L0NWrJi9dK/cDyMuy6qZu4dYtPE48a7RzHmzeNPR96ro4Uef\noBGMXDUGg8FozSr5SAnvjtuDQ+XdDG/+ltHarexZmVebDuGI92fs2GG0ZpV81q6FW16byHCMZ0jI\nEKO1W8+3Hj1q9qDmy18xYYLRmlXy+f57aPnScoQQRNSOMFq7rQJa0bxSc1w7TWTGDLh1y2hNKzm2\nbs2+J/OVCrMJdA+kU5VORms7rFoYAe4B7M2aTvXqsHSp0ZpWCqCKu4cYsXwsOt/38HN3N2q7U4e8\nx23fzfyw6KhR21X+Z+tWOBP8If/q8jHO9s5GbfujtmPIqrWYT7+7YNR2lf/5bqLEpuNHjA0d+8RX\n5z3O2NCxHHacxrLV17l82ahNK8Bff8Hps1msyfiEL9p/8UTbnhTGl+2/ZNbx72jXOYVffjFq0wrZ\n94B97c10vtz6OV+2/9KobQsh+HeHf/PV9q94460MddWzianirgBz1x7iepkYZr4+3Ohtl3F0pU/Q\nCD7b9JXSV/3sAAAgAElEQVQ6985EPpqyE+dKp3ml8VCjt+3l4sXrTV/hdzGew4eN3nypd/Qo7E5Y\njaNbMn3r9jV6+5XcKtG77vNUH/g9k4t3jYZSgEmToPXri/Bwcqdrta5Gb7+md03aV25P+e5TmDIF\n9f9QI0pIyL4HbFbDGdT3q0/LgJZG76NpxabU9qlNYuAcTpyAkyeN3oWSQxV3Bfhw1Xi6eY3A09U0\nV0X+MOgtknxWMzfqrEnaL81OnoTd9uP4MHQk9rb2Junjn23eRdb/lS++vWqS9kuzSZPAvds3fNh2\nzBNtNv0kPmj9AafL/cTUOUmkp5uki1Lpxg34bbnkiMc3fNT2I6PP2uUa03oMK65NIFOksX27Sboo\nlebNg67ds/j54ATGtB5jsn4+avMR43//Dy8MymTmTJN1U+qp4i6fHQfjuegSyY8vvW6yPjxd3Onm\n+wajo74xWR+l1djJJ7GrvIPXmg0xWR/ly5RnQP0BrLz2Hdevm6ybUichAX7dvI+7Zc/Su05vk/VT\nxbMK4TW74tHpJ377zWTdlDrz50PjiE0YRAZh1cJM1k/D8g1p7N+Yhi/OUkt7RiJl9hWstZ5dga+r\nL60CWpmsrzZBbfAv649/pyXMng1375qsq1JNFXf5vP3rZJ6yf4EAb9PuRffDi8O47LWIXX8lmrSf\n0iQxEZbFf8vrjd/A1cHVpH2Naf8ePDWdn2ekmrSf0uTXX6Fc9wm813KEyWZdc73X4j1uVv+Rn6dm\nmrSf0mTmTEhpMIH3Wr6HjTDtr5aRLUdy0HkyUdFS/QPLCHbvhjt3YO2tCYxqOcpks6653mv5Hksv\nTqJqVVi1yqRdlVqquLtH7JUU/mQ6k194x+R9BZYrTz2H7oycN8PkfZUWP835G1l3ER90GGbyvqp4\nVqFphZZ8v2k+WVkm787qSQk/zY8l0Wstrzz1isn7a1ShEbXKB3MwYwXHjpm8O6v3559w1XCUCxn7\nGdhgoMn7axfUDgd7W5r22civv5q8O6s3ezZ0GLyTq7ev8mytZ03eX48aPbicfJn2L+xRF8aYiNmK\nOyFEWyGEXghxUQhhEEIMvuc1OyHE10KIA0KIFCFEvBDiVyFEQL42HIUQk4UQf+cct1IIYbS71I2c\n/SuVDG1oWbOqsZp8pK+efZs/DD+SkKiqg+KSEiZvm0UH/2fxdfU1S58fdxnO7bqTWbNGndVdXPv3\nQ3zFnxja+EXcnYx7hfrDjGjxNmU7TWbqVLN0Z9VmzoSKvSbzZpM3n/j+sUUhhODtZm9zu94k5s41\neXdW7e5dWLIELgf8wPBmw012ruu9bG1sGdZsGKe8JrN5M9y8afIuSx1zzty5AgeBEUAaIPO91gj4\nMue/PYEAYI0Q4t6ftIlAL6Af0AZwA6KEKP4agMEgiYyfwoin3yhuU4XWPaQZHg6+vD8jymx9Wqvf\n/zBwPWgKn3Qz3bmS+XWq0gl3r3T+NW+b2fq0VlOmZ5BV/xfebGK+v3/P1nqWu2XOMHvNAXXeTzHc\nuQPzl6ZwymGRWWZdc73Q4AVO3dlJbPJZNftaDOvXQ3Cd62y9vIrBDQc//g1GMrTRUNaei6R12FV1\n7qsJmK24k1KullJ+JKVcBhjyvZYkpewipVwipTwlpdwDvA7UBmoBCCHcgaHAKCnlRinln8AgoAFQ\n7J0WZ6zeh8EhkXd0xtu0sTDefGoYC07/V13SX0yfzdmEt7srLQOam61PG2HDqLbD2GvzA1eumK1b\nq5OaCvP36alXvhY1vWuarV97W3veav4GDq1/Ys0as3VrdSIjwbfDQkIrt6Wim9EWUh7Lxd6FISFD\nCI6Ywrzi3Tq6VJs/HyqFz6ZnrZ54Onuard9yzuV4vvbzeITOZP58s3VbapTkc+5y12ZyrzhoDNgD\n63IPkFJeBI4Bxb6055uNU+ns9Sq2Nub9Ixnz7POkldvLyphYs/ZrTW7dgk1JU3in9RsmPxE4v5eb\nDoSq65j26w2z9mtNli8Hp9ZTGd7qNbP3PSRkCMkBi/llnrowpqgWLoQ7dafyWmPzj9/LjV7mnNsc\n5v6aqe76UwSpqRAZJTlkP5XXnjL/+L3y1Cv8kTGTvfuk2lTcyEpkcSeEcAAmAHopZXzO0+WBLCll\n/t+iVwG/4vR3/vItTjsuYdwA4296+zguDs40de7Lv6Jmm71vazF94RWosoE3n37B7H17OHnQtnx3\nft6u/ulZVNOXnSWj3J/0qt3L7H1XcqtEq8AWrL6wTJ33UwS3bsHaA39y1/EKz1R9xuz91/apTXWf\nytjUXM02dXbEE4uMhBpdYnBysDfp9icP06xiMxztHWjRZxuLF5u9e6tm3Hv7GIEQwg6YR/b5dOHF\naWvs2LF5X4eGhhIaGlrgce/PW0DA3Q7UCSxfnO6K7JMeQ+kxpw8ptz+kjGuJrLdLtB93zKFt4wjc\nHN006f/9Z4bS/fgo/vprOCEhmkSwWNevw6706bwa8qJZTsQvyBvNXuavIz+wdOkgXjHfKWNWQa8H\n72emMbTJK2Y5Eb8gLzd6me/iZzJ/fg/atdMkgsWaPx/s2kzj9cavm33VA7IvjBkaMpQ1ciYL5rZl\nxAizR9BUTEwMMTExpmlcSmn2B5AMvFjA83bAEuAo4JvvtQ5kn6vnle/5I8CnBbQlC8v17Zby84WR\nhT7e2AwGgyz7f/XlB1M2apbBUsXFGaTNsLpy/cktmmXIMmRJ90+D5ICR+zXLYKl+/G+WdP6wojx0\n9ZBmGdIz06Xblz6ySZfTmmWwVGHhd2SZz8vJCzcvaJbh1p1bsuy/3KVX4BV5965mMSxOUpKUZbyS\npNu/3eX129c1y3E15ap0/8pdepZPknFxmsUoEXLqFqPUWSVmmkgIYQ8sAuoB7aWU1/Idsg+4C3S5\n5z2VyL7gYmdR+1239wxpzqf553PmX1LIJYQgovLL/HJA7Xn3pCb8+hcuHil0qNZasww2woYXGwxh\n+blfyFR74j6RKWu2UN7Nh3q+9TTL4GDrwJBGAzls9wsXL2oWw+IkJMCW+FWE+Ncn0D1QsxxlHcsS\nUfc5nFrMYetWzWJYnFWroEr332hfORQvFy/Ncvi6+tKhcgdqRixixQrNYlgdc+5z5yqECBFChOT0\nG5TzfUDOdidLgObAgOzDRfmchxNkX1ELzAC+EUJ0FEI0AuYCB4ANRc31L/2vNLDti5ODaXfEf5wv\n+77ANfcoTpxL0TSHpZl3eC49Kw80+Y74j/NehyHcrTWfdRszNM1hSeLi4LjjPF5vYfpNbx/n5cZD\nsG00jyVL1Vn5hfXbb1AudB5DGg3SOgovhbxEVt15LF2qdRLLsXw5ZNSea5ZNpx9nSMgQbgXPVVui\nGJE5fyM2BfbnPJyAz3K+/gyoBOiACmTP0MXf8+hzTxvvAMvJnuHbDtwCeuRMZz6xrCzJzpR5vNdR\n+x/uip7eVDS05vNFK7WOYjEOHMokwX8BH4Zr/8sl2COYSk61mBi5XusoFmPewjSotZxBjfprHYX6\nvvXxKluGX9bv0jqKxZi7NJFEjw1E1InQOgqtA1uDcwKLYw6rO8YUwp07sHrHRa7wJ+E1inVqu1GE\nVQvjStYR9pyMVbeTMxJz7nMXI6W0yXnY3vP1UCnlhQKez33MuaeNDCnl21JKbymlq5Syp5TyUlEz\nzVizBxsbeCG0mXE+ZDG90KA/0bHqqsvC+vfCDfg6BlDb13x7oz3Ky836syVhPhlq8q5Qpm2Jop5X\nY/zL+msdBSEELzfrz0nH+Vwq8v9RSo8bN2B3ylKeqdYFDycPreNgI2wY2LAfdiEL2L5d6zQl34YN\n4N1+Ps/XidDsQqZ7Odg60Kt2L4LDFxEZqXUa61BizrnTwqSYubT1GIiNjfmvEirIB8/25JbHdv44\npP7p8jhSQvTFubwYov2sXa7XWvcmq0o0UWtvax2lxDt3Di55z2V425IzfgND+iPqLWHxUnW7iseJ\nigLXlvMY3Ej7VY9cA+oPIKPmApYsVTvCP87y5XCnxjwGNSw5f/8G1B9AcvB8tTRrJKW2uLuddpej\nNov45Fnz7432MB4uZalKGP9ark4ceZyde26TVimKkV36aR0lj6+rL9WdW/D9GvVPz8eZu+w6BG0l\nos5zWkfJU8WzCkFuVZixeaPWUUq8X6MukOF2lK7Vu2odJU9I+RA8yjqwcNsfakPjR8jMhN92HEQ4\nJ2UvZ5cQbYPakm53lU2HjpGcrHUay1dqi7uJKzfjercybepV1TrKfV5pNoCNVxeo25E9xgT9agJt\nm+NbxkfrKPd5vVV/diUvID1d6yQl29w9y2nu9QxlHctqHeU+r7UcwCnHBcTHP/7Y0io1FbbeWEyv\n2r1wsHXQOk4eIQRDGg9A1pvPnj1apym5tm8Hp8aLeaFhX80vRLuXrY0t/ev3o0LnBaxerXUay1dy\nRtbM5uxdQge/3lrHeMCI7mHccTvM+j/itI5SYkkJ6+OXMKBhyRu/oa2ewxAUw7LoxMcfXEpduQLn\nXZfwZruSN34DGvaBmnoWLE3TOkqJtXYtOD61hIFPlbzx61+vP+nVFrNCr/Ykepjflkvu1ljC83We\n1zrKAwbUH8CtoAVERqnZjeIqlcVdWnomp+xW8H/hJe+H28nekXp2z/F1tLoXy8PsPZDK7QpreCes\n5Czp5XJzdKOeSycmbVymdZQS69flNxCV/kBXu+Qs6eUqX6Y8td2bMHvHKq2jlFjzoi5gcDtHaHCo\n1lEeUN2rOgHuASz8PUbrKCWSlLBs62EcXdJp6t9U6zgPaFyhMa4uELlvn7rquZhKZXH3/coYXNKD\nebpusNZRCvRyy+fZmbhMLc0+xPiVq6lk0xQfV2+toxTotaf7sD91GXfVefkF+mXXChp7dMHVwVXr\nKAUa2vJ5jgl1r9mCZGbC6gtLCa/+LHY2Je7ulQAMahzB1XLLOHtW6yQlz4kTkBK0hH4NntfkdmOP\nI4Sgb4MIHBosY/durdNYtlJZ3M3es5RQ35K3pJDr9S4dyHA7zpb96sSfgqyNW0LfeiV3/AY170ZW\nxR2s2qSqg/xu3oTjNkt5o23JmzXP1adBT0T11ayMUidO5rd1K9jUW8qQpiV3/HrXjYDaK1ipV1M/\n+a1aJbGpt4TedUvu+EXUjiCzxjK1NFtMpa64S8/I4oTN8hK5JJvL0c6B6nRnQvRyraOUOAePpnHL\ndw0ju5W8JdlcZR3LUsMhlB/XR2kdpcRZtDIREbiTiAbdtY7yUOXLlCfYpT4zYtSG1PnN1cdh8DxJ\nh8odtI7yUNW9quPr6sO8LWpD6vyWbT2KncttmldsrnWUh2ri3wQHl3SWbT2idRSLVuqKux8it+Kc\nUYm29atoHeWRBj4VQcw1dd5Wfl8vX42/aEz5sr5aR3mkQU0i2HbjN7W0ns+0bStpUKYjZRzKaB3l\nkQY1ieCPW7+pDanvISWsOLGMZ4J7Ym+r7e0aH+eFpyI4lLWMRHVdU57UVNiTtoS+9Uvmkmyu7KXZ\nXsSVXUacuq6wyEpdcTfzj6W09S65s3a53gl/httu+9h77G+to5Qoq88voXedkrskm+v10B5k+G9k\nx261oXGutDQ4cHcpr7Uu+X//hjTrhaG6ng2b1ImTuY4ehbTKS3mlZckfv/4NI7Cr9xurV6t/XeXa\nvBnsGy5hQEjJH7/edSNwDFlGdLTWSSxXqSruMu5mcVwsY1S3kv/DXcbJmeCsLoxbqdc6Solx6lwa\nN31W88/wXlpHeSwvl3IE2jZnYvQaraOUGJHrbyIDt9K/sfb3snycAPcAyjtWYcraLVpHKTEWRF0C\nn6N0rtpJ6yiPVdenLmVdHJm9fp/WUUqM+euPYueaRItKLbSO8lgtK7VEulxj0fpTWkexWKWquJu6\nZicOd/3o2Ki61lEKpU/9CNZfUkuzuSbqN+FjaIi/e8leks3Vp14EG9T45ZkaE0UNh1DcHN20jlIo\nvetFsPGyumo916JDy2nlHV6iNi5+GCEEfepHsOVvddV6rjXnl9O9Sq8StXHxw9ja2NKrznPsTFpG\naqrWaSxTyR9lI5r9u55mbs9qHaPQRum6k1h2OycuqKsuASJP6ukSpNM6RqGNCOvJLb/VHDmhrrqU\nEnYl6OnfyHL+/r3ZLoI7wcvZu19ddXnrFpyz1/Nqm5J7IVN+g5tGQO1l7NihqvPTpyG5op6hrXpq\nHaXQBoRE4NhwGZs3a53EMpWa4s5gkBy4s5LX2lrOD7e3W1kq3g3l6+XqqsvkFAMXXSJ5t6vlFHf+\nbuXxoz7frtigdRTN/XkwnTT/dbwWWvKXZHNV96qGp4MfP+p3ah1FcyvXJkGl3+lRp7PWUQqtcYXG\nOLmmM3ftYa2jaG5h9GWE1ynaBbfVOkqhtQtqR5bbORauvqB1FItUaoq7NXtPkGWTSv/QRlpHeSI9\na/Qi+uwKrWNobmrkPpxt3Hkq2DKW1HP1qNaL6DO/aR1Dcz9Gx+An6uJXxjKW1HOFV+nFmnMrtY6h\nuV+2rqGmU5sSf5XzvYQQPBP0HNFn1Pgt2h9FU8+wEn+V873sbe3pFBjO6nPqvPOiKDXF3Q/r9dS2\n0WFjU3IvAS/IKF13rpVZz9+Jd7SOoql5e/U097CcWbtc73bTcc0jmus3DFpH0dTqc3rCqlje+L3Z\nUcff5VZy+XLpXdqTEn5P1NOvkeWN36tte3LdS8/Fi1on0U5aGhyTel5qZXnjN7hFT5L99Zw+rXUS\ny1Nqirvtf6+k/1OWsySbq7KfDx7p9fl+ZYzWUTRjMMDhuyt5I9Tyxq92+SqUsfHhxxWl9146CQmS\nK+563n7G8n65NK0UgmOZO8yKOqF1FM3s++su6YGrGdracpbUc7ULbo2tz2kWRpfeu/2s23wbgrYQ\n0TBM6yhPrEvVzkj/P1ixOknrKBanVBR3R85fI9n5CMPDQ7WOUiTtyutYeqj0Tk1Hbj+HdL1CRPOS\nu6v6o7T21rH4QOkdvyn6v3C2dyKkYi2tozwxIQQtPHXM3196l/Z+XrUdb9uqVHSrqHWUJ2Zva09j\n9678uidS6yiamb55PUH2zfBw8tA6yhMr41CGumXbsGCP2lLqSZWK4m5CZDQV0zvj5uqodZQiGd5F\nxykbPZmZpXNp6KeNkdS2DcfWxlbrKEXyZkcdJ9CTmal1Em0s3K+npaeuRO+K/yivttVxzKAvtVtq\nrD6r55lgy5t1zTWkpY7Dd/Wl9m4jW6/p6VXHcsdvYFMdBzP0pKtNB55IqSju1pzVE17Ncn+4OzSo\niZ10Yc76P7WOoomdNyzzfJ9c3UOaIlyvs3TjGa2jmF1WFhzJ0vNaqOWOX69GoeBzhOiYa1pHMbuE\nBMllt5UM62R5p0Tk6vtUGIaAbWzclqJ1FLM7fSaL5PJRvNnBcv/+9WsUjqy6mi3bSum/rorI6ou7\nhFtpXHbexD+fLbk3Kn8cIQRPufRk5o7St7R39OxNkt13M6yr5WzBkJ+NsKG+Qw+mbS19S0ORW+PA\n/QK9mjytdZQic7RzpIZdZ6ZuLn33QpoZdQQnZwNNA+trHaXI3J3cCbJrzpQN67WOYnY/R/2Bh20F\nqpQL1jpKkVV0q4iffVVmbtymdRSLYvXF3UT9RtxTG1HVv5zWUYplSCsde1NK33k/3+rX4J/RFncX\nV62jFMuAJjr+uFn6ivOfN0VSy64bdjZ2Wkcplt4NdGy/XvrGb/4+Pc3cLXdJPddztXVsuVL6xm/l\ncT2h/pY7a5ere7WebLxY+savOKy+uFtyUE+78pb/w/1Sp5ZkOMWx7WCs1lHMavVZPd2qWu6SUK43\nunQk1WMvfx1P1DqKWe28oadvQ8v/+/dW526k+GzkxJk0raOYTfZV6npebm0F49dJR5JvNOcvlJ67\njaSnw1n7lRa9JJvrjfY6Enz0xMeXzvPOi8Kqi7vMLAMniWREmOUXBw52dlQ1dOf71aVnaS8p+S7x\nLmt4L9zytmDIr4yjC5Uy2zMxerXWUczm2NlbJHvuYFjYM1pHKTbfsl74ZDViUtQmraOYzfpdV8jy\nPEHfFpZzV4OHqeIVhLuNP/+N3KV1FLNZsO4ktq5JdKzdWOsoxdbIvz5OzgZ+iT6idRSLYdXF3ewN\ne7DPLEeHkKpaRzGKiHo6NseXnqnpyfqtlL1bndqVKmgdxSjCq+lYe770jN/EyHWUv/s0nq5ltY5i\nFJ0DdESdKj3j99PGKKrxDA62DlpHMYrQCjqWHy094zdrZyQNnXTYCMv/NZ+7JdGiUryl1JOy/FF/\nhJk79DRytfwp6Vzv6rqQ4LqL2Ku3tI5iFov+0tPa23rG773wcK6UWUtCUunYk2HVGcveQiO/EV11\nxDlHkppWOu42svWqnoh61jN+/+io46x96dkSZc8tPQMaW8/4vdxax7EsPVmlZ2W9WMxW3Akh2goh\n9EKIi0IIgxBicAHHjBVCXBJCpAohNgsh6uR73VEIMVkI8bcQIkUIsVII8dCdNfelWOYtVx7Gz6Ms\nPmlP861+rdZRTM5gkBwz6Hmzo/WMX7UKfrhl1OKHyK1aRzG5lNRMLrms4r1uPbSOYjRNq1THCXem\nr9qndRSTi72cSqJ7DG9366p1FKPpWOcpbF2SWbDO+u82cuDkDdLc/+L1Lh20jmI0zzdti6HcCdbt\nuqJ1FItgzpk7V+AgMAJIA+47M1II8T7wHjAMaApcA9YLIe69U/VEoBfQD2gDuAFRQhQ873zX/m+G\ndrHMuxo8TKdAHSuPW//U9JIthxE2EN60ntZRjKqNj45Ff1n/+P0UvQOXu0E0CA7QOopRNXHTMW+P\n9Y/f95Eb8E5vSnl3T62jGI2NsKGBYw9+2Wn95y1/v2oVFTM64uLgpHUUo3GwdaAazzBlU5TWUSyC\n2Yo7KeVqKeVHUsplwH3rGiL7Ovt3gK+klMullEeAwUBZYEDOMe7AUGCUlHKjlPJPYBDQAOhUUJ/V\nDOHY2VrXyvO73XtwwX4VaenWfbuDqVv1NHDoafFbMOT3VueenGAlBoN1X/U1f5+eFp7WM+uaa2gr\nHQfuWP+WRCtPrKR9Resbvxea6Nhzy/rHb+2FlXStYn3j91wdHVuvWf/4GUOhKp+cJdJPCni+nBDC\nGJePVQb8gHW5T0gp7wBbgVY5TzUG7PMdcxE4ds8x93m+gfX9cDetUQnn9MpMWb1d6ygm9XviSl5o\nYn3jF/ZUbWywZ9GWg1pHMRmDQXL47kpebWt94zcwtAWZTlfYuP+c1lFMJuNuFmftonj7GetZUs/1\nWucOpLkd5MCp61pHMZlbqXeId9rAu+GWu3H/w7zdrSuJbluI/ztV6yglXmGntdoB7wghlgohnO95\n3gEINUKO8jn/vZrv+Wv3vFYeyJJS3sh3zFWyC8MHvKsrcELP4jXz0DF3t/UuDe0/FU+a82ne6NpG\n6yhGJ4SgvoOOaVutd/xW7TmOtEmnd+sQraMYnZ2tLdUM4fy43nqX9uZs3I3DXV9a162idRSjc3V0\nomJGRyZGr9I6isn8vCaGMrfrUzvQR+soRufv6Um5O02ZFLVB6ygl3pNsG98JmApsF0L0kFLGmyhT\nfkVev/rhu2/yvg4NDSU0NNQYeTT3ejsdL0Y9j8EwARsb61q2BPguOoqA9DBcnOy1jmISA5vq+Gjr\nP4GPtY5iEj9t1FNT6KzyZxOgV10dU//6AXhb6ygmMet3PY2crW/WNVe3Kj2JPLUSeFHrKCaxYL+e\n5lZ4SkSutn46lh9byX+w/M8YExNDTEyMaRqXUj72QfY5cr6AM7AIuAQ0IXs2zVCYNvK1lwy8eM/3\nVXL6aJzvuGjgl5yvO+Qc45XvmCPApwX0Ia1VVpZB2o4KkJG/H9E6ikn4vtNdDvt5gdYxTOZ2WoYU\n75eT+09f1DqKSbi920qOnbdG6xgmc/lGimR0WRn3d6LWUUzCaWQd+eOK37WOYTJHzl+TjHaTSbfT\ntI5idAaDQdq/X1EuWH9c6ygms27PGWnzvq+8m5mpdRSjy6lbnqieetjjia42kFKmkX2l6lQgBuhT\ntJLyAeeAK0CX3CeEEE5Aa2BnzlP7gLv5jqkE1LrnmFLBxkZQ20bHjxusb2nvetJtrjlv5T1dmNZR\nTMbFyZ6A9K58F219V32dvnyNW45HGB4eqnUUkylfzhWvlLZMjFqjdRSj233qDOk2CQwNa6p1FJOp\nE+RDmZQG/Hf1Zq2jGN3ag3+SdceF3u1rah3FZDo1roJtmi+Ld+7WOkqJ9sSXkuYUmJ8BQ4CvCvs+\nIYSrECJECBGS029QzvcBORXrROB9IcRzQoh6wCyyZ/jm5/SbBMwAvhFCdBRCNALmAgeAUrcA36+R\njh1WeCPziZHr8bjdnMoVPLSOYlI9auhYd8H6xm9CZBTlb3ehnLuj1lFMqkNFHSuOWd/4fb9GT9Cd\nHjg5WtcuA/k199Sx8E/rG7//btRT3dATW1utk5iOEFDXXseM7dY3fsZU2L/BHYD77ngupVwKNAde\nKmQbTYH9OQ8n4LOcrz/Lae8b4DvgR2AP2RdJdJFS3r6njXeA5WQvDW8HbgE9corDUmVYeDuSnY5y\nNDb/NSiWbcmhlbQrb31X6eU3smcYVx23cSM5ResoRhV9Wk+XIMs/F+Zxhj/Tg7M2a8jIvKt1FKPa\nEKcnvLr1j98rbXQcydRjbb86tl1bSa86ln8v9cfpG6Ljj5uquHuUQhV3UsoYKeUD/xeTUh6WUs5+\ngjZsch6293w99J5jPpNS+kspnaWU7aWUR/O1kSGlfFtK6S2ldJVS9pRSXipM/9bGvYwjFe88w4RI\n61nay8zK4rSIYngX6//lUtnfDY/klkyKXvf4gy3E7fQ0Ltpv4t3wblpHMbnWDSvgkFKdWTHWc7eR\na8kJ/G23nxG6jlpHMbne7WtiuFOG1Qf2ax3FaM7eiCVJXuQtXUuto5jc6+FNSTUkcDj+tNZRjObw\nFePeOcW6596tXLeqOlaftZ5/vczd/Dt2d/zp8FSw1lHMoo2fjiUHrWf8fl63EeebTxFSs5zWUUxO\nCFhtkV8AACAASURBVGjkomPWLusZvx/XrqbsjfZUC3J+/MEWztYWahh68tMm6xm/H9ZF4nm9OxX9\nrXhNNoenhw2+N3swea31bEn03erlRm1PFXcWbKSuK5cdN5OYYh0bOs7YoaeRc0+s7KYUD/VWpx6c\nkNFkWsmdsH/dq6eZu/XPuuYa3ELH/tvWs7S35KCe1j6lZ/wi6unYZkV3O1hxXE9ohdIzfp0Ddaw6\nYz3F+epzxv0sqrizYDUDy+F2uzGTozZqHcUo9qWsZEjL0vM/py7NA7G9XYmFO3ZpHaXYDNLAoYxI\nXm1r/edL5hocVo+MDNhx6rDWUYotIyuDk1nreL299d3V4GH+0aMlt+QlTl+/oHWUYruVfosLWbt4\nrWOXxx9sJV7v0pF4uZ+EtAStoxTb1ZSrXM06+vgDn4Aq7ixcayu5Ef3WoydIJ5mXwp7SOorZCAEN\nHHVM32b547f6wF4Mtz3p06m61lHMxtlZEHynJ5PXW/74Ldu7BXGjNt3aFXizH6vkX8GWcje6W8XS\n3qK9a7G52JqObcpoHcVsWjV1xu5ie+bssvy7jczbHYXt+WeM2qYq7izcsE46jstIsgwGraMUy+S1\nkVS52wNHh9L1IzmomY7dSZa/NPTfTXpqSB12T3LPGyugq6Vj40XLH7/p2/TUsS1949feX4f+hOUX\n57/s0lPfoXSNn41N9nmv8/ZY/vjN26unkYtxV61K129SKxTWvCq2GV4s2LpH6yjFsumSvlRcwp/f\nq92f4o7hNn+cMe6VUua2/Zqe3g1Kz5J6ruG6NiRwmrib5robo/FJKdmVqKf/U6Vv/F7v1IVYwy6S\n7iRpHaXIMg2Z7EtaxYAm4VpHMbuBzbpz8PY60jPTtY5SZKl3Uzmcspn+TboatV1V3Fk4IaChY0+L\nvhF93I3rJDgc4J1n22sdxexcXASBaTq+X2O543f86jmS5RXe6tlc6yhmVzXYHrdrYfy43nK3JNp3\n8SB3Uu15Kby21lHMrv3TZbC91IYFe9ZqHaXItp7bQdaNygwIr6R1FLPr3c0Pw9U6bDyzResoRbbu\n9AaIb8Lz3Y27y4Aq7qzAi8117LlluUtD30VF453UCX9fJ62jaEJXU8eGWMst7iaticQ7IRw/X+vf\ngqEgbf10/HbEcsfvx416fBN1+PmVksvU72FrCw0cezLrd8sdvylb9Pgk6PD31zqJ+fn9f3v3HR1V\ntT1w/HvoJUpLCFWqgNJEQRGlS4fQghQpggJi7+894fl4ovgTQRCUJyII0kSMNBEF6T1A6IReQ0mA\nJBCSQMrs3x8TMEaBADNz70z2Z61Zydy5954NZ01mz6mBEBjT3qvHLU9aNx//C0GUcnFursmdD+jf\n+lGuZDvPhv2HrQ7ljswLX0CTUlmvS+ia19o35nz2XZy5eM7qUO7IzwcX0Oy+rFt/A5q05HDKauKT\n4m99sg0tPjKfluWybv31rNOWbZcWk5zqfbuNiAhLTsynTcWsW39t7g9iWYR3LkmU6khlRcTPbtkV\nRpM7H5AndzbKJrXl88XeN+srMfkKx7L/zuuts84SDBlVKJObe88/xbjfFlkdym2LSYwlQkJ5pXUz\nq0OxTIuGBcl2+jFmb11qdSi3LeJSBOdTjvJCqyesDsUy3duWJPV8eVYeWWt1KLct/Hw48YlJPNuy\nptWhWKZHsypcjc/NjsgdVody20JPheK4XJTuLcu7/N6a3PmIDg86v714m2+WLSd3TE3q1vC3OhRL\nNSwWxI+7vK/+Jq9ZTO6zDXjs4fxWh2KZnDmhWq4gJq/zvqERU9b/TI7jrXi0dk6rQ7FMYCAUjQ3y\nynHL0zYvINvBIOrWzXpd6tfUq2eQ/UHM3Op9779Z2+eTujeIJ9zw3UqTOx/xZvunOJ9rC6djYqwO\n5bZM3TSfOvcGZZldKW7kxWatOSzLuJJyxepQbsu0zfOoc2/W2VXkRp6p3Y7NF38m1eFdu43MDJtH\n3QLtyZbFPwlaVwhiyYn5Xte198OOedQt1D5LLYGSUa5cUOfeIOZ42ZdjEeHHXXN5rEB7cud2/f2z\n+Fvad5QKzEeRS435bOFiq0PJtFRHKjuuzOeFRh2tDsVyzZ7wJ/u5mszcsNzqUDItMTmR3Vd+pX/9\nrLeETUa92pUlJaYEa49ttDqUTItJjOFg4gb6NXDtEgzeqE+LGiRcSWXvOdfuEuBOEZciiEg4SO8G\njawOxXLdn3iC0wnHiLgUYXUombb33F4uJibQrX4dt9xfkzsf0qRUEHP3eE/T9I+h65DLxejarILV\noVguWzaomae9V3Xt/bhtCZypRXCrolaHYrnAQAiMDeJ/K7yo/nYthGONadci6+xqcCOPP27IdiCI\naZu9p/7m7P4J2d+ONi2zbpf6Na1b5sAcas38fd7Tevfj3hBkbydatXJPt4cmdz7kjdbtOJr9NxKS\nvKNr78sVIdTM2ZnsWXMFjb/o81h7NsfN95quvQmrf6Jats7kzWt1JPbQrmJHfjsx12u69iat/4mK\nyZ0pVMjqSKyXIwfULdiR2TvmWh1Kpk0N/Yky8Z0JzDo7xt1QuXJQOKoD0zZ7T/3NCAvBP6oz5cq5\n5/6a3PmQx2sUJe/FWoxdZP8FOR3iYNOln3i+XmerQ7GNPu0qkhJbnF/D7T9rLyk1idCLC+n7uHap\nX/Nc61rEJ6R6xay9y0mXCYtZQe/H2lkdim30rN+AM4nHORpz1OpQbikqPop9sdvp8kjWnaWeUYeq\nrdh+PpTzCeetDuWWDkUf4nTcWTrWdt8sdU3ufEzDgGCmbvnR6jBu6bddm0mJ96Nv2wetDsU27rkH\n7k8OZuxS+9ff4n0rcJyrRK/2WW9V/BupXduQ63AwX62xf/39vP8XTMTjdOtQ0OpQbKNNqxxIeAd+\n2B1idSi3NG/fPHKfbEm7Vllz4fe/065lPu6JbMG8ffOsDuWWfgr/Cb+IDrRu6b5uK03ufMy7bTuz\nX37mSrK999obsySEKtKZPPq36U/61O7C6vMhOMRhdSg3NX7FT5RN7Exh1+6Y49WyZYOWpbsQEj7H\n9l2z36z7iYBz7usS8kbFi0OZy12YsnmO1aHc0vStIRDemUcftToS+2jcGOJDuzBju/3rb/auEC5t\n7EzDhu4rQ5M7H9PwkWLkuViDL39dYnUoNyQirLkQQq/a2iWbUf9OlUiKDWDZwXVWh3JDqY5UVkfN\n45laWn8ZDWhTm0sJV9gdtdvqUG7oSsoV1p79ladrdrA6FNt55olGHLt4mOOxx60O5YZiEmMIPbOB\n9g+20vHK6eTJA03LtGZTxEYuJFywOpwbOnnxJAfOHaJR2cZubdzQ5M7HGANPFg7m20327Rpae2gH\nV646GNThIatDsR1/fygTH8znNu6aXX1sHcnRJXiuk+tXVfd2jRsbTHgwk238/ltyeAnZomrRo32A\n1aHYTqcOOclxqAM/7rVv1+zCAwvxO9+E4CCd5ZxRp7b5KRzbjPn77Tvree6+uQTEtKNDO/fOctbk\nzge93boz4Y6Ftu2a/ezXEMomdqZAgSy+8u0NPPNQF5af/dG2XbNfrgih6PlO3Hef1ZHYT86c0Cig\nC9/vtG/X0OSNIeQ81ImHH7Y6EvupVg38TgQzdYt962/WjhDiN3fiqaesjsR+2rSB6LXB/LDbvl+u\nftwTQtSqTrRt695yNLnzQc3qliDnxQeZuGyZ1aH8hYjw+5kf6FGji9Wh2NYLwVW4GluINUfttyBu\nqiOVxSd+oPMDT1sdim31a/EoMQlxtlwQ90rKFZYcW0j7+4Oz/K4Uf8cYeLpOUw7FHODkxZNWh/MX\nsVdiWXV8JY2LtydfPqujsZ+iRaF67rasOb6OmET77dZ06tIptp/ZReUczSlRwr1l6dvbBxkDTxTs\nwjfr7fftc/WhMOITU3izq44EvpGSJaFETBc+/91+9bf86EqSo0vwQnBlq0OxrdatsuHYHcy0rfar\nv18O/kKuC7Xo0a641aHYVucOOcl7vD0h4fbrmv0p/CcKxTQluF0Bq0OxrQ6t/SiW0JQF++23oPHs\nPbMpHd+BDm3dP5NQkzsf9XrzzuxOWWC7rtlPFs2iYmIPChfWLtmb6Vq9C0si5tiua3bs8pkUPtWD\nqlWtjsS+/PygTv5gpm37wXazZidvnklSWHcaN7Y6EvuqVw9SdgbzXdhsq0P5i+k7ZhK7pofbu/S8\nWbt2cGljMLP32K/+Zu6aSczqHrTzwPKSmtz5qLYNSpEzujrjl/5idSjXpTpSWX5uFv3r9rA6FNsb\nFPwgV2P8WX5kldWhXHc15Sq/R8zjmZpdrQ7F9vo+9TgxlxPYfna71aFcd+nqJZYdW0qb8p3dslG5\nr8iRAzpUb8bB84c5HH3Y6nCuOxN3hs0RW6mepw1Fdce/G6paFfJHtGft8fVEXo60OpzrDlw4wLHo\nCLKfbEzNmu4vT5M7H2UMNA3oxVcbplsdynU/71pDcmwAg4IfsDoU26tQAYpF9mLUEvvU3y8Hf8Vx\nthr9u+rCxbfSPigbKWE9+TbMPvU3N3wu+aMa0bOz7jd2K5065KTAyW7M2DXD6lCu+2HPD5S4HETH\ntrrf380YA+1b5adCSpCtWu9m7ZpF5ZSnad8uO8YDHVe2Su6MMTmMMcONMUeMMYlpP4cZY7JnOG+o\nMeaUMSbBGLPCGKPbHPyNf3fuzCHH75y/bI+BpaOWzKKqowd+OoM/U/o92p3lZ+aSmJxodSgAfLFy\nJgGRPahSxepI7C8gAGrn6sm07TNJcaRYHQ4AU7bOIiG0By1aWB2J/TVrBjGrejJ12zTbdK3P3D2L\nqGU96KzLS95SUBAkbOzJtJ3TrA4FcE4knLV7FnHrPdMlCzZL7oD3gIHAK0Bl4DXgReBf104wxvwD\neBN4GagDRAFLjTGaMmRQ96GCFDjXnOHzrR/YnZSaxMaLIbzUsJvVoXiNAd1L4IioTcjuhVaHQtzV\nONae/ZU+tYOtDsVrPNe+MuZSaZYfXW51KETFR7Hp1EaCKrfTXWEyIV8+aFG9DvHxhtBToVaHw+Ho\nwxyMOkpZR1MqVrQ6Gvtr0ADOb27KiZhT7Du/z+pw2H52O4lJSZzY8BiNGnmmTLsld3WABSKySERO\niMhC4GfgMQBjjAFeBz4WkbkisgfoA9wD6ECuv9GxYi9m7rb+28uM0MU4Ih+kd3tdHC2zSpaEigk9\n+XyF9fU3Z08I5kQD+jxdxOpQvEbHjpCwqSeTt1hff7N2zeKeM+3oHqzrZ2RWt64Gv8O9bNH6M33n\ndEpefJqng3NYHYpXyJkTOrbPzgMp3Zmx0/qu9e92fMeDqT1o28Z4bLyr3ZK7xUATY0xlgLTu1sbA\norTXywGBwPW9tUTkCrAaqOfZUL3D+91bEiXhhJ85amkcI5dN5vG8fcmrw0Vuy4uNO7Ejdg3n4s9Z\nGseYVZMpHtmPSpUsDcOrFCoEDQt3Y+GBhVxOumxZHCLChM2TiF/TT7tkb0ObNhD5+zN8v2s2yanJ\nlsXhEAffbv+WUwufo4suD5ppwcHOrvXpu6ZbuupAUmoSM3bNIGZ5X4/Wn62SOxEZD8wAwo0xScBu\nYIqIfJV2SrG0nxmnwESle02lU7Z0LkrGPs3QudZ9+zx96Qz7ElczpKP+Zbpdz3TxQw604dstsyyL\n4cCFAxyM2c9LT+n6C7erT3BR8kc/wdzwuZbFsPXMVs7FxhNUs6F2yd6G/Pmh7RPlKZBaiV8OWrfq\nwPKjy8mZWpiyeR7SLtnb0LQpnNzyELnIz9oTay2LY8H+BdxfsCr7NlSgeXPPlWurNl5jzKtAX6Ab\nsAeoBXxujDkmIpNvcflfRr0OHTr0+u+NGjWikac6u23m+Yef55NjnUh1DCZ7Ns/vND180Xf4nehM\n80Y6LPJ2FS4Mj2Z/nnHrXuOdBq9gPDHNKoMJod8i23vRa6J790L0RUFB8Pyo5xn/wGf0qtnLkhgm\nb5tMnn196fmMrb7Le4WuXWHb98/zTblvaF+lvSUxTN42mWKn+9FGN4W5LTlzQvsgQ+yV55kYNpEG\nZRpYEsfkbZOpFN+PMq35S8/VypUrWblypXsKFhHbPHC2yL2S4dhg4GDa7+UBB/BIhnMWAd9mOCbK\n6fJlkeyDHpHv1v/i8bIdDocUGFJJBgxb7/GyfcXs2Q7J++79sv6E5/8Pk1OTpeCw4tIweLfHy/YV\nnbskyb0fFJM9UXs8XnZCUoIUHF5Y/MufkORkjxfv9RITRQr4X5aCHxeWE7EnPF5+dEK0FPi4gPiX\nviCHDnm8eK+3aJHIo43OS4GPC8j5+PMeL//kxZNS6P8KSaNm8RIScuvz0/IWl+RTdvsqZ3Amb+k5\n0o4DHAXOAtcbN40xeYAngfWeCNAb5c8P9fMOZPiSrz1e9vJD64i7lI3Bvet6vGxf0b69wWwbwKiV\nnq+/Xw/9iiPmPl56WrekuFN9euXknkP9+Hqr5+vvp/CfKHylDr3alyaHrfppvEOePNC+dX6q051J\n2yZ5vPxZu2fxkF9LyhQtTIUKHi/e6z31FBzcUYQmpdpaMjFm6vaptC3fhbBN+WjZ0rNl2y25mwf8\n0xjT2hhT1hjTEXgDmAtpKS2MAf5hjOlojKkGTAHigJkWxewVPurenQNXV3Ey9rRHy/3Pwq+ocPF5\n7rtPtxu7U7lzQ6/qffj58Fxir8R6tOxRq8eTGjrAY2sz+aJWreDqhueZum26x9csHL95PHErB9C7\nt0eL9SndukHMsv58E/aNR9csFBHGbx5P9u0D6NPHY8X6lFy5nEMjSp4ZyNdbv/bomoUpjhQmbJ1A\nybMDaNXKubyOJ9ktuXsDmA18CewFRgJf4+yaBUBERgCj087ZjHP2bHMRifd4tF6kXm0/ipx9msE/\n3mroouucvXyWjdGLGNKmn8fK9FWv9AvAHGnJ1G2e2/Hg4IWDhJ7aTPdq3XUg/l3IkQP6dihHocTa\n/Lj3R4+VG3YmjMPnIgiMDfLIdke+qlkzuLCnJkVylvLoxIoVx1bgcMDmOY3ppsuD3rFevWDtrCcB\nPDqxYsH+BZS6txSrv3+Enj09Vux1tkruRCReRN4WkXIikk9EKojIEBFJynDef0WkhIjkFZHGIrLX\nqpi9yQu1BzHn6FckpSbd+mQX+O/PE8hzqCs9Oup2R3eralUof34Qn676wmPT+sdt+pLsO57jpYG6\nfs3d6tsXYpcOYuymcR5rPRgXOo5SkYPo0yuHR7Y78lU5cjgThJJnBvFF6BceK3dc6DhqO16mSWND\nQIDHivU5jRrBuShD+5IvMC50nMfKHRc6jq5lX+XQISxZgshWyZ1yr3d71yQlsjJfrvzB7WUlpSYx\nde9XPFf9FR3r4yKvd2zA5Wg/j7QeXE66zLdh07g/dhAPPeT24nzeAw9AJdpyKjrGI60H5+LPMTd8\nHge/f96SVgNf07cvhE3txp6oPeyM3On28o7HHmf18dUcXdBTu9TvUvbs0LMnJG7oy/Kjyzka4/41\nX3dF7uLAhQNcWNuZrl2dM3c9TZO7LMTPDzoEvM3wlSPd3nrwbegPJJ+qyuD+OhDfVXr0MKSueYsP\nl490e1lTtk8hX1RD3uhXxu1lZRXP9ctO0UNvMmrDKLeX9fXWr6kiHWnZwJ9iugLoXatSBcqXyc1T\n977skfr7IvQLOpbrQ/h2P9q0cXtxPq9XL5gz/R761XqeMRvHuL28sZvGMuDhgcyclpNe1qyApMld\nVvPZiy2JvpjMgl3u2+/SIQ7+s/QT6ud4i6JF3VZMlpM/PwyoH8zeM0fZcnqL28pJTk3m41WfkrTi\nXYJ1K1mX6d4dTizsw9rj6zlw4YDbyolPimds6FjOL3ibQYPcVkyW07cvRC8dyML9Czkd576JadGJ\n0UzePpk821/nmWfw2HZVvqxqVSheHB5OeoVpO6cRkxjjtrIiLkUQEh7Co+ZFcuSA2rXdVtRNaXKX\nxZQubaiT8ibvzP/EbWXM2bWAC1G5GPOSh+d+ZwGvvZyTlLWv8dHKEW4rY8auGWS7WJGBberqRAoX\n8vODZ5/JR6W4Fxi53n2trxPDJlIl35PkuvggDRu6rZgsp2tXWLu0MB0r9HRr68+4TeMIur8DP066\njxdecFsxWU7v3rBgRknaVW7H/7b8z23ljFw/kr4P9SVkmj/PPotl412NJ6cGe5IxRnz133a3Qrcm\nUW9WZX57YRpNKz7p0nuLCGWH1yFg32C2TOvo0nsrp05d41lWtSJrBv5GjcAaLr13qiOVyuMeJHLS\n/9j/axNKlHDp7bO8w4ehTsMLZHu1MqH9QylfqLxL73815SoVxlbgwZ3zafvwI7z6qktvn+W9+CLk\nKRrBlLw12PvSXor5ubbPO+5qHOXHlue9wPUsnHI/y93XwZLlxMRA+fKwaON+Oiyoz4FXDlAwT0GX\nlhEVH0WVL6qw7pnd1Ktegn37IDAw89cbYxARl6SD2nKXBT36SC6qXXifF2YPcfnYu/nhizhz7gqf\nD7Jmq56s4N038pN90z8Ysvx9l9971u5ZXI0pQtfHGmti5wYVKsCTDxfh8ewv899V/3X5/SeGTaTi\nvTUI+/kRnn3W5bfP8l5+GWZNKMUz1Xrz8ZqPXX7/sZvG0qx8M+ZNul+71F2sUCHo1AlWz61Mm0pt\nGL1htMvLGLFuBF2rdmXZvBK0aHF7iZ3LuWqrC7s90O3Hbip0S7Jkf/1+WbhnqcvumZyaLMU/fEBq\nBC902T3V32vcLFEKDSslmyI2ueyeicmJUnrUfVKwxhrZv99lt1UZ/P67yP3VYyVgRIDsjdrrsvvG\nJsZK4KeB0vXVHfLPf7rstiqDZs1Evvj2rBT6v0JyPPa4y+4beTlSinxSRBatPyzFi4skJbns1irN\n5s0iZcqIHDx3RIp8UkTOxZ9z2b2PRB+Rwp8UllMXT0vVqiIrVtz+PfDh7ceUh9R5JAePXPyIASFv\nuWzV9fEbJ3HheDG+eVend7nbB+/nIdvq93nrt7dd1vo6dtNY7ol/mGaVn6RSJZfcUv2NJk2gcL4C\nNPd7h3eWvuOy+huxbgSNS7fit+9qaHesG736Kkz5MpAXag/ivWXvuey+/135X3rV6MXML8vz2mvW\nLJ/h62rXhqJFYd/GcnSr1o2hK4e67N6Dlw/mlUdf4dD24qSkYPl4V03usrBv3w7m/HF/Rqy4+8Gl\n0YnRDF46lIZJI6lTR1dMdbcnn4SHpB8nzya6ZM/E03GnGbH2U05/938MG+aCANUNGQPvvw/bv3qN\nQ9GHWHhg4V3f81D0ISZsnYD/zg/o0sU5M1C5R+vWEBcH9VL/xerjq1l5bOVd33PH2R3M2TuH3mWH\nsHgxOpHCjV56CcaMgQ8af8CcvXMIOxN21/dce2Itq46v4u16bzNyJLz+unUTKa7RCRVZXN939/J9\nnoYceWcnxe+580+ELjP68nPIPez+dKxucO0hoaHQZsBmsvcMIvylvRTKe2c7gYgInX7oROSu6lSL\n+oCvPb+/fZYjAnXqQNtXlzE15nn2vLiHfDnvbPNJEaHpd01pULwt47q/SVgYlNHlCd1q+nT4+mt4\n9asQ/rPyfbYN3Eau7Lnu6F4pjhQen/Q4LzzyAtu/fY58+eAT9y1mkOUlJTnHvs6dCzuyTWJi2ETW\n9VtH9mzZ7+h+V1KuUGtCLT5q8hFVpBNNmsDRo5D3Djb20QkVymU+H/IgObYPosPUvne8rdWvB39j\n0Z4VvPvIcE3sPOjRR6F1zTqUvBjMoEWD7rh7b87eOew8vY/9Xw/mfdfP0VB/wxgYNgxmfdSUJ0rV\n583f3rzje30T9g1xSXFELXiV3r01sfOEbt3gzBkoEtmJCoUq8O/l/77je3224TPuzX0vLYr2Y+ZM\nZ6uPcp9cueCtt+Djj6Fvrb7kyZGHEevufGmpYauG8YD/A3R6oBMjRzon3dxJYudyrhq8Z7cHOqEi\n0+b8lCS5X3pMhq/47LavPXnxpBQYVkzKNl4mV6+6ITh1U6dPixQumiD3j64mk8Im3fb1B84fEP8R\n/lKnQ6h8+qkbAlQ31bKlyP+NvijlPy8vIXtDbvv67We2i/8If/ll8x4pUkQkKsoNQaq/NWWKSP36\nIpFxUVJiVAlZevj2J6etO7FOAkYEyJHoI9K/v8i777ohUPUXly+LBASIhIeLnIg9IUU/LSobT268\n7fv8evBXKTGqhJyJOyPHj4sUKiRy4cKdx4ULJ1RYnoS566HJ3e15euBhyTMkUH45sDjT18QnxUuN\nsY9JvhbDZft2NwanbmrcOJFqTXZLwIgAWXN8Taavi02Mlerjq0vvcV9KjRo6O88Ke/Y4P2R+3bVJ\nAkYESNjpsExfG3U5SiqOrSjTd8yQpk1FRo50Y6DqL5KTRapXF5kzR2TZkWUS+Gmg7Du3L9PXn7x4\nUkp9VkoW7l8o+/aJ+PuLREe7MWD1Jx99JNKli/P3ueFzpeSoknIs5limrz9w/oAEfhooq46tEhGR\nvn1FBg++u5g0udPkzuXi4kQqNFor+Yf6y9rja295fmJyojSe1Fzu7dNLvp6Y6oEI1Y2kpoo0by7S\nc+hvUvTToplKEOKuxskTk56QnjNeliL+DgnLfE6hXOztt0WCg0Xm7PlRSowqIeHnwm95TXRCtNT6\nqpYMWTZEpk8XqVnTmWwoz1q2zLm0RkKCyOSwyVJuTDk5GnP0ltedjTsrlcdVlpHrRorDIdKihSbn\nnhYfL1KypMjGtAa70RtGS5UvqsjpS6dvee2xmGNSZnQZmbh1ooj88SUtNvbuYtLkTpM7t4iIEPGv\n+6v4feAvM3fOvOF5py6dkjpf1ZXC/bvLO//QTxQ7iIgQKVFC5N1vQyRgRIDM3zf/huceiT4iNf9X\nU/qGDJAaNVNl/HgPBqr+IjFR5IEHRGbMEJm6faoU/bToTbv4ws+FS6VxleSdJe/IkSMOCQgQCQ31\nYMDqTzp1EhkyxPn7uE3jpMSoErLuxLobnr/tzDYpO6asDFs1TEREZs50tgBqy7nnTZok8uSTO+Kb\nmAAADqlJREFUIg6H8/lHqz+SMqPL3PQL8roT66TEqBIyduNYEXFe26aNuGRYiyZ3mty5zcGDIiVr\nh0nh96tI6+ltZcXRFXI15ao4HA45HntcPlz1oRQa7i/+HT+U199wXH9TKOuFhjq7dsYvXCflPy8v\nwT8Ey7oT6yQ5NVkcDoccjj4s/17+bynySREZsXq0NG7ikIEDRevQBrZscdbdrl0ivx/+XUp/Vlp6\n/dRLQiNCJSU1RRwOh+w/v1/eWfKOFPmkiHyz9RtJTBSpW9c1Hyrqzp0+LVK0qMimtPXEF+xbIMVG\nFpP+C/rLtjPbJNWRKqmOVNkduVte/eVV8R/hL7N2zRIRkTNnRIoVE1m/3sJ/QBaWkiLy0EPO8ZPX\nzNo1SwJGBMgrv7wiuyN3X6+/bWe2Sf8F/SXw00BZsG/B9fNDQpxfzlwx5tyVyZ0uhaL+IioK+g24\nwmbHRHLXnUxkajg5smUnp8lLyUsdOR3yFqP+VYV+/ayOVGW0ZAk88wyM/V8Cp0qMZ8r2KRyOOUw2\nk417ct1Dpwc68Wzlt3mjT3nKloXvvoPsd7YCgHKxGTNgyBBYtw78ilxi7KaxTN85nWOxx8hmslE4\nb2G6PNiFNx9/kxJ+penWzTnr9vvvIZuue2CpOXPgvfecyxMVKgQXEi7w+abPmbV7FhGXIgAomr8o\n3ap2483H3yTQL5DUVGjRAurVgw8+sPgfkIVt2+ashx07/lgf8uzls4zZOIbvd39PZHwkACXvKUmP\n6j14ve7rFM5bGICLF6FaNefSOK5YtNiVS6Focqf+lggsXepcy2n9pqtcvnKV8qXuIaidYdAgXSTV\nzjZvdi7V8Nhj8M9/QsUqiaRKCo4rfkybZhg2DAYOhKFDNSmwmxEjYMIE+O03qFjReSwxOZFUScUv\nl5/zeSL06QMXLsAvv0Du3BYGrK57/XXYvRsWL/7z7hIJyQmICPlz5b9+TATeeAN27nT+ndUvWNYa\nPBjCwuDnn/9aF/FJ8QB/qj9w1uHTTzv3j/3iC9fEocldJmhyp7Kyy5dh9GiYOBESEsDPz9ki27q1\ns4Xh4YetjlDdyIQJzha8Dz6Afv3+SN5EYM0a5zpa1arB5MmQJ4+1sao/pKZCx47O1tTZs29cNyLO\nZGLRIli1CgoW9Gyc6q+Sk+Gpp6B+ffjww8xd89lnMG0abNjguvehJneZoMmdUs4PkrNnnQle6dLO\nBTyV/e3cCW+/7ewyqlfPuSjqjh2QkuJM+q51ySp7SUpytqoeOuQc8vDAA39+PTLSuf3VqVMwf75z\nn1NlD1FRULcuvPaa83Ez06Y5vySvXevaRcM1ucsETe6UUt7uxAlnN/vVq1C5MtSqpV3pdicCX30F\n//43NGjgfOTK5azHefNgwADnkAhb7GKg/uT4cWjSBIKDnS146bvXwdk6+/HHzuFKixdD1aquLV+T\nu0zQ5E4ppZRV4uIgJAS2bHF2+1WtCl266Hhlu4uKcg6HOHLEOY6yfn3nF6oNG2DsWChQwDmBomRJ\n15etyV0maHKnlFJKqdt1bULh5MmwdSs4HFCzprPLPSjIfUMiNLnLBE3ulFJKKeUtXJnc6egNpZRS\nSikfosmdUkoppZQPsV1yZ4wpboyZaoyJMsYkGmP2GGMaZDhnqDHmlDEmwRizwhjzoFXxKqWUUkrZ\nia2SO2NMQWAdIEBroArwMhCV7px/AG+mHa+T9tpSY4yfxwNWSimllLIZW02oMMYMB+qLSP0bvG6A\n08BYEfk47VgenAne2yLydbpzdUKFUkoppbyCL0+o6ACEGmNmG2MijTHbjDEvpXu9HBAILLl2QESu\nAKuBep4NVSmllFLKfuyW3JUHXgQOAc2Bz4H/S5fgFUv7GZnhuqh0rymllFJKZVk5rA4gg2xAqIgM\nTnu+wxhzP/AS8OUtrtU+WKWUUkpleXZL7k4DezMc2wfcl/b72bSfgUBEunMC07123dChQ6//3qhR\nIxo1auSiMJVSSiml7tzKlStZuXKlW+5ttwkVM4DSItIg3bFhQEcRqZY2oeIUMC7DhIpInBMqJqa7\nTidUKKWUUsor+PKEitFAXWPMe8aYisaYLsArpHXJpmVrY4B/GGM6GmOqAVOAOGCmRTErpZRSStmG\nrVruAIwxrYHhQGXgOPCFiHyR4Zz/AAOBQsBG4CUR2ZvhHG25U0oppZRXcGXLne2SO1fR5E4ppZRS\n3sKXu2WVUkoppdRd0OROKaWUUsqHaHKnlFJKKeVDNLlTSimllPIhmtwppZRSSvkQTe6UUkoppXyI\nJndKKaWUUj5EkzullFJKKR+iyZ1SSimllA/R5E4ppZRSyodocqeUUkop5UM0uVNKKaWU8iGa3Cml\nlFJK+RBN7pRSSimlfIgmd0oppZRSPkSTO6WUUkopH6LJnVJKKaWUD9HkTimllFLKh2hyp5RSSinl\nQzS5U0oppZTyIZrcKaWUUkr5EE3ulFJKKaV8iCZ3SimllFI+RJM7pZRSSikfosmdUkoppZQP0eRO\nKaWUUsqH2Da5M8b8yxjjMMaMy3B8qDHmlDEmwRizwhjzoFUxKqWUUkrZjS2TO2NMXaA/sBOQdMf/\nAbwJvAzUAaKApcYYPyviVEoppZSyG9sld8aYAsB0oC8Qk+64AV4HPhaRuSKyB+gD3AP0sCJW5T4r\nV660OgR1h7TuvJvWn3fT+lNgw+QO+BqYIyKrAJPueDkgEFhy7YCIXAFWA/U8GqFyO/0D5b207ryb\n1p930/pTADmsDiA9Y0x/oDx/tMRJupeLpf2MzHBZFFDCzaEppZRSSnkF2yR3xpjKwEfAkyKSeu0w\nf269uxG59SlKKaWUUr7PiNgjLzLGPAtMBlLTHc6OM3FLBaoB+4A6IrI13XWLgCgR6Zvhfvb4hyml\nlFJKZYKIZKZB65Zs03IHzAVC0z03wLfAAWA4cBA4CzQHtgIYY/IATwJvZ7yZq/6DlFJKKaW8iW2S\nOxG5CFxMf8wYkwDEiMjetOdjgPeMMftwJntDgDhgpofDVUoppZSyJdskdzcgpBtPJyIjjDF5gS+B\nQsBGoLmIxFsUn1JKKaWUrdhmzJ1SSimllLp7dlzn7q4ZY140xhw1xiQaY7YYY560Oib1Z2nby202\nxlw0xkQZYxYYY6r+zXm63ZzN6VaB3scYU9wYMzXtvZdojNljjGmQ4RytPxsyxuQwxgw3xhxJq7sj\nxphhxpjsGc7T+rOYMaZB2mdbRNrfyD5/c85N68kYk9sYM84Yc84Yc9kYM98YU/JWZftccmeM6QqM\nAT4EHgLWA4uNMaUtDUxl1BD4AngcaAKkAL8bYwpdO0G3m7M/3SrQ+xhjCgLrcNZXa6AKznqKSneO\n1p99vQcMBF4BKgOvAS8C/7p2gtafbeTH+bfxNSCRDMu2ZbKexgCdgG5AfeBe4GdjzM3zNxHxqQew\nCZiQ4dgBYLjVsenjpvWWH2eC1ybtuQHOAP9Kd04e4BIwwOp49SEABYBDOBP1FcBYrTv7P3CuPrDm\nJq9r/dn4ASwEvs1wbCqwUOvPvg+ckz97p3t+y3pK+xt7Feie7pxSOJeHa36z8nyq5c4Ykwt4mHRb\nlKVZgm5RZnf34mxJvrafsG43Z3+6VaB36gCEGmNmG2MijTHbjDEvpXtd68/eFgNN0hb+J60brzGw\nKO11rT/vkJl6egTImeGcCCCcW9Sl3WfL3i5/nAsf/90WZcX+erqykc+BbcCGtOe63ZyN6VaBXq08\nzm68z3C24tUCxhljEJEv0fqzNREZb4wpBYQbY1Jwfo5/KCJfpZ2i9ecdMlNPxYBUEbmQ4ZxInInh\nDflacqe8kDHmM5zfQp6UtHbnW9Ap3hbSrQK9XjYgVEQGpz3fYYy5H3gJ5zJTN6P1ZzFjzKtAX5xj\nsPbgTM4/N8YcE5HJt7hc68873HU9+VS3LHAeZ190xow2EGfftrIZY8xooCvQRESOpXvpbNrPv6vL\nsygrPY6zlXyPMSbZGJMMNABeNMYk4XwfgtadXZ0G9mY4tg+4L+13fe/Z22CcY8h/EJE9IjIdZyvs\ntQkVWn/eITP1dBbIbowpkuGcYtyiLn0quRORJJxbkzXP8FIznLNmlY0YYz7nj8TuQIaXj/LHdnPX\nzr+23ZzWpbXm4tzruWba4yFgCzAr7ff0WwUCWnc2sw7nDNn0KgHH0n7X9569GcCR4ZiDP1rOtf68\nQ2bqaSuQnOGcUjjfvzetS1/slv0MmGaMCcX5j38BZ5b71U2vUh5ljPkS6IlzcPdFY8y18QdxIhIv\nIqLbzdmT6FaB3m40sN4Y8x7wA85uvVdIa/nR957tzQP+aYw5irMFthbwBs4Zs1p/NmKMyQ/cn/Y0\nG1DGGPMQcEFETt6qnkTkojFmEjDCGBMFROPMcXYAv9+0cKunB7tpyvEgnFnxFWAzzrFBlseljz/V\nkQNnF7ojw+P9DOf9B2c3UiLO5TYetDp2ffxtfV5fCkXrzv4PnOvbbU+rm33Ay39zjtafDR84l40a\nmfYZlwAcxrmuay6tP3s9gEbpPtvSf95Nzmw9AbmAsTiHu8QD84GStypbtx9TSimllPIhPjXmTiml\nlFIqq9PkTimllFLKh2hyp5RSSinlQzS5U0oppZTyIZrcKaWUUkr5EE3ulFJKKaV8iCZ3SimllFI+\nRJM7pZRSSikfosmdUkplkjFmpTFmnNVxKKXUzWhyp5RSSinlQ3T7MaWUygRjzBSgd4bDZUXkhAXh\nKKXUDWlyp5RSmWCMuRdYDIQD76UdPi8iDuuiUkqpv8phdQBKKeUNROSSMSYJSBCRKKvjUUqpG9Ex\nd0oppZRSPkSTO6WUUkopH6LJnVJKZV4SOpxFKWVzmtwppVTmHQMeNcaUMcb4G2OM1QEppVRGmtwp\npVTmjcTZercXiARKWxuOUkr9lS6FopRSSinlQ7TlTimllFLKh2hyp5RSSinlQzS5U0oppZTyIZrc\nKaWUUkr5EE3ulFJKKaV8iCZ3SimllFI+RJM7pZRSSikfosmdUkoppZQP0eROKaWUUsqH/D8feptM\nXZ3JngAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pyplot.figure(figsize=(10,4))\n", + "pyplot.ylim(40,160) #y-axis plot limits\n", + "pyplot.tick_params(axis='both', labelsize=14) #increase font size for ticks\n", + "pyplot.xlabel('t', fontsize=14) #x label\n", + "pyplot.ylabel('z', fontsize=14) #y label\n", + "pyplot.plot(t,z)\n", + "pyplot.plot(t, z_exact)\n", + "pyplot.legend(['Numerical Solution','Analytical Solution']);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That looks like pretty good agreement, but what's happening towards the end? We'll come back to this. For now, re-run the previous steps with a different timestep, say $dt=0.01$ and pay attention to the difference.\n", + "\n", + "Euler's method, like all numerical methods, introduces some errors. If the method is *convergent*, the approximation will get closer and closer to the exact solution as we reduce the size of the step, $\\Delta t$. The error in the numerical method should tend to zero, in fact, when $\\Delta t\\rightarrow 0$—when this happens, we call the method _consistent_. We'll define these terms more carefully in the theory components of this course. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To compare the two solutions, we need to use a **norm** of the difference, like the $L_1$ norm, for example.\n", + "\n", + "$$ E = \\Delta t \\sum_{n=0}^N \\left|z(t_n) - z_n\\right|$$\n", + "\n", + "The $L_1$ norm is the sum of the individual differences between the exact and the numerical solutions, at each mesh point. In other words, $E$ is the discrete representation of the integral over the interval $T$ of the (absolute) difference between the computed $z$ and $z_{\\rm exact}$:\n", + "\n", + "$$ E = \\int \\vert z-z_\\rm{exact}\\vert dt $$\n", + "\n", + "We check for convergence by calculating the numerical solution using progressively smaller values of `dt`. We already have most of the code that we need. We just need to add an extra loop and an array of different $\\Delta t$ values to iterate through. \n", + "\n", + "You should read the documentation for the function [enumerate](https://docs.python.org/2/library/functions.html#enumerate) and make sure you understand how we're using it below." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Warning" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The cell below can take a little while to finish (the last $\\Delta t$ value alone requires 1 million iterations!). If the cell is still running, the input label will say `In [*]`. When it finishes, the `*` will be replaced by a number." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# time-increment array\n", + "dt_values = numpy.array([0.1, 0.05, 0.01, 0.005, 0.001, 0.0001])\n", + "\n", + "# array that will contain solution of each grid\n", + "z_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " N = int(T/dt)+1 # number of time-steps\n", + " ### discretize the time using numpy.linspace() ###\n", + " t = numpy.linspace(0.0, T, N)\n", + "\n", + " # initial conditions\n", + " u = numpy.array([z0, b0])\n", + " z = numpy.empty_like(t)\n", + " z[0] = z0\n", + " \n", + " # time loop - Euler method\n", + " for n in range(1,N):\n", + " ### compute next solution using Euler method ###\n", + " u = u + dt*numpy.array([u[1], g*(1-u[0]/zt)])\n", + " z[n] = u[0] # store the elevation at time-step n+1\n", + " \n", + " z_values[i] = z.copy() # store the total elevation calculation grid i" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Calculate the error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now have numerical solutions for each $\\Delta t$ in the array `z_values`. To calculate the error corresponding to each $\\Delta t$, we can write a function! " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def get_error(z, dt):\n", + " \"\"\"Returns the error relative to analytical solution using L-1 norm.\n", + " \n", + " Parameters\n", + " ----------\n", + " z : array of float\n", + " numerical solution.\n", + " dt : float\n", + " time increment.\n", + " \n", + " Returns\n", + " -------\n", + " err : float\n", + " L_{1} norm of the error with respect to the exact solution.\n", + " \"\"\"\n", + " N = len(z)\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " z_exact = b0*(zt/g)**.5*numpy.sin((g/zt)**.5*t)+\\\n", + " (z0-zt)*numpy.cos((g/zt)**.5*t)+zt\n", + " \n", + " return dt * numpy.sum(numpy.abs(z-z_exact))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note**: in the last line of the function, we perform an 'array operation': \n", + "\n", + "`z - z_exact`\n", + "\n", + "We are *not* subtracting one value from another. Instead, we are taking the difference between elements at each corresponding index in both arrays. Here is a quick example:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([3, 2, 1])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = numpy.array([1, 2, 3])\n", + "b = numpy.array([4, 4, 4])\n", + "\n", + "b - a" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we iterate through each $\\Delta t$ value and calculate the corresponding error. " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "error_values = numpy.empty_like(dt_values)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " ### call the function get_error() ###\n", + " error_values[i] = get_error(z_values[i], dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Remember, *if* the method is convergent then the error should get smaller as $\\Delta t$ gets smaller. To visualize this, let's plot $\\Delta t$ vs. error. If you use `pyplot.plot` you won't get a very useful result. Instead, use `pyplot.loglog` to create the same plot with a log-log scale. This is what we do almost always to assess the errors of a numerical scheme graphically." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nWtIESavUofkys59KukjSFElDJT0gaaGZbStJ7n6pu+/s7ru4e3Pbl4Yssi9f7eb72p626+75rp7r\nuL6z7aL42rq3P7OQ14XOM591Scqy0Nf2Ns9C1pdLnqX4Xe9sHXnm91xf1hVbnP/uZN/s3XaF5tmV\nSJo4d1/o7pPd/XZJ6zvZ5AxJ17n7Ne7+vLuPl/S6pJO7ek8zu1vSrZJGm9krZrZnX+uMw//ZpWri\nVqxY0W0dIcT5L6KunuvNX0RxzrLQ18bhL/a05BmXJo48wzVxpciyqzpCv47f9XCvLWUTF/klRsxs\npaRT3X1mbrm/pI8lHZlr8lq3u1jSTu6e6ePP45ArAABIjK4uMdKv1IXkYUtJG0t6s8P6tyRt3dc3\n7yoIAACAJOHsVAAAgASKYxP3jqR1kgZ3WD9YLXNxAAAAZS92TZy7r5H0uKQDOjy1v1rOUgUAACh7\nkczEmdlASTvkFjeS9BUzGyrpXXd/RdL/SLrezB5RS+N2klrm4S6Pol4AAIC4ieTsVDPLSGrKLbr+\ndX236e7+s9w2J0s6U9IQSX+SdLq731fiUgEAAGIp8kuMIBnMbIWkD9RyXb/33H2/aCtKPjPbRNKz\nkm51919GXU9SmdkgSYvVcmShv6TL3P3iaKtKptwF1a+X9AVJn0j6jbvfFm1VyWZmsyUNl9To7kdE\nXU8SmdlBki5Uy5G789z9mohLig2aOOTFzF6S9C13/39R15IWZvZbSZWSXnb3M6OuJ6nMbCNJ/d29\nOdcYPyNpD3d/O+LSEsfMtpa0lbs/bWaD1TKfvIO7r4q4tMQys+GSNpV0HE1c4cysn1p+pzOSVkp6\nQtL33P29KOuKi9id2IBY4xp7gZjZDpK+LmmhyLVP3H19m9vvfVbSaknN3bwEXXD3N9z96dyf31TL\n1QK2iLaqZHP3pZI+irqOBNtD0jPu/rq7fyRpgTY88bFs0cQhXy7pXjN7xMyOirqYFLhA0llRF5EW\nZraZmT0l6WVJU919ZdQ1JZ2Z7SppI3d/LepaUNa2kdR2H3xV0hcjqiV24njHBsTTD9z99dzhlrvN\n7E/u/qeoi0oiMztE0gvu/lcz2zvqetLA3T+Q9F0z20rSEjNrcPe/Rl1XUpnZFpJmSBoXdS0oe8x8\ndYNv4lLIzIaZ2Vwze9XM1pvZcZ1sc4qZvWRmq8zssbbNRO65ZWb2hJlVSJK7v5773zfU8nX2LqX6\nPFErQp57SjoyN2d4gaQTzGxy6T5RtIqxf7Zy97ckZSUNLfoHiYFiZGlmAyTNlnSuuz9Uuk8TvSLu\nm2XbiPQ1U0n/UPtv3r6k9t/MlTWauHQaKOlpSRMkrVKHv0DM7KeSLpI0RS3/sXtA0sLcmWly90vd\nfWd336V1WNzMNs299nOSfijpzyX7NNELmqe7n+3uX3b3r0r6v5KucvcpJfw8UQu9f27VZv/cTNI+\nufcvB6GzNEnTJTW5+42l+xixETTPti8tRfEx1adMJT0qaScz2yb3358DJd1Votrjz915pPihlrN5\nju2w7mFJV3RY94Kk33XxHl+V9GTu8SdJ1VF/riTn2WG74ySdH/XnSnKeknaXtCy3fy7r+H7l8giU\n5d5que3hE7ksl6nlrPTIP18S88w9f7ektyR9LOkVSXtG/dmSlqmkgyU9L+lFSeOi/hxxejATV2bM\nrL9aDoWe3+GpBkl7dfYad39JZXJ4qlC9ybMtd59RjLqSqpf756OSdi5yaYnTyyzvk7RxkUtLpN7+\nrrv7iGLWlWT5Zuru8yTNK2FpicHh1PKzpVr+kn6zw/q31HJrMxSGPMMiz3DIMizyDI9M+4gmDgAA\nIIFo4srPO2qZeRncYf1gSa+XvpzEI8+wyDMcsgyLPMMj0z6iiSsz7r5GLbfS6XjF6/3VclYQCkCe\nYZFnOGQZFnmGR6Z9x4kNKWRmAyXtkFvcSNJXzGyopHfd/RVJ/yPpejN7RC2/KCepZf7g8ijqjTvy\nDIs8wyHLsMgzPDItsqhPj+UR/qGWGwWvzz3WtfnztW22OVnSS2q5x+SjkvaOuu64PsiTPOP6IEvy\njPuDTIv7sFyAAAAASBBm4gAAABKIJg4AACCBaOIAAAASiCYOAAAggWjiAAAAEogmDgAAIIFo4gAA\nABKIJg4AACCBaOIAAAASiCYOAApkZgPM7AUz+0HUtQAoXzRxAFC4EyVtLmlKdxuZ2cZm9pyZbVOa\nsgCUE5o4ACiAmW0i6euSzpY03MxGdLP5rpK2cPd/lKQ4AGWFJg4ACnOKpEskXStpuaTfdLPtvpKa\nSlEUgPJDEwcAeTKz/yPpi+7+rLuvk1QnaU8zO6jDdj82s/+VdLqkz5nZ/5rZ1yMoGUCKmbtHXQMA\nJIKZ/UrSLe7+t9yySfqTpDXuvkuHbftLek/SLu7+QsmLBZB6fBMHAHkwsy0kbd7awEmSt/wr+BxJ\nQ81sTIeX/EDShzRwAIqFJg4A8lMt6Q8dV7r7HZKekFSX+2au1f6SsqUpDUA5ookDgB6Y2WBJ/d39\ntS42+S9J35R0VJt1I5Rr4sxsbzMbUNQiAZQdZuIAoAe5kxQelPRWN5tNl7RG0o7uvs7MPpa0l6Tn\nJE109/OKXiiAskITBwDdMLOtJb0kKZ9v0lzSz9x9hpldKGmtpLclXeHuHxexTABliCYOAAAggZiJ\nAwAASCCaOAAAgASiiQMAAEggmjgAAIAEookDAABIIJo4AACABKKJAwAASCCaOAAAgAT6/wsNBajn\noDeVAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pyplot.figure(figsize=(10, 6))\n", + "pyplot.tick_params(axis='both', labelsize=14) #increase tick font size\n", + "pyplot.grid(True) #turn on grid lines\n", + "pyplot.xlabel('$\\Delta t$', fontsize=16) #x label\n", + "pyplot.ylabel('Error', fontsize=16) #y label\n", + "pyplot.loglog(dt_values, error_values, 'ko-') #log-log plot\n", + "pyplot.axis('equal') #make axes scale equally;" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is the kind of result we like to see! As $\\Delta t$ shrinks (towards the left), the error gets smaller and smaller, like it should." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Challenge!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We calculated the error for several different timestep sizes using two nested `for` loops. That worked, but whenever possible, we like to re-use code (and not just copy and paste it!). \n", + "\n", + "Create a function that implements Euler's method and re-write the error analysis cell to use your function." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of this notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/lecture_22/01_phugoid/.ipynb_checkpoints/01_03_PhugoidFullModel-checkpoint.ipynb b/lecture_22/01_phugoid/.ipynb_checkpoints/01_03_PhugoidFullModel-checkpoint.ipynb new file mode 100644 index 0000000..742302d --- /dev/null +++ b/lecture_22/01_phugoid/.ipynb_checkpoints/01_03_PhugoidFullModel-checkpoint.ipynb @@ -0,0 +1,929 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth, I. Hawke. Partly based on content by David Ketcheson, also under CC-BY." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Full phugoid model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is the third IPython Notebook of the series on the _phugoid model of glider flight_, our first learning module of the course [\"Practical Numerical Methods with Python\"](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about). In the first notebook, we described the physics of the trajectories known as phugoids obtained from an exchange of potential and kinetic energy in an idealized motion with no drag. We gave you a neat little code to play with and plot various phugoid curves.\n", + "\n", + "In the second notebook, we looked at the equation representing small perturbations on the straight-line phugoid, resulting in simple harmonic motion. This is a second-order ordinary differential equation, and we solved it numerically using **Euler's method**: the simplest numerical method of all. We learned about convergence and calculated the error of the numerical solution, comparing with an analytical solution. That is a good foundation!\n", + "\n", + "Now, let's go back to the dynamical model, and take away the idealization of no-drag. Let's remind ourselves of the forces affecting an aircraft, considering now that it may be accelerating, with an instantaneous upward trajectory. We use the designation $\\theta$ for the angle, and consider it positive upwards." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/glider_forces-lesson3.png)\n", + "#### Figure 1. Forces with a positive trajectory angle." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In Figure 1, $L$ is the lift, $W$ is the weight, $D$ is the drag, and $\\theta$ the positive angle of the trajectory, instantaneously. \n", + "\n", + "In lesson 1, we wrote the force balance in the directions perpendicular and parallel to the trajectory for a glider in _equilibrium_. What if the forces are _not_ in balance? Well, there will be acceleration terms in the equations of motion, and we would have in that case:\n", + "\n", + "\\begin{align}\n", + "m \\frac{dv}{dt} & = - W \\sin\\theta - D \\\\\n", + "m v \\, \\frac{d\\theta}{dt} & = - W \\cos\\theta + L\n", + "\\end{align}\n", + "\n", + "We can use a few little tricks to make these equations more pleasing. First, use primes to denote the time derivatives and divide through by the weight:\n", + "\n", + "\\begin{align}\n", + " \\frac{v'}{g} & = - \\sin\\theta - D/W \\\\\n", + "\\frac{v}{g} \\, \\theta' & = - \\cos\\theta + L/W\n", + "\\end{align}\n", + "\n", + "\n", + "Recall, from our first lesson, that the ratio of lift to weight is known from the trim conditions—$L/W=v^2/v_t^2$— and also from the definitions of lift and drag, \n", + "\n", + "$$\\begin{eqnarray}\n", + "L &=& C_L S \\times \\frac{1}{2} \\rho v^2 \\\\\n", + "D &=& C_D S \\times \\frac{1}{2} \\rho v^2\n", + "\\end{eqnarray}$$\n", + "\n", + "we see that $L/D=C_L/C_D$. The system of equations can be re-written:\n", + "\n", + "\\begin{align}\n", + " v' & = - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\\n", + " \\theta' & = - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v\n", + "\\end{align}\n", + "\n", + "It is very interesting that the first equation has the factor $C_D/C_L$, which is the inverse of a measure of the aerodynamic efficiency of the aircraft. It turns out, this is the term that contributes damping to the phugoid model: if drag is zero, there is no damping. Drag is never zero in real life, but as engineers design more aerodynam-ically efficient aircraft, they make the phugoid mode more weakly damped. At altitude, this is nothing but a slight bother, but vertical oscillations are unsafe during final approach to land, so this is something to watch out for!\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The initial value problem" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we want to visualize the flight trajectories predicted by this model, we are going to need to integrate the spatial coordinates, which depend on both the forward velocity (tangential to the trajectory) and the trajectory angle. The position of the glider on a vertical plane will be designated by coordinates $(x, y)$ with respect to an inertial frame of reference, and are obtained from:\n", + "\n", + "\\begin{align}\n", + "x'(t) & = v \\cos(\\theta) \\\\\n", + "y'(t) & = v \\sin(\\theta).\n", + "\\end{align}\n", + "\n", + "Augmenting our original two differential equations by the two equations above, we have a system of four first-order differential equations to solve. We will use a time-stepping approach, like in the previous lesson. To do so, we do need *initial values* for every unknown:\n", + "\n", + "$$\n", + "v(0) = v_0 \\quad \\text{and} \\quad \\theta(0) = \\theta_0\\\\\n", + "x(0) = x_0 \\quad \\text{and} \\quad y(0) = y_0\n", + "$$\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Solve with Euler's method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We know how to apply Euler's method from the previous lesson. We replace each of the time derivatives by an approximation of the form:\n", + "\n", + "$$v'(t) \\approx \\frac{v^{n+1} - v^n}{\\Delta t},$$\n", + "\n", + "where we are now using a superscript $n$ to indicate the $n$-th value in the time iterations. The first differential equation, for example, gives:\n", + "\n", + "$$\\frac{v^{n+1} - v^n}{\\Delta t} = - g\\, \\sin\\theta^n - \\frac{C_D}{C_L} \\frac{g}{v_t^2} (v^n)^2$$\n", + "\n", + "Alright, we know where this is going. At each time iteration $t^n$, we want to evaluate all the known data of our system to obtain the state at $t^{n+1}$—the next time step. We say that we are _stepping in time_ or _time marching_.\n", + "\n", + "The full system of equations discretized with Euler's method is:\n", + "\n", + "\\begin{align}\n", + "v^{n+1} & = v^n + \\Delta t \\left(- g\\, \\sin\\theta^n - \\frac{C_D}{C_L} \\frac{g}{v_t^2} (v^n)^2 \\right) \\\\\n", + "\\theta^{n+1} & = \\theta^n + \\Delta t \\left(- \\frac{g}{v^n}\\,\\cos\\theta^n + \\frac{g}{v_t^2}\\, v^n \\right) \\\\\n", + "x^{n+1} & = x^n + \\Delta t \\, v^n \\cos\\theta^n \\\\\n", + "y^{n+1} & = y^n + \\Delta t \\, v^n \\sin\\theta^n.\n", + "\\end{align}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we've learned before, the system of differential equations can also be written as a vector equation:\n", + "\n", + "$$u'(t) = f(u)$$\n", + "\n", + "where\n", + "\n", + "\\begin{align}\n", + "u & = \\begin{pmatrix} v \\\\ \\theta \\\\ x \\\\ y \\end{pmatrix} & f(u) & = \\begin{pmatrix} - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\ - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v \\\\ v\\cos\\theta \\\\ v\\sin\\theta \\end{pmatrix}.\n", + "\\end{align}\n", + "\n", + "It's a bit tricky to code the solution using a NumPy array holding all your independent variables. But if you do, a function for the Euler step can be written that takes any number of simultaneous equations. It simply steps in time using the same line of code:\n", + "\n", + "```Python\n", + "def euler_step(u, f, dt):\n", + " return u + dt * f(u)\n", + "```\n", + "\n", + "This function can take a NumPy array `u` with any number of components. All we need to do is create an appropriate function `f(u)` describing our system of differential equations. Notice how we are passing a _function_ as part of the arguments list to `euler_step()`. Neat!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### And solve!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As always, we start by loading the modules and libraries that we need for this problem. We'll need a few transcendental functions, including the $\\log$ for a convergence study later on. And remember: the line `%matplotlib inline` is a magic function that tells Matplotlib to give us the plots in the notebook (the default behavior of Matplotlib is to open a pop-up window). In addition, we are importing the module `rcParams` to define notebook-wide plotting parameters: font family and size. Here we go!" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from math import sin, cos, log, ceil\n", + "import numpy\n", + "from matplotlib import pyplot\n", + "%matplotlib inline\n", + "from matplotlib import rcParams\n", + "rcParams['font.family'] = 'serif'\n", + "rcParams['font.size'] = 16" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to set things up to start our numerical solution: the parameter \n", + "values and the _initial values_. You know what the acceleration of gravity is: 9.8 m/s$^2$, but what are good values for $C_D/C_L$, the inverse of the aerodynamic efficiency? Some possible values are given on a table in the Wikipedia entry for [lift-to-drag ratio](http://en.wikipedia.org/wiki/Lift-to-drag_ratio): a modern sailplane can have $L/D$ of 40 to 60, depending on span (and, in case you're interested, a flying squirrel has $L/D$ close to 2).\n", + "\n", + "For the _trim velocity_, the speed range for typical sailplanes is between 65 and 280 km/hr, according to Wikipedia (it must be right!). Let's convert that to meters per second: 18 to 78 m/s. We'll pick a value somewhere in the middle of this range.\n", + "\n", + "Here's a possible set of parameters for the simulation, but be sure to come back and change some of these, and see what happens!" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# model parameters:\n", + "g = 9.8 # gravity in m s^{-2}\n", + "v_t = 30.0 # trim velocity in m s^{-1} \n", + "C_D = 1/40 # drag coefficient --- or D/L if C_L=1\n", + "C_L = 1 # for convenience, use C_L = 1\n", + "\n", + "### set initial conditions ###\n", + "v0 = v_t # start at the trim velocity (or add a delta)\n", + "theta0 = 0 # initial angle of trajectory\n", + "x0 = 0 # horizotal position is arbitrary\n", + "y0 = 1000 # initial altitude" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll define a function `f()` to match the right-hand side of Equation (15), the full differential system in vector form. This function assumes that we have available the parameters defined above. If you re-execute the cell above with different parameter values, you can just run the solution without re-executing the function definition." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def f(u):\n", + " \"\"\"Returns the right-hand side of the phugoid system of equations.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " array containing the solution at time n.\n", + " \n", + " Returns\n", + " -------\n", + " dudt : array of float\n", + " array containing the RHS given u.\n", + " \"\"\"\n", + " \n", + " v = u[0]\n", + " theta = u[1]\n", + " x = u[2]\n", + " y = u[3]\n", + " return numpy.array([-g*sin(theta) - C_D/C_L*g/v_t**2*v**2,\n", + " -g*cos(theta)/v + g/v_t**2*v,\n", + " v*cos(theta),\n", + " v*sin(theta)])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compare the code defining function `f(u)` with the differential equations, and convince yourself that it's right!\n", + "\n", + "\\begin{align}\n", + "u & = \\begin{pmatrix} v \\\\ \\theta \\\\ x \\\\ y \\end{pmatrix} & f(u) & = \\begin{pmatrix} - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\ - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v \\\\ v\\cos\\theta \\\\ v\\sin\\theta \\end{pmatrix} \\nonumber\n", + "\\end{align}\n", + "\n", + "Now, Euler's method is implemented in a simple function `euler_step()`:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def euler_step(u, f, dt):\n", + " \"\"\"Returns the solution at the next time-step using Euler's method.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " solution at the previous time-step.\n", + " f : function\n", + " function to compute the right hand-side of the system of equations.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " approximate solution at the next time step.\n", + " \"\"\"\n", + " \n", + " return u + dt * f(u)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After defining a final time for the solution, and the time step $\\Delta t$, we can construct the grid in time using the NumPy function [`linspace()`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html). Make sure you study the decisions we made here to build the time grid: why do we add 1 to the definition of `N`, for example?\n", + "\n", + "Look at the code below, and make sure you understand the following aspects of it.\n", + "\n", + "* The NumPy array `u` contains the solution at every time-step, consisting of the velocity, angle and location of the glider. \n", + "* The first element of the array `u` is set to contain the initial conditions. \n", + "* In the `for`-loop, the function `euler_step()` is called to get the solution at time-step $n+1$. " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "T = 100 # final time\n", + "dt = 0.1 # time increment\n", + "N = int(T/dt) + 1 # number of time-steps\n", + "\n", + "# initialize the array containing the solution for each time-step\n", + "u = numpy.empty((N, 4))\n", + "u[0] = numpy.array([v0, theta0, x0, y0])# fill 1st element with initial values\n", + "\n", + "# time loop - Euler method\n", + "for n in range(N-1):\n", + " \n", + " u[n+1] = euler_step(u[n], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot the trajectory" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to plot the path of the glider, we need the location (`x`, `y`) with respect to time. That information is already contained in our NumPy array containing the solution; we just need to pluck it out. \n", + "\n", + "Make sure you understand the indices to `u`, below, and the use of the colon notation. If any of it is confusing, read the Python documentation on [Indexing](http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html)." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# get the glider's position with respect to the time\n", + "x = u[:,2]\n", + "y = u[:,3]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time to plot the path of the glider and get the distance travelled!" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nnMGDB7Np0ybGjx9PcXExr7zyStwh5h0dAamBjoCIiNRPs2fPZvTo0VRUVNCgQQPGjh3LuHHjaNAg\nv3831xRMQqgAERGpv7Zu3cq4ceO4+eabcXeGDBnC5MmT83pKRlMwUqfo/PpolKfolKtolKfoMuVq\nr7324i9/+QszZ86kRYsWPPHEE/Ts2ZOPP/449wHmGRUgIiKS9372s59RXl5Ohw4dWLBgAb1792bd\nunVxh1WvaQqmBpqCERHJHx999BF9+vRhyZIldOzYkbKysrw7VVdTMCIiIjl24IEHUlpaSnFxMcuX\nL2fAgAF8+eWXcYdVL6kAkazQPHQ0ylN0ylU0ylN0UXPVunVrXnzxRTp27MjixYs588wz2bJlS+0G\nl4dUgIiIiKRp1aoVM2fOpE2bNpSVlTFixIgab3Ynu0drQGqgNSAiIvmroqKCnj178uWXXzJ27Fiu\nu+66uEOqdboOSEKoABERyW+zZs1iwIABVFZW8thjj3H22WfHHVKt0iJUqVM0Dx2N8hSdchWN8hTd\nnuaqX79+3HzzzQCMHDmSRYsWZTGq/KUCREREpAa//e1vufDCC9m8eTNnnnkmn376adwh1XmagqmB\npmBERARgy5Yt9OrVi1dffZX+/fszY8aMennfGE3BiIiIJMjee+/N1KlT2X///Xnuuee44YYb4g6p\nTlMBIlmheeholKfolKtolKfospGrdu3a8eCDD2JmjB8/nhdeeOGHB5anVICIiIjshv79+zN27Fjc\nnfPPP58PPvgg7pDqJK0BqYHWgIiISLrt27czYMAAnn/+eXr06EFZWRkFBQVxh5UVWgMiIiKSUA0b\nNmTKlCkccsghzJ8/nyuvvDLukOocFSCSFZqHjkZ5ik65ikZ5ii7buWrdujWPPfYYjRo1YsKECUyf\nPj2r+6/vVICIiIjsoR49enzvImXLly+POaK6Q2tAaqA1ICIisivuzjnnnMPjjz9Oly5dKC8vp1mz\nZnGHtce0BkRERKQOMDMmTZpE586dWbp0KSNHjkS/uNZMBYhkheaho1GeolOuolGeoqvNXDVr1own\nn3ySFi1aMH36dP785z/X2mfVFypAREREsqBjx45MmTIFM+MPf/gDzz77bNwhJZrWgNRAa0BERGR3\nXH/99YwbN47mzZszb948jjrqqLhD2i25WgOiAqQGKkBERGR3VFZWcs455zBt2jTatm1LeXk5Bx98\ncNxhRaZFqCEz62lmpWb2jpmtMrMZZtY5rc8BZnadmZWb2etm9paZvWZmF2bYX4GZXR/2edPM5pnZ\nSbn7RvWT5qGjUZ6iU66iUZ6iy1WuGjRowOTJk+nRowdr1qzh9NNPZ+PGjTn57Lok0QWImfUCXgRm\nuPsR7t4eWAXMMbNDU7oeD/wn8Gt37+bunYF7gfvN7IK03U4EzgZOdvejgUnALDM7pna/jYiI5Ism\nTZrwz3/+kyOOOIJFixYxePBgNm/eHHdYiZLoKRgzmwO0d/d2KW3NgI+AB9z9V2Fbd+Cn7n5j2vvX\nAy+6+7Bw+0hgKTDK3e9P6fcvYJW7D8wQg6ZgRERkj7z33nucfPLJrFu3jr59+/LUU0/RpEmTuMPa\nJU3BBLoBb6c2uPtGYDVwRkpbeYbiowBoAnyS0jwEMKA07XNKgX5m1jR7oYuISL7r0KEDpaWlHHjg\ngbzwwgsMHjyYr7/+Ou6wEiHpBchXZI6xEjjIzPbJ9CYz2w+4A1gD3JDyUjGwHXg/7S0rgUZAlx8a\ncL7SPHQ0ylN0ylU0ylN0ceWqU6dOvPTSSxxwwAE8//zz9OnTh08++aTmN9ZzSS9AFgJHmVmjqgYz\nawEUhZvNUzubWRMzewv4mKCYGOzuH6R0aQVszjCnsiF83j+bwYuIiAB06dKF0tJS2rVrxyuvvEKP\nHj1YtmxZ3GHFKulrQI4D5gO3AtcQHKW4DRgGFAKt3H19hvc1JliUei0wwt2nh+2zgBPcvUVa/0uA\nu4EB7j4z7TWtARERkaxYu3YtAwcOZMGCBRQWFnLHHXcwYsSIuMP6nlytAWlUc5f4uPtrZtYXuApY\nAnwBPARsAYZnKj7C930D3GxmfYC/m9mT7l4JfAoU2s5VRdWRlM8y7W/kyJG0b98egJYtW9K1a1dO\nPfVU4LtDetrWtra1rW1tR9mePXs2l156KY888ggXXnghJSUlTJgwYccRkVzHU/XnVatWkVPuXuce\nQAkwK2W7MdAgQ7+/EqwX6RBuXxlut0vrNxHYCjTNsA+XmpWWlsYdQp2gPEWnXEWjPEWXpFxVVlb6\nvffe602bNnXAmzVr5n/961/9q6++ijs0D//fq/X/yxO9BsTM2plZcVpbC+Bk4O8pzXcD52TYRXuC\nguPzcHs64EDvtH69CQoanaQtIiK1zsy4+OKLefPNNxk0aBAbN25kzJgxtGvXjvHjx+f+aEQMkr4G\nZCQwBjjJ3debWSFwH9DQ3c9K6Xcf0BUY5OGiUzMbCjwKTHH3kSl97yAoOE5y98/M7CLgb8CJ7l6R\nIQZPco5ERKTue/bZZ7nuuusoLy/f0da9e3dOO+00TjnlFI477jgKCwtzEovuBQOY2bHATcARwHqC\nU2inAre4+/aUfkcB/w70JDjisRewieAqp3en9W0EjCe4Guo2gjNgxrj7vGpiUAEiIiK1zt2ZO3cu\nt99+O0899dROV05t164dnTt3pkOHDhQVFXH44YdTVFREUVERLVu2zFocKkASQgVINGVlZTsWNkn1\nlKfolKtolKfo6lKuNm3axMyZM5k9ezZz5sxhyZIlbNu2rdr+++67745ipKioiOLiYvr27UubNm12\n+7N1FoyIiEieKiwsZOjQoQwdOhSAb7/9lhUrVvD222+zYsUKVq5cueN55cqVrF+/nvXr17NgwYLv\n7adr165ceOGFDB8+nNatW8fxVaqlIyA10BEQERFJMnfnk08++V5hMn/+fMrKynZM4xQUFDBq1Ciu\nueYaDj300F3uT1MwCaECRERE6qKtW7dSUlLCvffeS0lJCe5O48aNueKKKxg7dix77713xvfpZnRS\np6Re0EaqpzxFp1xFozxFl2+52muvvRgyZAjPPPMMS5Ys4bzzzmPbtm3ceOONdO3alVdeeSXW+FSA\niIiI1HOdO3fm4YcfZu7cuXTq1Illy5bRs2dPJk6cSFxH+TUFUwNNwYiISH2yZcsWrr76am699VYA\nRowYwT333EPjxo0BrQFJDBUgIiJSHz366KOMGjWKTZs28fOf/5xp06ZRWFioNSBSt+Tb3OqeUp6i\nU66iUZ6iU66+79xzz2XOnDm0bt2amTNn0rdvX7788sucfb4KEBERkTz1k5/8hLlz53LYYYdRXl5O\n//79c/bZmoKpgaZgRESkvlu9ejW9evVi9erVAJqCERERkdp32GGHUVpayoknnpizz1QBIlmhudVo\nlKfolKtolKfolKtdKyoqYt68jPdlrRUqQERERAQITsHN2WdpfcOuaQ2IiIjkE52GKyIiIvWWChDJ\nCs2tRqM8RadcRaM8RadcJYsKEBEREck5rQGpgdaAiIhIPtEaEBEREam3VIBIVmhuNRrlKTrlKhrl\nKTrlKllUgIiIiEjOaQ1IDbQGRERE8onWgIiIiEi9pQJEskJzq9EoT9EpV9EoT9EpV8miAkRERERy\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# visualization of the path\n", + "pyplot.figure(figsize=(8,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel(r'x', fontsize=18)\n", + "pyplot.ylabel(r'y', fontsize=18)\n", + "pyplot.title('Glider trajectory, flight time = %.2f' % T, fontsize=18)\n", + "pyplot.plot(x,y, 'k-', lw=2);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Grid convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's study the convergence of Euler's method for the phugoid model. In the previous lesson, when we studied the straight-line phugoid under a small perturbation, we looked at convergence by comparing the numerical solution with the exact solution. Unfortunately, most problems don't have an exact solution (that's why we compute in the first place!). But here's a neat thing: we can use numerical solutions computed on different grids to study the convergence of the method, even without an analytical solution.\n", + "\n", + "We need to be careful, though, and make sure that the fine-grid solution is resolving all of the features in the mathematical model. How can we know this? We'll have a look at that in a bit. Let's see how this works first.\n", + "\n", + "You need a sequence of numerical solutions of the same problem, each with a different number of time grid points.\n", + "\n", + "Let's create a NumPy array called `dt_values` that contains the time-increment of each grid to be solved on. For each element `dt_values[i]`, we will compute the solution `u_values[i]` of the glider model using Euler's method. If we want to use five different values of $\\Delta t$, we'll have five solutions: we put them in an array ... but each one is also an array! We'll have an array of arrays. How meta is that?\n", + "\n", + "We have one more trick up our sleeve: `enumerate()`. To get all the numerical solutions—each with its value of $\\Delta t$—done in one fell swoop, we will loop over the elements of the array `dt_values`. Within the loop, we need to access both `dt_values[i]` and the index `i`. It turns out, `enumerate()` is a built-in Python function that will give us consecutive `index, value` pairs just like we need. \n", + "\n", + "Read the code below carefully, and remember: you can get a help pane on any function by entering a question mark followed by the function name. For example, add a new code cell below and type: `?numpy.empty_like`." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "dt_values = numpy.array([0.1, 0.05, 0.01, 0.005, 0.001])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt) + 1 # number of time-steps\n", + "\n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + " \n", + " u[n+1] = euler_step(u[n], f, dt) ### call euler_step() ###\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In [Lesson 2](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_02_Phugoid_Oscillation.ipynb), we compared our numerical result to an analytical solution, but now we will instead compare numerical results from different grids. \n", + "\n", + "For each solution, we'll compute the difference relative to the finest grid. You will be tempted to call this an _\"error\"_, but be careful: the solution at the finest grid is _not the exact_ solution, it is just a reference value that we can use to estimate grid convergence.\n", + "\n", + "To calculate the difference between one solution `u_current` and the solution at the finest grid, `u_finest`, we'll use the $L_1$-norm, but any norm will do.\n", + "\n", + "There is a small problem with this, though. The coarsest grid, where $\\Delta t = 0.1$, has 1001 grid points, while the finest grid, with $\\Delta t = 0.001$ has 100001 grid points. How do we know which grid points correspond to the same location in two numerical solutions, in order to compare them? \n", + "\n", + "If we had time grids of 10 and 100 steps, respectively, this would be relatively simple to calculate. Each element in our 10-step grid would span ten elements in our 100-step grid. \n", + "\n", + "Calculating the _ratio_ of the two grid sizes will tell us how many elements in our fine-grid will span over one element in our coarser grid.\n", + "\n", + "Recall that we can _slice_ a NumPy array and grab a subset of values from it. The syntax for that is\n", + "\n", + "```Python\n", + "my_array[3:8]\n", + "```\n", + "\n", + "An additional slicing trick that we can take advantage of is the \"slice step size.\" We add an additional `:` to the slice range and then specify how many steps to take between elements. For example, this code\n", + "\n", + "```Python\n", + "my_array[3:8:2]\n", + "```\n", + "\n", + "will return the values of `my_array[3]`, `my_array[5]` and `my_array[7]`\n", + "\n", + "With that, we can write a function to obtain the differences between coarser and finest grids. Here we go ..." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def get_diffgrid(u_current, u_fine, dt):\n", + " \"\"\"Returns the difference between one grid and the fine one using L-1 norm.\n", + " \n", + " Parameters\n", + " ----------\n", + " u_current : array of float\n", + " solution on the current grid.\n", + " u_finest : array of float\n", + " solution on the fine grid.\n", + " dt : float\n", + " time-increment on the current grid.\n", + " \n", + " Returns\n", + " -------\n", + " diffgrid : float\n", + " difference computed in the L-1 norm.\n", + " \"\"\"\n", + " \n", + " N_current = len(u_current[:,0])\n", + " N_fine = len(u_fine[:,0])\n", + " \n", + " grid_size_ratio = ceil(N_fine/N_current)\n", + " \n", + " diffgrid = dt * numpy.sum( numpy.abs(\\\n", + " u_current[:,2]- u_fine[::grid_size_ratio,2])) \n", + " \n", + " return diffgrid" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that the function has been defined, let's compute the grid differences for each solution, relative to the fine-grid solution. Call the function `get_diffgrid()` with two solutions, one of which is always the one at the finest grid. Here's a neat Python trick: you can use negative indexing in Python! If you have an array called `my_array` you access the _first_ element with\n", + "\n", + "`my_array[0]`\n", + "\n", + "But you can also access the _last_ element with \n", + "\n", + "`my_array[-1]`\n", + "\n", + "and the next to last element with\n", + "\n", + "`my_array[-2]`\n", + "\n", + "and so on. " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dt = 0.1\n", + "dt = 0.05\n", + "dt = 0.01\n", + "dt = 0.005\n", + "dt = 0.001\n" + ] + } + ], + "source": [ + "# compute difference between one grid solution and the finest one\n", + "diffgrid = numpy.empty_like(dt_values)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " print('dt = {}'.format(dt))\n", + "\n", + " ### call the function get_diffgrid() ###\n", + " diffgrid[i] = get_diffgrid(u_values[i], u_values[-1], dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time to create a plot of the results! We'll create a *log-log* plot with the Matplotlib function [`loglog()`](http://matplotlib.org/api/pyplot_api.html?highlight=loglog#matplotlib.pyplot.loglog). Remember to skip the difference of the finest-grid solution with itself, which is zero." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIh\nZGatzGyLmZ1Sibanm9nPkhGXSLIpSYmE0/1AE+APlWj7Z6BHYsMRCYaSlEjImNmPgM3ANKCnmZ1X\nTtss4GLgv5IUnkhSaasOkZAxs/HAEOAYIhsdvu3u/1ZG27bAB8Cx7r41eVGKJId6UiIhYmYXA/90\n9x3uvgp4DuhoZpeXaJdjZi8CfwO2AE+Y2ejkRyySWOpJiYSImU0C/t3d90RfHwusAv7H3Q8b9jOz\nmcB6dx+U3EhFkkM9KZGQMLNuwJv7ExSAu39FZHvuc8zsmhLtawA/BRYkNVCRJFJPSiQEohMgXnT3\n60s51xBYDWwHznD3oujxC4D3gObuvjmZ8Yoki3pSIuFwAzCptBPu/i2RqehtgJsOOtWRyDCgEpSk\nLSUpkYCZWW2go7u/UU6zMcAaYLiZ1Y0e60h0qM/MapvZgwkNVCQANYMOQES4DXAzu7OCdp8CXYhM\nTx8BNAdmRc/dCbyYsAhFAqKalEiAor2itUCzSr7Fga+BVkA3oDewFHjL3RcmJEiRAClJiYhIaKkm\nJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIi\nofX/ARE7ZqFnKYAXAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# log-log plot of the grid differences\n", + "pyplot.figure(figsize=(6,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$\\Delta t$', fontsize=18)\n", + "pyplot.ylabel('$L_1$-norm of the grid differences', fontsize=18)\n", + "pyplot.axis('equal')\n", + "pyplot.loglog(dt_values[:-1], diffgrid[:-1], color='k', ls='-', lw=2, marker='o');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Order of convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The order of convergence is the rate at which the numerical solution approaches the exact one as the mesh is refined. Considering that we're not comparing with an exact solution, we use 3 grid resolutions that are refined at a constant ratio $r$ to find the *observed order of convergence* ($p$), which is given by:\n", + "\n", + "$$\n", + "\\begin{equation}\n", + "p = \\frac{\\log \\left(\\frac{f_3-f_2}{f_2-f_1} \\right) }{\\log(r)}\n", + "\\end{equation}\n", + "$$\n", + "\n", + "where $f_1$ is the finest mesh solution, and $f_3$ the coarsest. " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The order of convergence is p = 1.014\n" + ] + } + ], + "source": [ + "r = 2\n", + "h = 0.001\n", + "\n", + "dt_values2 = numpy.array([h, r*h, r**2*h])\n", + "\n", + "u_values2 = numpy.empty_like(dt_values2, dtype=numpy.ndarray)\n", + "\n", + "diffgrid2 = numpy.empty(2)\n", + "\n", + "for i, dt in enumerate(dt_values2):\n", + " \n", + " N = int(T/dt) + 1 # number of time-steps\n", + "\n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + "\n", + " u[n+1] = euler_step(u[n], f, dt) ### call euler_step() ###\n", + " \n", + " # store the value of u related to one grid\n", + " u_values2[i] = u\n", + " \n", + "\n", + "#calculate f2 - f1\n", + "diffgrid2[0] = get_diffgrid(u_values2[1], u_values2[0], dt_values2[1])\n", + "\n", + "#calculate f3 - f2\n", + "diffgrid2[1] = get_diffgrid(u_values2[2], u_values2[1], dt_values2[2])\n", + "\n", + "# calculate the order of convergence\n", + "p = (log(diffgrid2[1]) - log(diffgrid2[0])) / log(r)\n", + "\n", + "print('The order of convergence is p = {:.3f}'.format(p));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "See how the observed order of convergence is close to 1? This means that the rate at which the grid differences decrease match the mesh-refinement ratio. We say that Euler's method is of *first order*, and this result is a consequence of that." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Paper airplane challenge" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Suppose you wanted to participate in a paper-airplane competition, and you want to use what you know about the phugoid model to improve your chances. For a given value of $L/D$ that you can obtain in your design, you want to know what is the best initial velocity and launch angle to fly the longest distance from a given height.\n", + "\n", + "Using the phugoid model, write a new code to analyze the flight of a paper airplane, with the following conditions:\n", + "\n", + "* Assume $L/D$ of 5.0 (a value close to measurements in Feng et al. 2009)\n", + "* For the trim velocity, let's take an average value of 4.9 m/s.\n", + "* Find a combination of launch angle and velocity that gives the best distance.\n", + "* Think about how you will know when the flight needs to stop ... this will influence how you organize the code.\n", + "* How can you check if your answer is realistic?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* Feng, N. B. et al. _\"On the aerodynamics of paper airplanes\"_, AIAA paper 2009-3958, 27th AIAA Applied Aerodynamics Conference, San Antonio, TX. [PDF](http://arc.aiaa.org/doi/abs/10.2514/6.2009-3958)\n", + "\n", + "* Simanca, S. R. and Sutherland, S. _\"Mathematical problem-solving with computers,\"_ 2002 course notes, Stony Brook University, chapter 3: [The Art of Phugoid](https://www.math.sunysb.edu/~scott/Book331/Art_Phugoid.html). (Note that there is an error in the figure: sine and cosine are switched.)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of the notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/lecture_22/01_phugoid/.ipynb_checkpoints/01_04_Second_Order_Methods-checkpoint.ipynb b/lecture_22/01_phugoid/.ipynb_checkpoints/01_04_Second_Order_Methods-checkpoint.ipynb new file mode 100644 index 0000000..dfe6da7 --- /dev/null +++ b/lecture_22/01_phugoid/.ipynb_checkpoints/01_04_Second_Order_Methods-checkpoint.ipynb @@ -0,0 +1,1187 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth, C.D. Cooper. Partly based on content by David Ketcheson, also under CC-BY." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Phugoid model: bonus!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_The phugoid model of glider flight_ has been such a fun problem to showcase the power of numerical solution of differential equations, we thought you'd enjoy a bonus notebook. The previous lessons were:\n", + "\n", + "* [Phugoid motion](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_01_Phugoid_Theory.ipynb) —Lays the groundwork for our fun problem, with some context, a little history and a description of the physics of phugoids: curves representing the trajectory of a glider exchanging potential and kinetic energy, with no drag.\n", + "* [Phugoid oscillation](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_02_Phugoid_Oscillation.ipynb) —Develops the simple harmonic motion of an aircraft experiencing a small perturbation from the horizontal trajectory: our opportunity to introduce Euler's method, and study its convergence via an exact solution.\n", + "* [Full phugoid motion](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb) —The full model takes into account the force of drag and results in a system of two nonlinear equations. We obtain the trajectories using Euler's method in vectorized form, introduce grid-convergence analysis and finish with the paper-airplane challenge!\n", + "\n", + "That is a fantastic foundation for numerical methods. It's a good time to complement it with some theory: the first screencast of the course uses Taylor series to show that _Euler's method is a first-order method_, and we also show you graphical interpretations. Many problems require a more accurate method, though: second order or higher. Among the most popular higher-order methods that we can mention are the _Runge-Kutta methods_, developed around 1900: more than 100 years after Euler published his book containing the method now named after him!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Euler's method is a first-order method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this screencast, we use a Taylor series expansion to analyze Euler's method and show that it incurs a truncation error of first order. We also use a graphical interpretation to motivate the _modified_ Euler method, which achieves second order." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.display import YouTubeVideo\n", + "YouTubeVideo('6i6qhqDCViA')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Second-order methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The notebook on phugoid oscillation (lesson 2) included a study of the accuracy obtained with Euler's method, using the exact solution for the simple harmonic motion. We made a _convergence plot_ and saw that as $\\Delta t$ gets smaller, the error also gets smaller. \n", + "\n", + "We could have drawn a line with a slope equal to 1 on that log-log plot, and you would have seen that it was parallel to the convergence line. A slope equal to 1 on a log-log convergence plot is an indication that we have a first-order method: the error scales as ${\\mathcal O}(\\Delta t)$. \n", + "\n", + "In lesson 3, using the full phugoid model (which is nonlinear and does not have an exact solution), we did a _grid-convergence study_ with three different grids, and obtained the _observed_ order of convergence—it was very close to 1, indicating a slope of 1 on a log-log plot.\n", + "\n", + "Another way to look at an ${\\mathcal O}(\\Delta t)$ method is to say that the error scales _linearly_ with the step size, or that they are proportional:\n", + "\n", + "$$ e \\propto \\Delta t.$$\n", + "\n", + "where $e$ stands for the error. To get more accuracy, we could use a _second-order_ method, in which the error is ${\\mathcal O}(\\Delta t^2)$. In general, we say that a method is of order $p$ when the error is proportional to $(\\Delta t)^p$.\n", + "\n", + "In the screencast titled \"Euler's method is a first-order method,\" we used a graphical interpretation to get an idea for improving it: by estimating an intermediate point, like the **midpoint**, we can get a better approximation of the area under the curve of $u^\\prime$. The scheme has two steps and is written as:\n", + "\n", + "\\begin{align}\n", + "u_{n+1/2} & = u_n + \\frac{\\Delta t}{2} f(u_n) \\\\\n", + "u_{n+1} & = u_n + \\Delta t \\,\\, f(u_{n+1/2}).\n", + "\\end{align}\n", + "\n", + "This method is known as the *explicit midpoint method* or the *modified Euler method*, and it is a second-order method. Notice that we had to apply the right-hand side, $~f(u)$, twice. This idea can be extended: we could imagine estimating additional points between $u_{n}$ and $u_{n+1}$ and evaulating $~f(u)$ at the intermediate points to get higher accuracy—that's the idea behind Runge-Kutta methods." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Runge-Kutta methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the modified Euler method, we improve the accuracy over Euler's method by evaluating the right-hand side of the differential equation at an intermediate point: the midpoint. The same idea can be applied again, and the function $f(u)$ can be evaluated at more intermediate points, improving the accuracy even more. This is the basis of the famous *Runge-Kutta (RK) methods*, going back to Carl Runge and Martin Kutta. The modified Euler method corresponds to _second-order_ Runge-Kutta.\n", + "\n", + "Here's a bit of historical coincidence that will blow your mind: Carl Runge's daughter Iris—an accomplished applied mathematician in her own right—worked assiduously over the summer of 1909 to translate Lanchester's _\"Aerodonetics.\"_ She also reproduced his graphical method to draw the phugoid curves (Tobies, 2012)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Phugoid model with 2nd-order RK" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's compute the motion of a glider under the full phugoid model using the second-order Runge-Kutta method. We'll build on the _paper airplane challenge_ of lesson 3 now, and look for the horizontal distance that the plane travels until the moment it touches the ground. \n", + "\n", + "As usual, let's start by importing the libraries and modules that we need, and setting up the model parameters. We also set some default plotting formats using the [`rcParams`](http://matplotlib.org/api/matplotlib_configuration_api.html#matplotlib.rcParams) module. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from math import sin, cos, log\n", + "import numpy\n", + "from matplotlib import pyplot\n", + "%matplotlib inline\n", + "from matplotlib import rcParams\n", + "rcParams['font.family'] = 'serif'\n", + "rcParams['font.size'] = 16" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the paper-airplane challenge of lesson 3, we suggested an $L/D=5.0$ as a realistic value for paper airplanes, according to experiments, and a trim velocity of 4.9 m/s. Let's start with those values, but you could experiment changing these a bit. _What do you think will happen if you make $L/D$ higher?_" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# model parameters:\n", + "g = 9.8 # gravity in m s^{-2}\n", + "v_t = 4.9 # trim velocity in m s^{-1} \n", + "C_D = 1/5.0 # drag coefficient --- or D/L if C_L=1\n", + "C_L = 1.0 # for convenience, use C_L = 1\n", + "\n", + "### set initial conditions ###\n", + "v0 = 6.5 # start at the trim velocity (or add a delta)\n", + "theta0 = -0.1 # initial angle of trajectory\n", + "x0 = 0.0 # horizotal position is arbitrary\n", + "y0 = 2.0 # initial altitude" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Among the initial parameters that we suggest for your first experiment, we are starting with a velocity a little higher than the trim velocity, launch the paper airplane with a negative initial angle, and take the initial height to be 2 meters—all sound like reasonable choices.\n", + "\n", + "Now, we can define a few functions to carry out the computation:\n", + "* The right-hand side of the phugoid model from [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb),\n", + "* One step of the Euler's method that we learned in [Lesson 2](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_02_Phugoid_Oscillation.ipynb), and\n", + "* Differences with respect to a fine grid, as in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb)." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def f(u):\n", + " \"\"\"Returns the right-hand side of the phugoid system of equations.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " array containing the solution at time n.\n", + " \n", + " Returns\n", + " -------\n", + " dudt : array of float\n", + " array containing the RHS given u.\n", + " \"\"\"\n", + " \n", + " v = u[0]\n", + " theta = u[1]\n", + " x = u[2]\n", + " y = u[3]\n", + " return numpy.array([-g*sin(theta) - C_D/C_L*g/v_t**2*v**2,\n", + " -g*cos(theta)/v + g/v_t**2*v,\n", + " v*cos(theta),\n", + " v*sin(theta)])\n", + "\n", + "\n", + "def euler_step(u, f, dt):\n", + " \"\"\"Returns the solution at the next time-step using Euler's method.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " solution at the previous time-step.\n", + " f : function\n", + " function to compute the right hand-side of the system of equation.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " approximate solution at the next time step.\n", + " \"\"\"\n", + " \n", + " return u + dt * f(u)\n", + "\n", + "\n", + "def get_diffgrid(u_current, u_fine, dt):\n", + " \"\"\"Returns the difference between one grid and the fine one using L-1 norm.\n", + " \n", + " Parameters\n", + " ----------\n", + " u_current : array of float\n", + " solution on the current grid.\n", + " u_finest : array of float\n", + " solution on the fine grid.\n", + " dt : float\n", + " time-increment on the current grid.\n", + " \n", + " Returns\n", + " -------\n", + " diffgrid : float\n", + " difference computed in the L-1 norm.\n", + " \"\"\"\n", + " \n", + " N_current = len(u_current[:,0])\n", + " N_fine = len(u_fine[:,0])\n", + " \n", + " grid_size_ratio = int(numpy.ceil(N_fine/N_current))\n", + " \n", + " diffgrid = dt * numpy.sum( numpy.abs(\\\n", + " u_current[:,2]- u_fine[::grid_size_ratio,2])) \n", + " \n", + " return diffgrid\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we also need to define the function `rk2_step()` that computes the next time step using the *modified Euler* method of equations $(1)$ and $(2)$, above, otherwise known as 2nd-order Runge-Kutta or RK2. This function will be called over and over again within the time loop." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def rk2_step(u, f, dt):\n", + " \"\"\"Returns the solution at the next time-step using 2nd-order Runge-Kutta.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " solution at the previous time-step.\n", + " f : function\n", + " function to compute the right hand-side of the system of equation.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " solution at the next time step.\n", + " \"\"\"\n", + " u_star = u + 0.5*dt*f(u)\n", + " return u + dt*f(u_star)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Like in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), we first need to set up the time discretization, then initialize arrays to save the solution and we are set to go! The only difference this time is that we are using _both_ Euler's method and 2nd-order Runge-Kutta to get a solution, to compare the two. " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# set time-increment and discretize the time\n", + "T = 15.0 # final time\n", + "dt = 0.01 # set time-increment\n", + "N = int(T/dt) + 1 # number of time-steps\n", + "\n", + "\n", + "# set initial conditions\n", + "u_euler = numpy.empty((N, 4))\n", + "u_rk2 = numpy.empty((N, 4))\n", + "\n", + "\n", + "# initialize the array containing the solution for each time-step\n", + "u_euler[0] = numpy.array([v0, theta0, x0, y0])\n", + "u_rk2[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + "\n", + "# use a for loop to call the function rk2_step()\n", + "for n in range(N-1):\n", + " \n", + " u_euler[n+1] = euler_step(u_euler[n], f, dt)\n", + " u_rk2[n+1] = rk2_step(u_rk2[n], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can get the position of the glider in time, according to both Euler's method and the 2nd-order Runge-Kutta method, by extracting the appropriate portions of the solution arrays:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "x_euler = u_euler[:,2]\n", + "y_euler = u_euler[:,3]\n", + "x_rk2 = u_rk2[:,2]\n", + "y_rk2 = u_rk2[:,3]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### How far will it fly before touching the ground?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As the $y$-axis measures the vertical coordinate with respect to the ground, negative values of $y$ don't have any physical meaning: the glider would have hit the ground by then! To find out if there are any negative $y$ values we can use the handy function [`numpy.where`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html). This function returns the **indices** of the elements in an array that match a given condition. For example, `numpy.where(y_euler<0)[0]` gives an array of the indices `i` where `y_euler[i]<0` (the `[0]` is necessary as `numpy.where` returns an array, which in this case contains a single line). If no elements of the array match the condition, the array of indices comes out empty. \n", + "\n", + "From the physical problem, we know that once there is one negative value, the glider has hit the ground and all the remaining time-steps are unphysical. Therefore, we are interested in finding the _first_ index where the condition applies, given by `numpy.where(y_euler<0)[0][0]`—do read the documentation of the function if you need to! " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# get the index of element of y where altitude becomes negative\n", + "idx_negative_euler = numpy.where(y_euler<0.0)[0]\n", + "if len(idx_negative_euler)==0:\n", + " idx_ground_euler = N-1\n", + " print ('Euler integration has not touched ground yet!')\n", + "else:\n", + " idx_ground_euler = idx_negative_euler[0]\n", + " \n", + "idx_negative_rk2 = numpy.where(y_rk2<0.0)[0]\n", + "if len(idx_negative_rk2)==0:\n", + " idx_ground_rk2 = N-1\n", + " print ('Runge-Kutta integration has not touched ground yet!')\n", + "else:\n", + " idx_ground_rk2 = idx_negative_rk2[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Do Euler and RK2 produce the same solution?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "An easy way to compare the numerical results obtained with the Euler and 2nd-order Runge-Kutta methods is using [`numpy.allclose`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.allclose.html). This function compares each element of two arrays and returns `True` if each comparison is within some relative tolerance. Here, we use the default tolerance: $10^{-5}$." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Are the x-values close? False\n", + "Are the y-values close? False\n" + ] + } + ], + "source": [ + "# check to see if the paths match\n", + "print('Are the x-values close? {}'.format(numpy.allclose(x_euler, x_rk2)))\n", + "print('Are the y-values close? {}'.format(numpy.allclose(y_euler, y_rk2)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Hmmm, they do differ. Maybe $10^{-5}$ is too tight a tolerance, considering we're using a somewhat coarse grid with first- and second-order methods. Perhaps we can assess this visually, by plotting the glider's path? Study the code below, where we are plotting the path twice, taking a closer look in the second plot by \"zooming in\" to the beginning of the flight." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n+eWXL1nerVu3i92pp06dMq1atTKNGzc2x9PpOsjI4cOHjYiY0qVLZysHb3mznwlAdyrQBfgFKOFF\n2RbAH8BB3IdmAAAgAElEQVT6VK/tWN2pu+z3T6Szbo6+L6WC3d69e02FChXMlClT/lm4caMxVata\nP4PF6tXGtGqVbpfuuHHjzI033mhOnTqV46q8PYdpd6qfrVixgh07djB69GhmzJgR8KcbBGIOoHr1\n6rF79252797tSP0qYxcuXCA+Ph4R4ZZbbvFY5tChQzRu3JiCBQuyaNEiChYsmOV6VtkDgDt06JCj\neEOBiNwLDAXijDGH7GWtRaRXqjIlxZ57xxiz0BhT1hhzY8oLSLml7Ul72bOBziPQ3HI+cEse4Hwu\nf/31Fy1atOC+++7jgQce+OeDqlXh55+tn17yey5168KXX6bbpTtkyBCqVatG79690x2q4mvaiPOz\npC1bWNysGU888USOHswbzHLlykXr5s2Z/9lnToei0ti/fz99+vRh7969DBo0iFq1anks16NHDzZs\n2MDIkSMvn0jTC8YYXnzxRWJiYhgxYkROww5qItIZmAG8CTQXkXvtRl0boLRdpgGwD5ia0abS/FQq\nrJw5c4a2bdvSpEkThg8ffnmBXKE14ktEeO2119iwYQMzZswITKXeXK4L9RdOdUecPGmOFi9uRleu\n7Mpu1NT233CDeaJ2bUdjyPZ+HjXKGOtm8ktfo0b5tnx6n/tASndqVFSUKVWqlClVqpTJly+fERFT\nu3Zt88MPP3hcL6U7tU6dOkZETJkyZcz27duzXP/kyZNNdHS0+fbbb3OaSqa82c/4sTsVOAokYXWF\npn4lASPtMjWAI3joIgVKATuB/fY6h+33ddKpL+dfmlJBJikpydx1112mY8eOrvv9uHnzZlOsWDGz\nfv36bG/D23OY4w2sQLycOgkeu+su80FUlNmxY4cj9QfS6aefNq/nzm3+/vtvx2II5192nsbEnT59\n2owYMcKIiGnVqpXHaWBSGnErVqwwvXv3NiJirr76avPbb795XffHH39soqOjzWeffeaTXDLjdCMu\n0K9wPq6Vew0fPtw0aNDAnDlzxhprtnix0yFlz4ULxniY2uTtt982VapUMadPn87WZr09h2l3qp8k\nfvghJz//nB969qRixYqOxRGo8Q55O3TgvyIsWbTIkfrV5fLmzcuzzz5LXFwcCxYs4PXXX0+3rIgw\n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\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot the glider path\n", + "pyplot.figure(figsize=(10,6))\n", + "pyplot.subplot(121)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_euler[:idx_ground_euler], y_euler[:idx_ground_euler], 'k-', label='Euler')\n", + "pyplot.plot(x_rk2[:idx_ground_rk2], y_rk2[:idx_ground_rk2], 'r--', label='RK2')\n", + "pyplot.title('distance traveled: {:.3f}'.format(x_rk2[idx_ground_rk2-1]))\n", + "pyplot.legend();\n", + "\n", + "# Let's take a closer look!\n", + "pyplot.subplot(122)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_euler, y_euler, 'k-', label='Euler')\n", + "pyplot.plot(x_rk2, y_rk2, 'r--', label='RK2')\n", + "pyplot.xlim(0,5)\n", + "pyplot.ylim(1.8,2.5);\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From far away, the Euler and RK2 methods seem to be producing similar answers. However, if we take a closer look, small differences become evident. Keep in mind that we are solving the same equation and both methods will converge to the same solution as we refine the grid. However, they converge to that solution at different rates: RK2 gets more accurate faster, as you make $\\Delta t$ smaller." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Grid-convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Just like in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), we want to do a grid-convergence study with RK2, to see if we indeed observe the expected rate of convergence. It is always an important step in a numerical solution to investigate whether the method is behaving the way we expect it to: this needs to be confirmed experimentally for every new problem we solve and for every new method we apply!\n", + "\n", + "In the code below, a `for`-loop computes the solution on different time grids, with the coarsest and finest grid differing by 100x. We can use the difference between solutions to investigate convergence, as before." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# use a for-loop to compute the solution on different grids\n", + "dt_values = numpy.array([0.1, 0.05, 0.01, 0.005, 0.001])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt)+1 # number of time-steps\n", + " \n", + " ### discretize the time t ###\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + " u[n+1] = rk2_step(u[n], f, dt)\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once those runs are done, we compute the difference between each numerical solution and the fine-grid solution." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# compute diffgrid\n", + "diffgrid = numpy.empty_like(dt_values)\n", + "for i, dt in enumerate(dt_values):\n", + "\n", + " diffgrid[i] = get_diffgrid(u_values[i], u_values[-1], dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And now we plot!" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nicaKFSu44YYbWLVqFR9//HHU4UgBmUymza7Dqqy9lhRJb+kkfdpm0qUpfxdffDGTJk3iuOOO449/\n/GPU4VQs6bkLe/aaiEjNNDc3M2XKFMyMa665JupwpEJq6RSR9JaOSByMGDGCX/3qV5x++un86le/\nijocKYFaOiISW4cffji9e/fm6quvjjoUCYGKToql+VmBJEhL/i666CKam5vp27dv1KGEJi25y6cq\nRcfMZlfjviKSTttsU9FEW6kjpeynE2QTt0nu3rWSwOqBmfn48eM1ZVpEpAQtU6YnTJgQfMFPbeKm\niQQiIuWodCLB+8BRwODcayjwMnAHMILspm1H5/77DmAx2U3fpM6luV85CZKav08++YR7772XjRsT\ntcDJpyQ1d6UopaP0L+7+RMsbM5tEdhO3+/NcO93MTia7idvvQopRRFLkrrvu4vzzz+f444/noYce\nijocCZk2cStC3WsitbVmzRoGDhzIkiVLuOeee/j2t78ddUgSQNjP6ewCFJsk0BXYKcB9RSTlbrnl\nFpYsWcLBBx/Mt771rajDkSrQJm4pluZ+5SRIWv7ef/99Jk6cCMA111xDu3axn4tUUNJyV44gk98v\nAR4nu4nbUmAp2WnSPYCewCqgIawARSQdpk6dygcffMBRRx3FMcccE3U4UiWB1l4zs32AnwDHAZ1z\nh1cDTcA4d58bWoQR0piOSO1s2rSJe+65h/32249DDjkk6nCkAsXGdLSJWxF6OFREpHShPBwahJmd\n4e6xXw426S2dpO/pkXTKX3wlPXdRrDJ9Q5XuKyIiMVbKMjiNwM7uPir3vpnia7EZ0NvdO4QVZFSS\n3tIREamGisZ0zOxtYEdgF3dfa2brgafb+MzD3b1ToGjriIqOSPW4O8OHD+dLX/oSF154IZ06xf5X\nhuRUWnR6AB3d/c3c+6Xu3rONr2nzmjhIetFJer9y0sU9fzNnzuS4445jp512YuHChXTtGvuF6UsW\n99y1paIxHXdf1lJwcjqa2VQz+1qRL/t+uUGKSHps2rSJyy+/HIAxY8akquCkXZC11zYB04Hr3P2V\nqkRVJ5Le0hGJyvTp0znjjDPo3bs38+bNU9dawoT6nI6ZLXP3HqFEVudUdETCt379evbdd1+am5u5\n4447OPfcc6MOSUIW9pTpV8ysVxsfeFeA+0qNpXn9pySIa/5WrFhB79692X///TnzzDOjDicScc1d\n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\nzP8H50NbGbioopAAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot using the matplotlib function loglog()\n", + "pyplot.figure(figsize=(6,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel(r'$\\Delta t$', fontsize=18)\n", + "pyplot.ylabel(r'$L_1$-norm of the grid differences', fontsize=18)\n", + "pyplot.xlim(1e-4,1)\n", + "pyplot.ylim(1e-4,1)\n", + "pyplot.axis('equal')\n", + "pyplot.loglog(dt_values[:-1], diffgrid[:-1], color='k', ls='--', lw=2, marker='o');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is looking good! The difference relative to our fine-grid solution is decreasing with the mesh size at a faster rate than in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), but *how much faster?* When we computed the observed order of convergence with Euler's method, we got a value close to 1—it's a first-order method. Can you guess what we'll get now with RK2?\n", + "\n", + "To compute the observed order of convergence, we use three grid resolutions that are refined at a constant rate, in this case $r=2$. " + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The order of convergence is alpha = 1.983\n" + ] + } + ], + "source": [ + "# check convergence rate\n", + "r = 2\n", + "h = 0.001\n", + "\n", + "dt_values = numpy.array([h, r*h, r**2*h])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt)+1 # number of time-steps\n", + " \n", + " ### discretize the time t ###\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + " ### call rk2_step() ###\n", + " u[n+1] = rk2_step(u[n], f, dt)\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u\n", + " \n", + "# calculate the order of convergence\n", + "alpha = (log(get_diffgrid(u_values[2], u_values[1], dt_values[2])) \n", + " - log(get_diffgrid(u_values[1], u_values[0], dt_values[1]))) / log(r)\n", + "\n", + "print('The order of convergence is alpha = {:.3f}'.format(alpha))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Probably you're not too surprised to see that the observed order of convergence is close to $2$. Because we used a second-order method! This means that the numerical solution is converging with the grid resolution twice as fast compared with Euler's method in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), or in other words, the error scales as ${\\mathcal O}(\\Delta t^2)$. That is a lot faster! However, we are paying a price here: second-order Runge-Kutta requires more computations per iteration." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Challenge task" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How much longer does it take to get the solution with RK2, compared to Euler's method? Run the same solution (same time grid, same parameters), but find a way to *time* the calculation with Python, and compare the runtimes." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Multi-step methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The screencast *\"Euler's method is a first-order method\"* motivated graphically an idea to get increased accuracy: using intermediate points between $u_{n}$ and $u_{n+1}$ and evaluating the right-hand side of the differential equation at those intermediate points. The idea is to somehow get a better approximation using more data from the function $f(u)$.\n", + "\n", + "Another way to bring more information about $f(u)$ into the numerical solution is to look at time data $t\\lt t_{n}$. For example, we can involve in the calculation of the solution $u_{n+1}$ the known solution at $u_{n-1}$, in addition to $u_{n}$. Schemes that use this idea are called _multi-step methods_.\n", + "\n", + "\n", + "A classical multi-step method achieves second order by applying a _centered difference_ approximation of the derivative $u'$:\n", + "\n", + "$$ u'(t) \\approx \\frac{u_{n+1} - u_{n-1}}{2\\Delta t}.$$\n", + "\n", + "Isolate the future value of the solution $u_{n+1}$ and apply the differential equation $u'=f(u)$, to get the following formula for this method:\n", + "\n", + "$$ u_{n+1} = u_{n-1} + 2\\Delta t \\, f(u_n),$$\n", + "\n", + "This scheme is known as the **leapfrog method**. Notice that it is using the right-hand side of the differential equation, $f(u)$, evaluated at the _midpoint_ between $u_{n-1}$ and $u_{n+1}$, where the time interval between these two solutions is $2\\Delta t$. Why is it called \"leapfrog\"? If you imagine for a moment all of the _even_ indices $n$ of the numerical solution, you notice that these solution values are computed using the slope estimated from _odd_ values $n$, and vice-versa.\n", + "\n", + "Let's define a function that computes the numerical solution using the leapfrog method:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def leapfrog_step(unm1, u, f, dt):\n", + " \"\"\"Returns the solution time-step n+1) using Euler's method.\n", + " \n", + " Parameters\n", + " ----------\n", + " unm1 : array of float\n", + " solution at time-step n-1.\n", + " u : array of float\n", + " solution at time-step n.\n", + " f : function\n", + " function to compute the right hand-side of the system of equation.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " solution at time-step n+1.\n", + " \"\"\"\n", + " return unm1 + 2.0*dt*f(u)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "But wait ... what will we do at the _initial_ time step, when we don't have information for $u_{n-1}$? This is an issue with all multi-step methods: we say that they are _not self-starting_. In the first time step, we need to use another method to get the first \"kick\"—either Euler's method or 2nd-order Runge Kutta could do: let's use RK2, since it's also second order.\n", + "\n", + "For this calculation, we are going to re-enter the model parameters in the code cell below, so that later on we can experiment here using the leapfrog method and different starting values. At the end of this notebook, we'll give you some other model parameters to try that will create a very interesting situation!" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# model parameters:\n", + "g = 9.8 # gravity in m s^{-2}\n", + "v_t = 4.9 # trim velocity in m s^{-1} \n", + "C_D = 1/5.0 # drag coefficient --- or D/L if C_L=1\n", + "C_L = 1.0 # for convenience, use C_L = 1\n", + "\n", + "### set initial conditions ###\n", + "v0 = 6.5 # start at the trim velocity (or add a delta)\n", + "theta0 = -0.1 # initial angle of trajectory\n", + "x0 = 0.0 # horizotal position is arbitrary\n", + "y0 = 2.0 # initial altitude\n", + "\n", + "# set time-increment and discretize the time\n", + "T = 15.0 # final time\n", + "dt = 0.01 # set time-increment\n", + "N = int(T/dt) + 1 # number of time-steps\n", + "\n", + "# set initial conditions\n", + "u_leapfrog = numpy.empty((N, 4))\n", + "\n", + "# initialize the array containing the solution for each time-step\n", + "u_leapfrog[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + "# first step using RK2\n", + "u_leapfrog[1] = rk2_step(u_leapfrog[0], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we have all the required information to loop in time using the leapfrog method. The code cell below calls the leapfrog function for each time step." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# use a for loop to call the function leapfrog_step()\n", + "for n in range(1,N-1):\n", + " \n", + " u_leapfrog[n+1] = leapfrog_step(u_leapfrog[n-1], u_leapfrog[n], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Like before, we extract from the solution array the information about the glider's position in time and find where it reaches the ground." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# get the glider position in time\n", + "x_leapfrog = u_leapfrog[:,2]\n", + "y_leapfrog = u_leapfrog[:,3]\n", + "\n", + "# get the index of element of y where altitude becomes negative\n", + "idx_negative_leapfrog = numpy.where(y_leapfrog<0.0)[0]\n", + "\n", + "if len(idx_negative_leapfrog)==0:\n", + " idx_ground_leapfrog = N-1\n", + " print ('The glider has not reached the ground yet!')\n", + "else:\n", + " idx_ground_leapfrog = idx_negative_leapfrog[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plotting the glider's trajectory with both the leapfrog and RK2 methods, we find that the solutions are very close to each other now: we don't see the differences that were apparent when we compared Euler's method and RK2." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nz6bl5ZdTu3btDKbcO/nLlrHoxBMpW7069WbMgAMO8B1JpMTQiVMhFaYeE2WJLxNZKlasmNAJVCXt\ndUlUmLKUZGaGVaoEL7/MotataTtoEPuMHOk71i7t2LGDhfPmwQMPkHPyyaw85xzm3XtvZAvUqP+e\naHwlg4pUEQ8uv/xyAF544QU2bNjgOY1IMZix/003sWr0aCrVqQPAokWLWLp0qedg/2vx55+z9YQT\n2DJhAsycSaUePbjgwgt9xxKR3dDhfhFPmjdvzowZM3jyySd3Fq2SXUry4f5dcc7RqlUrunfvzmWX\nXZaGZImbN28eBx10ENWqVQNg+LXXctTFF3NSs2Zec4mUZDrcL5IFrrzySgAee+wx9EeURMXmzZtp\n06YNPXv2BMDl5/P4gw+yZcuWjGd58sknue+++3Y+7vHooypQRbKIitQMClOPibLEl8ksF1xwAbVr\n12bBggW8//77XrPsibJIoipUqMDdd99NqVKlAPho6FC63HorZQcNgm+/Zfv27Wn7o2zJ4sW82LMn\nDBoEwB133LHL651GfR5pfNkt6uNLlIpUEU/Kli3LFVdcAcCjjz7qOY1IelRq2ZIlw4Zha9bAUUex\nqmlThrVtC+vXF/tr79ixg1defhlmzYKbbuKIM87guJEjWVe5MgC1a9fm3nvvLfb3ERE/1JMq4tH3\n33/PwQcfzLZt21i2bBmHH36470iSBPWkJumnn3iyQwfO3rqVOtdeC927c+ONN9KoUSO6desGwKxZ\nszjooIOoWbMmACtWrKBGjRpUjhWegwcP5oorrqBy5co455hdrhyN69ShTJcucOGFvL9mDc1btKBc\nuXKpzS4iKaGeVJEsccABB9ClSxecczz22GO+44ik13770WfGDA749FPo3h2AadOmkZubu/Mpq889\nFzvrLOjaFS6+mJUnncSmDh3giy8AePPNN/n000+B4M3us1tuYdGbb8K990KTJrQ5/XQVqCIRoSI1\ng8LUY6Is8fnIcs011wDw3HPPsb7QIdCS/rrsSpiySPJycnIoXbr0zscTJkygWaGTmb5o3ZqtffpA\nhw7QqROLjz6anzp02Hk90xtuuGHnXlaAy+++m8Z7cUOMqM8jjS+7RX18iSq956eISDodd9xxtGzZ\nkmnTpjF8+HCuvvpq35FEMqborUhvKXJDgCu6dPmfx+eee27aM4lIOKgnVSQExowZwwUXXMARRxzB\n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\nB0lEQVTo/D9EAVodDt65OwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot the glider path\n", + "pyplot.figure(figsize=(11,8))\n", + "pyplot.subplot(121)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_leapfrog[:idx_ground_leapfrog], y_leapfrog[:idx_ground_leapfrog], color='k', ls='-', lw=2)\n", + "pyplot.title('distance traveled: {:.3f}'.format(x_leapfrog[idx_ground_leapfrog-1]), fontsize=18);\n", + "\n", + "# Let's take a closer look!\n", + "pyplot.subplot(122)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_leapfrog[:idx_ground_leapfrog], y_leapfrog[:idx_ground_leapfrog], color='k', ls=':', lw=2)\n", + "pyplot.plot(x_rk2, y_rk2, 'r--', label='RK2')\n", + "pyplot.xlim(0,5)\n", + "pyplot.ylim(1.8,2.5);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What about the observed order of convergence? We'll repeat the process we have used before, with a grid-refinement ratio $r=2$ ... here we go:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The order of convergence is alpha = 2.186\n" + ] + } + ], + "source": [ + "# check convergence rate\n", + "r = 2\n", + "h = 0.001\n", + "\n", + "dt_values = numpy.array([h, r*h, r**2*h])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt) + 1 # number of time-steps\n", + " \n", + " ### discretize the time t ###\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " u[1] = rk2_step(u[0], f, dt)\n", + " for n in range(1, N-1):\n", + " u[n+1] = leapfrog_step(u[n-1], u[n], f, dt)\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u\n", + " \n", + "# calculate the order of convergence\n", + "alpha = (log(get_diffgrid(u_values[2], u_values[1], dt_values[2])) \n", + " - log(get_diffgrid(u_values[1], u_values[0], dt_values[1]))) / log(r)\n", + "\n", + "print('The order of convergence is alpha = {:.3f}'.format(alpha))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now have numerical evidence that our calculation with the leapfrog method indeed exhibits second-order convergence, i.e., the method is ${\\mathcal O}(\\Delta t^2)$. _The leapfrog method is a second-order method_. Good job!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### But chew on this ..." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Go back to the cell that re-enters the model parameters, just above the leapfrog-method time loop, and change the following: the initial height `y0` to 25, and the final time `T` to 36. Now re-run the leapfrog calculation and the two code cells below that, which extract the glider's position and plot it.\n", + "\n", + "_What is going on?_\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Reference" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Tobies, R. \"Iris Runge: A life at the crossroads of mathematics, science and industry,\" Springer Basel, 1st ed. (2012). [Read on Google books, page 73](http://books.google.com/books?id=EDm0eQqFUQ4C&lpg=PA73&dq=%22I%20have%20been%20making%20good%20progress%20with%20Lanchester.%20The%20second%20chapter%20is%20already%20on%20your%20desk%22&pg=PA73#v=onepage&q=%22I%20have%20been%20making%20good%20progress%20with%20Lanchester.%20The%20second%20chapter%20is%20already%20on%20your%20desk%22&f=false)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of the notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/lecture_22/01_phugoid/01_01_Phugoid_Theory.ipynb b/lecture_22/01_phugoid/01_01_Phugoid_Theory.ipynb new file mode 100644 index 0000000..902854f --- /dev/null +++ b/lecture_22/01_phugoid/01_01_Phugoid_Theory.ipynb @@ -0,0 +1,764 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, C. Cooper, G.F. Forsyth, A. Krishnan." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Phugoid Motion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Welcome to [**\"Practical Numerical Methods with Python!\"**](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about) This course is a collaborative, online, open education project, where we aim to give a foundation in scientific computing. The focus is on numerical solution of problems modeled by ordinary and partial differential equations.\n", + "\n", + "This IPython Notebook introduces the problem we'll be studying in the **first module** of the course: the _phugoid model of glider flight_. We'll start with some background, explaining the physics, and working out the mathematical model. \n", + "\n", + "First, we'll look at an idealized motion where there is no drag, resulting in a simple harmonic motion. We can plot some interesting trajectories that will pique your imagination. In the next notebook, you'll learn to numerically integrate the differential equation using Euler's method. But hang on ... first things first. \n", + "\n", + "The term \"phugoid\" is used in aeronautics to refer to a motion pattern where an aircraft oscillates up and down —nose-up and climb, then nose-down and descend— around an equilibrium trajectory. The aircraft oscillates in altitude, speed and pitch, with only small (neglected) variations in the angle of attack, as it repeatedly exchanges kinetic and potential energy.\n", + "\n", + "A low-amplitude phugoid motion can be just a nuisance, as the aircraft does not exceed the stall angle of attack and nothing bad happens. But the mode can also be unstable leading to a stall or even a loop!\n", + "\n", + "Look at this video showing a Cessna single-engine airplane in phugoid motion:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkz\nODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2MBERISGBUYLxoaL2NCOEJjY2NjY2NjY2Nj\nY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY//AABEIAWgB4AMBIgACEQED\nEQH/xAAaAAACAwEBAAAAAAAAAAAAAAACAwABBAUG/8QAQBAAAgIBAwEDCAgFBAIDAQEBAQIAAxEE\nEiExE0FRBRQiMmFxgZEjQlJTcpKhsRUzYsHRBkOC4SRjovDxNMIW/8QAGQEBAQEBAQEAAAAAAAAA\nAAAAAAECAwQF/8QAKBEBAAIBBAICAQQDAQAAAAAAAAERAgMSMVETIUFhBCJSgaEyYnEU/9oADAMB\nAAIRAxEAPwBlFdfYp9GnqjuEcKqvu0/KJKax2Nf4R+0PYRPpxEU8coKaj/tp8oa01/dp8oPIlhyI\nqCzeyr+6r/KJfY0/cp+UQFsEMWCZ2ra+yp+7T8oliuof7SflkyDB57o2wWaqUfdp+UQxXQf9tPyi\nZt57xJvPuk2ltfYUn/bT8ok7Cn7pPyiZO1Yd8IXtG0to7CodKk/KJDVWf9tPyiKF5MMOTJtLEtVQ\n/wBqv8olGmvORUn5RJuMm4xULYjXSRg1Jn8IgCmjPNSflEvcZecxUFgfT6furT8ok7Cnb/Lr/KIR\nJlFj4RSWUdPVn+Un5RJ2FQ/20/KIRfxEE2CWi1dnV91X+USdjT92n5RL3r3S+090UWX2NP3SflEr\nsqvu0/KI4FD1/SUwTuYy1BZRqq+6T8ogNp6T/tp+URpU9xEEhx3RUJZLaav7tPyiLOnr+7X5TTk+\nEHM0WzHTp92v5RKFNf3a/lmk+6TEIQKqe+tPkIxaqs/yk+Qh9lmEtWIqF9qFFP3afljFop+7T8ol\npXHKoHSZmlL83p7qk/KJR09XdUn5RNG2Q5EgStNXfWn5RD83p+6T8olk5lB8SUWIU1D/AGk/KIa1\n1fdJ+USltHfGKymSltBVV90n5RC7Kr7pPyiECJczRYOwp+6T8ok83q+6T8ohyRRYOwq+6T8ok7Cn\n7pPyiMzKigs0VfdJ+USjRT90n5RG5lEiKCeyo+6T8oldjV90n5RGnEA++WiwGqr7qv8AKJR09P3a\n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\n", + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.display import YouTubeVideo\n", + "YouTubeVideo('ysdU4mnRYdM')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That doesn't look too good! What's happening? \n", + "\n", + "It can get a lot worse when an aircraft enters one of these modes that is unstable. For example, one of [NASA's Helios Solar Powered Aircraft](http://www.nasa.gov/centers/dryden/history/pastprojects/Helios/) prototype broke up in mid air due to extreme phugoid oscillations!\n", + "\n", + "Helios was a proof-of-concept solar electric-powered flying wing that broke the world altitude record for a non-rocket-powered aircraft in August 2001. But in June 26, 2003, it broke something else. The aircraft entered phugoid motion after encountering turbulence near the Hawaiian Island of Kauai. The high speed in the oscillatory movement exceeded the design limits, and it ended up wrecked in the Pacific Ocean. Luckily, the Helios was remotely operated, and nobody got hurt." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The physics of phugoids" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The phugoid oscillation has the aircraft pitching up and down, as it decelerates and accelerates. The trajectory might look like a sinusoid, as in the figure below. The assumption is that the forward velocity of the aircraft, $v$, varies in such a way that the angle of attack remains (nearly) constant, which means that we can assume a constant lift coefficient." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/oscillatory_trajectory.png)\n", + "#### Figure 1. Trajectory of an aircraft in phugoid motion." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the descending portion of the trajectory, the aircraft's velocity increases as it proceeds from a peak to the minimum height—gaining kinetic energy at the expense of potential energy. The contrary happens in the upward segment, as its velocity decreases there.\n", + "\n", + "We measure the pitch angle (between the aircraft's longitudinal axis and the horizontal) as positive when the aircraft's nose is pointing up. In the portion of the trajectory below the center-line, where it curves upwards, the pitch angle $\\theta$ is increasing: $\\dot{\\theta}>0$. And where the trajectory curves down, the pitch angle is decreasing: $\\dot{\\theta}<0$, as shown in the figure.\n", + "\n", + "Let's remind ourselves of the forces affecting an aircraft in a downward glide. Look at the figure below: we show the flight path, the forces on the glider (no thrust), and the _glide angle_ or flight path angle, $\\gamma$, between the flight path and the horizontal." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/glider_forces.png)\n", + "#### Figure 2. Forces on a glider." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The force of lift, $L$ —created by the airflow around the wings— is perpendicular to the trajectory, and the force of drag, $D$, is parallel to the trajectory. Both forces are expressed in terms of coefficients of lift and drag, $C_L$ and $C_D$, respectively, that depend on the wing design and _angle of attack_—the angle between the wing chord and the flight path.\n", + "\n", + "If you are not familiar with airplane aerodynamics, you might be getting confused with some terms here ... and all those angles! But be patient and look things up, if you need to. We're giving you a quick summary here.\n", + "\n", + "Lift and drag are proportional to a surface area, $S$, and the dynamic pressure: $1/2 \\rho v^2$, where $\\rho$ is the density of air, and $v$ the forward velocity of the aircraft. The equations for lift and drag are:\n", + "\n", + "$$\\begin{eqnarray}\n", + "L &=& C_L S \\times \\frac{1}{2} \\rho v^2 \\\\\n", + "D &=& C_D S \\times \\frac{1}{2} \\rho v^2\n", + "\\end{eqnarray}$$\n", + "\n", + "If the glider were in equilibrium, the forces would balance each other. We can equate the forces in the directions perpendicular and parallel to the trajectory, as follows:\n", + "\n", + "$$\\begin{equation}\n", + "L = W \\cos \\gamma \\quad \\text{and} \\quad D = W \\sin \\gamma\n", + "\\end{equation}$$\n", + "\n", + "where $W$ repesents the weight of the glider.\n", + "\n", + "In the figure, we've drawn the angle $\\gamma$ as the _glide angle_, formed between the direction of motion and the horizontal. We are not bothered with the _sign_ of the angle, because we draw a free-body diagram and take the direction of the forces into account in writing our balance equations. But later on, we will need to be careful with the sign of the angles. It can cause you a real headache to keep this straight, so be patient!\n", + "\n", + "It looks like we've set this up to do a little bit of mathematics. Are you ready?\n", + "\n", + "But before, a short glimpse of the history." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Lanchester's Aerodonetics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Phugoid theory\" was first described by the British engineer Frederick W. Lanchester in _\"Aerodonetics\"_ (1909). This book is so old that it is now in the public domain, so you can actually download [from Google Books](http://books.google.com/books?id=6hxDAAAAIAAJ&dq=%22phugoid%20theory%20deals%20with%20the%20longitudinal%20stability%22&pg=PA37#v=onepage&q=%22phugoid%20theory%20deals%20with%20the%20longitudinal%20stability%22&f=false) a PDF file of a scan, or read it online. \n", + "\n", + "Lanchester defines phugoid theory as the study of longitudinal stability of a flying machine (aerodone). He first considered the simplification where drag and moment of inertia are neglected. Then he included these effects, obtaining an equation of stability. In addition to describing many experiments by himself and others, Lanchester also reports on _\"numerical work ... done by the aid of an ordinary 25-cm slide rule.\"_ Go figure!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Ideal case of zero drag" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section, we follow the derivation given by Milne-Thompson (1966), which we find a little bit easier than that of the original in \"Aerodonetics\"!\n", + "\n", + "An aircraft flying in a steady, straight horizontal flight has a lift equal to its weight. The velocity in this condition is sometimes called _trim velocity_ (\"trim\" is what pilots do to set the controls to just stay in a steady flight). Let's use $v_t$ for the trim velocity, and from $L=W$ deduce that:\n", + "\n", + "$$\\begin{equation}\n", + "W = C_L S \\times\\frac{1}{2} \\rho v_t^2\n", + "\\end{equation}$$\n", + "\n", + "The weight $W$ is constant for the aircraft, but the lift at any other flight condition depends on the flight speed, $v$. We can use the expression for the weight in terms of $v_t$ to obtain the ratio $L/W$ at any other flight velocity, as follows:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{L}{W}= \\frac{v^2}{v_t^2}\n", + "\\end{equation}$$\n", + "\n", + "Imagine that the aircraft experienced a little upset, a wind gust, and it finds itself off the \"trim\" level, in a curved path with an instantaneous angle $\\theta$. In the sketch below, we exaggerate the curved trajectory of flight to help you visualize what we'll do next. The angle $\\theta$ (using the same name as Milne-Thompson) is between the _trajectory_ and the horizontal, positive up." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "#### Figure 3. Curved trajectory of the aircraft going up." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can form a free body diagram to determine the balance of forces. \n", + "\n", + "\n", + "\n", + "#### Figure 4. Free body diagram of the aircraft trajectory" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the free body diagram, we can see that\n", + "\n", + "\\begin{equation}\n", + "\\vec{L} + \\vec{W} = m\\vec{a} = \\frac{mv^2}{R}\\hat{n} + m \\frac{dv}{dt}\\hat{t}\n", + "\\end{equation}\n", + "\n", + "where $\\frac{v^2}{R}$ is the centripetal acceleration and $R$ is the radius of curvature of the trajectory.\n", + "If we decompose the lift and weight into their normal and tangential components we get\n", + "\n", + "\\begin{equation}\n", + "L\\hat{n} + W_n\\hat{n} + W_t\\hat{t} = \\frac{mv^2}{R}\\hat{n} + m \\frac{dv}{dt}\\hat{t}\n", + "\\end{equation}\n", + "\n", + "The component of the weight in the normal direction ($W_n$) is\n", + "\n", + "\\begin{equation}\n", + "W_n = -W \\cos \\theta\n", + "\\end{equation}\n", + "\n", + "If we then consider that all of the components in $\\hat{n}$ must balance out, we arrive at\n", + "\n", + "\\begin{equation}\n", + "L - W \\cos \\theta = \\frac{mv^2}{R}\n", + "\\end{equation}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can rewrite this as\n", + "\n", + "$$\\begin{equation}\n", + "L- W \\cos \\theta = \\frac{W}{g} \\frac{v^2}{R}\n", + "\\end{equation}$$\n", + "\n", + "where $g$ is the acceleration due to gravity. Rearrange this by dividing the equation by the weight, and use the expression we found for $L/W$, above. The following equation results:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{v^2}{v_t^2}-\\cos \\theta = \\frac{v^2}{g R}\n", + "\\end{equation}$$\n", + "\n", + "Recall that we simplified the problem assuming that there is no friction, which means that the total energy is constant (the lift does no work). If $z$ represents the depth below a reference horizontal line, the energy per unit mass is (kinetic plus potential energy):\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{1}{2}v^2-g z = \\text{constant}\n", + "\\end{equation}$$\n", + "\n", + "To get rid of that pesky constant, we can choose the reference horizontal line at the level that makes the constant energy equal to zero, so $v^2 = 2 g z$. That helps us re-write the phugoid equation in terms of $z$ as follows:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{z}{z_t}-\\cos \\theta = \\frac{2z}{R}\n", + "\\end{equation}$$\n", + "\n", + "Let $ds$ represent a small arc-length of the trajectory. We can write \n", + "\n", + "$$\\begin{equation}\n", + "\\frac{1}{R} = \\frac{d\\theta}{ds} \\quad \\text{and}\\quad \\sin\\theta = -\\frac{dz}{ds}\n", + "\\end{equation}$$\n", + "\n", + "Employing the chain rule of calculus,\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{1}{R} = \\frac{d\\theta}{ds} = \\frac{dz}{ds}\\frac{d\\theta}{dz} = -\\sin \\theta\\frac{d\\theta}{dz}\n", + "\\end{equation}$$\n", + "\n", + "Multiply the phugoid equation by $\\frac{1}{2\\sqrt{z}}$ to get:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{\\sqrt{z}}{2z_t} - \\frac{\\cos\\theta}{2\\sqrt{z}} = \\frac{\\sqrt{z}}{R}\n", + "\\end{equation}$$\n", + "\n", + "Substituting for $1/R$ on the right hand side and bringing the cosine term over to the right, we get:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{\\sqrt{z}}{2z_t} = \\frac{\\cos \\theta}{2 \\sqrt{z}} - \\sqrt{z} \\sin \\theta \\frac{d\\theta}{dz}\n", + "\\end{equation}$$\n", + "\n", + "The right-hand-side is an exact derivative! We can rewrite it as:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{d}{dz} \\left(\\sqrt{z}\\cos\\theta \\right) = \\frac{\\sqrt{z}}{2z_t}\n", + "\\end{equation}$$\n", + "\n", + "Integrating this equation, we add an arbitrary constant, chosen as $C\\sqrt{z_t}$ which (after dividing through by $\\sqrt{z}$) gives:\n", + "\n", + "$$\\begin{equation}\n", + "\\cos \\theta = \\frac{1}{3}\\frac{z}{z_t} + C\\sqrt{\\frac{z_t}{z}}\n", + "\\end{equation}$$\n", + "\n", + "Taking the derivative of both sides of equation (15) and applying the relations from equation (10) yields:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{z_t}{R} = \\frac{1}{3} - \\frac{C}{2}\\sqrt{\\frac{z_t^3}{z^3}}\n", + "\\end{equation}$$\n", + "\n", + "Make sure you have followed the derivation, and perhaps write it out on paper!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Phugoid Curves" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Equation (15) is non-linear, which usually means we are hard-pressed to write a clean expression for the variable of interest, $z$. In fact, Lanchester himself said that he was unable to _\"reduce this expression to a form suitable for co-ordinate plotting.\"_ If the great polymath couldn't do it, we can't either!\n", + "\n", + "But Lanchester _was_ able to plot a suitable approximation of the phugoid flight path using what he called the \"trammel\" method. If you're interested in seeing how he did it, his explanation begins on page [48 of Aerodonetics](http://books.google.com/books?id=6hxDAAAAIAAJ&pg=PA49&lpg=PA48&dq=aerodonetics+the+use+of+the+trammel&source=bl&ots=lB6EVKYQuT&sig=aVE2kiDWZoWftaWczMIrcYftMOs&hl=en&sa=X&ei=gTD_U82fGYjzgwT3moGwCQ&ved=0CCAQ6AEwAA#v=onepage&q=aerodonetics%20the%20use%20of%20the%20trammel&f=false). It's a trip.\n", + "\n", + "Lanchester used Equations (15) and (16) to solve for the constant $C$ and the radius of curvature $R$ and then iteratively plotted small arcs of the phugoid path. By hand.\n", + "\n", + "We wrote a neat little code that duplicates the manual trammel method, but it might be a bit much for you to absorb in the first lesson. If you want to look it over, you are more than welcome to. If you are just starting with Python, skip it for the moment and we'll return to it at the end of this module. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Plotting the flight path" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we mentioned, we wrote a Python code to reproduce programmatically what Lanchester did graphically. Here's a neat feature of IPython Notebooks: you can run external programs with the magical keyword ... wait for it ... `run`. And the jargon of IPython _is_ to call this \"magic.\" In fact, there are a bunch of [magic functions](http://ipython.org/ipython-doc/dev/interactive/tutorial.html) that you will learn about. They will make you a happy camper.\n", + "\n", + "Let's do it:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%run phugoid.py\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This code cell loaded our simulated-trammel code, `phugoid.py`. The code defined a function for you in the background, called `plot_flight_path`, taking three inputs: $z_t$, $z$ and $\\theta$. \n", + "\n", + "Look again at Equation (15), where we take the positive square root. There are several possibilities, depending on the value that the constant $C$ takes. \n", + "\n", + "* There are no physical solutions for $C>2/3$, because it would result in $\\cos\\theta>1$. \n", + "\n", + "* If $C=2/3$, then the solution is a horizontal straight line, because $\\cos\\theta=1$, $\\theta=0$ and $R=\\infty$.\n", + "\n", + "* Any value of $C$ for which $0 < C < \\frac{2}{3}$ will produce \"trochoidal\"-like paths. What does this look like? Let's use our custom function `plot_flight_path` to find out!" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n5MgRihQpQt++fQE4fPgw+fLlo1SpUpw8eTLV19+1axfFihULPC5WrBixsbFZ10G/zPQzNefrf0oy\n2tfBgwczdOhQALZu3UpERESq22amn+mtL7XtixcvniM/0wtR4BMRkWxlluFzxf7JuT/a6bV69WqG\nDx9OxYoVyZcvH506daJHjx5/2q5atWqMGDEiQ6+xf/9+Nm7cyJQpUwBo27Ytbdq0oXr16syYMYP7\n77+fCRMmnHcfR44c4aKLLgo8joyM5Pfff0/T66e1j5C5fqbmfP1PSUb6unfvXr799lu+++471qxZ\nw6RJk3j++edT3T4z/UxvfefbPqM/06ykKV0REfG8Zs2a8dVXX9GoUSMKFChAjx49eP3119m/f3+W\nvUaRIkVo0KBB4HHlypWJjo7m22+/5aqrrkrzPoJD7R9//EGJEiXS9L3J+xgVFcXIkSMZP3483333\nXfo6kwGp9f9826e3r4sWLaJr16488MAD3HXXXezZs4cOHTpkSz/TW19q22fmZ5qVNMInIiLZKqOj\nclnt5ZdfZv/+/bz99tuAbzqwbNmySbYJngIMlpYpwHr16rFs2bLA43z58pGQkMC3337LqVOnmDt3\nLsuXL+f06dPMnj07xf1cccUVrFmzJvD48OHDNGnSJEN9fP3112nfvj1NmjShT58+fPrpp1nSz9Sk\n1v/UZKSvO3fupE6dOoBv5Wvnzp355JNPsqWf6a0vte2LFSuWqZ9plsnMio/cfEMrykREsky4/059\n+eWX3bPPPuucc27jxo1u6dKl7oYbbnArVqzIstc4ffq0a9GiReBxq1at3LZt25JsM3z48CSrdH/6\n6SeXmJgYeHzy5EnXoEGDwOOGDRu6/fv3O+eci42NTbJtcsn7+PDDD7tff/3VOefcDTfckImepWz8\n+PGub9++gcfn63/yfjqXsb6OHTvWjR071jnnXOfOnd2OHTvcI488ki39PF996enP+faTktT+L5HJ\nVbrmwuSTV04zM5dX+y4iktVSu+B7OPjPf/7Db7/9RtGiRRk2bBjXXHMNd911F59//jmDBg3K0tea\nP38+y5cvxzlH7dq1ueOOOwLPTZs2jREjRmBmDB06lJtvvpkmTZowbtw4GjduHNhu0qRJbN++Hecc\n1apVC+yjTp06vPXWW1x//fVp6uO+fft45plnqFChAp07d2bOnDlZ1s933nmHqVOnsnPnTvr27cuT\nTz5JkSJFUu1/Sv3MSF+PHz/O888/T4MGDahfvz4tWrTg4Ycf5tlnn82WfqZWX3r7k1p7SlL7v+Rv\nz/ABsQp8IiKSaeEc+FIyefJkqlSpQuXKlbnssstCXU6aJCYm8s0331zw1C7nvP3227Rt25Y6derQ\nt29fPvvss2yuMOukp6+5uZ8pUeDLYgp8IiJZJ7cFvlmzZhEXF0ezZs3Oe664cDJ16lS6devGxRdf\nnKbtDx8+zMcff0yxYsWoX78+LVu2zOYKs056+pqb+5kSBb4spsAnIpJ1clvgy41OnjzJJZdcEuoy\nckRe6mtyCnxZTIFPRCTrKPCJZI3sCnw6D5+IiIiIxynwiYiIiHicAp+IiIiIxynwiYiIiHicAp+I\niIiIx+lauiIikmlVqlT50/VKRST9suu8kDoti4iIiEiY02lZREREROS8FPhEREREPE6BT0RERMTj\nFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RE\nRMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6B\nT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjFPhEREREPE6BT0RERMTjwj7wmdk4\nM9tvZhuC2oqbWbSZbTGz+WZWNOi5oWYWa2abzKxDaKoWERERCR9hH/iAfwIdk7UNARY652oBi4Ch\nAGZWF+gF1AFuAN4zM8vBWkVERETCTtgHPufcMuBIsubuwAT//QlAD//9G4Epzrl459x2IBZonhN1\nioiIiISrsA98qSjjnNsP4JzbB5Txt1cEdgZtt9vfJiIiIpJn5dbAl5wLdQEiIiIi4Sp/qAvIoP1m\nVtY5t9/MygEH/O27gcuCtqvkb0vR8OHDA/ejoqKIiorK+kpFRERE0ikmJoaYmJgs2585F/6DY2ZW\nFfjSOdfA/3gk8JtzbqSZDQaKO+eG+BdtfApchW8qdwFQw6XQSTNLqVlEREQk7JgZzrkML0QN+xE+\nM5sMRAElzexXYBjwCjDNzO4FduBbmYtz7kczmwr8CMQBDynViYiISF6XK0b4soNG+ERERCS3yOwI\nn1cWbYiIiIhIKhT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4\nRERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE\n4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9E\nRETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxO\ngU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERE\nRDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4\nRERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE4xT4RERERDxOgU9ERETE\n4zwZ+Mysk5ltNrOtZjY41PWIiIiIhJI550JdQ5Yys3zAVuBaYA+wGrjVObc52XbOa30XERERbzIz\nnHOW0e/34ghfcyDWObfDORcHTAG6h7gmERERkZDxYuCrCOwMerzL3yYiIiKSJ3kx8ImIiIhIkPyh\nLiAb7AYqBz2u5G/7k+HDhwfuR0VFERUVlZ11iYiIiKRJTEwMMTExWbY/Ly7aiAC24Fu0sRf4FrjN\nObcp2XZatCEiIiK5QmYXbXhuhM85l2BmjwDR+KasxyUPeyIiIiJ5iedG+NJKI3wiIiKSW+i0LCIi\nIiJyXgp8IiIiIh6nwCciIiLicQp8IiIiIh7nuVW66ZGYmEi+fMq8IuI9Z86c4ddff2Xnzp3s27eP\ns2fPEh8fT6FChShdujTly5enZs2aREZGhrpUEckBeTrwRUREUKJECa644gqqV69O06ZNadWqFU2b\nNtUvQRHJVU6dOsXXX3/N/PnzWbVqFevXrycuLu6835M/f37q1KlDy5Yt6dixI9dccw3FihXLoYpF\nJCfl6dOypPZc4cKF6dy5Mz179qR79+5cfPHFOVmaiEiaJCQksGDBAsaOHctXX33F6dOnA8+ZGZUr\nV6Zy5cpUqFCBiy66iIiICE6ePMmBAwfYtWsX27ZtI/hvQIECBejSpQt33nknN954IwUKFAhFt0Qk\nBZk9LUueDnzx8fEcOnSIn376ic2bN7Ny5UqWLVvGpk3/O09z8eLFufvuu3nwwQepU6dOCCsWEfE5\nfvw477//Pu+++y47d+4MtDdr1oyuXbvStm1bmjZtyqWXXnre/Zw8eZINGzawePFi5s+fz7Jly0hM\nTASgUqVKDBgwgPvvv5+iRYtma39E5MIU+DLofCde/uWXX5g1axaffvopa9asCbR3796d559/nqZN\nm+ZUmSIiAceOHeP111/nzTff5OjRowBUq1aNfv360adPHypWrJip/e/du5fPPvuMsWPHBj74FilS\nhIEDB/LEE09QuHDhTPdBRDJGgS+D0nqljbVr1/LBBx8wceLEwHRJ165defXVVzXiJyI5Ij4+nrFj\nx/K3v/2NgwcPAtC2bVueeeYZOnTokOWLzxITE5k3bx6vvfZa4OLtZcuW5cUXX6Rfv35ERERk6euJ\nyIUp8GVQei+ttm/fPkaPHs17773HqVOniIiI4OGHH2bYsGGUKFEiGysVkbxs8eLFPProo2zcuBHw\nBb2///3vtG3bNkdePyYmhkGDBrF69WoAmjdvzgcffECjRo1y5PVFxEeBL4Myei3dAwcO8PzzzzN2\n7FgSExMpUaIE//jHP7j77rsxy/DPQUQkiaNHjzJo0CA++ugjAC6//HJee+01brrpphz/XeOcY+rU\nqTz55JPs2bOHiIgInnjiCV588UUtahPJIQp8GZTRwHfO+vXreeKJJ1i8eDEAHTt25IMPPqBKlSpZ\nVaKI5FGzZ8+mf//+7Nmzh8jISJ577jkGDhzIRRddFNK6jh8/zvPPP88777xDYmIidevWZdKkSTRu\n3DikdYnkBQp8GZTZwAe+T70TJ07kiSee4MiRIxQuXJhXX32Vv/71rxrtE5F0+/3333n00UcZP348\nAC1atGDcuHHUrVs3tIUls3r1au6++242b95MgQIFePHFFxk4cKCO7RPJRgp8GZQVge+cffv28cgj\njzB9+nQAunXrxscff0ypUqWyZP8i4n1r1qzh9ttvJzY2losuuogRI0bw6KOPhm2IOnXqFIMHD+ad\nd94BICoqis8++4xy5cqFuDIRb1Lgy6CsDHznTJ06lQcffJCjR49Svnx5Jk6cyHXXXZelryEi3pKY\nmMjo0aN59tlniYuLo379+nz22WfUr18/1KWlybx58+jbty/79++nfPnyfP755zm2oEQkL8ls4NOF\nZLNQr169WL9+PW3btmXv3r1cf/31DB48mPj4+FCXJiJh6Pjx49x0000MGjSIuLg4Hn30Ub799ttc\n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\n9dVXqf4eVOBT4Atrq1atcj179nRmluSP++zZs11CQkKoy5MckpiY6ObOnZvkQ4CZuW7durmlS5eG\nujyRTImPj3eTJ092derUCby/K1eu7N566y134sSJUJcnYeTIkSPu73//uytdunTgvVK/fn03c+bM\nC37gVeBT4MsVfvrpJzdgwABXuHDhJFfuGDVqlM5m72GHDx92r7/+epIrYxQqVMg99NBDujqGeE58\nfLybMmWKq1u3buD9Xrx4cffMM8+4PXv2hLo8CaHdu3e7gQMHBhZjAK5p06Zu2rRpaR78UOBT4MtV\njh496kaNGuUqV66cZLr31ltv1ZSeRyQmJrqlS5e6O++8M8m0bYUKFdyIESO0kEc8LyEhwU2fPt21\natUqye+5e+65x/3www+hLk9y0MqVK92dd97pIiMjA++Fa6+91i1YsCDdf+8yG/jC/jx82cXMXF7t\neziIj49nzpw5fPjhh8yZM+dcCKdGjRr069eP22+/ncsuuyzEVUp67NmzhylTpjBu3Dh+/PFHAMyM\nDh068MADD9CtWzcKFCgQ4ipFctZ//vMfRo8ezcyZMwO/59q1a0f//v3p2bMnkZGRIa5QstqZM2f4\n/PPPeeedd1i92ne113z58tGzZ0+GDBnClVdemaH9mhkuE+fhU+CTkPv1118ZN24c48aNC1yqzcxo\n164dd9xxBzfffDPFihULcZWSkuPHjzNjxgw+/fRTvv7668AftHLlynHvvfdy3333cfnll4e4SpHQ\n27ZtG2+88Qbjx4/n5MmTAJQpU4Z+/frxwAMPULVq1dAWKJkWGxvLP//5T8aOHcvBgwcBKFGiBPfd\ndx/9+/fP9M9YgS+DFPjCT3x8PHPnzuWTTz5h9uzZnDlzBoDIyEi6du1K7969ueGGGyhSpEiIK83b\nTp48ybx585g6dSqzZ88OXPYnMjKSLl26cOedd2o0TyQVx48f59NPP+X999/nhx9+AP43Et6nTx+6\nd+9OoUKFQlylpNXvv//OtGnT+Pjjj1m2bFmgvVGjRjz66KPcdtttXHzxxVnyWgp8GaTAF96OHTsW\nGDlatGhRYOQoMjKS6667jp49e9KtWzfKli0b4krzhkOHDvHll1/yxRdfEB0dneTajldffTV33nkn\nN998M8WLFw9hlSK5h3OO//znP4wZM4apU6dy9uxZAIoUKcLNN9/MXXfdRbt27ciXL6SXvJcUJCQk\n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\nKVasGMWKFaNo0aIUK1aMMmXKUL58eSpUqEDx4sU9H+guRIEvgxT4REREJLfIbODTsj0RERERj1Pg\nExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERER\nj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4R\nERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4\nBT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExEREfE4BT4RERERj1PgExER\nEfE4BT4RERERjwvbwGdmr5rZJjP73symm9mlQc8NNbNY//MdgtqbmNkGM9tqZm+EpnIRERGR8BK2\ngQ+IBuo55xoBscBQADOrC/QC6gA3AO+Zmfm/532gn3OuJlDTzDrmfNkiIiIi4SVsA59zbqFzLtH/\ncCVQyX//RmCKcy7eObcdXxhsbmblgCLOudX+7SYCPXKyZhEREZFwFLaBL5l7gTn++xWBnUHP7fa3\nVQR2BbXv8reJiIiI5Gn5Q/niZrYAKBvcBDjgWefcl/5tngXinHOfhaBEERERkVwvpIHPOXf9+Z43\ns75AZ+CaoObdwGVBjyv521JrT9Xw4cMD96OiooiKirpw0SIiIiLZLCYmhpiYmCzbnznnsmxnWcnM\nOgGjgaudc4eD2usCnwJX4ZuyXQDUcM45M1sJPAasBr4C3nLOzUtl/y5c+y4iIiISzMxwztmFt0xZ\nSEf4LuBtIBJY4F+Eu9I595Bz7kczmwr8CMQBDwUlt4eB8cBFwJzUwp6IiIhIXhK2I3zZTSN8IiIi\nkltkdoQvt6zSFREREZEMUuATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhER\nERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgF\nPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER\n8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+AT\nERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGP\nU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhER\nERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgFPhERERGPU+ATERER8TgF\nPhERERGPC9vAZ2Yvmtl6M1tnZvPMrFzQc0PNLNbMNplZh6D2Jma2wcy2mtkboalcREREJLyYcy7U\nNaTIzAo75373338UqOuc629mdYFPgWZAJWAhUMM558xsFfCIc261mc0B3nTOzU9l/y5c+y4iIiIS\nzMxwzllGvz9sR/jOhT2/S4BE//0bgSnOuXjn3HYgFmjuHwEs4pxb7d9uItAjp+oVERERCVf5Q13A\n+ZjZS8DdwFGgvb+5IrAiaLPd/rZ4YFdQ+y5/u4iIiEieFtIRPjNb4D/m7tztB//XbgDOueecc5Xx\nTeE+GspaRURERHKrkI7wOeeuT+Omk4GvgOH4RvQuC3qukr8ttfZUDR8+PHA/KiqKqKioNJYjIiIi\nkn1iYmKIiYnJsv2F86KN6s65bf77jwJtnXO9ghZtXIVvynYB/1u0sRJ4DFiNLyC+5Zybl8r+tWhD\nREREcoXMLtoI52P4XjGzmvgWa+wA/grgnPvRzKYCPwJxwENBye1hYDxwETAntbAnIiIikpeE7Qhf\ndtMIn4iIiOQWnj0ti4iIiIhkDQU+EREREY9T4BMRERHxOAU+EREREY9T4BMRERHxOAU+EREREY9T\n4BMRERHxOAU+EREREY9T4BMRERHxOAU+EREREY9T4BMRERHxOAU+EREREY9T4BMRERHxOAU+ERER\nEY9T4BMRERHxOAU+EREREY9T4BMRERHxOAW+PCYmJibUJYSE+p23qN95i/qdt+TVfmeWAl8ek1f/\no6jfeYv6nbeo33lLXu13ZinwiYiIiHicAp+IiIiIx5lzLtQ1hISZ5c2Oi4iISK7knLOMfm+eDXwi\nIiIieYWmdEVEREQ8ToFPRERExOPyXOAzs05mttnMtprZ4FDXk5XMbJyZ7TezDUFtxc0s2sy2mNl8\nMysa9NxQM4s1s01m1iE0VWeemVUys0VmttHMfjCzx/ztnu67mRU0s1Vmts7f72H+dk/3+xwzy2dm\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#zt = 64, z = 16, theta=0\n", + "plot_flight_path(64, 16, 0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Cool! Note that the plot title tells us what the calculated value of $C$ was for our input conditions. We have a value of $C$ between $0$ and $\\frac{2}{3}$ and our path is trochoidal, like we announced it would be.\n", + "\n", + "* For negative values of $C$, the resultant flight path consists of a series of loops. Let's try it out!" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nUqZMGcLCwrjpppvo0KHDX9arWLEigwYNytZ77Nu3j/Xr1zNlyhQAWrRoQfPmzalcuTKffvop999/\nP2PHjj3nNo4cOUKBAgWSP4+KiiI2NjZT75/ZfYTz28/0nGv/05Kdfd2zZw/Lli1j5cqVrFixggkT\nJvD888+nu34w9nPy5MnMmDGDN998M9vbyOz3Pzs0tSoiInleo0aN+O9//0u9evWIjIykQ4cOvPXW\nW+zbty9o7xEdHU3t2rWTPy9XrhxfffUVy5Yto3HjxpneRsqyGhcXR4kSJTL12tT72LJlS4YMGcKY\nMWOSj0PLSent/7nWz+q+zps3j/bt29OrVy+6du3K7t27adWqVY7uZ6dOnfjggw+46aabsnUbuqx8\n/7NDI3IiIpKjQuXWXa+99hr79u1j2LBhgG9a7pJLLvnTOimn4lLKzFRczZo1+e6775I/DwsLIzEx\nkWXLlnHq1CnmzJnD4sWLOX36NJ9//nma26lUqRIrVqxI/vzQoUM0aNAgW/v41ltvcd1119GgQQO6\nd+/OxIkTg7Kf6Ulv/9OTnX3dtWsX1atXB3xnvLZt25bx48fnyH5+8cUXvPrqqyxevJjo6GguueQS\nPvnkkwzPxE1t6dKlxMXFZer7ny3W2nz58O26iIgEQ6j/m/raa6/Z5557zlpr7fr16+2iRYtsmzZt\n7Pfffx+09zh9+rRt0qRJ8ufNmjWzv/7665/WGThwoH3ppZeSP9+yZYtNSkpK/vzkyZO2du3ayZ/X\nrVvX7tu3z1pr7ebNm/+0bmqp97FPnz52586d1lpr27Rpcx57lrYxY8bYHj16JH9+rv1PvZ/WZm9f\nR48ebUePHm2ttbZt27Z2x44dtm/fvjmyn3PmzEn+eiYlJdmyZcvar776Kt39CUj9dUkp9fc/Len9\nXfIv/0ufMTZEflPKbcYYm1/3PSNnz55l8+bN7Nixg507d7J3715OnDjBmTNnKF26dPJBpiIiAend\n6DsULFmyhMOHD1OsWDFefPFFrr/+erp27crUqVN56qmngvpeX375JYsXL8ZaS7Vq1ejSpUvyc9Om\nTWPQoEEYY+jfvz8dO3akQYMGfPDBB9SvXz95vQkTJrB9+3astVSsWDF5G9WrV+edd97hxhtvzNQ+\n7t27l2effZbLLruMtm3b8sUXXwRtP999910+/vhjdu3aRY8ePejXrx/R0dHp7n9a+5mdfT1+/DjP\nP/88tWvXplatWjRp0oQ+ffrw3HPP5ch+jhw5koSEBHbs2EGVKlV44IEHzrk/6X1dIO3vf1rS+7vk\nX/6XA05V5ITjx4/z7bffMnfuXJYtW8batWuJj49Pc93atWuzdu3aXE4oIqEulItcWiZNmkT58uUp\nV64cZcuWdR0nU5KSkliwYEGmL2ExbNgwWrRoQfXq1enRoweTJ0/O4YTBk5V99fJ+pkVFLpPye5E7\nfvw4M2bMYNKkScybN4+EhIQ/PV+hQgUqVapEuXLlKF26NEWLFuWCCy6gVKlSdOrUyVFqEQlVXity\nn332GWfPnqVRo0bnvNZZKPn444+5+eabKViwYKbWP3ToEB9++CHFixenVq1aNG3aNIcTBk9W9tXL\n+5kWFblMyq9FbsOGDbzzzjuMGzeOuLg4AMLDw2nSpAmtWrWiRYsW1K9fP0euki0ieZfXipwXnTx5\nksKFC7uOkSvy076mpiKXSfmtyK1evZoXXniB2bNnJy9r0aIFXbp0oWPHjiF3+xcR8RYVOZHgyGqR\n0+VH8rjt27fz5JNPJt/CpFChQnTv3p2+fftSo0YNx+lERETkfKjI5VHx8fEMHjyYwYMHc/r0aQoU\nKECfPn146qmnKFWqlOt4IiIiEgQqcnnQmjVr6Nq1K+vWrQOgc+fOvP7665QpU8ZxMhEREQkm3aIr\nD0lMTGTIkCE0atSIdevWUblyZRYsWMDEiRNV4kRERPIgjcjlEYcOHeKuu+7i66+/BuDBBx/kjTfe\nyLdn/YiIiOQHKnJ5wPr167nlllvYunUrpUqVYuzYsdx0002uY4lIPlK+fPm/3M9SRLIuq9c11NSq\nx82ePZsmTZqwdetWGjRowIoVK1TiRCTXBW6z5IXH8OHDk0vnI488wtmzZ51nyu7j+PHjtG/fHoCI\niAjGjx/vPJMe5/fYvn17lv7uqch52Pjx4+nQoQOxsbF06tSJRYsWeeZWMyIiLgwaNIg+ffpgreX1\n11/n7bffJiLCu5NT0dHRzJw5k8cff5yEhAS6devG6NGjXceSXKQi51EjRoygW7duJCYmMmDAACZO\nnEihQoVcxxIRCVmvvfYazz77LMYY/vOf//Dkk0+6jhQU4eHhDB06lNdeew1rLffffz/Dhw93HUty\nie7s4EFDhw5N/gfojTfe4IknnnCcSEQktI0cOZKHHnoIYwwTJkygc+fOriPliLfffpvHHnsM8O1z\n7969HSeSYNEtulLxapH7z3/+Q+/evTHG8N5779GrVy/XkUREQtqkSZO4++67sdby/vvvc//997uO\nlKNSltaPP/6Yjh07uo4kQaAil4oXi9yUKVPo3Lkz1lpGjBjBgw8+6DqSiEhIW7BgAX/7299ISEhg\nyJAhPPXUU64j5YpXX32VAQMGEBUVxZw5c7j++utdR5LzpCKXiteK3Ny5c2nbti0JCQm8+uqrPPvs\ns64jiYiEtG3bttGoUSMOHTrEY489xptvvuk6Uq6x1vLII48wbNgwoqOjWbp0KdWrV3cdS86Dilwq\nXipyv/zyC40bN+bYsWM8/vjjvPHGG7pek4jIOcTGxtKsWTPWrVvHTTfdxOzZswkPD3cdK1clJSVx\n1113MW3aNKpUqcLSpUu58MILXceSbFKRS8UrRe7IkSM0adKETZs2cdttt/HJJ58QFqaTjUVE0mOt\n5a677uLjjz+matWq/PDDDxQvXtx1LCdOnjxJ8+bN+fHHH2ndujX//e9/812hzSvSK3JqBCEsMTGR\nTp06sWnTJurUqcO4ceNU4kREMjB69Gg+/vhjihQpwueff55vSxxA4cKFmTlzJiVLluTLL7/k+eef\ndx1JgkytIIQNGjSIL7/8kosvvpjPP/+cIkWKuI4kIhLSNmzYwCOPPALAe++9R0xMjONE7pUvXz55\nNmfw4MF88803riNJEKnIhahFixbx4osvAjBhwoQs33tNRCS/iY+P56677iIuLo7u3bvTpUsX15FC\nxrXXXssLL7yAtZauXbty4MAB15EkSFTkQtChQ4fo3LkzSUlJPPPMM7Rq1cp1JBGRkPfqq6+ybt06\nKleuzLBhw1zHCTnPPfccLVq0YM+ePdx777144ThxyZhOdghBnTp1YsqUKTRt2pQFCxYQGRnpOpKI\nSEhbs2YNDRs2JCEhgYULF9KiRQvXkULSzp07qVu3LkePHmXcuHF07drVdSTJJJ3s4BGffvopU6ZM\noXDhwkyYMEElTkQkAwkJCdx7770kJCTQp08flbhzKFeuHG+99RYAjzzyCHv37nWcSM6XilwIOXTo\nUPLdGoYMGULFihUdJxIRCX0jRoxg1apVlC9fnkGDBrmOE/K6d+9O69atOXLkCH379nUdR86TplZD\nSPfu3Rk3bhzXXnst8+bN06VGREQycODAAapUqcKxY8f47LPPuOWWW1xH8oQdO3ZQq1YtYmNjmT17\n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\nli5dyh133MG0adNCqiilnFIdNWoU9913n+tIkgs0tZoPXHnllTzxxBNYa+nevbtu3yUikg0RERFM\nmjSJ6Ohopk+fzujRo11HSpZ6SrVnz56uI4ljGpHLY06fPs2VV17Jhg0bPHGwrohIqJo4cSJ33303\nBQsWZOXKlVSvXt11JCZNmkSXLl2Ijo7mp59+oly5cq4jSS5Jb0RORS4PWr16NY0bN+bs2bPMmTOH\nm266yXUkERFP6tatG+PHj6du3br88MMPFChQwFmWnTt3UrduXY4ePaop1XxIU6v5SP369Xn55ZcB\nuPfeezl06JDjRCIi3jR8+HAqVarEmjVreOqpp5zlSExMpFu3bhw9epT27dtrSlWSqcjlUU8++STN\nmzdnz5499O7dW/diFRHJhujoaCZPnkxkZCTDhg3j448/dpLj9ddfZ8GCBVxyySV88MEHIXXyhbil\nqdU8bNu2bdSpU4fY2FjGjBlD9+7dXUcSEfGkYcOG8fDDD1OkSBGWL19OtWrVcu29ly9fTrNmzUhI\nSNDhMvmYplbzoQoVKjBs2DAAHnroIX7++WfHiUREvKlv377cddddxMbG0rFjx1y78HpsbCxdunQh\nISGBRx55RCVO/kIjcnmctZZu3boxYcIEateuzdKlSylYsKDrWCIinhMbG0ujRo34+eef6dKlC+PH\nj8/xKc577rmHMWPGULt2bZYtW+b0ZAtxSyNy+ZQxhhEjRhATE8O6det47LHHXEcSEfGkIkWKMH36\ndAoXLszEiRMZOXJkjr7fRx99xJgxYyhQoACTJk1SiZM0aUQun/jxxx9p0qQJ8fHxTJkyhX/84x+u\nI4mIeNLkyZPp3LkzERERfPPNN1xzzTVBf4+1a9fSuHFjTp8+zYcffsg999wT9PcQb9GIXD5Xr149\n3nrrLQDuv/9+fv31V8eJRES8qVOnTvTr14+EhATuuOMOduzYEdTtHz9+nL///e+cPn2ae+65RyVO\nzkkjcvmItZY777yTTz75hNq1a/P9999TuHBh17FERDwnISGB9u3b8+WXX1KnTh0WL15MkSJFznu7\n1lo6derE1KlTqV27Nj/88AOFChUKQmLxOo3ICcYYPvjgg+Tj5e6//35dX05EJBsiIiKYMmUKMTEx\nrF27lh49epCUlHTe2x0xYgRTp06lSJEiTJs2TSVOMqQil88ULVqUmTNnUqRIESZPnszbb7/tOpKI\niCcVL16czz//nGLFijF9+vTkO+pk18KFC3n00UcBGD16NFWrVg1GTMnjNLWaT3366afccccdhIeH\n8yGE+i0AACAASURBVPXXX9OyZUvXkUREPGnOnDm0a9cOay0TJ06kc+fOWd7Gzp07adiwIQcOHODx\nxx9n6NChOZBUvExTq/Int99+O8888wyJiYnceeed7Nq1y3UkERFPatOmDW+++Sbgu+7bggULsvT6\nU6dO0aFDBw4cOMCNN97I4MGDcyKm5FEakcvHEhMTadOmDXPnzqV+/fosWrRIJz+IiGTTI488wjvv\nvEPx4sVZsmQJ1atXz/A11lq6dOnC5MmTqVixIsuXL6dEiRK5kFa8RiNy8hfh4eFMnjyZypUrs3r1\narp16xaUg3VFRPKjN998kw4dOnD06FHatGnD3r17M3zN0KFDmTx5MkWKFOHzzz9XiZMsU5HL5y66\n6CJmzZpFsWLF+PTTTxkwYIDrSCIinhQeHs7EiRNp3LgxO3bsoF27dsTGxqa7/syZM3n66acBGD9+\nPDVr1sytqJKHqMgJ1apV45NPPiE8PJxBgwYxduxY15FERDypUKFCfP7551SsWJFVq1Zxxx13cObM\nmb+st3z5cjp37oy1lldeeYUOHTo4SCt5gY6Rk2TvvfceDz74IJGRkXzzzTe0aNHCdSQREU/atGkT\nzZs358CBA9x5551MmjSJ8PBwAHbs2EHjxo3Zt28f99xzDx988AHG/OXQJ5E/Se8YORU5+ZPAwbol\nSpRg8eLFVKtWzXUkERFPWrVqFddddx3Hjx+nV69evPfeexw/fpyrr76a9evXc/311zNnzhyioqJc\nRxUPUJFLRUUubQkJCdx2223Mnj2b8uXLs2TJEi677DLXsUREPGnhwoW0bt2a06dP8/jjj7NmzRq+\n/vprqlevzpIlSyhevLjriOIRKnKpqMil7+TJk9xwww0sXbqUunXrsmDBAooVK+Y6loiIJ82ePZtb\nb701+aoApUqVYunSpVxxxRVug4mn6PIjkmmFCxdm9uzZxMTEsGbNGm6//Xbi4+NdxxIR8aR27dpx\n0UUXJX9+0003qcRJ0KjISZpKlizJ//73Py699FLmzZsXtBtCi4jkN4MHD+bAgQPJn48bN46RI0c6\nTCR5iYqcpKtChQrMmTOH6OhopkyZwsMPP4ymo0VEMm/UqFE8++yzGGOYOnUqw4YNA+Chhx7i/fff\n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\nnfuBvr+KXDIqcpLRXL9+nY0bN7J69Wo2btzIkSNH7nm8YMGCNGrUiKeffhofHx9q1qypk9zTIZfL\nxaFDh9zF7bvvvuPcuXP3PKdYsWL4+vri6+tL8+bNdUhdJB2LiooiIiKCyMhI+vbt+8DfR0UuGRU5\nyehOnz7Nt99+y8aNG9m4cSMnT5685/Hs2bNTu3ZtfHx88PHxoW7duhQvXlwzYtPYxYsXCQ8Pd99+\n+OEH9yXd7nrooYdo2LAhDRs2pEmTJjzxxBP6dxLJZFTkklGRk8zEWsvx48cJDQ1l27ZthIWF3XMt\nwruKFClCzZo177mVKVNGpSEFWGs5e/Yse/bsYe/evezdu5ft27ffc57jXcWLF6dBgwY0atSIRo0a\nUalSJf0biGRyKnLJqMhJZnf58mXCw8MJCwsjLCyMnTt3Eh0d/ZvneXt7U6VKFapUqULlypXdH4sV\nK6ZycR9RUVEcPnyYQ4cOsX//fndxu3Tp0m+emydPHmrXrk29evWoV68edevWpWTJkg6kFpH0TEUu\nGRU5kXtZa4mMjGTXrl3u286dO7l48eLvPt/b25uKFSvy2GOP8eijj/LYY4+5b0WLFs3QJc9aS1RU\nFJGRkURGRnL8+HGOHDnCoUOHOHTo0O8WNoACBQpQrVo1qlevTrVq1ahZsyaVK1fW7GIR+UMqcsmo\nyIn8MWst58+fZ//+/Rw4cOCej5cvX77v1+XKlYtSpUpRokQJSpYsSYkSJdz3ixcvTuHChSlcuDD5\n8uVLd4UvNjaW8+fPc+7cud98PH36tLu8xcTE3Pd75M2bl4oVK7pvTz75JNWrV6dkyZLp7r9XRDyD\nilwyKnIiD+5uwTt69Cg///wzP//8M8eOHXPfv98eqeSyZcvmLnWFCxfG29ubvHnzki9fvns+5s2b\nlxw5cpAtWzb3LXv27GTLlo2sWbPicrlwuVzcuXPHfd/lchEbG0tMTAwxMTHcvHnTfT8mJobo6Ggu\nX77M5cuX+fXXX933r1+//qeye3t7U6ZMGcqUKUPp0qUpX748FStWpEKFCpo0IiIpTkUuGRU5kdRz\n9epVTp8+zenTpzlz5gxnzpxx3z979iyXLl0iKiqKGzduOB31N7y8vHj44YcpVqwYxYoVo2jRou77\nxYsXp2zZspQuXRpvb2+no4pIJqIil4yKnIjzbt68yaVLl7h06RIXL17kypUrXL9+nWvXrnHt2jX3\n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\n8zlOaAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_flight_path(64,16,numpy.pi)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can play around with the input values and see what kind of behavior results. Just note that any value of $C > \\frac{2}{3}$ will result in $\\cos \\theta > 1$, which doesn't exist. Python will probably throw a few errors if you hit that condition, but just try again!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* The last case is $C = 0$. Take another look at Equation (16) and plug in $C = 0$, what should happen? It looks like it will just reduce to \n", + "\n", + "$$R = 3z_t$$\n", + "\n", + "It's a constant radius of curvature! In fact, this solution is a series of semi-circles, with a cusp between them. One way to force $C = 0$ that we can figure out from Equation (15), is to make:\n", + "\n", + "\n", + "$$z = 3z_t\\ \\ \\ ,\\ \\ \\ \\theta = 0$$" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\npZeYNm0a1atXp1mzZpx11lkVUfZWef/99xk5ciQ33ngjAMOHD+eLL75g7dq1tGjRgpNOOmmz70/7\nsZa2vuL6l+txJv29WeX8nVxRklQ2/H/q/9x3332xT58+sX///t9pP++88+LcuXNjjDG2a9cuzpkz\np8j3r1ixInbs2HHT88MOOywuXbq0/AreBvn5+fH444+Pv/rVr2KMMc6fPz/ec889m14///zz4zff\nfFPs+7flWCdMmBAff/zxeO+998avv/56K49g80pbX3H9S7Of4n6Xsu1FZhqnRCVJKqVrrrmGE088\n8Ttts2fPZuHChbRo0QKAUaNG0bJlyyLf/+abb9KuXbtNzzt06MA///nP8it4GwwbNoxu3bptev7l\nl18yZswY1q9fD0C9evXYbrvtin3/1h7r559/zpNPPsl5551HixYteP7557fhKIpX2vqK61/e59Qp\nUUlSlTNr1iz+/Oc/f2c9rI2PQwgcdthh9OrVq1T7fOONN2jYsCGDBg3i66+/pn79+px77rlF9v3i\niy9o1KjRpueNGjVi5syZW308xdnW41y2bBnVqlVjxx13ZNWqVQAceOCB5Ofn88Mf/pALLriAY445\nhpo1axa7j6091p///OfcdNNNAHz66adUr169XI6ztPUV13+HHXYo13NqYJMklYkQilzvs9Q2/oW7\nNSZNmsSAAQNo3rw51apV4yc/+Qm9e/f+Xr899tiDu+66a1vK/J7Fixczbdo0hgwZAsCRRx7Jj370\nI9q0afO9vl9//TXbb7/9pufbbbcd33zzTYk+p6THCNt+nH//+9/52c9+xlNPPfWd9htvvJGBAwdy\n/fXX87vf/W6z+9iaY/3Pf/7DO++8w7vvvsvkyZMZNGgQt956a7H9t+U4S1vf5vpv7TktCadEJUmV\nxsEHH8yrr77KD37wA2rWrEnv3r154IEHWLx4cbl/dv369TnggAM2PW/RogWjRo0qtm/BYLpmzRoa\nN25cos8pfIxdu3blt7/9LU8++STvvvvuth1EAe+88w6HHnro99pnzpzJuHHjGDVqFC+//DK33347\nb7/9drH72ZpjfeONNzjhhBO44IILOOuss1i4cCHHHHNMuRxnaesrrv+2nNOScIRNklQmtmVkrCzd\neeedLF68mIcffhjITKc1bdr0O30KTqEVtC1Tou3atWP8+PGbnlerVo28vLwi++65555Mnjx50/Nl\n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\nSZISMm/ePPr160d+fj633norJ5xwQtIlSZVKoiNsIYTRIYQpBbap2Z89AWKMv4gxtiAzBXp5krVK\nkor27bffcsopp7B06VKOPfZYbrvttqRLkiqdREfYYoxHl7DrYOBVYACZEbXdC7y2W7atSAMGDNj0\nuGvXrnTt2rWUVUqSihNj5IILLmDSpEm0atWKwYMHU7169aTLknLC2LFjGTt2bIn6pvmmgzYxxs+y\njy8Hjowx9i1w08GhZKZCR+NNB5KUiPvuu4/rrruOunXrMnHiRNq3b590SVLO2txNB2m+hm1gCGFv\nMjcbzAUuAogxfhxCGAp8DKwHLjGVSVLFe+2117jhhhsA+Otf/2pYk8pRakfYyoIjbJJUPj755BMO\nPfRQVqxYwW233fady08kbZ3NjbAZ2CRJpbJs2TIOO+wwPvvsM/r06cPzzz9PtWqpXSVKyhkGNklS\nmVi7di1HH300b731FgceeCBvvvkm9erVS7osqVLIyYVzJUnpEmPkZz/7GW+99RbNmjVj+PDhhjWp\nghjYJEklcscdd/D0009Tt25dXnnlFZo3d81yqaI4JSpJ2qJBgwZx1llnEULgpZdeomfPnkmXJFU6\nTolKkrba6NGj6d+/PwAPPPCAYU1KgCNskqRivf/++3Tu3JlvvvmG6667jnvuuSfpkqRKy7tEJUml\nNmfOHDp16sSiRYvo168fgwYNcvkOqRwZ2CRJpfLll19y5JFH8sknn3DUUUcxYsQIatWqlXRZUqVm\nYJMkldjKlSvp1q0b7733Hu3bt+fNN9+kYcOGSZclVXredCBJKpE1a9bQq1cv3nvvPfbcc09Gjhxp\nWJNSwMAmSQJgw4YNnH766YwbN45mzZoxevRodtlll6TLkoSBTZIE5OXl0b9/f15++WUaN27MqFGj\naN26ddJlScoysElSFZefn89FF13EoEGDqFu3LiNGjKBdu3ZJlyWpAAObJFVhMUauvPJKHnvsMWrX\nrs2rr77KoYcemnRZkgoxsElSFRVj5Prrr+eRRx5hu+2248UXX6RLly5JlyWpCAY2SaqCYozccsst\n3HfffdSoUYNhw4ZxzDHHJF2WpGLUSLoASVLFijFy8803M3DgQKpXr86QIUM44YQTki5L0mYY2CSp\nCokxcuONN3L33XdvCmsnn3xy0mVJ2gIDmyRVETFGbrjhBu69915q1KhhWJNyiIFNkqqAGCNXX301\nDz74IDVq1GDo0KH06dMn6bIklZCBTZIquby8PC688EIef/xxatasydChQ+ndu3fSZUkqBQObJFVi\n69ev5+yzz2bIkCFsv/32vPDCC/zkJz9JuixJpWRgk6RK6ttvv+W0007j5Zdfpn79+rzyyit07tw5\n6bIkbQUDmyRVQitXrqRPnz688cYb7LDDDowcOZKDDz446bIkbSUDmyRVMosXL6ZHjx6899577LLL\nLowcOZL27dsnXZakbWBgk6RKZPbs2RxzzDF89tlntGnThpEjR7LHHnskXZakbeRXU0lSJfHhhx9y\n+OGH89lnn3HggQcyfvx4w5pUSRjYJKkSGD16NEceeSSLFi2iW7dujB07lqZNmyZdlqQyYmCTpBz3\n5JNP0qNHD/773//St29fRowYQYMGDZIuS1IZMrBJUo6KMfKrX/2K/v37s2HDBm644QaeffZZtt9+\n+6RLk1TGvOlAknLQunXruOCCC3jqqaeoVq0aDz/8MJdccknSZUkqJwY2ScoxS5cu5aSTTuKtt96i\nTp06DBkyhJ49eyZdlqRyZGCTpBzy8ccf07NnT2bNmkWzZs0YPnw4HTt2TLosSeXMa9gkKUeMHDmS\nTp06MWvWLA466CAmTZpkWJOqCAObJKVcjJH777+fHj16sHLlSk455RTefPNNmjVrlnRpkiqIgU2S\nUmz16tWcddZZXHvtteTn5/OLX/yC5557jjp16iRdmqQK5DVskpRSc+fOpU+fPrz//vvUrVuXp556\nipNPPjnpsiQlwMAmSSn0z3/+k759+7J06VL23HNPXnzxRfbff/+ky5KUEKdEJSlF8vPzueuuu+je\nvTtLly7l2GOPZdKkSYY1qYozsElSSnz99deceOKJ3HzzzZuuV3v11VfZYYcdki5NUsKcEpWkFHjv\nvfc45ZRTmD17NjvssANPP/00xx9/fNJlSUoJR9gkKUExRh5++GE6derE7NmzOeigg3jvvfcMa5K+\nw8AmSQn56quvOOmkk7jiiitYt24dF110EePHj6dVq1ZJlyYpZZwSlaQETJw4kX79+jFv3jwaNmzI\nn//8Z0499dSky5KUUo6wSVIF2rBhA7fffjudO3dm3rx5HHroobz//vuGNUmb5QibJFWQ2bNnc9ZZ\nZzFhwgQArr/+eu644w5q1qyZcGWS0i71I2whhGtDCPkhhMYF2m4KIcwMIUwPIRyTZH2StCUxRp56\n6ik6dOjAhAkTaNasGaNHj+buu+82rEkqkVSPsIUQdgOOBuYWaNsX6AvsC+wGjAkh7BVjjMlUKUnF\nW7p0KRdffDHPP/88ACeffDJ/+tOfaNKkScKVScolaR9hewC4vlDbicCQGOOGGOMcYCZwSEUXJklb\n8uKLL9KuXTuef/556tWrxxNPPMHf/vY3w5qkUkttYAsh9ALmxxinFnqpOTC/wPMF2TZJSoWvv/6a\ns846iz59+rBkyRK6dOnChx9+yLnnnksIIenyJOWgRKdEQwijgaYFm4AI/AK4mcx0qCTljFdeeYUL\nL7yQhQsXUrt2bQYOHMhll11GtWqp/fexpByQaGCLMRYZyEII+wOtgA9D5p+juwHvhRAOITOi1qJA\n992ybUUaMGDApsddu3ala9eu21q2JH3PkiVLuPLKKxkyZAgAnTp14sknn2TvvfdOuDJJaTV27FjG\njh1bor4hF67VDyHMBjrGGL8OIewHPAMcSmYqdDRQ5E0HIQTvRZBUrmKMPPPMM1x11VUsW7aM2rVr\nc/vtt3PllVdSvXr1pMuTlENCCMQYi7xuItV3iRYQyUyXEmP8OIQwFPgYWA9cYiqTlITZs2dz6aWX\n8o9//AOA7t2786c//Yk99tgj4cokVTY5McK2tRxhk1Qe1q1bx3333cdvfvMb1qxZQ6NGjbj//vu9\nqUDSNqkMI2ySlArjxo3j4osvZvr06QD069eP+++/n1122SXhyiRVZt62JEklsGjRIs455xy6du3K\n9OnT2WuvvRg9ejSDBw82rEkqdwY2SdqMjdOfe++9N3/961+pVasWAwYMYMqUKXTv3j3p8iRVEU6J\nSlIxRo0axZVXXsmMGTMAOOGEE3jggQdo06ZNwpVJqmocYZOkQj799FN69+7Nsccey4wZM9hrr714\n9dVXGT58uGFNUiIMbJKUtWzZMq644gratWvHSy+9RN26dRk4cCBTp06lR48eSZcnqQpzSlRSlbd2\n7VoeeeQRbr/9dpYvX04IgfPPP5/f/OY37LrrrkmXJ0kGNklVV15eHoMHD+aXv/wlc+bMATKL3953\n3320b98+2eIkqQADm6QqJ8bIq6++ys0338zUqVMB2G+//bjnnns47rjjXPxWUup4DZukKuWtt96i\nc+fO9OzZk6lTp7L77rvzxBNPMGXKFHr06GFYk5RKjrBJqhImTpzIbbfdxpgxYwBo0qQJv/jFL7jo\noovYfvvtE65OkjbPwCapUvv3v//NbbfdxsiRIwFo0KABV199Nddccw0NGjRIuDpJKhkDm6RKafz4\n8dxxxx289tprANSvX58rr7ySa665hh122CHh6iSpdAxskiqNGCOjRo3ijjvu4K233gKgbt26XHHF\nFVx77bU0adIk4QolaesY2CTlvLy8PF588UUGDhzI5MmTAWjUqBFXXHEFV1xxhUFNUs4zsEnKWatX\nr+bJJ5/k/vvv5/PPPwdgp5124pprruGSSy7xGjVJlYaBTVLOWbJkCY8++iiPPvooy5YtA6B169Zc\nc801nHfeedSpUyfhCiWpbBnYJOWM9957j4ceeohnn32WdevWAXDwwQdz/fXXc9JJJ1G9evWEK5Sk\n8mFgk5Rq69ev54UXXuChhx5iwoQJAIQQ6NmzJ9dddx1HHnmki91KqvQMbJJSaf78+Tz22GM89thj\nLFy4EMisoXb++edz2WWXscceeyRcoSRVHAObpNTIy8tj1KhR/PGPf+SVV14hPz8fgLZt23L55Zdz\n9tlnU69evYSrlKSKZ2CTlLg5c+bw5JNP8uSTTzJ37lwAatasyamnnspFF11Ely5dnPaUVKUZ2CQl\nYvXq1bzwwgv85S9/4Y033tjU3rp1ay688EL69+/PzjvvnGCFkpQeBjZJFSY/P59x48YxaNAgnn/+\neVauXAnA9ttvz8knn8x5551H165dqVatWsKVSlK6GNgklasYI1OnTmXQoEEMHjyYBQsWbHrt4IMP\n5vzzz+e0006jUaNGCVYpSelmYJNULqZNm8bQoUMZOnQoM2bM2NTeqlUrzjzzTM444wzatm2bYIWS\nlDsMbJLKRIyRjz76iGHDhjF06FCmT5++6bXGjRtz2mmnceaZZ9KpUydvIJCkUjKwSdpqeXl5TJw4\nkRdffJEXX3yRWbNmbXqtcePG9OnTh759+9KtWzdq1qyZYKWSlNsMbJJKZcWKFYwePZoRI0YwfPhw\nli5duum1nXbaiZ49e9K3b1+OOuooQ5oklREDm6TNijEybdo0RowYwYgRI5gwYQIbNmzY9Pqee+5J\n79696d27N506dfL7PCWpHBjYJH3PggULeP311xkzZgxjxozhP//5z6bXqlevTufOnenRowfHH388\n7dq185o0SSpnBjZJLF68mDfffJM333yTN954g48//vg7rzdt2pTjjjuOHj16cPTRR7sEhyRVMAOb\nVMXEGJkzZw4TJ07kzTffZNy4cXzyySff6VO3bl26du1K9+7d6d69u6NokpQwA5tUya1atYp3332X\nt99+m7fffpt//etfLF68+Dt96tSpw+GHH06XLl3o0qULhx56KNttt11CFUuSCjOwSZXI6tWr+eCD\nD3j33XeZPHky7777LtOnTyc/P/87/Zo0aUKnTp340Y9+RJcuXTjooIO8o1OSUszAJuWg/Px85syZ\nw5QpU5gyZQpTp05lypQpzJw5kxjjd/pWr16dDh060KlTp01bmzZtnOKUpBxiYJNS7JtvvuHzzz/n\nk08+YcaMGUyfPp0ZM2bwySefsGbNmu/1r169Ou3ateOggw7ihz/8IQcddBDt27endu3aCVQvSSor\nBjYpQWvWrOGLL75g3rx5zJ8/nzlz5vD5559v2pYsWVLse3fddVcOOOAA2rdvv2lr27YttWrVqsAj\nkCRVBAObVMa+/fZbli1bxldffcWyZcv48ssvWbRo0Xe2//znP3zxxRd8+eWXm91XrVq1aN26Nfvs\nsw9t27albdu27Lvvvuyzzz4urSFJVYiBTVXe119/zauvvkp+fj55eXmbtvz8fDZs2MDatWv59ttv\nv7OtWrWKlStX8t///nfTzxUrVvDVV18VOVVZnBo1arDbbrvRokULdt99d1q0aMGee+65aWvevDnV\nqlUrx6OXJOWCUPgC5cokhBAr8/GpbEyZMoUOHTqU2f5q1qxJkyZNaNKkCY0bN2bHHXdk1113ZZdd\ndtm0NW3alN13352mTZsayCRJAIQQiDEWeUeYI2yq8ho3bswZZ5xB9erVqVat2nd+Vq9ene233/57\nW506dWjQoAH169f/zs/GjRtTt25d78CUJJUpR9gkSZJSYHMjbM7FSJIkpZyBTZIkKeUMbJIkSSln\nYJMkSUq51Aa2EMJtIYQvQgjvZbefFHjtphDCzBDC9BDCMUnWKUmSVN5SG9iy7o8xdsxurwGEEPYF\n+gL7AscBvw8pWUNh7NixSZegbeD5y12eu9zm+cttnr+KkfbAVlQQOxEYEmPcEGOcA8wEDqnQqorh\nH9rc5vnLXZ673Ob5y22ev4qR9sB2WQjhgxDCYyGEhtm25sD8An0WZNskSZIqpUQDWwhhdAhhSoFt\navZnT+D3wB4xxh8Ai4D7kqxVkiQpKTnxTQchhJbA8Bhj+xDCjUCMMf42+9prwG0xxn8X8b70H5wk\nSVJWzn2XaAhhlxjjouzTk4CPso9fBp4JITxAZiq0DfBOUfso7qAlSZJySWoDG3B3COEHQD4wB7gQ\nIMb4cQhhKPAxsB64xC8MlSRJlVlOTIlKkiRVZWm/SzQnhBDuzi7i+0EIYVgIoUGB11zkN+VCCD8J\nIcwIIXwaQvh50vVo80IIu4UQ3gghTMveqHRFtn2HEMKoEMInIYSRBe4sV8qEEKplF0R/Ofvcc5cj\nQggNQwh/y/6dNi2EcKjnr2IY2MrGKKBd9o7WmcBNACGE/UjpIr/KCCFUAx4BjgXaAf1CCG2TrUpb\nsAG4JsbYDugEXJo9ZzcCY2KM+wBvkP09VCpdSeaylo08d7njQWBEjHFfoAMwA89fhTCwlYEY45gY\nY3726b+A3bKPe5HSRX61ySHAzBjj3BjjemAImcWZlVIxxkUxxg+yj78BppP5nTsReCrb7SmgdzIV\nanNCCLsBPYDHCjR77nJAdvboyBjjEwDZv9tW4PmrEAa2snceMCL72EV+06/wOfoCz1HOCCG0An5A\n5h9KTWOMiyET6oCdk6tMm/EAcD1Q8AJqz11uaA0sDSE8kZ3S/n8hhDp4/iqEga2EtrDI78Y+twDr\nY4zPJliqVCWEEOoBzwNXZkfaCt9B5R1VKRNCOB5YnB0h3dzlIZ67dKoBdAQejTF2BFaRmQ71d68C\npHlZj1SJMR69uddDCOeSGeY/qkDzAmD3As93y7YpPRYALQo89xzlgBBCDTJh7ekY40vZ5sUhhKYx\nxsUhhF2AJclVqGIcAfQKIfQAagP1QwhPA4s8dznhC2B+jHFy9vkwMoHN370K4AhbGQgh/ITMEH+v\nGOPaAi+9DJweQtguhNCazSzyq8RMAtqEEFqGELYDTidz3pRufwE+jjE+WKDtZeDc7ONzgJcKv0nJ\nijHeHGNsEWPcg8zv2hsxxrOA4XjuUi877Tk/hLB3tunHwDT83asQrsNWBkIIM4HtgGXZpn/FGC/J\nvnYTcD6ZRX6vjDGOSqZKFScbuB8k8w+Yx2OMAxMuSZsRQjgCeBOYSmbqJQI3k/nH0FAyo9pzgb4x\nxuVJ1anNCyF0Aa6NMfYKITTGc5cTQggdyNwwUhOYBfQHquP5K3cGNkmSpJRzSlSSJCnlDGySJEkp\nZ2CTJElKOQObJElSyhnYJEmSUs7AJkmSlHIGNkmSpJQzsEmSJKWcgU2SJCnlDGySJEkpZ2CTJElK\nOQObJElSytVIugBJyhUhhAuAHYF9gKeBlsDOwP7ADTHGBQmWJ6kSCzHGpGuQpNQLIfwMmBJj/HcI\n4WBgNHAusAp4DegRYxyZYImSKjFH2CSpZJrEGP+dfdwCyIsxvhhCqA10jTG+lWBtkio5R9gkqZRC\nCA8Bu8cY+yRdi6SqwZsOJKn0ugFjky5CUtVhYJOkLQghVAshdA8ZOwPtKBDYQgg3JFacpCrBwCZJ\nW3YhMArYC+gLrAa+AAgh9AI+Sq40SVWB17BJ0haEEDoA1wMzgA+BBsBRwBxgdoxxUHLVSaoKDGyS\nJEkp55SoJElSyhnYJEmSUs7AJkmSlHIGNkmSpJQzsEmSJKWcgU2SJCnlDGySJEkpZ2CTJElKOQOb\nJElSyhnYJEmSUu7/A9i2e0jPCtaoAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_flight_path(16,48,0.)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That looks an awful lot like a quarter circle. And what's the radius of the arc? It's $$r = 48 = 3z_t.$$\n", + "\n", + "We can also get a semi-circle out of our simulated trammel by changing to another configuration where $C$ is (near) zero. Here's one example:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nvS8Z0/tyPr0nGdP7kjG9LznDb4/STXNNdhERERGvZozBXsZBG357lK6IiJyvQoUKxMTEOB1DxG+V\nL1+e/fv3e3y9GuETEZFU7lEEp2OI+K3M/g1e7gif9uETERER8XEqfCIiIiI+ToVPRERExMep8ImI\niIj4OBU+ERERkcu0du1aEhISOHv2LOvWrXM6znl0WhYREZF0Tp06xbhx4wgLC+PPP//k2Wef/dfj\nW7duJTIyksGDB2e6jsWLF7Nz504CAwO56qqr6Ny5c07HzpZt27Yxc+ZMJkyYkLrsYtufXl7Z1uzI\n6P3JSEREBDExMZQuXZp33nkHAGstxYsXJyAgIPXI22bNmjF37twcz52eCp+IiEg6Tz75JCNHjiQs\nLIyqVavywAMPUL58ecD1S3z48OHUrl07068/efIkL730Eps3bwagbt263HvvvZQoUSJX8mfV//3f\n/7F+/XqKFSv2r+UX2v70LmdbN2zYwI8//siJEyfo2rXreTmcltn7k5GhQ4fSokULypYtS2BgIAD7\n9+/nrbfe4o477iAgIIBFixZx991353TsDGlKV0REJI1ffvmFw4cPExYWBsDKlSv/VXYWLFhA48aN\nL7iOtWvXUqVKldT7t956K6tXr86ZwJfhmWeeoXXr1v9adrHtTy+727pv3z7ef/99nnjiCcLCwpg/\nf342tyLnZPT+ZCY4OJirr746tewB5M+fn7Zt21KhQgWKFi1KcHAwlStXzqm4F6QRPhER8Tk///wz\n77777r9OYpvyuTGG22+/nVatWmX4tV9++SWhoaF8+OGHnDhxgiJFitClSxcA4uLiCAgIoGTJkpw6\ndSrT1//111//NSpUrFgx9uzZ47kNdLuc7czMhbY/I9nd1ueff54XXngBgN27d/+rKKWXE9vpadHR\n0VhriYuL44YbbqBVq1aULVs29fHJkyfz9NNPO5ZPhU9ERLLEmGyf5P882b2ax8aNGxk1ahTlypUj\nICCAFi1a0KZNm/OeV7FiRcaMGZOt14iNjWXnzp3MmTMHgPr163PnnXdy/fXXs3DhQrp3784HH3xw\nwXWcOHGC/Pnzp97Ply8f8fHxWXr9rG4jXN52ZuZC25+R7Gzrb7/9RnR0NJs3b2bTpk18+OGHDB8+\nPNPn58R2elq3bt2oUaMGANWrV6dhw4aEhoYCrvcoLi6OkJAQx/Kp8ImISJ5x2223sWzZMt566y12\n7dpFmzZteO211+jUqRNXXnmlR16jSJEiVKtWLfV+WFgYK1eu5Pjx49SpUyfL6zh+/Hjq/TNnzlCm\nTJksfW36bWzUqBHjxo3jyiuvpFq1atSsWfPSNugSZbb9mRW+7Gzrl19+yf3330+PHj04ffo0gwYN\nolmzZjm+na+++ioJCQn/WpYyShgREXHBqeuLufXWW1M/L168OFFRUanTwXPnznVsKjeFCp+IiGSJ\nt1xjd/To0cTGxvLGG28ArunA9GUv7RRgWlmZAqxSpQrr169PvR8QEEBSUhLR0dGcPn2a5cuX89VX\nX5GQkMCnn36a4Xquu+46Nm3alHo/Li6O8PDwbG3ja6+9RuPGjQkPDyciIoJZs2Z5ZDszk9n2ZyY7\n23rw4MHUArR48WLuvfdeZs6cmePbOWjQoIs+JztmzZrFZ599lpo5Pj7+X1PUX375JY899liOvHaW\nWWv98ubadBERScvb/28cPXq0HTp0qLXW2p07d9p169bZe+65x3799dcee42EhAR7++23p96/4447\n7N69e//1nFGjRtkXX3wx9f6+fftscnJy6v1Tp07ZatWqpd6/9dZbbWxsrLXW2j179vzrueml38a+\nffvaAwcOWGutveeeey5jyzL2/vvv2y5duqTev9D2p99Oa7O3rVOnTrVTp0611lp777332piYGNuv\nX78c3c7sSv/+WHv++7B+/Xq7Zs0aa6218fHxtkKFCvbUqVOpj1evXt2uWrUqS6+X2b9B9/Js9x4d\npSsiInnChg0bqFatGs2bN6dJkyYsXLiQa665hkaNGnH77bd77HVCQkIYNWoUI0aMYPjw4fTp04fr\nrrsu9fGPP/6YxYsXs3jx4tQjSx944AG+++671OcULFiQQYMG8Z///IeXX36ZgQMHUrp0aQBatmzJ\nqlWrsryNwAUPaLgcb775JtOmTSMqKooXX3yRv/7664Lbn347s7utDz74INu3b2fq1KkMHz6csLAw\nkpOTc2w7syuj9wfOfx/q1avHwYMHmThxIkOHDmXOnDkULFgw9fESJUpQrly5XM+flrFeMkSf24wx\n1l+3XUQkM2mPgswLZs+eTfny5QkLC+Oaa65xOk6WJCcns2bNmoue2iXFG2+8Qf369alcuTJdunTh\no48+yuGEnnMp25qXt9OTMvs36F6e7SOnVPhERCRVXit8ixcvJjExkdtuu+2ydrjPTfPmzaNly5YU\n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\npozTkbyGRvjysB49elC9enUOHDjA2LFjnY4jIiLimISEhNRrz7/44osqex6mET6HffXVV9x5552E\nhITwww8/ULFiRacjiYiI5LqXX36ZESNGULVqVbZu3UpQkKNnjvM6GuHL4+rVq0fnzp05e/Ys/fv3\nxxtKqIiISG7av38/o0ePBuDNN99U2csBKnxe4NVXXyU0NJTPPvuM+fPnOx1HREQk11hr6d27NwkJ\nCXTs2JGGDRs6HcknaUrXS7zzzjv06tWLMmXKsGvXLooVK+Z0JBERkRw3Z84cOnbsSLFixdi1a5f2\n3cuEpnR9RPfu3alXrx6///47gwcPdjqOiIhIjjtx4kTqgRrjx49X2ctBGuHzIjt37qRGjRokJiay\nfv166tWr53QkERGRHNO9e3emTp1KgwYNWL16NQEBGofKjEb4fEiVKlUYNGgQ4Dply99//+1wIhER\nkZyxZs0apk6dSr58+XjnnXdU9nKY3l0vM3ToUK6//np++OEHxowZ43QcERERj0tISKBnz54ADBky\nhJtuusnhRL5PU7peaM2aNTRq1IigoCA2btxI9erVnY4kIiLiMYMGDWL8+PHcdNNNfPfdd4SEhDgd\nyetpStcHNWzYkH79+nHu3Dm6dOlCYmKi05FEREQ8YsOGDUyYMIGAgADef/99lb1cosLnpcaMGcO1\n117Ltm3bUk9GKSIikpedPn2aLl26YK1l0KBB1KlTx+lIfkNTul4sKiqKxo0ba2pXRER8wjPPPMNr\nr71GlSpV2Lx5s0b3LoGmdH1Yo0aN/jW1q6N2RUQkr1q/fj0TJ04kMDBQU7kOUOHzcmPGjKFixYps\n27aNUaNGOR1HRETkksXHx6dO5b7wwgvUqlXL6Uh+R1O6ecD69etp2LAh1lqioqJo0KCB05FERESy\nrFu3bkybNo1bbrmFjRs3ki9fPqcj5Tma0vUDd955Jy+88ALWWjp37swff/zhdCQREZEsWbBgAdOm\nTSN//vzMnj1bZc8hKnx5xMiRI7nttts4cOAAffv2dTqOiIjIRR06dIju3bsDrmvlVqlSxeFE/ktT\nunnI7t27qVGjBqdPn2bWrFl06tTJ6UgiIiIZSk5OplmzZnzxxRfce++9LF26FGOyPSPp9zSl60cq\nVarE66+/DkDv3r3Zv3+/s4FEREQy8dprr/HFF19QqlQppk+frrLnMI3w5THWWtq3b88nn3xC7dq1\nWbdunfaHEBERr7Jx40bq1atHYmIiS5Ys4f7773c6Up6nET4/Y4xh6tSphIWFER0dzeDBg52OJCIi\nkuqPP/6gQ4cOJCYm0q9fP5U9L6ERvjzqm2++oX79+pw7d47FixfTqlUrpyOJiIifSzsLVbNmTb76\n6iudYNlDNMLnp26//XbGjh0LQJcuXYiJiXE4kYiI+LtJkybxySefULRoUebNm6ey50U0wpeHWWtp\n1aoVS5cu5fbbb2ft2rUEBwc7HUtERPxQdHQ0d955J4mJicyfP5/27ds7HcmnaITPjxljeP/997nm\nmmv45ptvGDhwoNORRETEDx0/fpyHHnqIxMREnnzySZU9L6QRPh/w9ddf07BhQxITE3V+PhERyVVJ\nSUncd999REZGUqtWLdavX6+p3BygET6hbt26qefn69atG9u3b3c4kYiI+IsRI0YQGRlJyZIlmT9/\nvsqel9IIn4+w1vLEE0/w/vvvU7FiRTZt2kTx4sWdjiUiIj7sk08+oV27dgQEBPD555/TpEkTpyP5\nLI3wCeD6QXjrrbcIDw/n559/5pFHHiEpKcnpWCIi4qN27drFY489BsCrr76qsuflVPh8SIECBVi4\ncCElSpRg+fLljBw50ulIIiLig/7880/atm1LfHw8Dz/8MM8884zTkeQiNKXrg1atWkXz5s1JTk7m\no48+4uGHH3Y6koiI+IikpCRat27NsmXLuOWWW9iwYQOFChVyOpbP05SunKdp06a89tprADz++ONE\nR0c7nEhERHzFoEGDWLZsGSVKlOCTTz5R2csjNMLno6y19OrViylTplCmTBk2btzI1Vdf7XQsERHJ\nw6ZOnUr37t0JDg5m1apVNGjQwOlIfuNyR/hU+HxYYmIizZo1IyoqivDwcNauXau/xEREJFtWr15N\ns2bNOHfuHNOmTeOJJ55wOpJf0ZSuZCo4OJj58+dz3XXXsWXLFiIiIkhOTnY6loiI5DF79uyhffv2\nnDt3jueee05lLw9S4fNxJUqUYOnSpYSGhrJgwQIGDx7sdCQREclD4uLiuP/++zlx4gQtW7Zk7Nix\nTkeSbFDh8wM33XQT8+fPJygoiPHjx/Pmm286HUlERPKAM2fO0KpVK3bv3s0tt9zCrFmzCAwMdDqW\nZIMKn59o2rQpU6dOBeDJJ59k0aJFDicSERFvlpSUxKOPPsqGDRu4+uqr+eyzzyhSpIjTsSSbVPj8\nSEREBC+99BLWWjp27MjXX3/tdCQREfFC1lqefvppFi5cSGhoKCtWrKBcuXJOx5LLoKN0/Yy1lh49\nejB16lRKlCjB119/zQ033OB0LBER8SITJkxg4MCB5MuXj8jISBo1auR0JL+n07Jkk78WPoBz587R\nqlUrli9fzrXXXsv69eu56qqrnI4lIiJeYPbs2TzyyCMAulqTF9FpWeSSBQUFMW/ePGrVqsUvv/xC\n8+bNOX78uNOxRETEYcuWLSMiIgKA8ePHq+z5EBU+P1W4cGGWL1/OTTfdxI4dO7jvvvs4deqU07FE\nRMQh69at44EHHuDcuXMMHDiQZ5991ulI4kGa0vVzv/76K/Xq1ePAgQM0a9aMTz/9lJCQEKdjiYhI\nLtqyZQuNGzfm5MmTdO/enXfeeQdjsj17KDlAU7pyWa6++mo+//xzSpUqxcqVK+ncuTNJSUlOxxIR\nkVzy008/0aJFC06ePEmHDh14++23VfZ8kAqfUKlSJSIjIylatCgff/wx3bt31yXYRET8QExMDHff\nfTdHjx6lRYsWzJw5UydW9lEqfAJAjRo1WLp0KQUKFOC9996jV69eKn0iIj7swIEDNG7cmIMHD1Kv\nXj0WLFhAvnz5nI4lOUSFT1LVr1+fpUuXkj9/ft5991369euH9nMUEfE9v/76K40bN+aXX36hdu3a\nLFu2jIIFCzodS3KQCp/8S5MmTVIP3Hj77bcZMGCASp+IiA85dOgQjRs35ueff6ZWrVpERkYSGhrq\ndCzJYSp8cp67776bRYsWkS9fPt544w2eeeYZlT4RER9w+PBhmjRpwt69ewkPD2flypUUK1bM6ViS\nC1T4JEMtWrRg4cKFBAcHM3HiRAYNGqTSJyKSh/322280adKE3bt3U716dT7//HOKFy/udCzJJSp8\nkqn77ruP+fPnExQUxIQJE3juuedU+kRE8qDffvuNu+66i59++olbbrmFVatWccUVVzgdS3KRCp9c\nUKtWrZg3bx7BwcH83//9H3369NHRuyIieUhMTAwNGjRg165dVKtWjS+++IISJUo4HUtyma60IVny\n2Wef0b59exISEujcuTPTp08nKCjI6VgiInIBu3fvpmnTphw8eJDw8HAiIyMpWbKk07EkGy73Shsq\nfJJlq1evpmXLlpw6dYr27dsze/ZsnbNJRMRLbd++nWbNmhEbG0u9evVYtmyZjsbNw3RpNck1jRs3\n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\nvMsjiwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_flight_path(64,16,-numpy.pi/2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That is so nice. We have reproduced the trajectories that Lanchester found more than a hundred years ago, painstakingly drawing them by hand with a contraption called a \"trammel.\" It must have taken him days!\n", + "\n", + "Here is how the different phugoid curves are drawn in von Kármán's book, _Aerodynamics_ (1957). He never says _how_ he drew them, but we're guessing by hand, also. We did pretty good!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/vonKarman-phugoids.png)\n", + "\n", + "#### Figure 4. Phugoid curves in von Kármán (1957)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the next notebook of this series, we'll look at the differential equation that arises when you consider small perturbations on the horizontal phugoid, and we'll learn to numerically integrate that to get the flight paths." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Lanchester, F. W. _Aerodonetics_, D. van Nostrand Company: New York, 1909. On the public domain. [Get it from Google Books](http://books.google.com/books?id=6hxDAAAAIAAJ&pg=PP1#v=onepage&q&f=false).\n", + "\n", + "2. Milne-Thompson, L. M. _Theoretical Aerodynamics_, Dover 2012 reprint of the revised 1966 edition. [Read on Google Books](http://books.google.com/books?id=EMfCAgAAQBAJ&lpg=PP1&pg=PP1#v=onepage&q&f=false) (see section 18.5)\n", + "\n", + "3. Sinha, N. K. and Ananthkrishnan, N. _Elementary Flight Dynamics with an introduction to Bifurcation and Continuation Methods_, CRC Press, 2013. [Read on Google Books](http://books.google.com/books?id=yXL6AQAAQBAJ&lpg=PP1&pg=PP1#v=onepage&q&f=false) (see chapter 5)\n", + "\n", + "4. von Kármán, T. _Aerodynamics_, Dover 2004 reprint of the 1957 2nd edition. (see pages 149–151)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of this notebook. " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Execute this cell to load the notebook's style sheet, then ignore it\n", + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/lecture_22/01_phugoid/01_02_Phugoid_Oscillation.ipynb b/lecture_22/01_phugoid/01_02_Phugoid_Oscillation.ipynb new file mode 100644 index 0000000..eb6283b --- /dev/null +++ b/lecture_22/01_phugoid/01_02_Phugoid_Oscillation.ipynb @@ -0,0 +1,949 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth. Partly based on David Ketcheson's pendulum lesson, also under CC-BY." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Phugoid Oscillation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Welcome back! This is the second IPython Notebook of the series _\"The phugoid model of glider flight\"_, the first learning module of the course [**\"Practical Numerical Methods with Python.\"**](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about)\n", + "\n", + "In the first notebook, _\"Phugoid Motion\"_, we described the physics of an aircraft's oscillatory trajectory, seen as an exchange of kinetic and potential energy. This analysis goes back to Frederick Lanchester, who published his book _\"Aerodonetics\"_ on aircraft stability in 1909. We concluded that first exposure to our problem of interest by plotting the flight paths predicted by Lanchester's analysis, known as _phugoids_.\n", + "\n", + "Here, we will look at the situation when an aircraft is initially moving on the straight-line phugoid (obtained with the parameters $C=2/3$, $\\cos\\theta=1$, and $z=z_t$ in the previous analysis), and experiences a small upset, a wind gust that slightly perturbs its path. It will then enter into a gentle oscillation around the previous straight-line path: a _phugoid oscillation_.\n", + "\n", + "If the aircraft experiences an upward acceleration of $-d^2z/dt^2$, and we assume that the perturbation is small, then $\\cos\\theta=1$ is a good approximation and Newton's second law in the vertical direction is:\n", + "\n", + "$$\\begin{equation}\n", + "L - W = - \\frac{W}{g}\\frac{d^2 z}{dt^2}\n", + "\\end{equation}$$\n", + "\n", + "In the previous notebook, we saw that the following relation holds for the ratio of lift to weight, in terms of the trim velocity $v_t$:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{L}{W}=\\frac{v^2}{v_t^2}\n", + "\\end{equation}$$\n", + "\n", + "This will be useful: we can divide Equation (1) by the weight and use Equation (2) to replace $L/W$. Another useful relation from the previous notebook expressed the conservation of energy (per unit mass) as $v^2 = 2 gz$. With this, Equation (1) is rearranged as:\n", + "\n", + "$$\\begin{equation}\n", + "\\frac{d^2z}{dt^2} + \\frac{gz}{z_t} = g\n", + "\\end{equation}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Look at Equation (3) for a moment. Does it ring a bell? Do you recognize it?\n", + "\n", + "If you remember from your physics courses the equation for _simple harmonic motion_, you should see the similarity! \n", + "\n", + "Take the case of a simple spring. Hooke's law is $F=-kx$, where $F$ is a restoring force, $x$ the displacement from a position of equilibrium and $k$ the spring constant. This results in the following ordinary differential equation for the displacement:\n", + "\n", + "$$\\begin{equation}\n", + " \\frac{d^2 x}{dt^2}= -\\frac{k}{m}x\n", + "\\end{equation}$$\n", + "\n", + "which has the solution $x(t) = A \\cos(\\omega t- \\phi)$, representing simple harmonic motion with an angular frequency $\\omega=\\sqrt{k/m}=2\\pi f$ and phase angle $\\phi$.\n", + "\n", + "Now look back at Equation (3): it has nearly the same form and it represents simple harmonic motion with angular frequency $\\omega=\\sqrt{g/z_t}$ around mean height $z_t$. \n", + "\n", + "Think about this for a moment ... we can immediately say what the period of the oscillation is: exactly $2 \\pi \\sqrt{z_t/g}$ — or, in terms of the trim velocity, $\\pi \\sqrt{2} v_t/g$.\n", + "\n", + "_This is a remarkable result!_ Think about it: we know nothing about the aircraft, or the flight altitude, yet we can obtain the period of the phugoid oscillation simply as a function of the trim velocity. For example, if trim velocity is 200 knots, we get a phugoid period of about 47 seconds—over that time, you really would not notice anything if you were flying in that aircraft.\n", + "\n", + "Next, we want to be able to compute the trajectory of the aircraft for a given initial perturbance. We will do this by numerically integrating the equation of motion." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prepare to integrate" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We want to integrate the differential equation and plot the trajectory of the aircraft. Are you ready?\n", + "\n", + "The equation for the phugoid oscillation is a second-order, ordinary differential equation (ODE). Let's represent the time derivative with a prime, and write it like this:\n", + "\n", + "$$\\begin{equation}\n", + "z(t)'' + \\frac{g \\,z(t)}{z_t}=g\n", + "\\end{equation}$$\n", + "\n", + "There's a convenient trick when we work with ODEs: we can turn this 2nd-order equation into a system of two 1st-order equations. Like this:\n", + "\n", + "$$\\begin{eqnarray}\n", + "z'(t) &=& b(t)\\\\\n", + "b'(t) &=& g\\left(1-\\frac{z(t)}{z_t}\\right)\n", + "\\end{eqnarray}$$\n", + "\n", + "Are you following? Make sure you are following the derivations, even if it means writing the equations down in your own notes! (Yes, the old-fashioned paper way.)\n", + "\n", + "Another way to look at a system of two 1st-order ODEs is by using vectors. You can make a vector with your two independent variables, \n", + "\n", + "$$\\begin{equation}\n", + "\\vec{u} = \\begin{pmatrix} z \\\\ b \\end{pmatrix}\n", + "\\end{equation}$$\n", + "\n", + "and write the differential system as a single vector equation:\n", + "\n", + "\\begin{equation}\n", + "\\vec{u}'(t) = \\begin{pmatrix} b\\\\ g-g\\frac{z(t)}{z_t} \\end{pmatrix}\n", + "\\end{equation}\n", + "\n", + "If you call the right-hand-side $\\vec{f}(\\vec{u})$, then the equation is very short: $\\vec{u}'(t) = \\vec{f}(\\vec{u})$—but let's drop those arrows to denote vectors from now on, as they are a bit cumbersome: just remember that $u$ and $f$ are vectors in the phugoid equation of motion.\n", + "\n", + "Next, we'll prepare to solve this problem numerically." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Initial value problems" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's step back for a moment. Suppose we have a first-order ODE $u'=f(u)$. You know that if we were to integrate this, there would be an arbitrary constant of integration. To find its value, we do need to know one point on the curve $(t, u)$. When the derivative in the ODE is with respect to time, we call that point the _initial value_ and write something like this:\n", + "\n", + "$$u(t=0)=u_0$$\n", + "\n", + "In the case of a second-order ODE, we already saw how to write it as a system of first-order ODEs, and we would need an initial value for each equation: two conditions are needed to determine our constants of integration. The same applies for higher-order ODEs: if it is of order $n$, we can write it as $n$ first-order equations, and we need $n$ known values. If we have that data, we call the problem an _initial value problem_.\n", + "\n", + "Remember the definition of a derivative? The derivative represents the slope of the tangent at a point of the curve $u=u(t)$, and the definition of the derivative $u'$ for a function is:\n", + "\n", + "$$u'(t) = \\lim_{\\Delta t\\rightarrow 0} \\frac{u(t+\\Delta t)-u(t)}{\\Delta t}$$\n", + "\n", + "If the step $\\Delta t$ is already very small, we can _approximate_ the derivative by dropping the limit. We can write:\n", + "\n", + "$$\\begin{equation}\n", + "u(t+\\Delta t) \\approx u(t) + u'(t) \\Delta t\n", + "\\end{equation}$$\n", + "\n", + "With this equation, and because we know $u'(t)=f(u)$, if we have an initial value, we can step by $\\Delta t$ and find the value of $u(t+\\Delta t)$, then we can take this value, and find $u(t+2\\Delta t)$, and so on: we say that we _step in time_, numerically finding the solution $u(t)$ for a range of values: $t_1, t_2, t_3 \\cdots$, each separated by $\\Delta t$. The numerical solution of the ODE is simply the table of values $t_i, u_i$ that results from this process." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Discretization" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to execute the process described above and find the numerical solution of the ODE, we start by choosing the values $t_1,t_2,t_3 \\cdots t_n$—we call these values our *grid* in time. The first point of the grid is given by our _initial value_, and the small difference between two consecutive times is called the _time step_, denoted by $\\Delta t$. The solution value at time $t_n$ is denoted by $u_n$.\n", + "\n", + "Let's build a time grid for our problem. We first choose a final time $T$ and the time step $\\Delta t$. In code, we'll use readily identifiable variable names: `T` and `dt`, respectively. With those values set, we can calculate the number of time steps that will be needed to reach the final time; we call that variable `N`. \n", + "\n", + "Let's write some code. The first thing we do in Python is load our favorite libraries: NumPy for array operations, and the Pyplot module in Matplotlib, to later on be able to plot the numerical solution. The line `%matplotlib inline` tells IPython Notebook to show the plots inline." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import numpy \n", + "from matplotlib import pyplot\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, initialize `T` and `dt`, calculate `N` and build a NumPy array with all the values of time that make up the grid." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "T = 100.0\n", + "dt = 0.02\n", + "N = int(T/dt)+1\n", + "t = numpy.linspace(0.0, T, N)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have our grid! Now it's time to apply the numerical time stepping represented by Equation (10)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Challenge!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* Write the code above using the NumPy function `arange()` instead of `linspace()`. If you need to, read the documentation for these functions." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Pro tip:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Enter a question mark followed by any function, e.g., `?numpy.linspace`, into a code cell and execute it, to get a help pane on the notebook." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Euler's method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The approximate solution at time $t_n$ is $u_n$, and the numerical solution of the differential equation consists of computing a sequence of approximate solutions by the following formula, based on Equation (10):\n", + "\n", + "$$u_{n+1} = u_n + \\Delta t \\,f(u_n).$$\n", + "\n", + "This formula is called **Euler's method**.\n", + "\n", + "For the equations of the phugoid oscillation, Euler's method gives the following algorithm that we need to implement in code:\n", + "\n", + "\\begin{align}\n", + "z_{n+1} & = z_n + \\Delta t \\, b_n \\\\\n", + "b_{n+1} & = b_n + \\Delta t \\left(g - \\frac{g}{z_t} \\, z_n \\right).\n", + "\\end{align}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### And solve!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To apply the numerical solution method, we need to set things up in code: define the parameter values needed in the model, initialize a NumPy array to hold the discrete solution values, and initialize another array for the elevation values." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# initial conditions\n", + "z0 = 100. #altitude\n", + "b0 = 10. #upward velocity resulting from gust\n", + "zt = 100.\n", + "g = 9.81\n", + "\n", + "u = numpy.array([z0, b0])\n", + "\n", + "# initialize an array to hold the changing elevation values\n", + "z = numpy.zeros(N)\n", + "z[0] = z0 " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You should pay attention to a couple of things: (1) See how there is a dot after the numbers used to define our parameters? We just want to be explicit (as a good habit) that these variables are real numbers, called \"floats.\" (2) We both _created_ and _initialized_ with zeros everywhere the solution vector `z`. Look up the documentation for the handy NumPy function `zeros()`, if you need to. (3) In the last line above, we assign the _initial value_ to the first element of the solution vector: `z[0]`.\n", + "\n", + "Now we can step in time using Euler's method. Notice how we are time stepping the two independent variables at once in the time iterations." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# time-loop using Euler's method\n", + "for n in range(1,N):\n", + " u = u + dt*numpy.array([u[1], g*(1-u[0]/zt)])\n", + " z[n] = u[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Make sure you understand what this code is doing. This is a basic pattern in numerical methods: iterations in a time variable that apply a numerical scheme at each step." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot the solution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If the code is correct, we have stored in the array `z` the position of the glider at each time. Let's use Matplotlib to examine the flight path of the aircraft.\n", + "\n", + "You should explore the [Matplotlib tutorial](http://matplotlib.org/users/pyplot_tutorial.html) (if you need to) and familiarize yourself with the command-style functions that control the size, labels, line style, and so on. Creating good plots is a useful skill: it is about communicating your results effectively. \n", + "\n", + "Here, we set the figure size, the limits of the vertical axis, the format of tick-marks, and axis labels. The final line actually produces the plot, with our chosen line style (continuous black line)." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pyplot.figure(figsize=(10,4)) #set plot size\n", + "pyplot.ylim(40,160) #y-axis plot limits\n", + "pyplot.tick_params(axis='both', labelsize=14) #increase font size for ticks\n", + "pyplot.xlabel('t', fontsize=14) #x label\n", + "pyplot.ylabel('z', fontsize=14) #y label\n", + "pyplot.plot(t,z, 'k-');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Explore and think" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Try changing the value of `v` in the initial conditions. \n", + "\n", + "* What happens when you have a larger gust? \n", + "* What about a smaller gust? \n", + "* What happens if there isn't a gust (`v = 0`)?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exact solution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The equation for phugoid oscillations is a 2nd-order, linear ODE and it has an exact solution of the following form:\n", + "\n", + "$$\n", + "\\begin{equation}\n", + "z(t) = A \\sin \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + B \\cos \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + z_t\n", + "\\end{equation}\n", + "$$\n", + "\n", + "where $A$ and $B$ are constants that we solve for using initial conditions. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our numerical solution used the initial conditions:\n", + "\n", + "$$\\begin{eqnarray}\n", + "z(0) = z_0 \\\\\n", + "b(0) = b_0\n", + "\\end{eqnarray}$$\n", + "\n", + "Applying these to the exact solution and solving for $A$ and $B$, we get:\n", + "\n", + "$$\\begin{equation}\n", + "z(t) = b_0 \\sqrt{\\frac{z_t}{g}} \\sin \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + (z_0-z_t) \\cos \\left(\\sqrt{\\frac{g}{z_t}} t \\right) + z_t\n", + "\\end{equation}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We already defined all of these variables for our numerical solution, so we can immediately compute the exact solution. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Pro tip:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The expression is a bit long —if you don't feel like scrolling left and right, you can insert a line break in the code using a backslash '\\' _(without any trailing spaces)_ and Python will treat the next line as a continuation of the first." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "z_exact = b0*(zt/g)**.5*numpy.sin((g/zt)**.5*t)+\\\n", + " (z0-zt)*numpy.cos((g/zt)**.5*t)+zt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot the exact solution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can plot our exact solution! Even better, we can plot _both_ the numerical solution *and* the exact solution to see how well Euler's method approximated the phugoid oscillations.\n", + "\n", + "To add another curve to a plot, simply type a second `pyplot.plot()` statement. We also added a legend using the format\n", + "\n", + "```Python\n", + "pyplot.legend([\"line 1\",\"line 2\"])\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nXZ3JngAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pyplot.figure(figsize=(10,4))\n", + "pyplot.ylim(40,160) #y-axis plot limits\n", + "pyplot.tick_params(axis='both', labelsize=14) #increase font size for ticks\n", + "pyplot.xlabel('t', fontsize=14) #x label\n", + "pyplot.ylabel('z', fontsize=14) #y label\n", + "pyplot.plot(t,z)\n", + "pyplot.plot(t, z_exact)\n", + "pyplot.legend(['Numerical Solution','Analytical Solution']);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That looks like pretty good agreement, but what's happening towards the end? We'll come back to this. For now, re-run the previous steps with a different timestep, say $dt=0.01$ and pay attention to the difference.\n", + "\n", + "Euler's method, like all numerical methods, introduces some errors. If the method is *convergent*, the approximation will get closer and closer to the exact solution as we reduce the size of the step, $\\Delta t$. The error in the numerical method should tend to zero, in fact, when $\\Delta t\\rightarrow 0$—when this happens, we call the method _consistent_. We'll define these terms more carefully in the theory components of this course. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To compare the two solutions, we need to use a **norm** of the difference, like the $L_1$ norm, for example.\n", + "\n", + "$$ E = \\Delta t \\sum_{n=0}^N \\left|z(t_n) - z_n\\right|$$\n", + "\n", + "The $L_1$ norm is the sum of the individual differences between the exact and the numerical solutions, at each mesh point. In other words, $E$ is the discrete representation of the integral over the interval $T$ of the (absolute) difference between the computed $z$ and $z_{\\rm exact}$:\n", + "\n", + "$$ E = \\int \\vert z-z_\\rm{exact}\\vert dt $$\n", + "\n", + "We check for convergence by calculating the numerical solution using progressively smaller values of `dt`. We already have most of the code that we need. We just need to add an extra loop and an array of different $\\Delta t$ values to iterate through. \n", + "\n", + "You should read the documentation for the function [enumerate](https://docs.python.org/2/library/functions.html#enumerate) and make sure you understand how we're using it below." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Warning" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The cell below can take a little while to finish (the last $\\Delta t$ value alone requires 1 million iterations!). If the cell is still running, the input label will say `In [*]`. When it finishes, the `*` will be replaced by a number." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# time-increment array\n", + "dt_values = numpy.array([0.1, 0.05, 0.01, 0.005, 0.001, 0.0001])\n", + "\n", + "# array that will contain solution of each grid\n", + "z_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " N = int(T/dt)+1 # number of time-steps\n", + " ### discretize the time using numpy.linspace() ###\n", + " t = numpy.linspace(0.0, T, N)\n", + "\n", + " # initial conditions\n", + " u = numpy.array([z0, b0])\n", + " z = numpy.empty_like(t)\n", + " z[0] = z0\n", + " \n", + " # time loop - Euler method\n", + " for n in range(1,N):\n", + " ### compute next solution using Euler method ###\n", + " u = u + dt*numpy.array([u[1], g*(1-u[0]/zt)])\n", + " z[n] = u[0] # store the elevation at time-step n+1\n", + " \n", + " z_values[i] = z.copy() # store the total elevation calculation grid i" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Calculate the error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now have numerical solutions for each $\\Delta t$ in the array `z_values`. To calculate the error corresponding to each $\\Delta t$, we can write a function! " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def get_error(z, dt):\n", + " \"\"\"Returns the error relative to analytical solution using L-1 norm.\n", + " \n", + " Parameters\n", + " ----------\n", + " z : array of float\n", + " numerical solution.\n", + " dt : float\n", + " time increment.\n", + " \n", + " Returns\n", + " -------\n", + " err : float\n", + " L_{1} norm of the error with respect to the exact solution.\n", + " \"\"\"\n", + " N = len(z)\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " z_exact = b0*(zt/g)**.5*numpy.sin((g/zt)**.5*t)+\\\n", + " (z0-zt)*numpy.cos((g/zt)**.5*t)+zt\n", + " \n", + " return dt * numpy.sum(numpy.abs(z-z_exact))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note**: in the last line of the function, we perform an 'array operation': \n", + "\n", + "`z - z_exact`\n", + "\n", + "We are *not* subtracting one value from another. Instead, we are taking the difference between elements at each corresponding index in both arrays. Here is a quick example:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([3, 2, 1])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = numpy.array([1, 2, 3])\n", + "b = numpy.array([4, 4, 4])\n", + "\n", + "b - a" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we iterate through each $\\Delta t$ value and calculate the corresponding error. " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "error_values = numpy.empty_like(dt_values)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " ### call the function get_error() ###\n", + " error_values[i] = get_error(z_values[i], dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Remember, *if* the method is convergent then the error should get smaller as $\\Delta t$ gets smaller. To visualize this, let's plot $\\Delta t$ vs. error. If you use `pyplot.plot` you won't get a very useful result. Instead, use `pyplot.loglog` to create the same plot with a log-log scale. This is what we do almost always to assess the errors of a numerical scheme graphically." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nWtIESavUofkys59KukjSFElDJT0gaaGZbStJ7n6pu+/s7ru4e3Pbl4Yssi9f7eb72p626+75rp7r\nuL6z7aL42rq3P7OQ14XOM591Scqy0Nf2Ns9C1pdLnqX4Xe9sHXnm91xf1hVbnP/uZN/s3XaF5tmV\nSJo4d1/o7pPd/XZJ6zvZ5AxJ17n7Ne7+vLuPl/S6pJO7ek8zu1vSrZJGm9krZrZnX+uMw//ZpWri\nVqxY0W0dIcT5L6KunuvNX0RxzrLQ18bhL/a05BmXJo48wzVxpciyqzpCv47f9XCvLWUTF/klRsxs\npaRT3X1mbrm/pI8lHZlr8lq3u1jSTu6e6ePP45ArAABIjK4uMdKv1IXkYUtJG0t6s8P6tyRt3dc3\n7yoIAACAJOHsVAAAgASKYxP3jqR1kgZ3WD9YLXNxAAAAZS92TZy7r5H0uKQDOjy1v1rOUgUAACh7\nkczEmdlASTvkFjeS9BUzGyrpXXd/RdL/SLrezB5RS+N2klrm4S6Pol4AAIC4ieTsVDPLSGrKLbr+\ndX236e7+s9w2J0s6U9IQSX+SdLq731fiUgEAAGIp8kuMIBnMbIWkD9RyXb/33H2/aCtKPjPbRNKz\nkm51919GXU9SmdkgSYvVcmShv6TL3P3iaKtKptwF1a+X9AVJn0j6jbvfFm1VyWZmsyUNl9To7kdE\nXU8SmdlBki5Uy5G789z9mohLig2aOOTFzF6S9C13/39R15IWZvZbSZWSXnb3M6OuJ6nMbCNJ/d29\nOdcYPyNpD3d/O+LSEsfMtpa0lbs/bWaD1TKfvIO7r4q4tMQys+GSNpV0HE1c4cysn1p+pzOSVkp6\nQtL33P29KOuKi9id2IBY4xp7gZjZDpK+LmmhyLVP3H19m9vvfVbSaknN3bwEXXD3N9z96dyf31TL\n1QK2iLaqZHP3pZI+irqOBNtD0jPu/rq7fyRpgTY88bFs0cQhXy7pXjN7xMyOirqYFLhA0llRF5EW\nZraZmT0l6WVJU919ZdQ1JZ2Z7SppI3d/LepaUNa2kdR2H3xV0hcjqiV24njHBsTTD9z99dzhlrvN\n7E/u/qeoi0oiMztE0gvu/lcz2zvqetLA3T+Q9F0z20rSEjNrcPe/Rl1XUpnZFpJmSBoXdS0oe8x8\ndYNv4lLIzIaZ2Vwze9XM1pvZcZ1sc4qZvWRmq8zssbbNRO65ZWb2hJlVSJK7v5773zfU8nX2LqX6\nPFErQp57SjoyN2d4gaQTzGxy6T5RtIqxf7Zy97ckZSUNLfoHiYFiZGlmAyTNlnSuuz9Uuk8TvSLu\nm2XbiPQ1U0n/UPtv3r6k9t/MlTWauHQaKOlpSRMkrVKHv0DM7KeSLpI0RS3/sXtA0sLcmWly90vd\nfWd336V1WNzMNs299nOSfijpzyX7NNELmqe7n+3uX3b3r0r6v5KucvcpJfw8UQu9f27VZv/cTNI+\nufcvB6GzNEnTJTW5+42l+xixETTPti8tRfEx1adMJT0qaScz2yb3358DJd1Votrjz915pPihlrN5\nju2w7mFJV3RY94Kk33XxHl+V9GTu8SdJ1VF/riTn2WG74ySdH/XnSnKeknaXtCy3fy7r+H7l8giU\n5d5que3hE7ksl6nlrPTIP18S88w9f7ektyR9LOkVSXtG/dmSlqmkgyU9L+lFSeOi/hxxejATV2bM\nrL9aDoWe3+GpBkl7dfYad39JZXJ4qlC9ybMtd59RjLqSqpf756OSdi5yaYnTyyzvk7RxkUtLpN7+\nrrv7iGLWlWT5Zuru8yTNK2FpicHh1PKzpVr+kn6zw/q31HJrMxSGPMMiz3DIMizyDI9M+4gmDgAA\nIIFo4srPO2qZeRncYf1gSa+XvpzEI8+wyDMcsgyLPMMj0z6iiSsz7r5GLbfS6XjF6/3VclYQCkCe\nYZFnOGQZFnmGR6Z9x4kNKWRmAyXtkFvcSNJXzGyopHfd/RVJ/yPpejN7RC2/KCepZf7g8ijqjTvy\nDIs8wyHLsMgzPDItsqhPj+UR/qGWGwWvzz3WtfnztW22OVnSS2q5x+SjkvaOuu64PsiTPOP6IEvy\njPuDTIv7sFyAAAAASBBm4gAAABKIJg4AACCBaOIAAAASiCYOAAAggWjiAAAAEogmDgAAIIFo4gAA\nABKIJg4AACCBaOIAAAASiCYOAApkZgPM7AUz+0HUtQAoXzRxAFC4EyVtLmlKdxuZ2cZm9pyZbVOa\nsgCUE5o4ACiAmW0i6euSzpY03MxGdLP5rpK2cPd/lKQ4AGWFJg4ACnOKpEskXStpuaTfdLPtvpKa\nSlEUgPJDEwcAeTKz/yPpi+7+rLuvk1QnaU8zO6jDdj82s/+VdLqkz5nZ/5rZ1yMoGUCKmbtHXQMA\nJIKZ/UrSLe7+t9yySfqTpDXuvkuHbftLek/SLu7+QsmLBZB6fBMHAHkwsy0kbd7awEmSt/wr+BxJ\nQ81sTIeX/EDShzRwAIqFJg4A8lMt6Q8dV7r7HZKekFSX+2au1f6SsqUpDUA5ookDgB6Y2WBJ/d39\ntS42+S9J35R0VJt1I5Rr4sxsbzMbUNQiAZQdZuIAoAe5kxQelPRWN5tNl7RG0o7uvs7MPpa0l6Tn\nJE109/OKXiiAskITBwDdMLOtJb0kKZ9v0lzSz9x9hpldKGmtpLclXeHuHxexTABliCYOAAAggZiJ\nAwAASCCaOAAAgASiiQMAAEggmjgAAIAEookDAABIIJo4AACABKKJAwAASCCaOAAAgAT6/wsNBajn\noDeVAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pyplot.figure(figsize=(10, 6))\n", + "pyplot.tick_params(axis='both', labelsize=14) #increase tick font size\n", + "pyplot.grid(True) #turn on grid lines\n", + "pyplot.xlabel('$\\Delta t$', fontsize=16) #x label\n", + "pyplot.ylabel('Error', fontsize=16) #y label\n", + "pyplot.loglog(dt_values, error_values, 'ko-') #log-log plot\n", + "pyplot.axis('equal') #make axes scale equally;" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is the kind of result we like to see! As $\\Delta t$ shrinks (towards the left), the error gets smaller and smaller, like it should." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Challenge!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We calculated the error for several different timestep sizes using two nested `for` loops. That worked, but whenever possible, we like to re-use code (and not just copy and paste it!). \n", + "\n", + "Create a function that implements Euler's method and re-write the error analysis cell to use your function." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of this notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/lecture_22/01_phugoid/01_03_PhugoidFullModel.ipynb b/lecture_22/01_phugoid/01_03_PhugoidFullModel.ipynb new file mode 100644 index 0000000..87184de --- /dev/null +++ b/lecture_22/01_phugoid/01_03_PhugoidFullModel.ipynb @@ -0,0 +1,943 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth, I. Hawke. Partly based on content by David Ketcheson, also under CC-BY." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Full phugoid model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is the third IPython Notebook of the series on the _phugoid model of glider flight_, our first learning module of the course [\"Practical Numerical Methods with Python\"](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about). In the first notebook, we described the physics of the trajectories known as phugoids obtained from an exchange of potential and kinetic energy in an idealized motion with no drag. We gave you a neat little code to play with and plot various phugoid curves.\n", + "\n", + "In the second notebook, we looked at the equation representing small perturbations on the straight-line phugoid, resulting in simple harmonic motion. This is a second-order ordinary differential equation, and we solved it numerically using **Euler's method**: the simplest numerical method of all. We learned about convergence and calculated the error of the numerical solution, comparing with an analytical solution. That is a good foundation!\n", + "\n", + "Now, let's go back to the dynamical model, and take away the idealization of no-drag. Let's remind ourselves of the forces affecting an aircraft, considering now that it may be accelerating, with an instantaneous upward trajectory. We use the designation $\\theta$ for the angle, and consider it positive upwards." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Image](./figures/glider_forces-lesson3.png)\n", + "#### Figure 1. Forces with a positive trajectory angle." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In Figure 1, $L$ is the lift, $W$ is the weight, $D$ is the drag, and $\\theta$ the positive angle of the trajectory, instantaneously. \n", + "\n", + "In lesson 1, we wrote the force balance in the directions perpendicular and parallel to the trajectory for a glider in _equilibrium_. What if the forces are _not_ in balance? Well, there will be acceleration terms in the equations of motion, and we would have in that case:\n", + "\n", + "\\begin{align}\n", + "m \\frac{dv}{dt} & = - W \\sin\\theta - D \\\\\n", + "m v \\, \\frac{d\\theta}{dt} & = - W \\cos\\theta + L\n", + "\\end{align}\n", + "\n", + "We can use a few little tricks to make these equations more pleasing. First, use primes to denote the time derivatives and divide through by the weight:\n", + "\n", + "\\begin{align}\n", + " \\frac{v'}{g} & = - \\sin\\theta - D/W \\\\\n", + "\\frac{v}{g} \\, \\theta' & = - \\cos\\theta + L/W\n", + "\\end{align}\n", + "\n", + "\n", + "Recall, from our first lesson, that the ratio of lift to weight is known from the trim conditions—$L/W=v^2/v_t^2$— and also from the definitions of lift and drag, \n", + "\n", + "$$\\begin{eqnarray}\n", + "L &=& C_L S \\times \\frac{1}{2} \\rho v^2 \\\\\n", + "D &=& C_D S \\times \\frac{1}{2} \\rho v^2\n", + "\\end{eqnarray}$$\n", + "\n", + "we see that $L/D=C_L/C_D$. The system of equations can be re-written:\n", + "\n", + "\\begin{align}\n", + " v' & = - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\\n", + " \\theta' & = - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v\n", + "\\end{align}\n", + "\n", + "It is very interesting that the first equation has the factor $C_D/C_L$, which is the inverse of a measure of the aerodynamic efficiency of the aircraft. It turns out, this is the term that contributes damping to the phugoid model: if drag is zero, there is no damping. Drag is never zero in real life, but as engineers design more aerodynam-ically efficient aircraft, they make the phugoid mode more weakly damped. At altitude, this is nothing but a slight bother, but vertical oscillations are unsafe during final approach to land, so this is something to watch out for!\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The initial value problem" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we want to visualize the flight trajectories predicted by this model, we are going to need to integrate the spatial coordinates, which depend on both the forward velocity (tangential to the trajectory) and the trajectory angle. The position of the glider on a vertical plane will be designated by coordinates $(x, y)$ with respect to an inertial frame of reference, and are obtained from:\n", + "\n", + "\\begin{align}\n", + "x'(t) & = v \\cos(\\theta) \\\\\n", + "y'(t) & = v \\sin(\\theta).\n", + "\\end{align}\n", + "\n", + "Augmenting our original two differential equations by the two equations above, we have a system of four first-order differential equations to solve. We will use a time-stepping approach, like in the previous lesson. To do so, we do need *initial values* for every unknown:\n", + "\n", + "$$\n", + "v(0) = v_0 \\quad \\text{and} \\quad \\theta(0) = \\theta_0\\\\\n", + "x(0) = x_0 \\quad \\text{and} \\quad y(0) = y_0\n", + "$$\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Solve with Euler's method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We know how to apply Euler's method from the previous lesson. We replace each of the time derivatives by an approximation of the form:\n", + "\n", + "$$v'(t) \\approx \\frac{v^{n+1} - v^n}{\\Delta t},$$\n", + "\n", + "where we are now using a superscript $n$ to indicate the $n$-th value in the time iterations. The first differential equation, for example, gives:\n", + "\n", + "$$\\frac{v^{n+1} - v^n}{\\Delta t} = - g\\, \\sin\\theta^n - \\frac{C_D}{C_L} \\frac{g}{v_t^2} (v^n)^2$$\n", + "\n", + "Alright, we know where this is going. At each time iteration $t^n$, we want to evaluate all the known data of our system to obtain the state at $t^{n+1}$—the next time step. We say that we are _stepping in time_ or _time marching_.\n", + "\n", + "The full system of equations discretized with Euler's method is:\n", + "\n", + "\\begin{align}\n", + "v^{n+1} & = v^n + \\Delta t \\left(- g\\, \\sin\\theta^n - \\frac{C_D}{C_L} \\frac{g}{v_t^2} (v^n)^2 \\right) \\\\\n", + "\\theta^{n+1} & = \\theta^n + \\Delta t \\left(- \\frac{g}{v^n}\\,\\cos\\theta^n + \\frac{g}{v_t^2}\\, v^n \\right) \\\\\n", + "x^{n+1} & = x^n + \\Delta t \\, v^n \\cos\\theta^n \\\\\n", + "y^{n+1} & = y^n + \\Delta t \\, v^n \\sin\\theta^n.\n", + "\\end{align}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we've learned before, the system of differential equations can also be written as a vector equation:\n", + "\n", + "$$u'(t) = f(u)$$\n", + "\n", + "where\n", + "\n", + "\\begin{align}\n", + "u & = \\begin{pmatrix} v \\\\ \\theta \\\\ x \\\\ y \\end{pmatrix} & f(u) & = \\begin{pmatrix} - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\ - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v \\\\ v\\cos\\theta \\\\ v\\sin\\theta \\end{pmatrix}.\n", + "\\end{align}\n", + "\n", + "It's a bit tricky to code the solution using a NumPy array holding all your independent variables. But if you do, a function for the Euler step can be written that takes any number of simultaneous equations. It simply steps in time using the same line of code:\n", + "\n", + "```Python\n", + "def euler_step(u, f, dt):\n", + " return u + dt * f(u)\n", + "```\n", + "\n", + "This function can take a NumPy array `u` with any number of components. All we need to do is create an appropriate function `f(u)` describing our system of differential equations. Notice how we are passing a _function_ as part of the arguments list to `euler_step()`. Neat!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### And solve!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As always, we start by loading the modules and libraries that we need for this problem. We'll need a few transcendental functions, including the $\\log$ for a convergence study later on. And remember: the line `%matplotlib inline` is a magic function that tells Matplotlib to give us the plots in the notebook (the default behavior of Matplotlib is to open a pop-up window). In addition, we are importing the module `rcParams` to define notebook-wide plotting parameters: font family and size. Here we go!" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from math import sin, cos, log, ceil\n", + "import numpy\n", + "from matplotlib import pyplot\n", + "%matplotlib inline\n", + "from matplotlib import rcParams\n", + "rcParams['font.family'] = 'serif'\n", + "rcParams['font.size'] = 16" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we need to set things up to start our numerical solution: the parameter \n", + "values and the _initial values_. You know what the acceleration of gravity is: 9.8 m/s$^2$, but what are good values for $C_D/C_L$, the inverse of the aerodynamic efficiency? Some possible values are given on a table in the Wikipedia entry for [lift-to-drag ratio](http://en.wikipedia.org/wiki/Lift-to-drag_ratio): a modern sailplane can have $L/D$ of 40 to 60, depending on span (and, in case you're interested, a flying squirrel has $L/D$ close to 2).\n", + "\n", + "For the _trim velocity_, the speed range for typical sailplanes is between 65 and 280 km/hr, according to Wikipedia (it must be right!). Let's convert that to meters per second: 18 to 78 m/s. We'll pick a value somewhere in the middle of this range.\n", + "\n", + "Here's a possible set of parameters for the simulation, but be sure to come back and change some of these, and see what happens!" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# model parameters:\n", + "g = 9.8 # gravity in m s^{-2}\n", + "v_t = 30.0 # trim velocity in m s^{-1} \n", + "C_D = 1/40 # drag coefficient --- or D/L if C_L=1\n", + "C_L = 1 # for convenience, use C_L = 1\n", + "\n", + "### set initial conditions ###\n", + "v0 = v_t # start at the trim velocity (or add a delta)\n", + "theta0 = 0 # initial angle of trajectory\n", + "x0 = 0 # horizotal position is arbitrary\n", + "y0 = 1000 # initial altitude" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll define a function `f()` to match the right-hand side of Equation (15), the full differential system in vector form. This function assumes that we have available the parameters defined above. If you re-execute the cell above with different parameter values, you can just run the solution without re-executing the function definition." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def f(u):\n", + " \"\"\"Returns the right-hand side of the phugoid system of equations.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " array containing the solution at time n.\n", + " \n", + " Returns\n", + " -------\n", + " dudt : array of float\n", + " array containing the RHS given u.\n", + " \"\"\"\n", + " \n", + " v = u[0]\n", + " theta = u[1]\n", + " x = u[2]\n", + " y = u[3]\n", + " return numpy.array([-g*sin(theta) - C_D/C_L*g/v_t**2*v**2,\n", + " -g*cos(theta)/v + g/v_t**2*v,\n", + " v*cos(theta),\n", + " v*sin(theta)])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compare the code defining function `f(u)` with the differential equations, and convince yourself that it's right!\n", + "\n", + "\\begin{align}\n", + "u & = \\begin{pmatrix} v \\\\ \\theta \\\\ x \\\\ y \\end{pmatrix} & f(u) & = \\begin{pmatrix} - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\ - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v \\\\ v\\cos\\theta \\\\ v\\sin\\theta \\end{pmatrix} \\nonumber\n", + "\\end{align}\n", + "\n", + "Now, Euler's method is implemented in a simple function `euler_step()`:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def euler_step(u, f, dt):\n", + " \"\"\"Returns the solution at the next time-step using Euler's method.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " solution at the previous time-step.\n", + " f : function\n", + " function to compute the right hand-side of the system of equations.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " approximate solution at the next time step.\n", + " \"\"\"\n", + " \n", + " return u + dt * f(u)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After defining a final time for the solution, and the time step $\\Delta t$, we can construct the grid in time using the NumPy function [`linspace()`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html). Make sure you study the decisions we made here to build the time grid: why do we add 1 to the definition of `N`, for example?\n", + "\n", + "Look at the code below, and make sure you understand the following aspects of it.\n", + "\n", + "* The NumPy array `u` contains the solution at every time-step, consisting of the velocity, angle and location of the glider. \n", + "* The first element of the array `u` is set to contain the initial conditions. \n", + "* In the `for`-loop, the function `euler_step()` is called to get the solution at time-step $n+1$. " + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "T = 100 # final time\n", + "dt = 0.1 # time increment\n", + "N = int(T/dt) + 1 # number of time-steps\n", + "\n", + "# initialize the array containing the solution for each time-step\n", + "u = numpy.empty((N, 4))\n", + "u[0] = numpy.array([v0, theta0, x0, y0])# fill 1st element with initial values\n", + "\n", + "# time loop - Euler method\n", + "for n in range(N-1):\n", + " \n", + " u[n+1] = euler_step(u[n], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot the trajectory" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to plot the path of the glider, we need the location (`x`, `y`) with respect to time. That information is already contained in our NumPy array containing the solution; we just need to pluck it out. \n", + "\n", + "Make sure you understand the indices to `u`, below, and the use of the colon notation. If any of it is confusing, read the Python documentation on [Indexing](http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html)." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 3.00000000e+01 -1.11022302e-17 6.00000000e+00 1.00000000e+03]\n", + "[ 1000. 1000. 1000. ..., 1000. 1000. 1000.]\n", + "[ 3.00000000e+01 -1.11022302e-17 6.00000000e+00 1.00000000e+03]\n" + ] + } + ], + "source": [ + "# get the glider's position with respect to the time\n", + "print u[2]\n", + "x = u[:,2]\n", + "y = u[:,3]\n", + "print y\n", + "u[2]=euler_step(u[1],f,dt)\n", + "print u[2]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time to plot the path of the glider and get the distance travelled!" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nfEtJjyq+OtMP69J+V0lXFvNcrPSG/neSjlf66Pa0bssvtd9K0meLeS5ROmJ0oKR/VLpQd42kiyRt\nU2qzQ9GvE0vLfpWkFUrnWQ4pnZq0WtI3pvAc7FIs733F8n4oab/S9j+qmG/b4venldb7GqUC6B+L\n7T5R0p8k/aq0/F8X835W6Z/MkNI5qV8slvN9Sdt2eV6q6+r2/D1W0m+VjiC/U9LhShd5LlQqqP4s\n6eU12328pLuUPiJ/TfG8HyZpgaSbO89Faf6/Kfr0m6I/ry8/R5L2rCz/cKUL1SYkLZJ0cPH15mK9\nt0p6cqXNnqUsVkv6pqQLJJ0j6amSDpL0kaJvZxfz/qqYd7TIbZfS8jqZvbfIZajazz7/bnYqlvsv\nRV/+VHnN7F6ad/9Shg/skvFwafpQl3XtpXTB7BpJX5b0jOK1doLSTvt5pfaHFMvcqtR+u9L01xev\nt38o1jtP0qpi+usr671fsayRLsvvfG0/hefKXbbzeZXlPKCYd3bx+/8U851ZWVZ1+jlKf/cnF9k+\nR9JVpdfH9sVzdkKx/hO19rW9sKa/MyV9qZjn68UyD5T0Qkk/Lh6/UNKWG/P9fVN9KRWsqyVdOIV5\nfzHZvEoXcndyPan0+BZKf/vr5Vhp/6xS+6c02I69Su1e1WO++aX59i49fmjp8ef0aP+uYr57JN2v\n7fz4mvpX6x3gi6+pfklaXHpD+ruNtMyuBX5lnl4Ffucf4XclzahMe6BSMdirQP1AMf2bklyZNkPS\neNH2/V3aPrm07O9X33yLImDSAr80/6JieT3bVJ6zayTtUJn+Ia1b4F8r6fM1y/pksZx3Ns2n9Pyu\nljSvS9vHFdP+LOmQyrQnSrq3mHZQTdt7JI13mXZtsdwX93iOHqF0XmvXf55KI2msUdq5mN0ji3sl\nvbcybUtJd0h6Y/H7a4t5b5G0dU1/fiHpPzfG30xluUcV6769xzxdC/zS9HIB3q3A/3Yx/Wtdpu1e\nbPdUl/8rVYpypZ3NNUo7XOsVMJP1v8Fz1XM7K/N+Rj0Kw2J65/VxRGXafsW0P0v6L0mPrkx/dun1\nsl6RrnTR6BpJX+wy7X6Sfl70bWkfz8F/Srqhz69fbqTXbJMC/+5i3mU95tm9lOsbS4/v0e3xLu0P\nLs13QoPtePxU2mnte81qSU8qPf6P3R7v0v61pfkesjEy4GvTfHGKDqaT8njDd7TWi4LTaD7PVPqI\n9N8jYnV5eqQL5N7Xo/0jJb1MNRdgFct7p9IRwHnuPd7y0oiongf9AqU38fvS2RFxe+WxBUoFdMcZ\nSgVrNx9S2r4X9bHuBSqO7kbEeqedRDp/9OtKR9JeW5n8LqUdqC9GxKU1bb/VR5863qp09PSKiPh8\nl+Wfr/QJzw7FvHUs6W2Vtn+R9Eilo/JSOv3sHqWj6sevtwD7GZIerh6vxVzZfqrSJzKhLs9TpNMv\nPthgkR+N9Uc6ubj4vqOk2uEOM/XriPhq+YGI+LlSQbyF0qc5V1bafE3p+dxJldFkilNMXlhMX+/C\n9uI95t1Kr8tXuMfwizV2krRbn19TGm9+Y3E6dbBzjcl656eXlKftUPr5/jXzTLX9ZDZ0+fd1/9Ay\nCnygfyOln79VM88lPdo/X+kf5d1Kp+N007kw7H5Kp4/U+W71gYi4NSJu6tFmY+i23tsj4nel38+M\niP+taX998X03Nx/nvjM8Y6/neKXSc/yUzgO2H6J0qouUdgDqnCxpvXOzJ+M0lvtI0bdey7+o6NvR\nrr8ZzdURcXP1wYj4XWfHKiJWKZ3+5Jr+vkLSpRHx46lvRTY6f2N/VpfXWqFX/lXrnQsdEXconUoh\nlYbSnSbGah6/qW56pIspOzvle1YmH1t8/2NEXFGz7M570rZKp3lMWUQ8PyJm9Pm1Y5N1AZs7xsHH\ndFIudHoeSbB9s9LRorKIiI15I51HFd9XRf0FWL/v0f6xxfdtJN1VXBNXFVo7pFuvO+GuVwRuIpOu\ntyh4X6p0Lu/+Srl0e+/ZXumUlUk5Xfz6MKXnZp7tk+pmLebZ3vYDIo2lXz5q+avuzaSI+KUaXJhd\n8gilTKPX8pVO9ZFSofQIpVMfqqaa6/uVjrwO2T6o86lEsTNzpKbvCBidv7HfVj8hK+n1N1Z1S83j\ndynlsE2DZbUtVL89fym+TzZ968rjnfeknWzXjYw01fekaS0i/mz7XqWDK71eF+Vp5U8z76iZZ6rt\nJ7Ohy7+v+4eWUeBjOikfUdpH6fz0Ok9UOgVDSkdiX66Nf3Oizk7GXT3m6TV8YOeI1I1KF2RONnRe\n7WgQ1dN7NqG6okvSX8eR/qbSzaquUvrY/+da+49iL6Uj2VKzoQPLR/M+pCkMmVpaZ7ltr+z6NdXl\nl3cK645O9nx+OyLi+7Z/orTz8gqt/UToX5R2mj4zleVkaEP/xqqm9HxOI2s2cHpV53V4rdK5+pP9\nTd7QcPnTzfVKp7f1Oj2oPO3/Sj/fpPTp7NZ9tp9K37otY6rLb9r+L2q2M42WUeBjOvmG0j/zLZU+\nGv5U3YxRGvPY9n11mkqnYJzZY571hoAs6Qybt01x3uwgWqxU3N+qdCHXqvJE93+n39tKP98dET/r\ns+22fa5/qsvv9dooT7utdq6pe7/Szs7zbZ+qdIRunqSPxEa8Q+wmtqF/Y2im8zrc6r54T7L9n0qj\nxvTjzoj4m43Znym4Qmn0rL17zFOe9teDUBGxxvbPlEZ8mmr7ulMZ1xMRv7N9i9JgA1NZ/h0R8evK\nuqIyT6/2V3W5zgsZ4xx8TBsR8UdJH1U6qnScu4yfvol1isqdXRovvaLXOb2d8bV3tL1b3Uy2D7T9\nEncZN30a+HulfyLfrxb3GyIi7tTa01/27TWv7eNtH1t66Celnx/Wo939ijHMm96U6GqtPeJcu/zS\ntImizYb6pFKBto3SDWyeqzQEapOLUHPT+Rvby/aMmnmm23nzOev8bezV4z1Ntg8p3pMe2HD50+Yi\n20LnTsz72q7byTyw+H5DRFQ/Vf6y0v+rx/VYR6f9pRFRd0pVna9Mcfmhtdsi6a/XnnSua+nV/nFF\n+y827BtaNm0LfNuHOt2cpvYGOBhIiyX9TqlweWPvWe9z5TsbPrVmnl4XxnaGupN6H9X6oNKIKf0e\n7Z6qznm56xS0to+zPdznMjvvMXVF8t59LleSzi+We5jt7bvNYPtvlcZJ/+vzG+mOj98v2j69x/K/\nqfSRdLXQWe95sj27eJ4eUBwt/8IUlv90pX+cFxQj42yQ4jqQTxTrfbnSqWlfiYjrezbMW+dv7H5K\no+l00+tvbGMoZ1PO/Am2j94IyzmgeO3k8P/4/OL7ZDc2+pjSCF/VEYl6moYX2X5O6V4WM5TundDN\nMUp/x+d0mfZxpdx3t31IdWJxkOqoov1H+uhfp82Bth/UZfm7ae2F0N1ucPcRFTfBsl29HkPF+/4s\npVPbPt5H/9CiHN5QGrG9je3TlcZGfoSmeF617YOd7rZ5U3H3wittn1ZcADhZ22cVbX/ndBfFG5zu\nwvkfdUdVi7sLLnW68+JdRdtzbe/TaIOxjmJYvKOVTvn4N9uv7DV/Ufg9qtc8G9CXH2ntEZp/qx5h\ntL2L0k1G6tpfpVS8W9Jp3Y6G2Z6n9BHvmV2G99vYOudX/rUfth+sdAOlfu9ieInS9j2puOCzqvb5\nmYJ3KY2Dv62kt1cnFnm8V2ms8CWVya9R+sd7lO3Hd2n7DKV/jJ/o8ryv9zwpXeA6qrVDz71J6RSZ\nR9teb6hS2y9QuuD4NtUPIdqP9xffZyvdpbLntQm2H+O1d0Xt9WlDKyLiW0rv9Zb0hup023sqXcB9\nXypf+1LO/HRJb5nqQiLiHq09Baa8nNdJ+nBEND1ffqOLiMu1didxcbdhMG3/P6XTVt41jU/9mpKI\nuE3pQJIlvdH2Ohej2n6h0o2ufqv132MUEdcovQdZ0tu67MQtVHot/FhdCnCnu4BfXdQPT+6y/O8o\n7YRsIenfu2zCvyvtnPx3RHQb0etcpfsC7KDKsKjFJ5dvV6qx3l8+7RXTRL8D6LfxpfSR9kqlj+YP\n1yQ3KCq1O17p3O0VSv+0Z0s6Vekf/w8kzaxpt4XSXuutkl6tVCjOUro99E+Kdf99l3Z7KN0A6DZJ\nL1a6Wc/TlS4uvFNdbpjEV+PXwkOVjrCuVnqD+n9KR/Ieq1TYnKg0PvitxTw3Snpzqf1MpQJrTul1\n9PTisZlK5/nvr8pdCovHdiwtZ1elcxlXK10jcJRSQf7CIu9PdFn+dqX291O6Gc1qpdM05irdkXKO\nUrH2Z6Wbad2vS9/nlpa9f/G11wY8pw9WOrXkz8W2HiTp08XfyQGl56Tbc7Z3zTL31No72V6rVIwd\nVDxPFypdAFpd1paVnHvdKGz/0vI/XfxtDiuN///Dou8n1vTtWKXTY27V2jvZPlnpTrOdj6+36dJu\nQdGnHysdVT5K6eK1yyrzPbVY9oRSIfj44ustxfO8SpX3guL19Ogi+85dhTvZ7thtO7r07+Ki7dVT\nmLdzp+C/qMFdKiU9oOjTK7T2Tradfj68mGf74vfOjaRWK/1t7q904eFWxc8HlqYfWzx2/9K6HqR0\ngfZqSV8tMu7cNfkqpcK/251y3WP5WxfzPLJ4vjvvE/9aXX8x37eL6cuK5Z1S/L644d/Yx4t2X1T6\nOzhB6X/Cx4rpDyv68z9Fn88r+vOQ0t9ot+l7VNp33pOWlrdnKturdIrXBcX0nxV9HCqe948Ur5XP\nStpiU73fb+hXsd37l56bzs0F13nN9mj/3uL5+IHSxccHKhXEdytdaPy3PdrOUCrCVyudUvN0pfeB\ndxWP/ULSg2ravqn02j2vZp7tlN6rVhevh8OU3pc+VrT9QfX1XGm/h9bevOwMpbs1P614ja5W+hRt\n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\nouXLl68z30UXXaSRkZH12p988slatmzZOo+Nj49rZGREq1atWufxRYsWacmSJes8dv3112tkZEQr\nV657vfBZZ5213tGEiYkJjYyMrDdW7+joqObOnbte34477rhpvR2nnHLKQGxHxyBtx0Me8pCB2I5B\nyaO8HaeccspAbIc0GHlUt6Pzvjbdt6NsULZj5cqVA7Ed0zmP0dHRv9Zis2fP1gEHHKBTTz11veXk\nwg1HnsyK7TVKI9bMjojru0zfQtItSufFz+l2cyzb35H0BEmvjoj3FI89rMdqvy1pL0kvlHRp8diN\nEXFn0fZMpTHuPxkRJ3RZ3zylcfWviIgDarZrSNLY2NiYhoaGenQFAAAAbRgfH9fw8LAkDUfEeNv9\nKRvoI/jFxbGfVxoG8/DqdNs7KA2PuUbS50rtflX3JekvxWy/Kz1+Z2mxnym+P6WmW09X2in59IZs\nGwAAANDNQBf4hbdLulfSXNv3r0ybL2lrpbvc/t/GWFlEXCLpm5L2sr3OzayKTwaOlrRK0tkbY31o\nR/XjQeSDbPJFNnkjn3yRDZqadgW+7V1s7267fI77bsVju1fnL25Q9VJJu0j6iu1Dbc+2/Wqli2gv\nk9TzJCrb25XW2blYd+fisV26NHmRpOskfdj2Sbb3tj1H0peUPi04triLLqaphQsXtt0F1CCbfJFN\n3sgnX2SDpqbdOfi2r9XaC13XmSQpIqLraDm2D5L0eqXz7beXdK2k/5L0zoi4d5J1LpK0SOnUmqrr\nImK9c/aL03/eIOkYSQ9WGpXnYklvi4irJlkf5+Bn7vrrr2dUg0yRTb7IJm/kky+yyVPO5+BPuwJ/\nc0CBDwAAkLecC/xpd4oOAAAAgHoU+AAAAMAAocAH+lC9+QbyQTb5Ipu8kU++yAZNUeADfZiYmGi7\nC6hBNvkim7yRT77IBk1xkW2GuMgWAAAgb1xkCwAAAGCToMAHAAAABggFPtCHVatWtd0F1CCbfJFN\n3sgnX2SDpijwgT7Mmzev7S6gBtnki2zyRj75Ihs0RYEP9GHx4sVtdwE1yCZfZJM38skX2aApCnyg\nD4xulC+yyRfZ5I188kU2aIoCHwAAABggFPgAAADAAKHAB/qwbNmytruAGmSTL7LJG/nki2zQFAU+\n0Ifx8axuWIcSsskX2eSNfPJFNmjKEdF2H1Bhe0jS2NjYGBfWAAAAZGh8fFzDw8OSNBwRWe2FcQQf\n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\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# visualization of the path\n", + "pyplot.figure(figsize=(8,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel(r'x', fontsize=18)\n", + "pyplot.ylabel(r'y', fontsize=18)\n", + "pyplot.title('Glider trajectory, flight time = %.2f' % T, fontsize=18)\n", + "pyplot.plot(x,y, 'k-', lw=2);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Grid convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's study the convergence of Euler's method for the phugoid model. In the previous lesson, when we studied the straight-line phugoid under a small perturbation, we looked at convergence by comparing the numerical solution with the exact solution. Unfortunately, most problems don't have an exact solution (that's why we compute in the first place!). But here's a neat thing: we can use numerical solutions computed on different grids to study the convergence of the method, even without an analytical solution.\n", + "\n", + "We need to be careful, though, and make sure that the fine-grid solution is resolving all of the features in the mathematical model. How can we know this? We'll have a look at that in a bit. Let's see how this works first.\n", + "\n", + "You need a sequence of numerical solutions of the same problem, each with a different number of time grid points.\n", + "\n", + "Let's create a NumPy array called `dt_values` that contains the time-increment of each grid to be solved on. For each element `dt_values[i]`, we will compute the solution `u_values[i]` of the glider model using Euler's method. If we want to use five different values of $\\Delta t$, we'll have five solutions: we put them in an array ... but each one is also an array! We'll have an array of arrays. How meta is that?\n", + "\n", + "We have one more trick up our sleeve: `enumerate()`. To get all the numerical solutions—each with its value of $\\Delta t$—done in one fell swoop, we will loop over the elements of the array `dt_values`. Within the loop, we need to access both `dt_values[i]` and the index `i`. It turns out, `enumerate()` is a built-in Python function that will give us consecutive `index, value` pairs just like we need. \n", + "\n", + "Read the code below carefully, and remember: you can get a help pane on any function by entering a question mark followed by the function name. For example, add a new code cell below and type: `?numpy.empty_like`." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "dt_values = numpy.array([0.1, 0.05, 0.01, 0.005, 0.001])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt) + 1 # number of time-steps\n", + "\n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + " \n", + " u[n+1] = euler_step(u[n], f, dt) ### call euler_step() ###\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In [Lesson 2](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_02_Phugoid_Oscillation.ipynb), we compared our numerical result to an analytical solution, but now we will instead compare numerical results from different grids. \n", + "\n", + "For each solution, we'll compute the difference relative to the finest grid. You will be tempted to call this an _\"error\"_, but be careful: the solution at the finest grid is _not the exact_ solution, it is just a reference value that we can use to estimate grid convergence.\n", + "\n", + "To calculate the difference between one solution `u_current` and the solution at the finest grid, `u_finest`, we'll use the $L_1$-norm, but any norm will do.\n", + "\n", + "There is a small problem with this, though. The coarsest grid, where $\\Delta t = 0.1$, has 1001 grid points, while the finest grid, with $\\Delta t = 0.001$ has 100001 grid points. How do we know which grid points correspond to the same location in two numerical solutions, in order to compare them? \n", + "\n", + "If we had time grids of 10 and 100 steps, respectively, this would be relatively simple to calculate. Each element in our 10-step grid would span ten elements in our 100-step grid. \n", + "\n", + "Calculating the _ratio_ of the two grid sizes will tell us how many elements in our fine-grid will span over one element in our coarser grid.\n", + "\n", + "Recall that we can _slice_ a NumPy array and grab a subset of values from it. The syntax for that is\n", + "\n", + "```Python\n", + "my_array[3:8]\n", + "```\n", + "\n", + "An additional slicing trick that we can take advantage of is the \"slice step size.\" We add an additional `:` to the slice range and then specify how many steps to take between elements. For example, this code\n", + "\n", + "```Python\n", + "my_array[3:8:2]\n", + "```\n", + "\n", + "will return the values of `my_array[3]`, `my_array[5]` and `my_array[7]`\n", + "\n", + "With that, we can write a function to obtain the differences between coarser and finest grids. Here we go ..." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def get_diffgrid(u_current, u_fine, dt):\n", + " \"\"\"Returns the difference between one grid and the fine one using L-1 norm.\n", + " \n", + " Parameters\n", + " ----------\n", + " u_current : array of float\n", + " solution on the current grid.\n", + " u_finest : array of float\n", + " solution on the fine grid.\n", + " dt : float\n", + " time-increment on the current grid.\n", + " \n", + " Returns\n", + " -------\n", + " diffgrid : float\n", + " difference computed in the L-1 norm.\n", + " \"\"\"\n", + " \n", + " N_current = len(u_current[:,0])\n", + " N_fine = len(u_fine[:,0])\n", + " \n", + " grid_size_ratio = ceil(N_fine/N_current)\n", + " \n", + " diffgrid = dt * numpy.sum( numpy.abs(\\\n", + " u_current[:,2]- u_fine[::grid_size_ratio,2])) \n", + " \n", + " return diffgrid" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that the function has been defined, let's compute the grid differences for each solution, relative to the fine-grid solution. Call the function `get_diffgrid()` with two solutions, one of which is always the one at the finest grid. Here's a neat Python trick: you can use negative indexing in Python! If you have an array called `my_array` you access the _first_ element with\n", + "\n", + "`my_array[0]`\n", + "\n", + "But you can also access the _last_ element with \n", + "\n", + "`my_array[-1]`\n", + "\n", + "and the next to last element with\n", + "\n", + "`my_array[-2]`\n", + "\n", + "and so on. " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dt = 0.1\n", + "dt = 0.05\n", + "dt = 0.01\n", + "dt = 0.005\n", + "dt = 0.001\n" + ] + } + ], + "source": [ + "# compute difference between one grid solution and the finest one\n", + "diffgrid = numpy.empty_like(dt_values)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " print('dt = {}'.format(dt))\n", + "\n", + " ### call the function get_diffgrid() ###\n", + " diffgrid[i] = get_diffgrid(u_values[i], u_values[-1], dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time to create a plot of the results! We'll create a *log-log* plot with the Matplotlib function [`loglog()`](http://matplotlib.org/api/pyplot_api.html?highlight=loglog#matplotlib.pyplot.loglog). Remember to skip the difference of the finest-grid solution with itself, which is zero." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIiElpKUiIh\nZGatzGyLmZ1Sibanm9nPkhGXSLIpSYmE0/1AE+APlWj7Z6BHYsMRCYaSlEjImNmPgM3ANKCnmZ1X\nTtss4GLgv5IUnkhSaasOkZAxs/HAEOAYIhsdvu3u/1ZG27bAB8Cx7r41eVGKJId6UiIhYmYXA/90\n9x3uvgp4DuhoZpeXaJdjZi8CfwO2AE+Y2ejkRyySWOpJiYSImU0C/t3d90RfHwusAv7H3Q8b9jOz\nmcB6dx+U3EhFkkM9KZGQMLNuwJv7ExSAu39FZHvuc8zsmhLtawA/BRYkNVCRJFJPSiQEohMgXnT3\n60s51xBYDWwHznD3oujxC4D3gObuvjmZ8Yoki3pSIuFwAzCptBPu/i2RqehtgJsOOtWRyDCgEpSk\nLSUpkYCZWW2go7u/UU6zMcAaYLiZ1Y0e60h0qM/MapvZgwkNVCQANYMOQES4DXAzu7OCdp8CXYhM\nTx8BNAdmRc/dCbyYsAhFAqKalEiAor2itUCzSr7Fga+BVkA3oDewFHjL3RcmJEiRAClJiYhIaKkm\nJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIioaUkJSIi\nofX/ARE7ZqFnKYAXAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# log-log plot of the grid differences\n", + "pyplot.figure(figsize=(6,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$\\Delta t$', fontsize=18)\n", + "pyplot.ylabel('$L_1$-norm of the grid differences', fontsize=18)\n", + "pyplot.axis('equal')\n", + "pyplot.loglog(dt_values[:-1], diffgrid[:-1], color='k', ls='-', lw=2, marker='o');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Order of convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The order of convergence is the rate at which the numerical solution approaches the exact one as the mesh is refined. Considering that we're not comparing with an exact solution, we use 3 grid resolutions that are refined at a constant ratio $r$ to find the *observed order of convergence* ($p$), which is given by:\n", + "\n", + "$$\n", + "\\begin{equation}\n", + "p = \\frac{\\log \\left(\\frac{f_3-f_2}{f_2-f_1} \\right) }{\\log(r)}\n", + "\\end{equation}\n", + "$$\n", + "\n", + "where $f_1$ is the finest mesh solution, and $f_3$ the coarsest. " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The order of convergence is p = 1.014\n" + ] + } + ], + "source": [ + "r = 2\n", + "h = 0.001\n", + "\n", + "dt_values2 = numpy.array([h, r*h, r**2*h])\n", + "\n", + "u_values2 = numpy.empty_like(dt_values2, dtype=numpy.ndarray)\n", + "\n", + "diffgrid2 = numpy.empty(2)\n", + "\n", + "for i, dt in enumerate(dt_values2):\n", + " \n", + " N = int(T/dt) + 1 # number of time-steps\n", + "\n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + "\n", + " u[n+1] = euler_step(u[n], f, dt) ### call euler_step() ###\n", + " \n", + " # store the value of u related to one grid\n", + " u_values2[i] = u\n", + " \n", + "\n", + "#calculate f2 - f1\n", + "diffgrid2[0] = get_diffgrid(u_values2[1], u_values2[0], dt_values2[1])\n", + "\n", + "#calculate f3 - f2\n", + "diffgrid2[1] = get_diffgrid(u_values2[2], u_values2[1], dt_values2[2])\n", + "\n", + "# calculate the order of convergence\n", + "p = (log(diffgrid2[1]) - log(diffgrid2[0])) / log(r)\n", + "\n", + "print('The order of convergence is p = {:.3f}'.format(p));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "See how the observed order of convergence is close to 1? This means that the rate at which the grid differences decrease match the mesh-refinement ratio. We say that Euler's method is of *first order*, and this result is a consequence of that." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Paper airplane challenge" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Suppose you wanted to participate in a paper-airplane competition, and you want to use what you know about the phugoid model to improve your chances. For a given value of $L/D$ that you can obtain in your design, you want to know what is the best initial velocity and launch angle to fly the longest distance from a given height.\n", + "\n", + "Using the phugoid model, write a new code to analyze the flight of a paper airplane, with the following conditions:\n", + "\n", + "* Assume $L/D$ of 5.0 (a value close to measurements in Feng et al. 2009)\n", + "* For the trim velocity, let's take an average value of 4.9 m/s.\n", + "* Find a combination of launch angle and velocity that gives the best distance.\n", + "* Think about how you will know when the flight needs to stop ... this will influence how you organize the code.\n", + "* How can you check if your answer is realistic?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* Feng, N. B. et al. _\"On the aerodynamics of paper airplanes\"_, AIAA paper 2009-3958, 27th AIAA Applied Aerodynamics Conference, San Antonio, TX. [PDF](http://arc.aiaa.org/doi/abs/10.2514/6.2009-3958)\n", + "\n", + "* Simanca, S. R. and Sutherland, S. _\"Mathematical problem-solving with computers,\"_ 2002 course notes, Stony Brook University, chapter 3: [The Art of Phugoid](https://www.math.sunysb.edu/~scott/Book331/Art_Phugoid.html). (Note that there is an error in the figure: sine and cosine are switched.)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of the notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/lecture_22/01_phugoid/01_04_Second_Order_Methods.ipynb b/lecture_22/01_phugoid/01_04_Second_Order_Methods.ipynb new file mode 100644 index 0000000..dfe6da7 --- /dev/null +++ b/lecture_22/01_phugoid/01_04_Second_Order_Methods.ipynb @@ -0,0 +1,1187 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth, C.D. Cooper. Partly based on content by David Ketcheson, also under CC-BY." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Phugoid model: bonus!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_The phugoid model of glider flight_ has been such a fun problem to showcase the power of numerical solution of differential equations, we thought you'd enjoy a bonus notebook. The previous lessons were:\n", + "\n", + "* [Phugoid motion](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_01_Phugoid_Theory.ipynb) —Lays the groundwork for our fun problem, with some context, a little history and a description of the physics of phugoids: curves representing the trajectory of a glider exchanging potential and kinetic energy, with no drag.\n", + "* [Phugoid oscillation](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_02_Phugoid_Oscillation.ipynb) —Develops the simple harmonic motion of an aircraft experiencing a small perturbation from the horizontal trajectory: our opportunity to introduce Euler's method, and study its convergence via an exact solution.\n", + "* [Full phugoid motion](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb) —The full model takes into account the force of drag and results in a system of two nonlinear equations. We obtain the trajectories using Euler's method in vectorized form, introduce grid-convergence analysis and finish with the paper-airplane challenge!\n", + "\n", + "That is a fantastic foundation for numerical methods. It's a good time to complement it with some theory: the first screencast of the course uses Taylor series to show that _Euler's method is a first-order method_, and we also show you graphical interpretations. Many problems require a more accurate method, though: second order or higher. Among the most popular higher-order methods that we can mention are the _Runge-Kutta methods_, developed around 1900: more than 100 years after Euler published his book containing the method now named after him!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Euler's method is a first-order method" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this screencast, we use a Taylor series expansion to analyze Euler's method and show that it incurs a truncation error of first order. We also use a graphical interpretation to motivate the _modified_ Euler method, which achieves second order." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.display import YouTubeVideo\n", + "YouTubeVideo('6i6qhqDCViA')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Second-order methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The notebook on phugoid oscillation (lesson 2) included a study of the accuracy obtained with Euler's method, using the exact solution for the simple harmonic motion. We made a _convergence plot_ and saw that as $\\Delta t$ gets smaller, the error also gets smaller. \n", + "\n", + "We could have drawn a line with a slope equal to 1 on that log-log plot, and you would have seen that it was parallel to the convergence line. A slope equal to 1 on a log-log convergence plot is an indication that we have a first-order method: the error scales as ${\\mathcal O}(\\Delta t)$. \n", + "\n", + "In lesson 3, using the full phugoid model (which is nonlinear and does not have an exact solution), we did a _grid-convergence study_ with three different grids, and obtained the _observed_ order of convergence—it was very close to 1, indicating a slope of 1 on a log-log plot.\n", + "\n", + "Another way to look at an ${\\mathcal O}(\\Delta t)$ method is to say that the error scales _linearly_ with the step size, or that they are proportional:\n", + "\n", + "$$ e \\propto \\Delta t.$$\n", + "\n", + "where $e$ stands for the error. To get more accuracy, we could use a _second-order_ method, in which the error is ${\\mathcal O}(\\Delta t^2)$. In general, we say that a method is of order $p$ when the error is proportional to $(\\Delta t)^p$.\n", + "\n", + "In the screencast titled \"Euler's method is a first-order method,\" we used a graphical interpretation to get an idea for improving it: by estimating an intermediate point, like the **midpoint**, we can get a better approximation of the area under the curve of $u^\\prime$. The scheme has two steps and is written as:\n", + "\n", + "\\begin{align}\n", + "u_{n+1/2} & = u_n + \\frac{\\Delta t}{2} f(u_n) \\\\\n", + "u_{n+1} & = u_n + \\Delta t \\,\\, f(u_{n+1/2}).\n", + "\\end{align}\n", + "\n", + "This method is known as the *explicit midpoint method* or the *modified Euler method*, and it is a second-order method. Notice that we had to apply the right-hand side, $~f(u)$, twice. This idea can be extended: we could imagine estimating additional points between $u_{n}$ and $u_{n+1}$ and evaulating $~f(u)$ at the intermediate points to get higher accuracy—that's the idea behind Runge-Kutta methods." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Runge-Kutta methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the modified Euler method, we improve the accuracy over Euler's method by evaluating the right-hand side of the differential equation at an intermediate point: the midpoint. The same idea can be applied again, and the function $f(u)$ can be evaluated at more intermediate points, improving the accuracy even more. This is the basis of the famous *Runge-Kutta (RK) methods*, going back to Carl Runge and Martin Kutta. The modified Euler method corresponds to _second-order_ Runge-Kutta.\n", + "\n", + "Here's a bit of historical coincidence that will blow your mind: Carl Runge's daughter Iris—an accomplished applied mathematician in her own right—worked assiduously over the summer of 1909 to translate Lanchester's _\"Aerodonetics.\"_ She also reproduced his graphical method to draw the phugoid curves (Tobies, 2012)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Phugoid model with 2nd-order RK" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's compute the motion of a glider under the full phugoid model using the second-order Runge-Kutta method. We'll build on the _paper airplane challenge_ of lesson 3 now, and look for the horizontal distance that the plane travels until the moment it touches the ground. \n", + "\n", + "As usual, let's start by importing the libraries and modules that we need, and setting up the model parameters. We also set some default plotting formats using the [`rcParams`](http://matplotlib.org/api/matplotlib_configuration_api.html#matplotlib.rcParams) module. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from math import sin, cos, log\n", + "import numpy\n", + "from matplotlib import pyplot\n", + "%matplotlib inline\n", + "from matplotlib import rcParams\n", + "rcParams['font.family'] = 'serif'\n", + "rcParams['font.size'] = 16" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the paper-airplane challenge of lesson 3, we suggested an $L/D=5.0$ as a realistic value for paper airplanes, according to experiments, and a trim velocity of 4.9 m/s. Let's start with those values, but you could experiment changing these a bit. _What do you think will happen if you make $L/D$ higher?_" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# model parameters:\n", + "g = 9.8 # gravity in m s^{-2}\n", + "v_t = 4.9 # trim velocity in m s^{-1} \n", + "C_D = 1/5.0 # drag coefficient --- or D/L if C_L=1\n", + "C_L = 1.0 # for convenience, use C_L = 1\n", + "\n", + "### set initial conditions ###\n", + "v0 = 6.5 # start at the trim velocity (or add a delta)\n", + "theta0 = -0.1 # initial angle of trajectory\n", + "x0 = 0.0 # horizotal position is arbitrary\n", + "y0 = 2.0 # initial altitude" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Among the initial parameters that we suggest for your first experiment, we are starting with a velocity a little higher than the trim velocity, launch the paper airplane with a negative initial angle, and take the initial height to be 2 meters—all sound like reasonable choices.\n", + "\n", + "Now, we can define a few functions to carry out the computation:\n", + "* The right-hand side of the phugoid model from [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb),\n", + "* One step of the Euler's method that we learned in [Lesson 2](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_02_Phugoid_Oscillation.ipynb), and\n", + "* Differences with respect to a fine grid, as in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb)." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def f(u):\n", + " \"\"\"Returns the right-hand side of the phugoid system of equations.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " array containing the solution at time n.\n", + " \n", + " Returns\n", + " -------\n", + " dudt : array of float\n", + " array containing the RHS given u.\n", + " \"\"\"\n", + " \n", + " v = u[0]\n", + " theta = u[1]\n", + " x = u[2]\n", + " y = u[3]\n", + " return numpy.array([-g*sin(theta) - C_D/C_L*g/v_t**2*v**2,\n", + " -g*cos(theta)/v + g/v_t**2*v,\n", + " v*cos(theta),\n", + " v*sin(theta)])\n", + "\n", + "\n", + "def euler_step(u, f, dt):\n", + " \"\"\"Returns the solution at the next time-step using Euler's method.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " solution at the previous time-step.\n", + " f : function\n", + " function to compute the right hand-side of the system of equation.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " approximate solution at the next time step.\n", + " \"\"\"\n", + " \n", + " return u + dt * f(u)\n", + "\n", + "\n", + "def get_diffgrid(u_current, u_fine, dt):\n", + " \"\"\"Returns the difference between one grid and the fine one using L-1 norm.\n", + " \n", + " Parameters\n", + " ----------\n", + " u_current : array of float\n", + " solution on the current grid.\n", + " u_finest : array of float\n", + " solution on the fine grid.\n", + " dt : float\n", + " time-increment on the current grid.\n", + " \n", + " Returns\n", + " -------\n", + " diffgrid : float\n", + " difference computed in the L-1 norm.\n", + " \"\"\"\n", + " \n", + " N_current = len(u_current[:,0])\n", + " N_fine = len(u_fine[:,0])\n", + " \n", + " grid_size_ratio = int(numpy.ceil(N_fine/N_current))\n", + " \n", + " diffgrid = dt * numpy.sum( numpy.abs(\\\n", + " u_current[:,2]- u_fine[::grid_size_ratio,2])) \n", + " \n", + " return diffgrid\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we also need to define the function `rk2_step()` that computes the next time step using the *modified Euler* method of equations $(1)$ and $(2)$, above, otherwise known as 2nd-order Runge-Kutta or RK2. This function will be called over and over again within the time loop." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def rk2_step(u, f, dt):\n", + " \"\"\"Returns the solution at the next time-step using 2nd-order Runge-Kutta.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " solution at the previous time-step.\n", + " f : function\n", + " function to compute the right hand-side of the system of equation.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " solution at the next time step.\n", + " \"\"\"\n", + " u_star = u + 0.5*dt*f(u)\n", + " return u + dt*f(u_star)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Like in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), we first need to set up the time discretization, then initialize arrays to save the solution and we are set to go! The only difference this time is that we are using _both_ Euler's method and 2nd-order Runge-Kutta to get a solution, to compare the two. " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# set time-increment and discretize the time\n", + "T = 15.0 # final time\n", + "dt = 0.01 # set time-increment\n", + "N = int(T/dt) + 1 # number of time-steps\n", + "\n", + "\n", + "# set initial conditions\n", + "u_euler = numpy.empty((N, 4))\n", + "u_rk2 = numpy.empty((N, 4))\n", + "\n", + "\n", + "# initialize the array containing the solution for each time-step\n", + "u_euler[0] = numpy.array([v0, theta0, x0, y0])\n", + "u_rk2[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + "\n", + "# use a for loop to call the function rk2_step()\n", + "for n in range(N-1):\n", + " \n", + " u_euler[n+1] = euler_step(u_euler[n], f, dt)\n", + " u_rk2[n+1] = rk2_step(u_rk2[n], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can get the position of the glider in time, according to both Euler's method and the 2nd-order Runge-Kutta method, by extracting the appropriate portions of the solution arrays:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "x_euler = u_euler[:,2]\n", + "y_euler = u_euler[:,3]\n", + "x_rk2 = u_rk2[:,2]\n", + "y_rk2 = u_rk2[:,3]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### How far will it fly before touching the ground?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As the $y$-axis measures the vertical coordinate with respect to the ground, negative values of $y$ don't have any physical meaning: the glider would have hit the ground by then! To find out if there are any negative $y$ values we can use the handy function [`numpy.where`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html). This function returns the **indices** of the elements in an array that match a given condition. For example, `numpy.where(y_euler<0)[0]` gives an array of the indices `i` where `y_euler[i]<0` (the `[0]` is necessary as `numpy.where` returns an array, which in this case contains a single line). If no elements of the array match the condition, the array of indices comes out empty. \n", + "\n", + "From the physical problem, we know that once there is one negative value, the glider has hit the ground and all the remaining time-steps are unphysical. Therefore, we are interested in finding the _first_ index where the condition applies, given by `numpy.where(y_euler<0)[0][0]`—do read the documentation of the function if you need to! " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# get the index of element of y where altitude becomes negative\n", + "idx_negative_euler = numpy.where(y_euler<0.0)[0]\n", + "if len(idx_negative_euler)==0:\n", + " idx_ground_euler = N-1\n", + " print ('Euler integration has not touched ground yet!')\n", + "else:\n", + " idx_ground_euler = idx_negative_euler[0]\n", + " \n", + "idx_negative_rk2 = numpy.where(y_rk2<0.0)[0]\n", + "if len(idx_negative_rk2)==0:\n", + " idx_ground_rk2 = N-1\n", + " print ('Runge-Kutta integration has not touched ground yet!')\n", + "else:\n", + " idx_ground_rk2 = idx_negative_rk2[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Do Euler and RK2 produce the same solution?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "An easy way to compare the numerical results obtained with the Euler and 2nd-order Runge-Kutta methods is using [`numpy.allclose`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.allclose.html). This function compares each element of two arrays and returns `True` if each comparison is within some relative tolerance. Here, we use the default tolerance: $10^{-5}$." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Are the x-values close? False\n", + "Are the y-values close? False\n" + ] + } + ], + "source": [ + "# check to see if the paths match\n", + "print('Are the x-values close? {}'.format(numpy.allclose(x_euler, x_rk2)))\n", + "print('Are the y-values close? {}'.format(numpy.allclose(y_euler, y_rk2)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Hmmm, they do differ. Maybe $10^{-5}$ is too tight a tolerance, considering we're using a somewhat coarse grid with first- and second-order methods. Perhaps we can assess this visually, by plotting the glider's path? Study the code below, where we are plotting the path twice, taking a closer look in the second plot by \"zooming in\" to the beginning of the flight." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnEAAAGbCAYAAACrusZBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4FNX6wPHvm0AIIEV6QJHiBQEFFAQpSiDA5dKuIgqI\nVKVjAwQRBbH9aEpRUERB7GDDAlKkqBcEBYkoHSVIbyJIJ8n5/TETDGGTbJLdnd3Z9/M8+4SdPTPn\nfXeGycmcM2fEGINSSimllAotEU4HoJRSSimlsk4bcUoppZRSIUgbcUoppZRSIUgbcUoppZRSIUgb\ncUoppZRSIUgbcUoppZRSIUgbcYCI1BeR/SJyWkSSRaRsms9HicgREbneqRhV4InICPu4SBKRnX7Y\n/icicsg+5mb5cLv5RGSciCSKyKgsrJdbRNbZ8XTLYp1vishf9veV9rUgg/WKiMhMb+sUkatF5FUR\n2WFv+5CIrBaR0VmJVyml3EAbcYAxZpUxJgaYA3iaOK8wkB+Izs72RaR7dn4xhjI73+VOx5ETxpjn\n7OPiDzwfFzndfjvg5pS3vtimiDQFNgB3YP3/zsp2nwRutNfJajwGeNAYE+Ph1TKdWDsCvwKNUm0j\nXSJS1y5/DLjJ3jc3AQL0zmK8SikV8rQRdymxX5cwxjwCFDLGrM3h9sNtZmW35HvZMRGM2xaRqsDr\nwAPAs1lctzbwCPBRDmLyej0RaQmMwGpsvuVF+YLAJ8BXxpjhxpgTAMaYPcBgYH22IlZKqRCmjTgv\nGWPO+2Az/mwMKLUHqGaM+YqsNajyALOB0cDGHNSflUb7j8CNxpg1eBdrLyAGmHpZpcb8L72rfUop\n5WZh2YgTkZL2GJ4j9riaNSLSOp2yG0XkqN09OCrNZ1eJyAwR+V1E9tk/PxOR7qnK/ARMst9OTjVO\naFqqMnfb46N+F5GD9jifeSJyY5r6GqcZu1dNRKaJyE4ROSYiS0TkunTyuFFEPk5V/3YR+dzu6o1M\nU7a5iCy18/5TRH4RkeEiksuL73aYiOy33zZIVd8+EYlKO85MRMrbuf9h55Rsb6eIiDwhIqtEZLed\n33YRGSsi+VPV1yvV/jll1/Mv+7MWdl0X7DzuS7XezXb+R+z1t4nIGBG5IrMcU20jQkQGikh8qu/q\nOxG5K53ynUTkZxE5ISK/icgrQCFv68uMMeaEMeZUNlZ9DvjTGDOBnP2h4fW6xpjDxpjELGy7PZAM\n/JDlqJRSyq2MMWH1AgoAW4FDwC32sqJY3UhbsH5RlE2zTiN7+chUy3IBm4HFQFF7WUHgTSA5zfrd\n7PW7phNTAvAxUMR+XxL4FDgF1PBQfpa9vcVAPXtZRWAXsBvInaZ8C+As8C5Q0F52NbA8bb5AHyAJ\neB7Ig/WLuS3wN/BlFr7nZGBZBp/vBA4DC4Eq9rJWQJL971ggEeiRap1bgf3A/wBJtbyYnd8PHuop\nasdeKtWyVsA5e18VsJc1tLe9Doj2sH9+97Dtd4AzWA0Msb+vkXbuQ9OU7WMvfxXIi/UHVBtgtb18\npoft5weKZfM47572mE2nXEPgBFDRfv9URsdqBtuZBbwNLLH37QF7Pz0A5Mpk3QzrBCLt7/kwUNk+\njhOw/g+vAnpn93ygL33pS1+h/HI8gIAnDE/bvzD6pVleyP5ln8TljbjYtL8Qger2soFpyl4JbEqz\nLOUXanq/pL5M3ciwlxW0GzHveSj/pr29QWmWP2cvvzXVsnzAQfuXap405cumzhcoYzdu1nioc4y9\n7du9/J4za8QleIg1Auhv/7sW8JqH9QbY6zVPs/w9e3mtNMsfBT5K830cwrpZISpN2b72Nh72EOvv\naZalXBka5yHG1ViNyhJpjq09QGQ6x+PMNMvz2/vsPFA3G8d5yjGXbiPOrmMHMCDVsqcyOlYz2NYs\nrAZVLft9Efu7Pw8sS/tdp1k3wzqxGuLJwGn7WO6GdZPRlcBY+7M3svod6Utf+tJXqL/CsTu1HdbY\nnYWpFxpjjmN11XjbJXQYq5E1RETaikhuezvHjDFVsxKQMaa1MeZAmmUngH1YjcX0/C/N+z/sn2VS\nLWsGFAe+NsacS1PHH0AcVqMG4C4gN/CVh7pSurE8djtn0zljzHep4kk2xkyz/73OGOPpjsPN9s+0\n38t0+2fflAUiIlhjqaanKtcc68rdUnP5OMes5Hiv/dPT9Bk/AFF2XWDtg/x2nUlpyi5OZ/vnsfbn\nEeAvL+LJjvFAgjHmsnFm2fAIcJsxZh2AMeZPY8x4YAbWH0EP5GDbee2f0cC7xpjZxpiz9v+1YcAa\noIeINMxBHUopFXIyHePkQtfaP/d5+MzTMo+MMftFpCcwBZgHHBORr7C6ehYaY7we5G2PY3sEqAeU\n4J8B4sWxGorpOZTmfUojLSrVssr2z93p5LHCQ9mHRaRPmqKRwEmsBpCvHMzoQxFpD9yPtc+uwPpe\nUnLLl7qsMeYbEdkKdBSRQcaYv7EaqJHGmCWpiqbk2F5EWqStEivHol7EnrKduSKStmEWZW+npP0+\no2Nuv4dlGGMuAHW8iCNbRKQZcA/p/5GQpbFxxpj0GpofAf2w7kJ9ISvbTCVlnJ/B6q5NawFQF6ub\nPO0fNkop5Vrh2IhLkYd/Gj3ZYox5R0Q+Am4H7rRf9wArRKSFhys9lxGRG7C6334Huhhj4lN9lpDJ\n6slZCDePF2VSGo8jjTFTsrDt7Eo3fhF5GngCeBnobIw5ai9vhDWWz5PpwItAF2Aa1lW56WnKpOQ4\nwxgzKPuhX5xLrakxZoOX63izDwKlHdb3v8a6YHlRyo0dk0VkDFaOlYwxJ7NZT0ojtVQ218cYc0xE\nTmCNZz3ioUjKHzPFs1uHUkqFonDsTt1h/yzj4bPSWdmQiETa3TofGGPuAq7CuioQi9WY80YPrO6i\nZ1I34HwopfvRU76ISOlUd3tusX+WTadsnZQ7PwNgINYVmIdSGnApYWSwzmyssWi9RSQG64aOtE9C\nyCzH6iKSURd26u2Ip+3Yd602FZGUq5bb7Z+ejq8sHXO+YozpZ4wpYtJMzAtMsIukTNxbOrMGnIiU\nE5Eh6XwcY/9Me9U4q77D+r49NQZL+KgOpZQKKeHYiPsY65dBm9QLRaQQ1uz5XnWDikgs8EvqZXZj\nI+XKT+FUH6V0B+W21y0pIi/bjSePVwNFJJocXL1IZQlWt+W/ReSSLkgRqYY12L6KvehDO552IhKR\npmwJ4NtUZTNzBjtfe/3BItIkC3Gfw9oXaRtt5dNbwRhzDKv7rjrWfvjSGHM4TbHFWL/sm4s1gexF\nYs2XtgirEZ6Zd+yfnqYTaYN1s0rqOk8Czew6UmuaXgUikj9VQzBQMuxGTSemcsBYEfF0Jey/9s8v\nPXyWFa/ZP1t5+Kw51rEyL4d1KKVUSHGkESciNcWaX22TiGwQay62yd78whKRBBFZ7+HlbQNhPLAN\n64aEW+xtFsW6YnOSdJ7akFJ9mvfXicggEYmyt1MM6/E/f2NNEZLiF6xfMjXt922Au4w1p9ccrEHs\nI0Wksr2dQlgDwqMyiMVTPJctN8acxbpTMQ/wakrDRUQqYt3l+pGxn0RhjNkPPAhcA7wkIgXsshWw\nGr9LgS8yiCe1n4F/ifUcz+JYs/PnTVMmo9zexuram5jS+BSRm4CUufrSW/dV+2frVP++yP4+emJ9\ntzNTGh4iUhJ4H9iL9dSDtC6pzxjzCdb4x04i0lPsOfRE5FbgFeApY8wRu+zfwBCsuymn2N9JhFhz\nE3bwtH27gf8bsE+sx01ll8+evpAqpr0icrOH8u/bx1XK81v7Y42H+xGYmJNYjTFfYB0T3UWkq1jP\nec0rIiOBBsAkY0zA5pBz+BymlFIWJ26JxeqK+hDIa78vjdXtt5U0c3R5WHenD+ovgdVoO4I1Zmc9\n1t2GKfOvHQK+sMtuBI5iTcXxN9bg9LJY43MewhqftcveTgLWL5oqHuocbJc7gNXAaZbqs0ZY0zAc\nxbpqth7ob2/vgr3tbkBV+9+n7XgOARPtbfyIdRdjkv3zlzT134jVEDtgb2Mz8Dgepn7AuiFgkf39\n7MF6XuXwzPZNmm3chHXX4GGsuyzH28t72fVfSJXbWg/r5wIes+M8aX93X9jfY3KqfXFZTFjPDt2S\nSXy1sB7jdMjezlasaVQKpyozwkOsj6bZTl9grb3vdgMrgY7p1NkBiMealy0B63FTt/DP9Bn7gUZ2\n2dxYd7nuAypn4XtfiXUV9Lx9LFyw3+/LZL3FdrkL9nrn7ffTU5VJiWkv1ji5lOVRWFOuzMX6A+mg\nneM6ex/mSafOPenU+X065SOwutnjsZ6f+ifwDdDBl+cnL79nR89h+tKXvvRljLEmTA00EdkEtDbG\n/J5qWU+sKyDtjXWVI711dxpj0u1SU0opf9NzmFIqGDh1d2p1c/kjd1LuYiuctrBSSgUZPYcppRzn\nyJg4Dyc/gEpY48a+zWx9sZ6fuVJEtorIIhFpk9k6SinlK3oOU0oFg6C4O1WsB7DfB7xujNmRSfFD\nwDpjTAOgGvAZ8JmIDPBzmEop5ZGew5RSTnBkTNxlQYg8hTV1wG3GmDPZWP9LrIejlzBpHi2llFL+\npucwpZQTHH9ig4j0wLqzLTY7Jz/bD0BLrLs313uow/mWqlIqoIwx2Z1eJUv8fQ7T85dS4cmbc5ij\n3aki0gUYBDQx9pxamZSPTvV0gdRSnl0Zmd66Tt3+O2rUKEdvPw7n+sM5d6frdzr3QAnUOczJ79JN\nx4XmobmEystbjjXiROReYCgQZ4w5ZC9rLSK9UpUpKXLJgx074vkh2rWwHre0yY8hZ0tCQoLWH4Z1\nh3v9TuceCOFyDvMltxwXbskDNJdQ59QTGzpjPZHgTazHH91rnxDbYD9LUkQaYE10OjXN6p1EpHaq\nbXXAerTPOGPM6QCEr5QKc3oOU0oFA6fGxE3BmuV9fJrlBhht//sk1qzs+1J9vgDrIfPTRCQ31nxM\nfwJ9jDGeHpXkuO7du2v9YVh3uNfvdO4BEDbnMF9yy3HhljxAcwl1QXF3qr+JiAmHPJVSFhHBBOjG\nBn/T85dS4cfbc1hQzBPnZitWrND6w7DucK/f6dxVcHLLceGWPEBzCXXaiFNKKaWUCkHanaqUch3t\nTlVKhTJvz2GOT/ar/CcxMZHly5fz7bffsnv3biIjI6lYsSLNmzenVq1aXDrzgVJKKaVCiXan+pkT\nffTnz59nypQplCtXjoceegiA2267jXr16nHkyBE6dOhA3bp1+fbbTJ/TnWOBzF9E9BUmLxWa3DJm\nyS15gOYS6vRKnMts2bKFjh07UrJkSb788kv++usvYmNjrQ+nTYOoKCbMmcOHv/1G586d6dSpE88/\n/zy5crnjUNBuJ/fTRpxSSll0TJyLzJkzh0cGDGDKAw9w58iRl/+yW7cOPv0U3noLqlblz9Gj6fDE\nE+TPn585c+aQJ08eZwL3EXsMgdNhKD/zZj/bZVzR2guX85dS6h/ensO0O9Ulpk2bxqwHHuC3K6+k\n/a5dnq9W1KoFzz4LO3bAv/9NkVat+Oqee8iVKxedOnUiOTk58IErpZRSKlu0EedngeijnzhxIlue\nfpr5ycnkfeopeOONjOuPioJHHoFvviHXzp289957HDlyhBEjRvg8tnAco6CU8swt5wO35AGaS6hz\nx0CoMPb2229zevRoXixQgMhFi6BGDe9XrlYNnn6aKOCTTz6hbt261KxZkw4dOvgtXqWUUkr5ho6J\nC2FLly5leIcOfFukCNErVkDp0jna3tq1a2nZsiXx8fGUzuG2nKBj4sKDjolTSrmdjolzuV27dtG5\nc2fGfvgh0Zs25bgBB1C7dm369+/Pfffdp42hEFK9enVKlChBREQEefLkISYmxuMrT548zJ49O9t1\nFC1alIiICEaPHp35CkoppfxOG3F+5o8++rNnz9K+fXuGDBlC48aNIYPpQbJa/4g+fTiybx9z5szJ\nYZTZq19l3YYNG/jxxx8BaNCgAfv37/f4ql+/fran59iwYQOffPIJoFN8qOxzy/nALXmA5hLqtBEX\ngh588EHKlSvH4MGDfb7t3MOG8dFNNzF06FBOnz7t8+0r/wjElVO9OquUUsFFb2zws4sT7frIhx9+\nyIoVK1i3bp1XV0SyXP+YMVxTsyYdb7qJsWPH5rjrzNf5q+xbunQpERH6d5tyjlvOB27JAzSXUKdn\n9BCyf98+Irp04dMhQyhQoIB/KildGkaP5unjx3lpyhQOHjzon3pUwHTv3p3Ro0dfbMDNmDGDmJgY\nIiMjKV++/MVyu3fvJiYmhnz58hEREcEff/zhdR379u2jT58+XHXVVRQtWpQyZcrQtWtXfvvtt4tl\nduzYQUxMDAUKFCAiIoKvv/6a0aNHU6VKFfLnz09ERES2x+wppVQ40kacn/mqj94Yw+dxcdxStCjV\nunXzb/29ehF96hTjb7mFcePGZX39nNavfC71VdtevXqxf/9+ypYte8nyq6++mv3799OhQ4csjXvb\ntWsXtWvX5qeffuK7777j6NGjrFq1ih07dlC7dm22bdsGwLXXXsv+/fsZMmQIACNGjKBcuXL8+uuv\n7Nu3j4oVK+p4O5dzy/nALXmA5hLqtBEXIj56/HHu2rGDEsuXg78fj5UrF0yZQreNG3lr5kwOHDjg\n3/qUz6xcufKyu1Lnzp3rsWx6Y9yMMVka/zZgwAAOHjzI7NmzL17Zu+aaa5g5cybHjx9n6NChHuu9\n/vrr6datG5GRkRQqVIhp06ZRt25dr+tVSqlwp404P/NFH/3eHTuoPn48Z8aMIXelSoGpPzaWXEuX\nck/Xrjm6GheOYxSc5Onu1A4dOvjtpoQ///yTBQsWULZsWapWrXrJZ9dddx0FChRg8eLFJCYmXrZu\ns2bNLntfuXJlv8SpgoNbzgduyQM0l1CnNzaEgHWtW1O+cmXK+OFu1Az9618MGTKEGjVqMHLkSAoX\nLhzY+gMkkF14Tt3h6a8ct2/fDlhj4mJiYjyWyZUrF0eOHKFUqVKXLE/7XimlVNbolTg/y2kf/eLF\ni5l88iTXLlrkSP1XX301//nPf3j99dcdqT8QUroPA/FywqxZsxg5cqTX5ZOTk70um9I4rFatmse5\n6Y4fP86JEyc8Ntj0TtnwEwrnA2+4JQ/QXEKdnkWD2NmzZxkwYACDX3uNvFdd5VgcgwYNYsqUKVy4\ncMGxGJTv5c6d2+M+zcodyZUqVUJE2LNnj8fPd+/eHZYnVqWUCgRtxPlZTvrox40bxw033EDLli0d\nqT9FrVq1qFChAh9//LEj9avMedNdet999/HMM89cfH/VVVdx8OBBzp8/f3HZ6dOnWbt2rdfdr4UL\nF6ZVq1YcOXKE5cuXX/b5gw8+yJQpU7zalnI/t5wP3JIHaC6hThtxQeq3335jypQpTJo0yelQ4NQp\nppYsyfRXX3U6EpWOlK7ajLpsk5KSLukqbd++PYmJiYwbN47k5GROnTrFI488QunSpTPs/k27/OWX\nX6Z06dIMHDiQX3/9FbCuIj/zzDN8++23PPfcc15tRymlVNZoI87PstOVZJKSGDhwIMOGDaNs2bIB\nr/8y+fJRZeNGiv/888U5vwJav8pQuXLluO666xARvvvuO/Lmzevx9e67715yha1fv348++yzvPnm\nmxQrVoymTZvSvn17ateuDcDNN9/MHXfcAUD16tW58847EREmTJhA6dKlL04GXLZsWdauXUujRo1o\n2bIlpUqVomrVqmzdupVVq1ZRpUoVgItj41544QVEhHbt2hETE8PKlSsD/I0pp7jlfOCWPEBzCXV6\nd2oQ+rVbN1r89BP9P//c6VAsIkQ88ghPjRnDjBkzGD9+vNMRqVQSEhKytV5ERASPP/44jz/++CXL\nmzVrxqxZsy5ZtmHDhgy3VapUKaZNm8a0adPSLVOwYEGdc1AppXxIwqFLQ0RMqOR5Mj6e87VqseP9\n96lz991Oh/OPU6dIuuoqakdEsHrfPvL4e8LhbBAR7aILA97sZ7uMKx7/EErnL6WUb3h7DtPu1GBi\nDPv/+18W3XRTcDXgAPLnJ7JLFwYVLMi8efOcjkYppZQKe9qI87Os9NHvfvZZTu3bR1MfdqP6dIxA\nnz60O3mSGdOnO1O/UiqkueV84JY8wP25JCYm8ttvv7Fs2TLmzZvHnDlz+OKLL/juu+/Yu3dvlubF\nDEY6Ji5IJB86RP5nnuGHoUOpmc7M946rVo3I9ev5qXp19u7dS5kyZZyOSCmllLooKSmJVatWXWyo\nxcfHU6JECcqXL0+hQoXIkycPp0+f5ujRo+zcuZNz585Rr1494uLiaNeu3cXnP4cKHRMXJN6aPp34\nF19kwubNQT+T/X333UeVKlUYMmSI06FcQsfEhQcdE6eUSmvnzp1Mnz6dN998k1KlSnH77bfTqFEj\n6tSpQ/78+dNd7+DBg6xcuZKFCxcyb948KlWqxMCBA7nzzjvJnTt3ADO4lLfnMG3EBYGjR49SrVo1\nFixYwE033eR0OJlatmwZgwcPZv369U6HcgltxIUHbcQppVJs3ryZZ599lkWLFtG1a1f69OlD5cqV\ns7WtxMREPv/8cyZPnsyePXsYPXo0nTp1IjIy0sdRZ05vbAgS3ow3GD58OHfffbdfGnD+GO/QqFEj\nDh8+zKZNmxypXykVmtxyPnBLHhC6uRw+fJi+ffvSqFEjrr/+enbu3Enbtm2z3YADyJUrF+3ateOb\nb77hjTfeYOrUqdSvX5/4+HgfRu5b2ohz2Pfff8/8+fMveRxSsIuMjKRTp068++67ToeilFIqjBhj\nmDlzJlWrViU6OpqtW7cyfPhwChQo4NN6YmNjWblyJX369OHf//43o0aNIjEx0ad1+IJ2pzooMTGR\n2rVrM2zYMDp16uR0OFmy/c036T1iBEt37w6aMXzanRoe3NKdKiLPAo8DPYwxszMoF5TnL6UC7cCB\nA/To0YODBw8ya9YsatSoEZB69+/fT7du3Th9+jRz5swJyE192p0a7IxhS8OGVM+Xj44dOzodTZZd\nm5DAfWfPsnr1aqdDUSqgRKSmiMwQkU0iskFENorIZBEploVtXAUMAoz9UkplYNGiRdx0003UqVOH\nNWvWpN+A++MPeP99GDvW8+dHjsDdd8PIkTB/Pvz1V6Z1x8TEsHDhQlq2bEndunVZs2ZNDjLxLW3E\n+Vl64w3+nDoVWbuWEa+9dsnzLANVf05Jly7cfvYsn86d60j9SjnoA6AwUMsYUx1oBjQHVopItJfb\neB5YCgT11UJfc8v5wC15QPDnYozhueeeo2fPnrz77ruMHj368rtGN2+GESNYcc01ULs2fPghpHcz\nQnQ0tGsHyckwcSKULQtxcZDJ8KCUxxS+8sortGnTJmgmvdd54pxw7Bjy6KOs7NKF3tdf73Q02VOx\nIlK5Mn++9x5m4kS/NkSVCjLJwDBjzBkAY8w+ERkPvA60BD7JaGURqQXUB/oDrfwcq1Ih68yZM3Tr\n1o1du3bx448/Urp06csLGQO9ekH9+jBsGPTtCxkN8bniCkjd+3XqFCxZAn/+6VVMbdq04auvvqJ1\n69YcO3aMHj16ZDEr39IxcQ7Y1bIlK1eu5I4DB8ibN6/T4WSbefllPn/8ccosW0bt2rWdDkfHxIUJ\np8fEiUguY0ximmX/AeYD9xtjZmay/gpgGnAIWAZ0N8a8lUH5oDp/KRUIR48epW3btpQrV4433niD\n6GhvL3IHxtatW2nWrBkjR47k/vvv9/n2dUxckDqzdCnRixdTevbskG7AAUj79jS/cIHP5sxxOpSw\nVr16dUqUKEFERAR58uQhJiaGmJgYSpQoQXR0NJUqVeLJJ5/k7NmzF9d56623iImJIV++fERERFC0\naFFKly7NhQsXAPjxxx8pVaoUUVFRREVFERMTwxtvvAHAX3/9xdSpU7ntttsoXrw4RYoU4ZprrqFn\nz57s2LHDke8gkNI24GyVsMa2fZvRuiJyO5DHGJPxOASlwtiePXto2LAhDRs25O233/6nAXfmTGAD\nMQZWrfL4UeXKlVm6dClPPfUUs2ene1+S/xljXP+y0nTG8uXLL3n/SocOZnxsrGP1+9q2SZNM1QoV\nTHJysiP1p+bkfnZaQkKCERHTuHHjS5afOHHCDBw40IiIadas2WXrde/e3YiI+eabby777I033jAl\nSpS47LNbb73VREVFmbfeesskJiYaY4xZvXq1KV++vClQoIBZt26dDzO7nDf72S4TqPNLJLABmJ5J\nudzAFqC+/T4Wq2u2aybrZfu7CjaBPB/4k1vyMCb4cvn9999N+fLlzYQJE/5ZePasMU88YcwNNxiT\nlJTuuj7P5dAhYypWNKZrV2OOH/dYZPPmzaZUqVLmiy++8GnV3p7D9EpcAMXHxzNq+XK6uujK1bUP\nPsjp5GR++eUXp0MJayad7rYCBQowefJkypUrx9dff33ZIOb01nv66ad56qmnWL58Obfddttl6wwc\nOJAuXbpcnMm8bt26vPzyy5w8eZJBgwblPKHQ8iRwDng4k3L9gF+NMZ7/tFcqzO3YsYNGjRoxZMgQ\nBg8ebC3ctAnq1oVffoGFCzMe7+ZrxYtDfDxERUGdOlYsaVx33XXMmzePHj16OHLXqt7Y4GexsbGA\n9VDePn368Pzzz1OiRImA1+8vIsKdd97JRx99RPXq1QNev8pcREQENWrUICEhgXXr1mW4T5KSkujX\nrx9r1qxh9erVHgcSd+vWjXr16l22vGHDhgBBdfu9v4lID6A9EGvsGx3SKVcYeAy4zdPHmdXTvXt3\nypUrB0DhwoWpWbPmxf2Y0jAPhfexsbFBFU9O3qcIlniy+z5lmdPxlC9fnqZNm3LXXXdRtWpVK7BZ\ns1jx8MPQuzex48aBSOCPr7VroXNnYuvXh0aNWDFoENSrd1n5WbNmcccddzBx4kRKliyZreNpxYoV\nJCQkkCXeXK4L9RdB0B0xZcoUc+utt5qkDC4Fh6pvv/3W1KxZ0+kwwro7defOnR67U1O0adPGiIh5\n+eWXL1nerVu3i92pp06dMq1atTKNGzc2x9PpOsjI4cOHjYiY0qVLZysHb3mznwlAdyrQBfgFKOFF\n2RbAH8BB3IdmAAAgAElEQVT6VK/tWN2pu+z3T6Szbo6+L6WC3d69e02FChXMlClT/lm4caMxVata\nP4PF6tXGtGqVbpfuuHHjzI033mhOnTqV46q8PYdpd6qfrVixgh07djB69GhmzJgR8KcbBGIOoHr1\n6rF79252797tSP0qYxcuXCA+Ph4R4ZZbbvFY5tChQzRu3JiCBQuyaNEiChYsmOV6VtkDgDt06JCj\neEOBiNwLDAXijDGH7GWtRaRXqjIlxZ57xxiz0BhT1hhzY8oLSLml7Ul72bOBziPQ3HI+cEse4Hwu\nf/31Fy1atOC+++7jgQce+OeDqlXh55+tn17yey5168KXX6bbpTtkyBCqVatG79690x2q4mvaiPOz\npC1bWNysGU888USOHswbzHLlykXr5s2Z/9lnToei0ti/fz99+vRh7969DBo0iFq1anks16NHDzZs\n2MDIkSMvn0jTC8YYXnzxRWJiYhgxYkROww5qItIZmAG8CTQXkXvtRl0boLRdpgGwD5ia0abS/FQq\nrJw5c4a2bdvSpEkThg8ffnmBXKE14ktEeO2119iwYQMzZswITKXeXK4L9RdOdUecPGmOFi9uRleu\n7Mpu1NT233CDeaJ2bUdjyPZ+HjXKGOtm8ktfo0b5tnx6n/tASndqVFSUKVWqlClVqpTJly+fERFT\nu3Zt88MPP3hcL6U7tU6dOkZETJkyZcz27duzXP/kyZNNdHS0+fbbb3OaSqa82c/4sTsVOAokYXWF\npn4lASPtMjWAI3joIgVKATuB/fY6h+33ddKpL+dfmlJBJikpydx1112mY8eOrvv9uHnzZlOsWDGz\nfv36bG/D23OY4w2sQLycOgkeu+su80FUlNmxY4cj9QfS6aefNq/nzm3+/vtvx2II5192nsbEnT59\n2owYMcKIiGnVqpXHaWBSGnErVqwwvXv3NiJirr76avPbb795XffHH39soqOjzWeffeaTXDLjdCMu\n0K9wPq6Vew0fPtw0aNDAnDlzxhprtnix0yFlz4ULxniY2uTtt982VapUMadPn87WZr09h2l3qp8k\nfvghJz//nB969qRixYqOxRGo8Q55O3TgvyIsWbTIkfrV5fLmzcuzzz5LXFwcCxYs4PXXX0+3rIgw\n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\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot the glider path\n", + "pyplot.figure(figsize=(10,6))\n", + "pyplot.subplot(121)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_euler[:idx_ground_euler], y_euler[:idx_ground_euler], 'k-', label='Euler')\n", + "pyplot.plot(x_rk2[:idx_ground_rk2], y_rk2[:idx_ground_rk2], 'r--', label='RK2')\n", + "pyplot.title('distance traveled: {:.3f}'.format(x_rk2[idx_ground_rk2-1]))\n", + "pyplot.legend();\n", + "\n", + "# Let's take a closer look!\n", + "pyplot.subplot(122)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_euler, y_euler, 'k-', label='Euler')\n", + "pyplot.plot(x_rk2, y_rk2, 'r--', label='RK2')\n", + "pyplot.xlim(0,5)\n", + "pyplot.ylim(1.8,2.5);\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From far away, the Euler and RK2 methods seem to be producing similar answers. However, if we take a closer look, small differences become evident. Keep in mind that we are solving the same equation and both methods will converge to the same solution as we refine the grid. However, they converge to that solution at different rates: RK2 gets more accurate faster, as you make $\\Delta t$ smaller." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Grid-convergence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Just like in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), we want to do a grid-convergence study with RK2, to see if we indeed observe the expected rate of convergence. It is always an important step in a numerical solution to investigate whether the method is behaving the way we expect it to: this needs to be confirmed experimentally for every new problem we solve and for every new method we apply!\n", + "\n", + "In the code below, a `for`-loop computes the solution on different time grids, with the coarsest and finest grid differing by 100x. We can use the difference between solutions to investigate convergence, as before." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# use a for-loop to compute the solution on different grids\n", + "dt_values = numpy.array([0.1, 0.05, 0.01, 0.005, 0.001])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt)+1 # number of time-steps\n", + " \n", + " ### discretize the time t ###\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + " u[n+1] = rk2_step(u[n], f, dt)\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once those runs are done, we compute the difference between each numerical solution and the fine-grid solution." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# compute diffgrid\n", + "diffgrid = numpy.empty_like(dt_values)\n", + "for i, dt in enumerate(dt_values):\n", + "\n", + " diffgrid[i] = get_diffgrid(u_values[i], u_values[-1], dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And now we plot!" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nicaKFSu44YYbWLVqFR9//HHU4UgBmUymza7Dqqy9lhRJb+kkfdpm0qUpfxdffDGTJk3iuOOO449/\n/GPU4VQs6bkLe/aaiEjNNDc3M2XKFMyMa665JupwpEJq6RSR9JaOSByMGDGCX/3qV5x++un86le/\nijocKYFaOiISW4cffji9e/fm6quvjjoUCYGKToql+VmBJEhL/i666CKam5vp27dv1KGEJi25y6cq\nRcfMZlfjviKSTttsU9FEW6kjpeynE2QTt0nu3rWSwOqBmfn48eM1ZVpEpAQtU6YnTJgQfMFPbeKm\niQQiIuWodCLB+8BRwODcayjwMnAHMILspm1H5/77DmAx2U3fpM6luV85CZKav08++YR7772XjRsT\ntcDJpyQ1d6UopaP0L+7+RMsbM5tEdhO3+/NcO93MTia7idvvQopRRFLkrrvu4vzzz+f444/noYce\nijocCZk2cStC3WsitbVmzRoGDhzIkiVLuOeee/j2t78ddUgSQNjP6ewCFJsk0BXYKcB9RSTlbrnl\nFpYsWcLBBx/Mt771rajDkSrQJm4pluZ+5SRIWv7ef/99Jk6cCMA111xDu3axn4tUUNJyV44gk98v\nAR4nu4nbUmAp2WnSPYCewCqgIawARSQdpk6dygcffMBRRx3FMcccE3U4UiWB1l4zs32AnwDHAZ1z\nh1cDTcA4d58bWoQR0piOSO1s2rSJe+65h/32249DDjkk6nCkAsXGdLSJWxF6OFREpHShPBwahJmd\n4e6xXw426S2dpO/pkXTKX3wlPXdRrDJ9Q5XuKyIiMVbKMjiNwM7uPir3vpnia7EZ0NvdO4QVZFSS\n3tIREamGisZ0zOxtYEdgF3dfa2brgafb+MzD3b1ToGjriIqOSPW4O8OHD+dLX/oSF154IZ06xf5X\nhuRUWnR6AB3d/c3c+6Xu3rONr2nzmjhIetFJer9y0sU9fzNnzuS4445jp512YuHChXTtGvuF6UsW\n99y1paIxHXdf1lJwcjqa2VQz+1qRL/t+uUGKSHps2rSJyy+/HIAxY8akquCkXZC11zYB04Hr3P2V\nqkRVJ5Le0hGJyvTp0znjjDPo3bs38+bNU9dawoT6nI6ZLXP3HqFEVudUdETCt379evbdd1+am5u5\n4447OPfcc6MOSUIW9pTpV8ysVxsfeFeA+0qNpXn9pySIa/5WrFhB79692X///TnzzDOjDicScc1d\n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\nzP8H50NbGbioopAAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot using the matplotlib function loglog()\n", + "pyplot.figure(figsize=(6,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel(r'$\\Delta t$', fontsize=18)\n", + "pyplot.ylabel(r'$L_1$-norm of the grid differences', fontsize=18)\n", + "pyplot.xlim(1e-4,1)\n", + "pyplot.ylim(1e-4,1)\n", + "pyplot.axis('equal')\n", + "pyplot.loglog(dt_values[:-1], diffgrid[:-1], color='k', ls='--', lw=2, marker='o');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is looking good! The difference relative to our fine-grid solution is decreasing with the mesh size at a faster rate than in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), but *how much faster?* When we computed the observed order of convergence with Euler's method, we got a value close to 1—it's a first-order method. Can you guess what we'll get now with RK2?\n", + "\n", + "To compute the observed order of convergence, we use three grid resolutions that are refined at a constant rate, in this case $r=2$. " + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The order of convergence is alpha = 1.983\n" + ] + } + ], + "source": [ + "# check convergence rate\n", + "r = 2\n", + "h = 0.001\n", + "\n", + "dt_values = numpy.array([h, r*h, r**2*h])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt)+1 # number of time-steps\n", + " \n", + " ### discretize the time t ###\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + " ### call rk2_step() ###\n", + " u[n+1] = rk2_step(u[n], f, dt)\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u\n", + " \n", + "# calculate the order of convergence\n", + "alpha = (log(get_diffgrid(u_values[2], u_values[1], dt_values[2])) \n", + " - log(get_diffgrid(u_values[1], u_values[0], dt_values[1]))) / log(r)\n", + "\n", + "print('The order of convergence is alpha = {:.3f}'.format(alpha))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Probably you're not too surprised to see that the observed order of convergence is close to $2$. Because we used a second-order method! This means that the numerical solution is converging with the grid resolution twice as fast compared with Euler's method in [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb), or in other words, the error scales as ${\\mathcal O}(\\Delta t^2)$. That is a lot faster! However, we are paying a price here: second-order Runge-Kutta requires more computations per iteration." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Challenge task" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How much longer does it take to get the solution with RK2, compared to Euler's method? Run the same solution (same time grid, same parameters), but find a way to *time* the calculation with Python, and compare the runtimes." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Multi-step methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The screencast *\"Euler's method is a first-order method\"* motivated graphically an idea to get increased accuracy: using intermediate points between $u_{n}$ and $u_{n+1}$ and evaluating the right-hand side of the differential equation at those intermediate points. The idea is to somehow get a better approximation using more data from the function $f(u)$.\n", + "\n", + "Another way to bring more information about $f(u)$ into the numerical solution is to look at time data $t\\lt t_{n}$. For example, we can involve in the calculation of the solution $u_{n+1}$ the known solution at $u_{n-1}$, in addition to $u_{n}$. Schemes that use this idea are called _multi-step methods_.\n", + "\n", + "\n", + "A classical multi-step method achieves second order by applying a _centered difference_ approximation of the derivative $u'$:\n", + "\n", + "$$ u'(t) \\approx \\frac{u_{n+1} - u_{n-1}}{2\\Delta t}.$$\n", + "\n", + "Isolate the future value of the solution $u_{n+1}$ and apply the differential equation $u'=f(u)$, to get the following formula for this method:\n", + "\n", + "$$ u_{n+1} = u_{n-1} + 2\\Delta t \\, f(u_n),$$\n", + "\n", + "This scheme is known as the **leapfrog method**. Notice that it is using the right-hand side of the differential equation, $f(u)$, evaluated at the _midpoint_ between $u_{n-1}$ and $u_{n+1}$, where the time interval between these two solutions is $2\\Delta t$. Why is it called \"leapfrog\"? If you imagine for a moment all of the _even_ indices $n$ of the numerical solution, you notice that these solution values are computed using the slope estimated from _odd_ values $n$, and vice-versa.\n", + "\n", + "Let's define a function that computes the numerical solution using the leapfrog method:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def leapfrog_step(unm1, u, f, dt):\n", + " \"\"\"Returns the solution time-step n+1) using Euler's method.\n", + " \n", + " Parameters\n", + " ----------\n", + " unm1 : array of float\n", + " solution at time-step n-1.\n", + " u : array of float\n", + " solution at time-step n.\n", + " f : function\n", + " function to compute the right hand-side of the system of equation.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " solution at time-step n+1.\n", + " \"\"\"\n", + " return unm1 + 2.0*dt*f(u)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "But wait ... what will we do at the _initial_ time step, when we don't have information for $u_{n-1}$? This is an issue with all multi-step methods: we say that they are _not self-starting_. In the first time step, we need to use another method to get the first \"kick\"—either Euler's method or 2nd-order Runge Kutta could do: let's use RK2, since it's also second order.\n", + "\n", + "For this calculation, we are going to re-enter the model parameters in the code cell below, so that later on we can experiment here using the leapfrog method and different starting values. At the end of this notebook, we'll give you some other model parameters to try that will create a very interesting situation!" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# model parameters:\n", + "g = 9.8 # gravity in m s^{-2}\n", + "v_t = 4.9 # trim velocity in m s^{-1} \n", + "C_D = 1/5.0 # drag coefficient --- or D/L if C_L=1\n", + "C_L = 1.0 # for convenience, use C_L = 1\n", + "\n", + "### set initial conditions ###\n", + "v0 = 6.5 # start at the trim velocity (or add a delta)\n", + "theta0 = -0.1 # initial angle of trajectory\n", + "x0 = 0.0 # horizotal position is arbitrary\n", + "y0 = 2.0 # initial altitude\n", + "\n", + "# set time-increment and discretize the time\n", + "T = 15.0 # final time\n", + "dt = 0.01 # set time-increment\n", + "N = int(T/dt) + 1 # number of time-steps\n", + "\n", + "# set initial conditions\n", + "u_leapfrog = numpy.empty((N, 4))\n", + "\n", + "# initialize the array containing the solution for each time-step\n", + "u_leapfrog[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + "# first step using RK2\n", + "u_leapfrog[1] = rk2_step(u_leapfrog[0], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we have all the required information to loop in time using the leapfrog method. The code cell below calls the leapfrog function for each time step." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# use a for loop to call the function leapfrog_step()\n", + "for n in range(1,N-1):\n", + " \n", + " u_leapfrog[n+1] = leapfrog_step(u_leapfrog[n-1], u_leapfrog[n], f, dt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Like before, we extract from the solution array the information about the glider's position in time and find where it reaches the ground." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# get the glider position in time\n", + "x_leapfrog = u_leapfrog[:,2]\n", + "y_leapfrog = u_leapfrog[:,3]\n", + "\n", + "# get the index of element of y where altitude becomes negative\n", + "idx_negative_leapfrog = numpy.where(y_leapfrog<0.0)[0]\n", + "\n", + "if len(idx_negative_leapfrog)==0:\n", + " idx_ground_leapfrog = N-1\n", + " print ('The glider has not reached the ground yet!')\n", + "else:\n", + " idx_ground_leapfrog = idx_negative_leapfrog[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plotting the glider's trajectory with both the leapfrog and RK2 methods, we find that the solutions are very close to each other now: we don't see the differences that were apparent when we compared Euler's method and RK2." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nz6bl5ZdTu3btDKbcO/nLlrHoxBMpW7069WbMgAMO8B1JpMTQiVMhFaYeE2WJLxNZKlasmNAJVCXt\ndUlUmLKUZGaGVaoEL7/MotataTtoEPuMHOk71i7t2LGDhfPmwQMPkHPyyaw85xzm3XtvZAvUqP+e\naHwlg4pUEQ8uv/xyAF544QU2bNjgOY1IMZix/003sWr0aCrVqQPAokWLWLp0qedg/2vx55+z9YQT\n2DJhAsycSaUePbjgwgt9xxKR3dDhfhFPmjdvzowZM3jyySd3Fq2SXUry4f5dcc7RqlUrunfvzmWX\nXZaGZImbN28eBx10ENWqVQNg+LXXctTFF3NSs2Zec4mUZDrcL5IFrrzySgAee+wx9EeURMXmzZtp\n06YNPXv2BMDl5/P4gw+yZcuWjGd58sknue+++3Y+7vHooypQRbKIitQMClOPibLEl8ksF1xwAbVr\n12bBggW8//77XrPsibJIoipUqMDdd99NqVKlAPho6FC63HorZQcNgm+/Zfv27Wn7o2zJ4sW82LMn\nDBoEwB133LHL651GfR5pfNkt6uNLlIpUEU/Kli3LFVdcAcCjjz7qOY1IelRq2ZIlw4Zha9bAUUex\nqmlThrVtC+vXF/tr79ixg1defhlmzYKbbuKIM87guJEjWVe5MgC1a9fm3nvvLfb3ERE/1JMq4tH3\n33/PwQcfzLZt21i2bBmHH36470iSBPWkJumnn3iyQwfO3rqVOtdeC927c+ONN9KoUSO6desGwKxZ\nszjooIOoWbMmACtWrKBGjRpUjhWegwcP5oorrqBy5co455hdrhyN69ShTJcucOGFvL9mDc1btKBc\nuXKpzS4iKaGeVJEsccABB9ClSxecczz22GO+44ik13770WfGDA749FPo3h2AadOmkZubu/Mpq889\nFzvrLOjaFS6+mJUnncSmDh3giy8AePPNN/n000+B4M3us1tuYdGbb8K990KTJrQ5/XQVqCIRoSI1\ng8LUY6Is8fnIcs011wDw3HPPsb7QIdCS/rrsSpiySPJycnIoXbr0zscTJkygWaGTmb5o3ZqtffpA\nhw7QqROLjz6anzp02Hk90xtuuGHnXlaAy+++m8Z7cUOMqM8jjS+7RX18iSq956eISDodd9xxtGzZ\nkmnTpjF8+HCuvvpq35FEMqborUhvKXJDgCu6dPmfx+eee27aM4lIOKgnVSQExowZwwUXXMARRxzB\n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\nB0lEQVTo/D9EAVodDt65OwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot the glider path\n", + "pyplot.figure(figsize=(11,8))\n", + "pyplot.subplot(121)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_leapfrog[:idx_ground_leapfrog], y_leapfrog[:idx_ground_leapfrog], color='k', ls='-', lw=2)\n", + "pyplot.title('distance traveled: {:.3f}'.format(x_leapfrog[idx_ground_leapfrog-1]), fontsize=18);\n", + "\n", + "# Let's take a closer look!\n", + "pyplot.subplot(122)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_leapfrog[:idx_ground_leapfrog], y_leapfrog[:idx_ground_leapfrog], color='k', ls=':', lw=2)\n", + "pyplot.plot(x_rk2, y_rk2, 'r--', label='RK2')\n", + "pyplot.xlim(0,5)\n", + "pyplot.ylim(1.8,2.5);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What about the observed order of convergence? We'll repeat the process we have used before, with a grid-refinement ratio $r=2$ ... here we go:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The order of convergence is alpha = 2.186\n" + ] + } + ], + "source": [ + "# check convergence rate\n", + "r = 2\n", + "h = 0.001\n", + "\n", + "dt_values = numpy.array([h, r*h, r**2*h])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt) + 1 # number of time-steps\n", + " \n", + " ### discretize the time t ###\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " u[1] = rk2_step(u[0], f, dt)\n", + " for n in range(1, N-1):\n", + " u[n+1] = leapfrog_step(u[n-1], u[n], f, dt)\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u\n", + " \n", + "# calculate the order of convergence\n", + "alpha = (log(get_diffgrid(u_values[2], u_values[1], dt_values[2])) \n", + " - log(get_diffgrid(u_values[1], u_values[0], dt_values[1]))) / log(r)\n", + "\n", + "print('The order of convergence is alpha = {:.3f}'.format(alpha))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now have numerical evidence that our calculation with the leapfrog method indeed exhibits second-order convergence, i.e., the method is ${\\mathcal O}(\\Delta t^2)$. _The leapfrog method is a second-order method_. Good job!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### But chew on this ..." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Go back to the cell that re-enters the model parameters, just above the leapfrog-method time loop, and change the following: the initial height `y0` to 25, and the final time `T` to 36. Now re-run the leapfrog calculation and the two code cells below that, which extract the glider's position and plot it.\n", + "\n", + "_What is going on?_\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Reference" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Tobies, R. \"Iris Runge: A life at the crossroads of mathematics, science and industry,\" Springer Basel, 1st ed. (2012). [Read on Google books, page 73](http://books.google.com/books?id=EDm0eQqFUQ4C&lpg=PA73&dq=%22I%20have%20been%20making%20good%20progress%20with%20Lanchester.%20The%20second%20chapter%20is%20already%20on%20your%20desk%22&pg=PA73#v=onepage&q=%22I%20have%20been%20making%20good%20progress%20with%20Lanchester.%20The%20second%20chapter%20is%20already%20on%20your%20desk%22&f=false)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of the notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/lecture_22/01_phugoid/README.md b/lecture_22/01_phugoid/README.md new file mode 100644 index 0000000..c7c2701 --- /dev/null +++ b/lecture_22/01_phugoid/README.md @@ -0,0 +1,43 @@ +#Module 1: The phugoid model of glider flight. + +##Summary + +The phugoid model motivates the learning of numerical time integration methods. The model is described by a set of two nonlinear ordinary differential equations, representing the oscillatory trajectory of an aircraft subject to longitudinal perturbations. + +* [Lesson 1](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_01_Phugoid_Theory.ipynb) presents the physics of phugoids in the assumption of zero drag (following Lanchester, 1909). Plotting the flight path gives fascinating curve shapes. +* [Lesson 2](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_02_Phugoid_Oscillation.ipynb) develops a single-equation model for zero-drag oscillations, leading to simple harmonic motion. The lesson defines initial-value problems, demonstrates Euler's method, and uses the exact solution to study the numerical convergence. +* [Lesson 3](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_03_PhugoidFullModel.ipynb) develops the full phugoid model and solves it with (vectorized) Euler's method. In the absence of an exact solution, the study of convergence uses a grid-refinement method, obtaining the observed order of convergence. The lesson ends with the paper-airplane challenge. +* [Lesson 4](http://nbviewer.ipython.org/github/numerical-mooc/numerical-mooc/blob/master/lessons/01_phugoid/01_04_Second_Order_Methods.ipynb) starts with the screencast "Euler's method is a first-order method" and develops second-order methods: explicit midpoint (modified Euler) and Runge-Kutta. It ends with a grid-refinement study. + +##Badge earning + +Completion of this module in the online course platform can earn the learner the Module 1 badge. + +###Description: What does this badge represent? + +The earner completed Module 1 "The phugoid model of glider flight" of the course "Practical Numerical Methods with Python" (a.k.a., numericalmooc). + +###Criteria: What needs to be done to earn it? + +To earn this badge, the learner needs to complete the graded assessment in the course platform including: answering quiz about basic numerical Python commands; answering quiz about basics of initial-value problems; completing the individual coding assignment "Rocket flight" and answering the numeric questions online. Earners should also have completed self-study of the four module lessons, by reading, reflecting on and writing their own version of the codes. This is not directly assessed, but it is assumed. Thus, earners are encouraged to provide evidence of this self-study by giving links to their code repositories or other learning objects they created in the process. + +###Evidence: Website (link to original digital content) + +Desirable: link to the earner's GitHub repository (or equivalent) containing the solution to the "Rocket flight" coding assignment. +Optional: link to the earner's GitHub repository (or equivalent) containing other codes, following the lesson. + +###Category: + +Higher education, graduate + +###Tags: + +engineering, computation, higher education, numericalmooc, python, gwu, george washington university, lorena barba, github + +###Relevant Links: Is there more information on the web? + +[Course About page](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about) + +[Course Wiki](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/wiki/GW.MAE6286.2014_fall/) + +[Course GitHub repo](https://github.com/numerical-mooc/numerical-mooc) diff --git a/lecture_22/01_phugoid/Rocket_Assignment.ipynb b/lecture_22/01_phugoid/Rocket_Assignment.ipynb new file mode 100644 index 0000000..2839d18 --- /dev/null +++ b/lecture_22/01_phugoid/Rocket_Assignment.ipynb @@ -0,0 +1,335 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Coding Assignment: Rocket" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The equations of motion for a rocket in purely vertical flight are given by\n", + "\n", + "\\begin{align}\n", + "\\frac{dh}{dt} &= v\\\\\n", + "(m_s+m_p) \\frac{dv}{dt}& = -(m_s+m_p)g + \\dot{m}_pv_e - \\frac{1}{2}\\rho v|v|AC_D\n", + "\\end{align}\n", + "\n", + "$h$ is the altitude of the rocket\n", + "\n", + "$m_s = 50kg$ is the weight of the rocket shell\n", + "\n", + "$g = 9.81 \\frac{m}{s^2}$\n", + "\n", + "$\\rho = 1.091 \\frac{kg}{m^3}$ is the average air density (assumed constant throughout flight)\n", + "\n", + "$A = \\pi r^2$ is the maximum cross sectional area of the rocket, where $r = 0.5 m$\n", + "\n", + "$v_e = 325 \\frac{m}{s}$ is the exhaust speed\n", + "\n", + "$C_D = 0.15 $ is the drag coefficient\n", + "\n", + "$m_{po} = 100 kg$ at time $t = 0$ is the initial weight of the rocket propellant\n", + "\n", + "The mass of the remaining propellant is given by:\n", + "\n", + "$$m_p = m_{po} - \\int^t_0 \\dot{m}_p d\\tau$$\n", + "\n", + "where $\\dot{m}_p$ is the time-varying burn rate given by the following figure:\n", + "\n", + "Propellant Burn Rate\n", + "\n", + "![burn rate](./burn.rate.png)\n", + "\n", + "Using Euler's method with a timestep of $\\Delta t=0.1s$, create a Python script to calculate the altitude and velocity of the rocket from launch until crash down. \n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Assessment:\n", + "\n", + "To check your answers, you can register for [MAE 6286: Practical Numerical Methods with Python](http://openedx.seas.gwu.edu/courses/GW/MAE6286/2014_fall/about).\n", + "\n", + "1. At time $t=3.2s$, what is the mass (in kg) of rocket propellant remaining in the rocket?\n", + "\n", + "2. What is the maximum speed of the rocket in $\\frac{m}{s}$?\n", + " At what time does this occur (in seconds)? \n", + " What is the altitude at this time (in meters)? \n", + " \n", + "3. What is the rocket's maximum altitude during flight (in meters)? At what time (in seconds) does this occur?\n", + "\n", + "4. At what time (in seconds) does the rocket impact the ground? What is the velocity of the rocket (in $\\frac{m}{s}$) at time of impact?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Derivation of the rocket equations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In case you are kind of confused about the rocket equations, here we show how to get to them. \n", + "\n", + "Newton's second law states that the acceleration of the vehicle times its mass is equal to all the forces acting on it. Therefore,\n", + "\n", + "\\begin{equation}\n", + "(m_s + m_p)\\frac{d\\bf{v}}{dt}=\\sum {\\bf F}.\n", + "\\end{equation}\n", + "In the above formula we have assumed that the propellant inside the rocket and the rocket move at the same velocity (in other words, their relative velocity is negligible). \n", + "\n", + "Two of the external forces acting on the rocket are,\n", + "\n", + "\\begin{align}\n", + "{\\bf F}_g&= (m_s+m_p)\\bf{g} \\quad (\\rm{Gravity}),\\\\\n", + "{\\bf F}_d&= - \\frac{1}{2} \\rho_a \\mathbf{v} |\\mathbf{v}| A C_D \\quad (\\rm{Drag}).\n", + "\\end{align}\n", + "\n", + "We also need to consider the force resulting from the ejection of the propellant. During an interval $dt$, the engine of the rocket ejects downwards a mass of propellant given by $\\dot m_p dt$. Relative to the rocket, the speed of the ejected burning gas is assumed constant and equal to $v_e$ (the exhaust speed). The momentum variation induced on the exhaust gas by the engine during that interval is therefore, $d{\\bf p}_{gas} = \\dot m_p {\\bf v}_e dt$. Again using Newton's second law we conclude that the force applied by the rocket on the gas is,\n", + "\n", + "\\begin{align}\n", + "{\\bf F}_{rocket\\rightarrow gas} = \\frac{d{\\bf p}_{gas}}{dt} = \\dot m_p {\\bf v}_e\n", + "\\end{align}\n", + "\n", + "Using Newton's third law (|action| = |reaction|), the force exerted by the exhaust gas on the rocket is then,\n", + "\n", + "\\begin{align}\n", + "{\\bf F}_{gas\\rightarrow rocket} = -{\\bf F}_{rocket\\rightarrow gas} = -\\dot m_p {\\bf v}_e\n", + "\\end{align}\n", + "\n", + "If we collect all the forces acting on the rocket we finally have:\n", + "\n", + "\\begin{align}\n", + "(m_s + m_p)\\frac{d\\bf{v}}{dt}=(m_s+m_p){\\bf g}- \\frac{1}{2} \\rho_a \\mathbf{v} |v| A C_D -\\dot m_p {\\bf v}_e\n", + "\\end{align}\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "###### The cell below loads the style of the notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import HTML\n", + "css_file = '../../styles/numericalmoocstyle.css'\n", + "HTML(open(css_file, \"r\").read())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "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.4.3" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/lecture_22/01_phugoid/burn.rate.png b/lecture_22/01_phugoid/burn.rate.png new file mode 100644 index 0000000000000000000000000000000000000000..d2cd9359506696d386f80a02f1fcae91e597ffae GIT binary patch literal 11761 zcmcI~2{cyi`|f^ao@XKCB{Gj0GMBNzJeCZZrw}2emymfXN-0zEnlfZ6^AO4`BFd0L zMTR69&%O11zyJBKb=EoStaXm{eYNtwd+%pI&wXF_bzS!zt*@&^Mb1W!APAL?wz?sL z5U3&u<|rvKf*_WWJ*)5+q0cEDV^a7DCbf@(f0KD>TlgRd1wHydX6R$c4uTv-bkx<1 z12UFAUN>hnYgF0uFBcLQ6vgF6Q5;skh3zvLbnDKcW9anGVPN85x~D!HHt0=%IV{F| zD#u{fgvV^qemLD*EsWiRQCtoCB8GyF)qvL0OD#zQKgG4TSSnJh@lwy?SBR3H3QdNQ zaYG%~($;!`&r4p5GzVHbIy#rAhy_F)e&#v|qTomRHqpVasVRR8&_+u{w!(L|K{m;&>HBOG^uab9tM`Ehl$4UoSH*1xPr89%iE-BC% zz&EuK6K2(m)$S5oA3HjT5&a7n1hLex4FYk36j}VojvZ@x{ra`DvGd25*GQ?UHEnE; zY9?~VpS>qac1|1J*C$&9_?#R9pZUI56%O6{MW!N%>T}25mD?&i7!v9u&Dp1K4-}dR zZEkI0#l-ZyF2K%8lIWy4Soo3}ZLPG?*xK3MdV2Pr@-=pgw3)fNNID)(o4yQr$8%b6 zcP#!Y(-@D>T#uT!w}ffQgaj8=A=ByM0;91q z+e64vDJh24)l~%NJ=9!&WrYGCH4bMyOI z?XWz1-NHITzx}-%aU2TF6~b*(Q&R(?I`ob`_c4fhnGJ?n%qk8xKDVNR-qh4o&Ub-U zQAtVT6(8(@l;I_eF>ID%z{+&`L>#LWv0X=;gb_B7^N}w9$uPc^YcfiW9eJIj_g!PY znT0k8>ZC|tJAXGSs`9+hypl;D1`W|b=Kn|W%jhpP9Q6AKw~7i^jptP4ojVK}j~*G+ z`FRYMqluxxXn=gI^QY;)C)T;KG~xYixIl2Xv9a;6v@pPSe4to_nKjqYc!!zQKSQX z*Y%t+#+H_GZ{D1dlas4onflNW#3CajbCAyGRAHlL?lnJt3fn*5pQ-gW@4R)PcA?IN zKer+437zNb^YIQVMP{XuiHS728FHa9G312A#H|w(?9ZM(lMCJ~TL^$denKB(PPEbW zuH+&e1H&yy+E1DLJNzL#t6E1C{3vNS6`T1pgTrt*WRMQs0wP8eOH%8psi|b=G~o-bId}rR zUZ%41+dL|A3JNq+*B9S2ynp}RyfIiFwt?p)C+t;0cn*1%p2{v`NJvO+@E=KHDmFr- z_S$!5I668uHbFTK^h*&d4l8%~^)#m%Z)CsyYGY@|BYCE(vf@b6KO49y89+ip(sN(p z(68^KT1_FlE5AmqXV<=T=h(sJ$uVSHm_S}xSr%AgTjPywuZ00_X^(Nn8`~QiaLd7x zi?ZhCQ3WHFhGYzMbeM7ZWq~{-(9*(!HGxwp2EN5DDoXw0#fycJB9>F9PObDQEN6x6 zZaH@6q~0Wjcg6Yj1;q&C9^Xw(jTjp-Q`rRL=XRO~Xv)&1k+Y(IYdSXo`Ali@ zK0!gj>Cc}Dk>kgY;~qWYIKsi<{d4YoKv0m~?;jtX-xa4@NV+_whr}eP^qDjo)_(&* zoKRqt{|Q2|)_a!t%7@y}i5gEkSebd1D^pBttVH0t^SN}%FX`Lwt3BAmZr!4zrzd!% zdwXwpn}>&|&H3T|`-gqM4iN!hlaiCSmNxCVzR5?Amplhgmj$=w5fLdFZ`6HslKa>( zB7~NaG5i(@jq){>D!0*&XP4?|j~t;y?#pcfDF2U=yy^3X_YPxvwqKc2oA!15# zMioTd`;)q5V=$|Zjt+vuOC}5k1HZ%xcaOdB;lDD~xZAVq{=VYX!f&mbvEw2l8ag^;^b8C$ z^Ycy%_jt(wE#$nWReMzg0JjW}Xp|6KYzk3Q-dQFG(kkI_a%MBt6`soxb_{50Gy#^akmyznW9ZwwcjbbCejzI*r1SphbN zk%eWnhk+YzrD0@@S^t`!i4_ziN26-(hH695Z<(H%>#UGPk-GV9Wwvbyvazv&a9U9Z zS-Q9sWH0OZ|M+nI>n#0XQF%?x?bOtq$s80jfBmSqvF)d>sma#x^<&dbE;yY{xV2T_ z&HpNB4$eM4KDVAeJ+`*C7FXTd-F+HLOwq^w+}A^hjf2B0SqChGkeHa({@!l+weO~b z22sX(rK6`yM`IIg{bDWIR8UN>X}yGzE)jmjCi3dU}9-uxZ2yzPLENs7MGxM%=OIaPF?NgZ$Ctl*P#g z_V1&moq$#vTHHfNN-};kR*}1pSGpWN;mSx%eI#miwv$I(oHjHxRPNe0M#uigyRF;r zYrT2iJ-ZaUvf}k5FYi-(G(%KkqO5T(ynj@5v_u?%hL%>_(8T)&s6I>*ZGxVt5Hc6X_kQh04U;#d(}bF-@O#cImktzWkq z8kB@ZMChPSD=5@G2$F<=ePZ4!779-|ox+XubhoVtEp{>o%MdXm%mnIWxsgWMIB{hum1Jb=Q3 zZn^;&dr!|qz#KNCymKv3Ws~mS4WI2yoQ0Rco0W3H4QUS_jymD?F3Y6IG-s9`pq`vm z49B^;w$|E{E~U|V6dN%uD2|mpHdEA$f@x1Y5N82uvrxL^g7W_rKi2Xl(sy+g)QmeE zsY`bhz0=k2g+GY+G9)@FICNem!3y4hhx-Tq9>gG1|k+so`BX}n}9yxC8l5CW)mEWUqE z#K(j6`GoH634pDpowc*6)fcKAQm!gsXe!&y|Lqod7VTs?*yg%TahEF$?0pcb$Z$Y*HO0eLwE5v+5E&vxhu zAU&s2;B;3qPZ$IVUGlhqEA_zhm`tE!QheOl!GnF(fmffs^6_OvSQr5#Bjfa3??c!r zCXVQ+o^S|+uHkTNf}jsT6(sx?&4c%Me*@Apaok3C?F?M{`SqRE4tCG!w|XiX=H`bl zU%sqwXcz{oZhiO8)K?M3YBG3fvuBnqz^5>ZJ9}K7o}P$mX9CAyoxf-DAo^Y!j3-DI zRt+8lKLT378qyfBnu9+`M@e8#h|QNbsmFzcPT!{HSh?4-JU8I!Zou{H7zApBE0!5PFNn*TL#S9K z3E}uhHX_2qhZo9WKW~GY1Oj_`ePOWH_p4$2k4)IkyJvv~f&6*(MCZ=H3m>O|fPiKY zdd+PkN56jkdcrTmvG+kXocMilTLQ#pZ|Bd-uU{I0fhPeXTo>ik*C+nwF0atSrHDmZ}hjk6%6#?)LKWX^W!c5qIi4 zlB=wfvZ;B_-VsEZ`Ac7cPqVZCsV6502oV7RfsyK_U+*sRDdh3$c=`KlIXXI4?ItHD zM`m6-$>DqQ(d!C0tMoforMIn0SvcAjVSh|aO_i&bx0jnr%V*=*WvQ)i?p7IG)YYX1 zx_x13BasD__O5H6NwxuGqABb&V;&HC2 z>%(mN!)JayQolp|O>in14BB$*wIzZ9G8*~39@u7g6ukY~B7L_)J-MhzA!6C6okhl!#`kR;Ddu}27pz%Zp*lj+003+ z^QJJHX459iK}NkRwN8Bh+=&ND=oxD-ud;v9@+INBd_67*cAGzIU&<;g!&680W6i9r zM8#R@(isja0f4Qbh{&tQNqge1b0TgrPCUcXP#dY+}M}0_5jZx;zz{Y^gbX zYTtcd=5L5tRI~@HMQO_&V1wZ>sXioAmCp@0E|vX1dc_y2&Zr8ai(`kg0CK+a`?u_l zm4QL1klC}N0Pi57S?!vJNT_JY6ciVaR>JhRk)r>qc@@u}7geK`5cI6fzgxtlYGq|* zUUTJuAV3(O&yQ=C>bS;VX)bpM|u^r6O&;)4Le)w-;)z{W0h3pOvR_uGE zKr%gp*I%A&AmRtN1$)B47;`r{`Jlqf1#Jim3v-I<7Xf#KsNDNidb8#2TO+Si=oTE( z5V^$#ByneFCkZZq7`U63_6fpuVXT}-GoJ0(zZzB(2VRc%`hr33_x;C@ACFbKFaSRi zh8TmbkIvD=DJm-J!)rX<1*8Q`L1S8d<}WqjQ3Xv9nc3FX27))H+^#d{`p-E8S6nPy z45|>wS0g@3-QLlXNK-wJ?{%1pqtb)L9Yv_dIXSKEE`=(hD$(@mW{@#JT;s#T34vZq zYoV?Ik19|EATOOh){APlh#Q7Oy5GDJcY7x+Y*|Z-dIaa(qmFPFKF2!i#Xn&tou zftZt%Q|u86x>hPsc0qRKI&`P?f4l-)ELPvYxaf}R8+gf)1U3%E09tUGK*UJ1op23b zSa4qdHbUXlm!Vd2p~^~71+4-h;d)`zl$6DTOGp-oGKi?dN`byryAa(deaY2~N07GL zG*GQ3x(D2_j{5Ql`O_IYdHzUy6@T z=@#?cQ9uB2A|D@v=!6OeNGIXy@8{P6ODB4Y&FMVA{s(j9Svfga1Xog0Vo+C7A_D4H zLmdtoD+OxF7YM$fhl7K|=ET%qWN~pZn|vhDawMy=av0wLe+;0s?i*h))7UJZZbsDS z&-S@8LPA0)nZ3FD-Fmf+Mx}mD;=_jzHZCsF_4SIm8?gBNXPU8band`*Z@*@}{c0so z0)&Nr;a4F1Hz?7gYe1xb4T4Yn$_Kff<^4U+_{ILdK5ED>tutrHBPm%4re`?j-wqAY zLRDUxQnW&S-GbM5xE7sy9~={nV&OU`%KpytnfXqxgoFej$CIAQ z9e0X!;Pq%380-!c#Uv!4F9d+Rai%{a%JqN)3xF>|PE8&8{J9kFwuzIy{gXlVOh_?5 zzmS4%U0|b-`&zcP+~CbNhaQ^w^eGIy5KO@4qf?N9r@>~i@${rQd-iO5XJ=bq-!sij zc37dnofU$GUfHSkhn|gO(=+^y;GH(EDT@dT7xo+r92&?z?e^JR-S}rMe286n&qSvT}!qJ{=!H9bc%#HO(-5CXuD z_PYW`s2T*bj~@xJ z6Q&cg;Klrl>c*H#*vxYeWvEnkRt{agdev)b`~*r`|NQxLSTO*#(d_vSk}wZ{)}|rw z7XboJ!P7HbQ?%fi;qwl7v{AmUNzjstw6wA60l@PBhO*0EDfT0fMvAQ(#(P{)XeX9QyKq}ZFsu~&**$qH6YX2Kq1(K(4Y)m+9D{=S!eNsgG z?Af-Pdq25CU!w~;4-2~X;{z)|O>N*W!H#%#67Y{uItF{O!+8`N{}<+TOjqi9AQZd+ zBr828n3o&3pCwVI@UF(+@9IHqwnUY^!@!^!I3l!tK+qZu^Dgic5ffuUm?K_`V-lda z&U>M@`$64eutFT1oK*b5ZaRbKzC)Xw;%v)A zP8ZD+Oy~^CyWjHaZ@ieOXkX9kC~d~RKftU(bu+TF$F8kiy?gK8EI_*nXX4hT3rbjA zV^-+0a5x;x%lcoFLCfjfXccw|gXkD}kC_{(`*3A=`d=&7lxO~!%n?{5Dl;)O>Y z(1-QumP6nQ7oXV%I&SOm6yJjKfxviy!ovHqo}Azw9ugB1v#bxGyRo&d2K*T)StQ(H zbj-Wj{e2k7Tr-y@FaumipIx%+L`jJQkdonsApZ=dAZ8RgAba#JETTbm9#vF40tLT0!D~8BvQW>#4>A9Snxs7-+V5 z&hOUyTP%UUzD0oBPswqTF<K2NdCkMkjR|bvyeDSe@g`M> zj+4{MuG8DkFS4da_S2_NVECz_LTh2TfFTw|qxd9yqD#)6llAfy6%|%5OZiY%4uNNK zrAJVQejZDkZgKUhWS;J$7^o@#mTrw+%-YIIbE=Tpz!M#Y+>MNkBbA<0lPlX`X-hb~ zxyz>H_j9h-d!{wQbsNjWL#6WF_vC`_OEx7LSnqLIU0{QiFXeNiVbTH6>Z^dpHVXsU z&aepNsE`l^@beB(&<0?;bydWntXWFxr!1EfSU%>pUfk{;9#kG+j5?2%aW`)NP{{SD z0%Kf22iDoz*5HVK|GO7Cc`N8*WQ~fN`;!Ptgn?g7Mi< zl)H^S6MRKO7u|xo60U&nFQG*MLH+x~5;-|JnBw-4>f;6B(RV+C$#q}Sfm{n0ML6*0 zx*k*s=-ZrjbmT+ZSO7_CDZG_#qtwtwISnaAIgwtpiALx(!{Oh^F<#zg=$okQZSsI{ zoL*dvgBw@6yd@?hBm37aaV0zs{(5XU=TzY ze5V=}Gs42^;9KOKOAiBKj^K)lil&WG%##5-$GGOoCDhS}+`I)|X)G6(>OT?%cqq4o z#A-w%)dLimYEW^IseEJQdufyD1Pe2>BPzMb|HTiqyK`72L~(0liGqfPW^8N>36Nt9 z0et^kszjhN#6wFFe3ni)s-pFe4MAq`$^d9+Swy_R`*fXvLw29zMOSAEs{^a#*RXPf zmFIueL_kOAd(g77l7Y#xzC6Wc9rDMaY68}pE`LC;Q-N>9iZwR3Mo>WOm6)HOKX`pm zYjf_Qr+OzA8~Rre1Yj7U?*+#R&6yeCAW`x0uky}6M8AQ>GC?(YKQ`9f+1a@gRBF|r zZ*FexP?wTI@6++0kH^Ow8B;l%V36Q8It!qGQB@Tu{|SXCVp413%*@P0=>M{X+;d$ft?cqZq>_LMoiI>94&DFyr9zvF_>UD*?G?`(V10yqY4$#UEt4DR{@6FPuTL9%# z-kd&^A?JO{ml4}L2(i0Kst*M_IVEN7!_rINua_gG)t?all>x!j1F_FG$IEPQx!gk6 z;0U&7eM5t_bDfOG_>qX9Rpup?AHEYLuDl>H2UgX4=W{`G%0l0SJu|TtV*>YX27AMHZwCD zT#b^BKZtN?1%gUoF@%JK&E4G;2=L*7`s+T$mM;tsYMkVWUS?J3428o^8e9bM^_p(R zs6|(vMVka!WWkTlCzh6fT|JTaAm=p!zOs@L+HwD#=nsiDW~Y-_JH4HCa}NxTFUWJQ zKmrFr&LDjqT(pT;BWh|T#>g9vb?g#7mT4Ru;DrvB8@u&BI00^8GmXm5(UURXEE@uuKxTDb^lXTLdfnRDNdjz< zp5v?u;H!jP2j%9UKiR;wSAPC%1H)OPGq3~%06-%F^p{3Lh|ZlmM+rd~hPrb^L^Gq- zH<^-#!tD#ON=lcW8RaJgLlnTciaa;B+B37##~Bd+a_KLjMRj(v>1NZ+??mM-Z9gBM zJD|da#8Xegj=zBg-T_(g8EAY|LardRxhlYhs(0$=JUtOk#_$=4DA~EE$}oqK0;eDd z0Q9CpxEoyetB+1z`wXmsTz4Z7)|B$0%FXOL@aYO(ovV(Hc?SF7xqk+N{|4#_T(Jg; zZV$}rMQyFQy5*gLb<%;iD>AHe5-?dpNJ7FMk}2nnMSG1vrb7#cUBG3ANSS^T!mzp4 zEryPB)J%m;49LKNf%G-E5&Wfd_AKh$PESuGi1UY92~hV*X=!|N@4pxPpCzt)-+jJU z1bDXk^O4sNdX4_5=VQ{88Ew@I6~flRAtEV>cF@4s1%?Y226Jy4JOqITk03l|n2%B> zd3ja~3kw7Xy}VCwRGZ+(9*0N2hP(pVUAS@D;BVJ5zVB8FZ_DVYnaR9buWncf+a%xV zjK7^o)_C&4q8Gr?0N=`P?uP(GYX*t25474aiW&T4(DX-C;Z7313;Mzq73%iVBY(E1_7i}s;$0fy$vFglAmGAV{vg&A6S^Q%TPQ1V{b1N;KI%J zaKr413Q4rH4V@ZUSBP9KOUsNb<8P2O#AnZTyY}A_xmeA3w{Xsz5YMJpcV1IpKPgN7 zTh--PPYs0A&4wO?=6nkn%TJy@E%>I` z1u+aQeJyaFhTgu#AV8A3-n?mrPAL(;(LG4d%S+=`q%<^I&`?7MQ#LmPP~&6J`0L

@`}Zp^jy9&1K+u3==&z8rA5k41{?y@YZJ7%$jLNUv|kL77z%a?3XK6P zHs|h(V^Vmd6Y|)=Awnh4#*dE_T3T9A#Ie%SjCc6XfBL?|4sJRd-}g)ad(guF*zJ@P zuv8o9U6(;m9UA1&!_O@&^|$$FDDS{b|GypFGb~wO_bs+=+KZ@xhsl7F@o0rA!3gt0 z_zRx(tHi}6B~&zEP63NCc6li8!-u)qV-h2xc805$- z^vC#MXy;5b5Qf5II`rUW8dzB+fUFfZFGG;H@ibwJ%VU!xBPJ5EdEi*JgBv7qb1xWl z{6@t76`=oM6mTdHHUj%EI$1HN8`OUZe1`T8X(IY_0%*_>dj-2rSVfox4 z=rK5jP?j%4n2GJypg{zQ=nWMF$aV+e*C=f=IRbU{k(l^+joFU)%on{duYf8Eu;N+J zF)UC8U?O7>FcCyyJvO$sp)k);|Fcg4ZE$5~at#d)p)JOPmKU6VX{lJq-k*8F?I|#3 z$E)0Kqel)o)D9`^57?(73q)(8sNsk|$Tw7=*>xs3Pcp`=QxFhlJ1l}fSOxN|_ z;G?5GJk)f}Q1GV)&!Y`2Y7q7dPL2XFB>^-62JGU;VWwiR)LI1^*(88oa@W^*FI2ln zLrR*xKiIC#m6>}tSV3B}!m+uw-?`VtChd%avPXcREC5PLTYo4f#1dj?O6%)E5zQc>mZ-tQ)o zm9hW~4w}JWo|6C>k{H*6Eyql!=SqPRIfRV8f6rRwzc7FS`w~JG?XN*IVCLJm7~n91 z+htHI?76YmE<@t*ndR$pwDqT@rRjMT;ql-eYY#vf9E4zQvx6LGAA6 zsJn2Xp`qcxb0@vvjrUGyS58$G(alu8QN1 z5$v*XXdegftaj?{UUYJDLR4W+B2^h?a$t0X444J9BsgHk^A>D0J9()V_{mh;|12?P zc7FagmzPY(1Sx QnAt{jG<4OUow5o0AHj2&AOHXW literal 0 HcmV?d00001 diff --git a/lecture_22/01_phugoid/figures/glider_forces-lesson3.png b/lecture_22/01_phugoid/figures/glider_forces-lesson3.png new file mode 100644 index 0000000000000000000000000000000000000000..6d73dd73285f165fc818e54bbf085a667bef3ea2 GIT binary patch literal 29182 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 literal 0 HcmV?d00001 diff --git a/lecture_22/01_phugoid/figures/glider_forces.png b/lecture_22/01_phugoid/figures/glider_forces.png new file mode 100644 index 0000000000000000000000000000000000000000..ac036d505fe1948aa1b5b29768b8dfd0765c1bf3 GIT binary patch literal 33331 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 n0FC~?KMz2Q{vX^uyQn1;x-o literal 0 HcmV?d00001 diff --git a/lecture_22/01_phugoid/figures/glider_forces_fbd.svg b/lecture_22/01_phugoid/figures/glider_forces_fbd.svg new file mode 100644 index 0000000..47a1d34 --- /dev/null +++ b/lecture_22/01_phugoid/figures/glider_forces_fbd.svg @@ -0,0 +1,465 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + trajectory + + + + + + + + + + + + diff --git a/lecture_22/01_phugoid/figures/glider_forces_nodrag.png b/lecture_22/01_phugoid/figures/glider_forces_nodrag.png new file mode 100644 index 0000000000000000000000000000000000000000..969042c183bab07d991615d249a151cdfebd5efb GIT binary patch literal 16886 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 literal 0 HcmV?d00001 diff --git a/lecture_22/01_phugoid/figures/glider_forces_nodrag.svg b/lecture_22/01_phugoid/figures/glider_forces_nodrag.svg new file mode 100644 index 0000000..00942f4 --- /dev/null +++ b/lecture_22/01_phugoid/figures/glider_forces_nodrag.svg @@ -0,0 +1,368 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + trajectory + diff --git a/lecture_22/01_phugoid/figures/oscillatory_trajectory.png b/lecture_22/01_phugoid/figures/oscillatory_trajectory.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7dca91eb93c970cd940912af2285310018f394 GIT binary patch literal 43076 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≧1 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 LWvL1YlfeH2FG<84V2$U;h4GH8eDs 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 literal 0 HcmV?d00001 diff --git a/lecture_22/01_phugoid/phugoid.py b/lecture_22/01_phugoid/phugoid.py new file mode 100755 index 0000000..0f99fd6 --- /dev/null +++ b/lecture_22/01_phugoid/phugoid.py @@ -0,0 +1,112 @@ +# Script to plot the flight path of the phugoid using Lanchester's model. +# It uses the sign convention and formulae provided by Milne-Thomson (1958). + +import numpy +from matplotlib import pyplot + +numpy.seterr(all='ignore') +''' +see http://docs.scipy.org/doc/numpy/reference/generated/numpy.seterr.html for explanation. ignore over/underflow errors that pop up in the radius_of_curvature function +''' + +def radius_of_curvature(z, zt, C): + """Returns the radius of curvature of the flight path at any point. + + Parameters + --------- + z : float + current depth below the reference horizontal line. + zt : float + initial depth below the reference horizontal line. + C : float + constant of integration. + + Returns + ------- + radius : float + radius of curvature. + """ + return zt / (1/3 - C/2*(zt/z)**1.5) + +def rotate(x, z, xCenter, zCenter, angle): + """Returns the new position of the point. + + Parameters + --------- + x : float + previous x-position of the point + z : float + previous z-position of the point. + xCenter : float + x-location of the center of rotation. + zCenter : float + z-location of the center of rotation. + angle : float + angle of rotation + + Returns + ------- + xCenter_new : float + new x-location of the center of rotation. + zCenter_new : float + new z-location of the center of rotation. + """ + dx = x - xCenter + dz = z - zCenter + # the following formulae take into account the orientation of the axes + xNew = dx*numpy.cos(angle) + dz*numpy.sin(angle) + zNew = -dx*numpy.sin(angle) + dz*numpy.cos(angle) + return xCenter + xNew, zCenter + zNew + +def plot_flight_path(zt, z0, theta0): + """Plots the flight path. + + Parameters + --------- + zt : float + trim height of the glider. + z0 : float + initial height of the glider. + theta0 : float + initial orientation of the glider. + + Returns + ------- + None : None + """ + # arrays to store the coordinates of the flight path + N = 1000 + z = numpy.zeros(N) + x = numpy.zeros(N) + + # set initial conditions + z[0] = z0 + x[0] = 0. + theta = theta0 + + # calculate the constant C + C = (numpy.cos(theta) - 1/3*z[0]/zt)*(z[0]/zt)**.5 + # incremental distance along the flight path + ds = 1 + + #obtain the curve coordinates + for i in range(1,N): + # minus sign for the second coordinate because the z-axis points downwards + normal = numpy.array([numpy.cos(theta+numpy.pi/2.), -numpy.sin(theta+numpy.pi/2.)]) + R = radius_of_curvature(z[i-1], zt, C) + center = numpy.array([x[i-1]+normal[0]*R, z[i-1]+normal[1]*R]) + dtheta = ds/R + x[i], z[i] = rotate(x[i-1], z[i-1], center[0], center[1], dtheta) + theta = theta + dtheta + + # generate a plot + pyplot.figure(figsize=(10,6)) + pyplot.plot(x, -z, color = 'k', ls='-', lw=2.0, label="$z_t=\ %.1f,\\,z_0=\ %.1f,\\,\\theta_0=\ %.2f$" % (zt, z[0], theta0)) + pyplot.axis('equal') + pyplot.title("Flight path for $C$ = %.3f" % C, fontsize=18) + pyplot.xlabel("$x$", fontsize=18) + pyplot.ylabel("$z$", fontsize=18) + pyplot.legend() + pyplot.show() + +# End of File diff --git a/lecture_22/figures/glider_forces-lesson3.png b/lecture_22/figures/glider_forces-lesson3.png new file mode 100644 index 0000000000000000000000000000000000000000..6d73dd73285f165fc818e54bbf085a667bef3ea2 GIT binary patch literal 29182 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 literal 0 HcmV?d00001 diff --git a/lecture_22/figures/glider_forces.png b/lecture_22/figures/glider_forces.png new file mode 100644 index 0000000000000000000000000000000000000000..ac036d505fe1948aa1b5b29768b8dfd0765c1bf3 GIT binary patch literal 33331 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 n0FC~?KMz2Q{vX^uyQn1;x-o literal 0 HcmV?d00001 diff --git a/lecture_22/figures/glider_forces_fbd.svg b/lecture_22/figures/glider_forces_fbd.svg new file mode 100644 index 0000000..47a1d34 --- /dev/null +++ b/lecture_22/figures/glider_forces_fbd.svg @@ -0,0 +1,465 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + trajectory + + + + + + + + + + + + diff --git a/lecture_22/figures/glider_forces_nodrag.png b/lecture_22/figures/glider_forces_nodrag.png new file mode 100644 index 0000000000000000000000000000000000000000..969042c183bab07d991615d249a151cdfebd5efb GIT binary patch literal 16886 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 literal 0 HcmV?d00001 diff --git a/lecture_22/figures/glider_forces_nodrag.svg b/lecture_22/figures/glider_forces_nodrag.svg new file mode 100644 index 0000000..00942f4 --- /dev/null +++ b/lecture_22/figures/glider_forces_nodrag.svg @@ -0,0 +1,368 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + trajectory + diff --git a/lecture_22/figures/oscillatory_trajectory.png b/lecture_22/figures/oscillatory_trajectory.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7dca91eb93c970cd940912af2285310018f394 GIT binary patch literal 43076 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≧1 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 LWvL1YlfeH2FG<84V2$U;h4GH8eDs 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 literal 0 HcmV?d00001 diff --git a/lecture_22/lecture_22.ipynb b/lecture_22/lecture_22.ipynb new file mode 100644 index 0000000..624029d --- /dev/null +++ b/lecture_22/lecture_22.ipynb @@ -0,0 +1,882 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "%plot --format svg" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "setdefaults" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Initial Value Problem\n", + "\n", + "## Euler's method\n", + "\n", + "$\\frac{dy}{dt}=f(t,y)$\n", + "\n", + "$y_{i+1}=y_{i}+f(t_{i},y_{i})h$\n", + "\n", + "The error of this method is:\n", + "\n", + "$E_{t}=\\frac{f'(t_i , y_i )}{2!}h^2 + \\cdots + O(h^{n+1})$\n", + "\n", + "or\n", + "\n", + "$E_{a}=O(h^2)$\n", + "\n", + "### Example: Freefalling problem\n", + "\n", + "An object is falling and has a drag coefficient of 0.25 kg/m and mass of 60 kg\n", + "Define time from 0 to 12 seconds with `N` timesteps \n", + "function defined as `freefall`\n", + "\n", + "Using the Euler ODE solution results in a conditionally stable solution *(at some point the time steps are too large to solve the problem)*" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "function [v_analytical,v_terminal,t]=freefall(N,tmax)\n", + " t=linspace(0,tmax,N)';\n", + " c=0.25; m=60; g=9.81; v_terminal=sqrt(m*g/c);\n", + "\n", + " v_analytical = v_terminal*tanh(g*t/v_terminal);\n", + " v_numerical=zeros(length(t),1);\n", + " delta_time =diff(t);\n", + " for i=1:length(t)-1\n", + " v_numerical(i+1)=v_numerical(i)+(g-c/m*v_numerical(i)^2)*delta_time(i);\n", + " end\n", + " % Print values near 0,2,4,6,8,10,12 seconds\n", + " indices = round(linspace(1,length(t),7));\n", + " fprintf('time (s)| error (m/s)\\n')\n", + " fprintf('-------------------------\\n')\n", + " M=[t(indices),abs(v_analytical(indices)-v_numerical(indices))];\n", + " fprintf('%7.1f | %10.2f\\n',M(:,1:2)');\n", + " plot(t,v_analytical,'-',t,v_numerical,'o-')\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time (s)| error (m/s)\n", + "-------------------------\n", + " 0.0 | 0.00\n", + " 7.1 | 26.67\n", + " 14.3 | 54.21\n", + " 28.6 | 33.62\n", + " 35.7 | 29.84\n", + " 42.9 | 82.85\n", + " 50.0 | 47.86\n", + "\n", + "O(h^2)=51.02\n" + ] + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "Gnuplot\n", + "Produced by GNUPLOT 5.0 patchlevel 3 \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\t\n", + "\t\t-40\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t-20\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t20\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t40\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t60\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t80\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t20\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t30\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t40\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t50\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\n", + "\n", + "\tgnuplot_plot_1a\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\tgnuplot_plot_2a\n", + "\n", + "\t\t \n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "[v_an,v_t,t]=freefall(8,50);\n", + "fprintf('\\nO(h^2)=%1.2f',min(diff(t).^2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Heun Method\n", + "\n", + "Increase accuracy with *predictor-corrector approach*\n", + "\n", + "$y_{i+1}=y_{i}^{m}+f(t_{i},y_{i})h$\n", + "\n", + "$y_{i+1}^{j}=y_{i}^{m}+\n", + "\\frac{f(t_{i},y_{i}^{m})+f(t_{i+1},y_{i+1}^{i-1})}{2}h$\n", + "\n", + "This is analagous to the trapezoidal rule\n", + "\n", + "$\\int_{t_{i}}^{t_{i+1}}f(t)dt=\\frac{f(t_{i})+f(t_{i+1})}{2}h$\n", + "\n", + "therefore the error is\n", + "\n", + "$E_{t}=\\frac{-f''(\\xi)}{12}h^3$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Example with Heun's method**\n", + "\n", + "Problem Statement. Use Heun’s method with iteration to integrate \n", + "\n", + "$y' = 4e^{0.8t} − 0.5y$\n", + "\n", + "from t = 0 to 4 with a step size of 1. The initial condition at t = 0 is y = 2. Employ a stopping criterion of 0.00001% to terminate the corrector iterations." + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dy =\n", + "\n", + " 3\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + "\n", + "y =\n", + "\n", + " 2\n", + " 5\n", + " 0\n", + " 0\n", + " 0\n", + "\n" + ] + } + ], + "source": [ + "yp=@(t,y) 4*exp(0.8*t)-0.5*y;\n", + "t=linspace(0,4,5)';\n", + "y=zeros(size(t));\n", + "dy=zeros(size(t));\n", + "dy_corr=zeros(size(t));\n", + "y(1)=2;\n", + "dy(1)=yp(t(1),y(1))\n", + "y(2)=y(1)+dy(1)*(t(2)-t(1))" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dy_corr =\n", + "\n", + " 4.70108\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + "\n", + "y =\n", + "\n", + " 2.00000\n", + " 6.70108\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + "\n" + ] + } + ], + "source": [ + "% improve estimate for y(2)\n", + "dy_corr(1)=(dy(1)+yp(t(2),y(2)))/2\n", + "y(2)=y(1)+dy_corr(1)*(t(2)-t(1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This process can be iterated until a desired tolerance is achieved" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "n=0;\n", + "e=10;\n", + "while (1)\n", + " n=n+1;\n", + " yold=y(2);\n", + " dy_corr(1)=(dy(1)+yp(t(2),y(2)))/2;\n", + " y(2)=y(1)+dy_corr(1)*(t(2)-t(1));\n", + " e=abs(y(2)-yold)/y(2)*100;\n", + " if e<= 0.00001 | n>100, break, end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y =\n", + "\n", + " 2.00000\n", + " 6.36087\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + "\n", + "dy_corr =\n", + "\n", + " 4.36087\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + " 0.00000\n", + "\n", + "n = 12\n", + "e = 6.3760e-06\n" + ] + } + ], + "source": [ + "y\n", + "dy_corr\n", + "n\n", + "e" + ] + }, + { + "cell_type": "code", + "execution_count": 127, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y_an =\n", + "\n", + "@(t) 4 / 1.3 * exp (0.8 * t) - 1.0769 * exp (-t / 2)\n", + "\n", + "dy_an =\n", + "\n", + "@(t) 0.8 * 4 / 1.3 * exp (0.8 * t) + 1.0769 / 2 * exp (-t / 2)\n", + "\n" + ] + } + ], + "source": [ + "\n", + "y_euler=zeros(size(t));\n", + "for i=1:length(t)-1\n", + " y_euler(i+1)=y_euler(i)+dy(i)*(t(i+1)-t(i));\n", + "end\n", + "\n", + "y_an =@(t) 4/1.3*exp(0.8*t)-1.0769*exp(-t/2)\n", + "dy_an=@(t) 0.8*4/1.3*exp(0.8*t)+1.0769/2*exp(-t/2)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "yp=@(t,y) 4*exp(0.8*t)-0.5*y;\n", + "t=linspace(0,4,5)';\n", + "y=zeros(size(t));\n", + "dy=zeros(size(t));\n", + "dy_corr=zeros(size(t));\n", + "y(1)=2;\n", + "for i=1:length(t)-1\n", + " dy(i)=yp(t(i),y(i));\n", + " dy_corr(i)=yp(t(i),y(i));\n", + " y(i+1)=y(i)+dy_corr(i)*(t(i+1)-t(i));\n", + " n=0;\n", + " e=10;\n", + " while (1)\n", + " n=n+1;\n", + " yold=y(i+1);\n", + " dy_corr(i)=(dy(i)+yp(t(i+1),y(i+1)))/2;\n", + " y(i+1)=y(i)+dy_corr(i)*(t(i+1)-t(i));\n", + " e=abs(y(i+1)-yold)/y(i+1)*100;\n", + " if e<= 0.00001 | n>100, break, end\n", + " end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y =\n", + "\n", + " 2.0000\n", + " 6.3609\n", + " 15.3022\n", + " 34.7433\n", + " 77.7351\n", + "\n", + "ans =\n", + "\n", + " 2.0000\n", + " 6.1946\n", + " 14.8439\n", + " 33.6772\n", + " 75.3390\n", + "\n" + ] + } + ], + "source": [ + "y\n", + "y_an(t)" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "Gnuplot\n", + "Produced by GNUPLOT 5.0 patchlevel 3 \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\t\n", + "\t \n", + "\t \n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t10\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t20\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t30\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t40\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t50\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t60\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t70\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t80\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t0.5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t1\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t1.5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t2\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t2.5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t3\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t3.5\n", + "\t\n", + "\n", + "\n", + "\t\t\n", + "\t\t4\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\n", + "\t\n", + "\t\ty\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\ttime\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\t\n", + "\tHeuns method\n", + "\n", + "\n", + "\n", + "\t\n", + "\t\tHeuns method\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "\t\n", + "\tEuler\n", + "\n", + "\t\n", + "\t\tEuler\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "\t\n", + "\tanalytical\n", + "\n", + "\t\n", + "\t\tanalytical\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot(t,y,'o',t,y_euler,'s',linspace(min(t),max(t)),y_an(linspace(min(t),max(t))))\n", + "legend('Heuns method','Euler','analytical','Location','NorthWest')\n", + "xlabel('time')\n", + "ylabel('y')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Phugoid Oscillation example\n", + "\n", + "[phugoid lessons in numerical methods with python](https://github.com/numerical-mooc/numerical-mooc/tree/master/lessons/01_phugoid)\n", + "\n", + "![Image](./figures/glider_forces-lesson3.png)\n", + "#### Figure 1. Forces with a positive trajectory angle." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "In Figure 1, $L$ is the lift, $W$ is the weight, $D$ is the drag, and $\\theta$ the positive angle of the trajectory, instantaneously. \n", + "\n", + "\\begin{align}\n", + "m \\frac{dv}{dt} & = - W \\sin\\theta - D \\\\\n", + "m v \\, \\frac{d\\theta}{dt} & = - W \\cos\\theta + L\n", + "\\end{align}\n", + "\n", + "We can use a few little tricks to make these equations more pleasing. First, use primes to denote the time derivatives and divide through by the weight:\n", + "\n", + "\\begin{align}\n", + " \\frac{v'}{g} & = - \\sin\\theta - D/W \\\\\n", + "\\frac{v}{g} \\, \\theta' & = - \\cos\\theta + L/W\n", + "\\end{align}\n", + "\n", + "\n", + "Ratio of lift to weight is known as the trim conditions—$L/W=v^2/v_t^2$— and also from the definitions of lift and drag, \n", + "\n", + "$$\\begin{eqnarray}\n", + "L &=& C_L S \\times \\frac{1}{2} \\rho v^2 \\\\\n", + "D &=& C_D S \\times \\frac{1}{2} \\rho v^2\n", + "\\end{eqnarray}$$\n", + "\n", + "we see that $L/D=C_L/C_D$. The system of equations can be re-written:\n", + "\n", + "\\begin{align}\n", + " v' & = - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\\n", + " \\theta' & = - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v\n", + "\\end{align}\n", + "\n", + "It is very interesting that the first equation has the factor $C_D/C_L$, which is the inverse of a measure of the aerodynamic efficiency of the aircraft. It turns out, this is the term that contributes damping to the phugoid model: if drag is zero, there is no damping. Drag is never zero in real life, but as engineers design more aerodynamically efficient aircraft, they make the phugoid mode more weakly damped. At altitude, this is nothing but a slight bother, but vertical oscillations are unsafe during final approach to land, so this is something to watch out for!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Euler's Method\n", + "\n", + "Apply Euler's method: replace each of the time derivatives by an approximation of the form:\n", + "\n", + "$$v'(t) \\approx \\frac{v^{n+1} - v^n}{\\Delta t},$$\n", + "\n", + "where we are now using a superscript $n$ to indicate the $n$-th value in the time iterations. The first differential equation, for example, gives:\n", + "\n", + "$$\\frac{v^{n+1} - v^n}{\\Delta t} = - g\\, \\sin\\theta^n - \\frac{C_D}{C_L} \\frac{g}{v_t^2} (v^n)^2$$\n", + "\n", + "At each time iteration $t^n$, we want to evaluate all the known data of our system to obtain the state at $t^{n+1}$—the next time step. We say that we are _stepping in time_ or _time marching_.\n", + "\n", + "The full system of equations discretized with Euler's method is:\n", + "\n", + "\\begin{align}\n", + "v^{n+1} & = v^n + \\Delta t \\left(- g\\, \\sin\\theta^n - \\frac{C_D}{C_L} \\frac{g}{v_t^2} (v^n)^2 \\right) \\\\\n", + "\\theta^{n+1} & = \\theta^n + \\Delta t \\left(- \\frac{g}{v^n}\\,\\cos\\theta^n + \\frac{g}{v_t^2}\\, v^n \\right) \\\\\n", + "x^{n+1} & = x^n + \\Delta t \\, v^n \\cos\\theta^n \\\\\n", + "y^{n+1} & = y^n + \\Delta t \\, v^n \\sin\\theta^n.\n", + "\\end{align}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Octave", + "language": "octave", + "name": "octave" + }, + "language_info": { + "file_extension": ".m", + "help_links": [ + { + "text": "MetaKernel Magics", + "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" + } + ], + "mimetype": "text/x-octave", + "name": "octave", + "version": "0.19.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lecture_22/lecture_22_python.ipynb b/lecture_22/lecture_22_python.ipynb new file mode 100644 index 0000000..88f0304 --- /dev/null +++ b/lecture_22/lecture_22_python.ipynb @@ -0,0 +1,771 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Phugoid Oscillation example\n", + "\n", + "[phugoid lessons in numerical methods with python](https://github.com/numerical-mooc/numerical-mooc/tree/master/lessons/01_phugoid)\n", + "\n", + "![Image](./figures/glider_forces-lesson3.png)\n", + "#### Figure 1. Forces with a positive trajectory angle." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In Figure 1, $L$ is the lift, $W$ is the weight, $D$ is the drag, and $\\theta$ the positive angle of the trajectory, instantaneously. \n", + "\n", + "\\begin{align}\n", + "m \\frac{dv}{dt} & = - W \\sin\\theta - D \\\\\n", + "m v \\, \\frac{d\\theta}{dt} & = - W \\cos\\theta + L\n", + "\\end{align}\n", + "\n", + "We can use a few little tricks to make these equations more pleasing. First, use primes to denote the time derivatives and divide through by the weight:\n", + "\n", + "\\begin{align}\n", + " \\frac{v'}{g} & = - \\sin\\theta - D/W \\\\\n", + "\\frac{v}{g} \\, \\theta' & = - \\cos\\theta + L/W\n", + "\\end{align}\n", + "\n", + "\n", + "Ratio of lift to weight is known as the trim conditions—$L/W=v^2/v_t^2$— and also from the definitions of lift and drag, \n", + "\n", + "$$\\begin{eqnarray}\n", + "L &=& C_L S \\times \\frac{1}{2} \\rho v^2 \\\\\n", + "D &=& C_D S \\times \\frac{1}{2} \\rho v^2\n", + "\\end{eqnarray}$$\n", + "\n", + "we see that $L/D=C_L/C_D$. The system of equations can be re-written:\n", + "\n", + "\\begin{align}\n", + " v' & = - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\\n", + " \\theta' & = - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v\n", + "\\end{align}\n", + "\n", + "It is very interesting that the first equation has the factor $C_D/C_L$, which is the inverse of a measure of the aerodynamic efficiency of the aircraft. It turns out, this is the term that contributes damping to the phugoid model: if drag is zero, there is no damping. Drag is never zero in real life, but as engineers design more aerodynamically efficient aircraft, they make the phugoid mode more weakly damped. At altitude, this is nothing but a slight bother, but vertical oscillations are unsafe during final approach to land, so this is something to watch out for!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To visualize the flight trajectories predicted by this model, integrate the spatial coordinates, which depend on both the forward velocity (tangential to the trajectory) and the trajectory angle. The position of the glider on a vertical plane will be designated by coordinates $(x, y)$ with respect to an inertial frame of reference, and are obtained from:\n", + "\n", + "\\begin{align}\n", + "x'(t) & = v \\cos(\\theta) \\\\\n", + "y'(t) & = v \\sin(\\theta).\n", + "\\end{align}\n", + "\n", + "Augmenting our original two differential equations by the two equations above, we have a system of four first-order differential equations to solve. We will use a time-stepping approach, like in the previous lesson. To do so, we do need *initial values* for every unknown:\n", + "\n", + "$$\n", + "v(0) = v_0 \\quad \\text{and} \\quad \\theta(0) = \\theta_0\\\\\n", + "x(0) = x_0 \\quad \\text{and} \\quad y(0) = y_0\n", + "$$\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Euler's Method\n", + "\n", + "Apply Euler's method: replace each of the time derivatives by an approximation of the form:\n", + "\n", + "$$v'(t) \\approx \\frac{v^{n+1} - v^n}{\\Delta t},$$\n", + "\n", + "where we are now using a superscript $n$ to indicate the $n$-th value in the time iterations. The first differential equation, for example, gives:\n", + "\n", + "$$\\frac{v^{n+1} - v^n}{\\Delta t} = - g\\, \\sin\\theta^n - \\frac{C_D}{C_L} \\frac{g}{v_t^2} (v^n)^2$$\n", + "\n", + "At each time iteration $t^n$, we want to evaluate all the known data of our system to obtain the state at $t^{n+1}$—the next time step. We say that we are _stepping in time_ or _time marching_.\n", + "\n", + "The full system of equations discretized with Euler's method is:\n", + "\n", + "\\begin{align}\n", + "v^{n+1} & = v^n + \\Delta t \\left(- g\\, \\sin\\theta^n - \\frac{C_D}{C_L} \\frac{g}{v_t^2} (v^n)^2 \\right) \\\\\n", + "\\theta^{n+1} & = \\theta^n + \\Delta t \\left(- \\frac{g}{v^n}\\,\\cos\\theta^n + \\frac{g}{v_t^2}\\, v^n \\right) \\\\\n", + "x^{n+1} & = x^n + \\Delta t \\, v^n \\cos\\theta^n \\\\\n", + "y^{n+1} & = y^n + \\Delta t \\, v^n \\sin\\theta^n.\n", + "\\end{align}" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from math import sin, cos, log, ceil\n", + "import numpy\n", + "from matplotlib import pyplot\n", + "%matplotlib inline\n", + "from matplotlib import rcParams\n", + "rcParams['font.family'] = 'serif'\n", + "rcParams['font.size'] = 16" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Set the parameter values and the _initial values_. \n", + "\n", + "Acceleration of gravity is: 9.8 m/s$^2$, but what are good values for $C_D/C_L$, the inverse of the aerodynamic efficiency? Some possible values are given on a table in the Wikipedia entry for [lift-to-drag ratio](http://en.wikipedia.org/wiki/Lift-to-drag_ratio): a modern sailplane can have $L/D$ of 40 to 60, depending on span (and, in case you're interested, a flying squirrel has $L/D$ close to 2).\n", + "\n", + "For the _trim velocity_, the speed range for typical sailplanes is between 65 and 280 km/hr, according to Wikipedia (it must be right!). Let's convert that to meters per second: 18 to 78 m/s. We'll pick a value somewhere in the middle of this range.\n", + "\n", + "#### Possible set of parameters for the simulation." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# model parameters:\n", + "g = 9.8 # gravity in m s^{-2}\n", + "v_t = 30.0 # trim velocity in m s^{-1} \n", + "C_D = 1/40 # drag coefficient --- or D/L if C_L=1\n", + "C_L = 1 # for convenience, use C_L = 1\n", + "pi = numpy.pi\n", + "\n", + "### set initial conditions ###\n", + "v0 = v_t # start at the trim velocity (or add a delta)\n", + "theta0 = pi/12 # initial angle of trajectory\n", + "x0 = 0 # horizotal position is arbitrary\n", + "y0 = 1000 # initial altitude" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def f(u):\n", + " \"\"\"Returns the right-hand side of the phugoid system of equations.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " array containing the solution at time n.\n", + " \n", + " Returns\n", + " -------\n", + " dudt : array of float\n", + " array containing the RHS given u.\n", + " \"\"\"\n", + " \n", + " v = u[0]\n", + " theta = u[1]\n", + " x = u[2]\n", + " y = u[3]\n", + " return numpy.array([-g*sin(theta) - C_D/C_L*g/v_t**2*v**2,\n", + " -g*cos(theta)/v + g/v_t**2*v,\n", + " v*cos(theta),\n", + " v*sin(theta)])" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def euler_step(u, f, dt):\n", + " \"\"\"Returns the solution at the next time-step using Euler's method.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " solution at the previous time-step.\n", + " f : function\n", + " function to compute the right hand-side of the system of equations.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " approximate solution at the next time step.\n", + " \"\"\"\n", + " \n", + " return u + dt * f(u)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "T = 100 # final time\n", + "dt = 0.1 # time increment\n", + "N = int(T/dt) + 1 # number of time-steps\n", + "\n", + "# initialize the array containing the solution for each time-step\n", + "u = numpy.empty((N, 4))\n", + "u[0] = numpy.array([v0, theta0, x0, y0])# fill 1st element with initial values\n", + "\n", + "# time loop - Euler method\n", + "for n in range(N-1):\n", + " \n", + " u[n+1] = euler_step(u[n], f, dt)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# get the glider's position with respect to the time\n", + "\n", + "x = u[:,2]\n", + "y = u[:,3]\n", + "\n", + "# visualization of the path\n", + "pyplot.figure(figsize=(8,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel(r'x', fontsize=18)\n", + "pyplot.ylabel(r'y', fontsize=18)\n", + "pyplot.title('Glider trajectory, flight time = %.2f' % T, fontsize=18)\n", + "pyplot.plot(x,y, 'k-', lw=2);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Grid Convergence\n", + "\n", + "Convergence of Euler's method for the phugoid model\n", + "\n", + "We need to be careful, though, and make sure that the fine-grid solution is resolving all of the features in the mathematical model. How can we know this? We'll have a look at that in a bit. Let's see how this works first.\n", + "\n", + "You need a sequence of numerical solutions of the same problem, each with a different number of time grid points.\n", + "\n", + "1. Create a NumPy array called `dt_values` that contains the time-increment of each grid to be solved on. \n", + "\n", + "2. For each element `dt_values[i]`, we will compute the solution `u_values[i]` of the glider model using Euler's method. \n", + "\n", + "3. If we want to use five different values of $\\Delta t$, we'll have five solutions: we put them in an array ... but each one is also an array\n", + "\n", + "To get all the numerical solutions—each with its value of $\\Delta t$, we will loop over the elements of the array `dt_values`. Within the loop, we need to access both `dt_values[i]` and the index `i`. \n", + "\n", + "`enumerate()` is a built-in Python function that will give us consecutive `index, value` pairs just like we need. \n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "dt_values = numpy.array([0.1, 0.05, 0.01, 0.005, 0.001])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt) + 1 # number of time-steps\n", + "\n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + " \n", + " u[n+1] = euler_step(u[n], f, dt) ### call euler_step() ###\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def get_diffgrid(u_current, u_fine, dt):\n", + " \"\"\"Returns the difference between one grid and the fine one using L-1 norm.\n", + " \n", + " Parameters\n", + " ----------\n", + " u_current : array of float\n", + " solution on the current grid.\n", + " u_finest : array of float\n", + " solution on the fine grid.\n", + " dt : float\n", + " time-increment on the current grid.\n", + " \n", + " Returns\n", + " -------\n", + " diffgrid : float\n", + " difference computed in the L-1 norm.\n", + " \"\"\"\n", + " \n", + " N_current = len(u_current[:,0])\n", + " N_fine = len(u_fine[:,0])\n", + " \n", + " grid_size_ratio = ceil(N_fine/N_current)+1\n", + " \n", + " diffgrid = dt * numpy.sum( numpy.abs(\\\n", + " u_current[:,2]- u_fine[::grid_size_ratio,2])) \n", + " \n", + " return diffgrid" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dt = 0.1\n", + "dt = 0.05\n", + "dt = 0.01\n", + "dt = 0.005\n", + "dt = 0.001\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python2.7/dist-packages/ipykernel/__main__.py:24: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n" + ] + }, + { + "ename": "ValueError", + "evalue": "operands could not be broadcast together with shapes (100001,) (50001,) ", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;31m### call the function get_diffgrid() ###\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mdiffgrid\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_diffgrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mu_values\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mu_values\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36mget_diffgrid\u001b[0;34m(u_current, u_fine, dt)\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0mgrid_size_ratio\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mceil\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mN_fine\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mN_current\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 24\u001b[0;31m \u001b[0mdiffgrid\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdt\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mu_current\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m-\u001b[0m \u001b[0mu_fine\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mgrid_size_ratio\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 25\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mdiffgrid\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mValueError\u001b[0m: operands could not be broadcast together with shapes (100001,) (50001,) " + ] + } + ], + "source": [ + "# compute difference between one grid solution and the finest one\n", + "diffgrid = numpy.empty_like(dt_values)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " print 'dt = ', dt\n", + "\n", + " ### call the function get_diffgrid() ###\n", + " diffgrid[i] = get_diffgrid(u_values[i], u_values[-1], dt)" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nhZIkSVIT/x+GWag0SZz7DQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# log-log plot of the grid differences\n", + "pyplot.figure(figsize=(6,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$\\Delta t$', fontsize=18)\n", + "pyplot.ylabel('$L_1$-norm of the grid differences', fontsize=18)\n", + "pyplot.axis('equal')\n", + "pyplot.loglog(dt_values[:-1], diffgrid[:-1], color='k', ls='-', lw=2, marker='o');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Second Order Runge-Kutta\n", + "\n", + "Estimate average slope along time step\n", + "\n", + "\\begin{align}\n", + "u_{n+1/2} & = u_n + \\frac{\\Delta t}{2} f(u_n) \\\\\n", + "u_{n+1} & = u_n + \\Delta t \\,\\, f(u_{n+1/2}).\n", + "\\end{align}\n", + "\n", + "This method is known as the *explicit midpoint method* or the *modified Euler method*, and it is a second-order method. Notice that we had to apply the right-hand side, $~f(u)$, twice. This idea can be extended: we could imagine estimating additional points between $u_{n}$ and $u_{n+1}$ and evaulating $~f(u)$ at the intermediate points to get higher accuracy—that's the idea behind Runge-Kutta methods." + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# model parameters:\n", + "g = 9.8 # gravity in m s^{-2}\n", + "v_t = 4.9 # trim velocity in m s^{-1} \n", + "C_D = 1/5.0 # drag coefficient --- or D/L if C_L=1\n", + "C_L = 1.0 # for convenience, use C_L = 1\n", + "\n", + "### set initial conditions ###\n", + "v0 = 6.5 # start at the trim velocity (or add a delta)\n", + "theta0 = -0.1 # initial angle of trajectory\n", + "x0 = 0.0 # horizotal position is arbitrary\n", + "y0 = 2.0 # initial altitude" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def rk2_step(u, f, dt):\n", + " \"\"\"Returns the solution at the next time-step using 2nd-order Runge-Kutta.\n", + " \n", + " Parameters\n", + " ----------\n", + " u : array of float\n", + " solution at the previous time-step.\n", + " f : function\n", + " function to compute the right hand-side of the system of equation.\n", + " dt : float\n", + " time-increment.\n", + " \n", + " Returns\n", + " -------\n", + " u_n_plus_1 : array of float\n", + " solution at the next time step.\n", + " \"\"\"\n", + " u_star = u + 0.5*dt*f(u)\n", + " return u + dt*f(u_star)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Solve with both RK2 and Euler (or RK1)" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# set time-increment and discretize the time\n", + "T = 15.0 # final time\n", + "dt = 0.01 # set time-increment\n", + "N = int(T/dt) + 1 # number of time-steps\n", + "\n", + "\n", + "# set initial conditions\n", + "u_euler = numpy.empty((N, 4))\n", + "u_rk2 = numpy.empty((N, 4))\n", + "\n", + "\n", + "# initialize the array containing the solution for each time-step\n", + "u_euler[0] = numpy.array([v0, theta0, x0, y0])\n", + "u_rk2[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + "\n", + "# use a for loop to call the function rk2_step()\n", + "for n in range(N-1):\n", + " \n", + " u_euler[n+1] = euler_step(u_euler[n], f, dt)\n", + " u_rk2[n+1] = rk2_step(u_rk2[n], f, dt)" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "x_euler = u_euler[:,2]\n", + "y_euler = u_euler[:,3]\n", + "x_rk2 = u_rk2[:,2]\n", + "y_rk2 = u_rk2[:,3]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How far will the glider travel before reaching ground?" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# get the index of element of y where altitude becomes negative\n", + "idx_negative_euler = numpy.where(y_euler<0.0)[0]\n", + "if len(idx_negative_euler)==0:\n", + " idx_ground_euler = N-1\n", + " print ('Euler integration has not touched ground yet!')\n", + "else:\n", + " idx_ground_euler = idx_negative_euler[0]\n", + " \n", + "idx_negative_rk2 = numpy.where(y_rk2<0.0)[0]\n", + "if len(idx_negative_rk2)==0:\n", + " idx_ground_rk2 = N-1\n", + " print ('Runge-Kutta integration has not touched ground yet!')\n", + "else:\n", + " idx_ground_rk2 = idx_negative_rk2[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compare the results" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nysrK8mRcrwQtrzGGnJwc3n33XddRRESkkKCdU6JJtSmal3XJy8tj4MCB1KpVi/vvv9+z1/FKPM+Z\n8847j+7duzN69Gj2798f8fGNDfc6KfmdMaYlkJmZmUnLli2PuH92djbfffcdv/zyCxUqVKBu3brU\nrFlTH1+MIXl5eRx//PEMHDiQe++913UcsrKyaNWqFSWdoyIulGae/vYcoJW1Nn5/SihCuOcmEXFj\nypQpDBo0iLWDBtG0fn1fr9goh/v4448566yzePLJJxk4cCAQuXNTUN5BiwlVq1alcePGnHXWWTRv\n3pxjjz1WzVmMSUhIoGPHjrz55puuo4iIiIhPffPNN4wYMYJ7Lr+cplOnwu4j3nZXfKZFixZcccUV\njBs3LuLvopWP6GgiQlJSEjNmzGDHjh3UqlXLdRwAPv/8c9cRRELS/BSReGKtZfDgwdSuWpU7PvsM\nTj8dxo1zHUuOZOZMqFQJLr/890133XUXZ511Fi+88AL9+/eP2EupQROJsKSkJKy1LF68mF69eh35\nCR6qXbs2VatWpV+/fk5ziBxJ1apVqV27tusYIiKemzVrFq+++ipfdu5MuRUrICsLKlZ0HUuO5KWX\nYOVK6NIFKlcG8t9Fu/zyyxk7dmxEf9ZSgxZnkpOTmTdvnusYJRbUvNeceCJfPv88OG7QGjRowOef\nf8727duLfHzYsGE89NBDUU5VesrrLZd5a9euTYMGDZy8tsSPoJ1Tokm1KVqk67Jjxw5uuukmxl14\nIQ0XLoTJk6FZs4iNH01xN2f++U847TSYNAmGD/9986hRo2jZsiXTp0+nefPmEXkpNWhxZujQoa4j\nhCWoef+Rl8dXixdjrXV+nWGDBg1C/uB75513BmoRAeX1VtDyioQraOeUaFJtihbpugwfPpyj9u7l\n9nXr8t+JueGGiI4fTXE3Z5o2zf9+jRsHAwbAsfkLzJ999tl0796dsWPHMm3atIi8lFZxLAOtlCWh\nrO7fnwbPPsvWTz+lcYR+myIif9AqjqHp3CTiT0uWLKFDhw6sb9OGxuvXw6efQr16rmNJOL7/Hho3\nhkGD4JBbI6xcuZI2bdpw33338fe//x20iqOI/5x0/fUcBax+/HHXUURERMSxX3/9lUGDBtGuXTsa\nTZwIzz+v5iyI6tSB1FR4+GHYtOn3za1bt6ZDhw48/fTTEXkZNWgiHqjWti3bK1Yk7/XXXUcRERER\n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\nAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot the glider path\n", + "pyplot.figure(figsize=(10,6))\n", + "pyplot.subplot(121)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_euler[:idx_ground_euler], y_euler[:idx_ground_euler], 'k-', label='Euler')\n", + "pyplot.plot(x_rk2[:idx_ground_rk2], y_rk2[:idx_ground_rk2], 'r--', label='RK2')\n", + "pyplot.title('distance traveled: {:.3f}'.format(x_rk2[idx_ground_rk2-1]))\n", + "pyplot.legend();\n", + "\n", + "# Let's take a closer look!\n", + "pyplot.subplot(122)\n", + "pyplot.grid(True)\n", + "pyplot.xlabel('$x$')\n", + "pyplot.ylabel('$y$')\n", + "pyplot.plot(x_euler, y_euler, 'k-', label='Euler')\n", + "pyplot.plot(x_rk2, y_rk2, 'r--', label='RK2')\n", + "pyplot.xlim(0,5)\n", + "pyplot.ylim(1.8,2.5);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Convergence rates" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python2.7/dist-packages/ipykernel/__main__.py:24: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n" + ] + }, + { + "ename": "ValueError", + "evalue": "operands could not be broadcast together with shapes (15001,) (7501,) ", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 27\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdt\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdt_values\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 28\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 29\u001b[0;31m \u001b[0mdiffgrid\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_diffgrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mu_values\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mu_values\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36mget_diffgrid\u001b[0;34m(u_current, u_fine, dt)\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0mgrid_size_ratio\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mceil\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mN_fine\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mN_current\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 24\u001b[0;31m \u001b[0mdiffgrid\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdt\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mu_current\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m-\u001b[0m \u001b[0mu_fine\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mgrid_size_ratio\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 25\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mdiffgrid\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mValueError\u001b[0m: operands could not be broadcast together with shapes (15001,) (7501,) " + ] + } + ], + "source": [ + "diffgrid1=diffgrid\n", + "# use a for-loop to compute the solution on different grids\n", + "dt_values = numpy.array([0.1, 0.05, 0.01, 0.005, 0.001])\n", + "\n", + "u_values = numpy.empty_like(dt_values, dtype=numpy.ndarray)\n", + "\n", + "for i, dt in enumerate(dt_values):\n", + " \n", + " N = int(T/dt)+1 # number of time-steps\n", + " \n", + " ### discretize the time t ###\n", + " t = numpy.linspace(0.0, T, N)\n", + " \n", + " # initialize the array containing the solution for each time-step\n", + " u = numpy.empty((N, 4))\n", + " u[0] = numpy.array([v0, theta0, x0, y0])\n", + "\n", + " # time loop\n", + " for n in range(N-1):\n", + " u[n+1] = rk2_step(u[n], f, dt)\n", + " \n", + " # store the value of u related to one grid\n", + " u_values[i] = u\n", + "\n", + "# compute diffgrid\n", + "diffgrid = numpy.empty_like(dt_values)\n", + "for i, dt in enumerate(dt_values):\n", + "\n", + " diffgrid[i] = get_diffgrid(u_values[i], u_values[-1], dt)" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAIxCAYAAACvuKkAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XucjnX+x/HX92bISFM5jRVmlDbbaWORFKkcOpgOOo3s\nblS2lmSUs5wJrWSj33awKmqyrWh0klKkVJopYYcUYSXrUBoUY+b7++OaGac53DP3fd3XfXg/H4/7\nMffhe13fz9TH7eO6vgdjrUVEREQk2vi8DkBERETEDSpyREREJCqpyBEREZGopCJHREREopKKHBER\nEYlKKnJEREQkKqnIERERkaikIkdERESikoocERERiUoqcgJkjKlnjHnFGJNtjFlnjHnaGFPD67hE\nRERinYqcABhjqgLvAXustU2B84CGwDxPAxMRERGM9q6qOGNMb2AqkGit3VPw3kVAJtDJWrvYy/hE\nRERima7kBOZ6YG1hgQNgrf0C+Bm4ybOoREREJHqLHGPMJcaY9caYfGNMQ5e6OQ/YVMz7m4HzXepT\nRERE/BB1RY4x5iRjzBRgKdAE8Pt+nDGmszHmHWPMbmPMPmNMpjGmtzHGlHBITSCnmPd/LvhMRERE\nPBJVRY4xpjHwJXAj0Lmcxw4C3gQOAFcCvwfeAZ4A5htjouq/lYiISLSr7HUAQXYu8C4wwFr7S8kX\nYI5ljLkMeARYA3S11uYVfDTEGHM6cA8wqKDN0fYAxU0XrwHsLn/4IiIiEizRdnXidWttH2vtL+U8\nbhTOba0njipwCk0p+DmwYMr40VYDScWcr1HBZyIiIuKRqCpybAXmwxtjagHtCl4uKeacXwP/BU4B\nrj7u4wXAuQVXewrPdxGQgNbKERER8VRUFTkV9Aec/w651tpvS2izruBni+Penwl8A0wwjirAeOAd\na+27rkQrIiIifom2MTkVcWbBz52ltNkOmKPaAmCtPWiMuQr4O/CfgjZLgYdK69AYUxPoBHwH/Fqh\nqEVERGLTSThDRRZZa0sd/6oix7kNBVDaOJ4DBT8Tjv/AWrsduKWcfXYCXiznMSIiInLEHcBLpTVQ\nkeON7wDmzJlD06ZNK3SCtLQ0pk6dGpJjy9Pen7ZltSnt80B+by+FOu5g9qdciyzKteC3D3au3dSi\nBfPy8ymc/5uGsz8QODNguvp8vLpypV+xecmrXMvOzqZ79+5Q8HdpaVTkOAv3AVQrpU18wc+9Qerz\nV4CmTZvSrFmzCp0gISEhZMeWp70/bctqU9rngfzeXgp13MHsT7kWWZRrwW8f7FxrU7s2O3fsKFrM\nLQEoPHIhkHT++RGRe2GQa2UO91CRA4WDjWuX0qYeToFd0sDkkEtNTQ3ZseVp70/bstqU9vlnn33m\ndyzhJJD/X173p1yLLMq14LcPaq6tXcv0nTu5DcjHmbL7Gc5fMK8DfatW5aM33/Q7Ni9FQq5F9S7k\nxph8nNxJttZuKaFNbY4MLD67uBlWxpgtQH2chQIXBCGuZkBmZmZmRFTr4aR169asWLHC6zAkBijX\nJOhyc8lt0YK4VavIAboBGypV4r95eZxRuTKJ557LS2++yW9+8xuvIw1rWVlZNG/eHKC5tTartLYx\nP4XcWrsTZ0YUONs5HMMYczZwBs4eVW+HMDQpRu3apV1wEwke5ZoE3cSJxK1aBcBWoHGvXqw7fJj2\n113HutxcPvjySxU4QRbzRU6B0ThXcvoUs0fVQzhXgyZbazXd22OhvjwqsUu5JkG1bx9506YBcBi4\nJy6OgSNGANCtWzcPA4tuUVfkGGNqGWPqGmMSj3q7TsF7dYs7xlq7DBiGs/fVAmPMRcaYJsaYicDd\nwBvARNeDlzLpLx4JFeWaBNXJJ/P966+TWacOE4GWvXtTv359QLnmpqgrcoCVwPfANpwrMACf4oy7\n+b6kg6y1jwDX4Cwy9B6QBXQA7geut9bmBzvQtLQ0UlJSSE9PD/apo9aCBQEPiRLxi3JNgq3BxRfT\n/Icf6LxiBUOGDCl6X7nmn/T0dFJSUkhLS/P7mKgeeByuNPC44m677Tbmzp3rdRgSA5RrEirKtfLR\nwGOJWvoikFBRrkmoKNfcoyJHREREopKKHBEREYlKWvE4gmzZsoVdu3Z5HYZIqWrVqkXDhg29DkPE\nO/v3w8cfQ4cOXkcS81TkRIgtW7bQtGlTDhw4UHZjEQ/Fx8eTnZ0d8YVOjx49mDVrltdhSCQaMgSe\neIL9t99O7qRJnFrGnwXlmntU5HgoLS2NhIQEUlNTy1wnYdeuXRw4cCCgnctF3Fa4O/CuXbsivsjp\n2LGj1yFIJHr/fXjiCQDiXnmFdq+/zvUDB9K/f3+qV69e7CHKNf+kp6eTnp7O3r3+75WtKeQeqMgU\n8sIpc5p2LuFMeSoxLScHLrgAvvsOgH7ANJwtQjZu3MjJJ5/sZXRRQ1PIRUREQu2hh4oKnLU1a/L3\ngrcHDx6sAscjKnJEREQCtWgRPP00AHnVqtFl924sUK9ePe677z5vY4thKnJERIqxfPlyr0OQSPHT\nT3DXXUUv/3HmmWwqeD506FCqVatW6uHKNfeoyBERKcbkyZO9DkEixZdfQsFg2J9atKDPmjUANGjQ\ngHvuuafMw5Vr7lGRIyJSjJdfftnrECRSXH45rF4N119P76pVi94ePnw4VY96XRLlmns0hVxEpBjx\n8fFehyCRJCkJO38+XefP56uffmL//v306NHDr0OVa+5RkSMiIhIExhhuuukmbrjhBrZs2UJcXJzX\nIcU8FTkeKs9igCIiEhl8Ph9JSUlehxF1KrIYoMbkeGjq1KlkZGSowAkDo0ePxufzlfmIi4ujXr16\nXHfddbz66qvFnuv5558v8fhKlSqxbNmyY9qX1HbMmDHHtNu2bRuPPvoonTp1IjExkapVq3LaaafR\nsmVLhg8fzvfff+/af59YNGDAAK9DkBihXPNPamoqGRkZTJ061e9jdCVHBOjatStNmjQBoHv37hhj\nuOyyy+jVq1dRm7y8PL7//nteeeUV3nzzTd58803uuOMOZs+efcy52rVrx5w5cwDo168fu3fv5pxz\nzmHYsGEAJ2zLMWfOHDZs2MCYMWM47bTTmDRpEtWqVeOCCy4oatOzZ0/mzJnD4cOHOe+88+jVqxdJ\nSUns2LGD2bNnM2HCBJ544gmee+45brzxRlf+G8WaSN+WQiKHcs1F1lo9QvwAmgE2MzPT+iszM9OW\n9xipGGOM9fl8tkePHiW26datW1G7yZMnl9guKSnJ+nw+2759+xLbZGdn29/85je2Tp06dtWqVcW2\nqVy5svX5fLZXr142Ly/vmM8OHTpkr776amuMsVWrVrUrV64s4zd0j/JUot6CBda+957XUcS0wu8Z\noJkt4+9b3a4SqYDHHnuMSpUqAZTr0unxVq1aRdu2bQH44IMPjrl6c7y6devy+OOP4/Md+8c2Li6O\nmTNnEhcXR25uLkOHDq1wPCJSiu+/hx494MoroU8fyMvzOiIpg4ockQqoW7cuTZo0wVrLjh07+Pbb\nb8t9jpUrV9K+fXuqVavG0qVLy9xd/sorryxx5dR69erRsmVLrLUsXbqUX3/9tdzxiEgprIVeveDH\nH53Xe/aQbwzz5s3j8OHD3sYmJVKRI1JBNWvWLHq+c+fOch27fPlyOnTowGmnncayZcs466yzSm2/\n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\noIIt7U9vzPAAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot using the matplotlib function loglog()\n", + "pyplot.figure(figsize=(6,6))\n", + "pyplot.grid(True)\n", + "pyplot.xlabel(r'$\\Delta t$', fontsize=18)\n", + "pyplot.ylabel(r'normalized $L_1$-norm', fontsize=18)\n", + "pyplot.xlim(1e-4,1)\n", + "pyplot.ylim(1e-4,1)\n", + "pyplot.axis('equal')\n", + "pyplot.loglog(dt_values[:-1], diffgrid[:-1]/max(diffgrid), color='k',\\\n", + " label='RK2',ls='--', lw=2, marker='o');\n", + "pyplot.loglog(dt_values[:-1], diffgrid1[:-1]/max(diffgrid1), color='r',\\\n", + " label='Euler',ls='--', lw=2, marker='o');\n", + "pyplot.legend(loc='upper left')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 72a70551ebdd629ab980778aa6ef1d6f8ab023a3 Mon Sep 17 00:00:00 2001 From: "Ryan C. Cooper" Date: Thu, 13 Apr 2017 16:25:13 -0400 Subject: [PATCH 3/3] updated HW6 README.pdf --- HW6/README.pdf | Bin 168643 -> 169917 bytes README.pdf | Bin 0 -> 117270 bytes .../01_phugoid/01_01_Phugoid_Theory.ipynb | 6 +- lecture_22/lecture_22.ipynb | 219 +++++++----------- lecture_22/lecture_22_python.ipynb | 112 ++++++--- 5 files changed, 160 insertions(+), 177 deletions(-) create mode 100644 README.pdf diff --git a/HW6/README.pdf b/HW6/README.pdf index 3cc89911b274f1e5fcca0d59039ce6695c387b84..12116b087dfa74dadd5aa65eb5cd7a8c1925a395 100644 GIT binary patch delta 41148 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 delta 39845 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

y8l#l3wpm=0%`JHg7M2;LpXPI;m`s@e_nL) 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�E?;efuU zTAs%P`mkzwo(|{>tL1qSS~n zUdcC;Y8l?oudCsGo}9jrtEc)evfBFom#vioaYHsjH8nXwH9|o%LpL)uH%2uwLN`W2 zH#0XdGDR~nLNPudJT^i#H90{wLP0Y_H#0RiMl~`*H%3A?GdD0YMKdu%F_&SM0y}?% zVHAh)^MCEjXAEO!?2LWihp~)x>>7zn5UrXEm_(;@30jRxqEP4+EJ;yKMPPjhlk za?H$rgIO?z+Y6&g;Q#~y%3vP~pb(0nR%S6DD~1wSf^tYh1yn)=%diStuntwQ16f#u z3~WFQs$m6oAr3XL3EQv-jgXK?Lo+Nw3(P<(w81PSVGi1%13IA# zx}gVpp%40H@yM5_WS5^_1G4KcuR&Qp=`|#~|M41@J?6beq*U-4m98GV#-yibuW{++ z+-pL5PkT*DA33inh3vQ2H00nAj^G$h;1tdjZW8}Lzk9Vmr(hu$3T19&b95teWnpa! hWo~3|VrmL=bYXIIcyeWC3Nbb~F*7p?B_%~qMhfSKnA-pV diff --git a/README.pdf b/README.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7a034c6cb81048baf8f3c73ee5e1c9407f7fb36d GIT binary patch literal 117270 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

)^O~j7|v6|Y1)S|7ArEPgeQV| zPHeKkz8Q!{-x2mTal%ePwgfOJcoEAh+bWJbP|1m`APGTx7X{((1w?Y0;=`U(&6brb z1W->@mP;bV7pf@-XNL7!wj5rAKE|KgEH5U&&xG(g0QTq1eTz@rm?DBDfpcemQ5Y)9 zeZTge^AuH}R7K=7+v>D=+=g{6XLJ9Jf6YK(4=fWaTH)Iu9O*XOLu6{3?MYah{YJV( zVA9Crkc-~s&lf@%N-}Dq`D+++?YukHXg+c_PR^DQaYhRH1tDtjujFOBrWkk}NOVV^ zWziq%ftGJn4~$n%gFy{651W9TPJKN#L6r9^`H_JSnW!7s4Qt**##{$r-%ozs5~e}* zsBWobjORaYSzK7H63_4dn2rUkVqE3Flf2*=NTrfIK>LUyiW-GIrs2qNg!-^MxJ z0du(0wYbFdF8c$N2i+$`IY=?6B~5AYrNTX&z=?`&;#lJ=W#oHJ*w5)Img)qH?bKYKwJ({XK$RP(b`r4;K{VslC1 z_|b@_(M@ULEh!Z+xtP*u%5yN zsqZR8BbC;%msT3@21&yiC}KaG#3J945u!yz%lZmsZt?FGqfxI|f7zj49MV8>15<;w zx~ZvBkX|6Vl7pmcdhMtB;AcR=i_sK3rqE)qnVYt~)moa9eKP4~s0W4Zk*(g;(u1iD z?rHqd-lOGiwAdaH?VM*2x#rMMwAuRmD8^^(e_3Na2%Hu)caWBX`G$OAHwq+J_Whc1vG}0%g9tGfuKb zhzksv{)I0gCFCM`X8?fah6Rycsb>yCvK)}?aybzX9{8-;zswstrpAi3ZKxCJ`*PR> z^^(pK{4ZS4gm8mzM3T1mssWvO%ywtx(rPzAI3f_&nOB)m%hzXvl3BZl(R&6-*To84 zG!f6!78;L6oA1g%0+PT}rO47uxB{8|9ZMPGSDI@OoBKHHJPvq$5K~xDGxcL{jl!|u zyu}g=hRUe=C^}8ybi0X)WF9t!1zEdd3ufXwS8uuW%9be~R#JxMw`z?jzSTdG2)Vwg zanHUCQeHIfV^JVkD{EetFeRkOWDEqG5r1{B(tB5*w1DkJoT;Y7n0_@J2S@-k(<4Q~KY%ua!h$J=`uWyYc5}eeA zHtD&lx?RWCTxU)-eB|xNmn^!!Xy^|lM0PvZ;9 z=LQ+B9XU^UE)j;^$Z)zJPqd*-#)zWJwy9Treir;Px>-_)9+3OapKD_|;0wTlq*A=t zG4F!YFYt~yz|8+CG#o7dhtMz*Ffns-{!a^viGYcngO&Y%j?4rM|5Fk$aWb(o{y#RS zTDnYCa2thqTVIq`0xx>1!ICpDHb5z0!8w^58JZt}QBqe1+{Osl)X5whYcK3=jrDEi7%U-~qFMSpv8LX<;c{U;<*gqSC6taUZn}VbQ(3 z8xMaS5*8L#lMFy4qbaPV00Zzb0GPC}v;6$5fd%ZpXfXh$v+RHQeD;C;9hu`I8xBWwaasmhbt&J>hpVaD#s;YCU_mj0W%hw{V{>$J z0LA?__WJ_NS^kJ1KqNXixPQ+IpY78R{I<-@|*C^Ld(qzfF{pl+%*ZmKIEueXw{Dl91nJa1ooEyC3xz z{4XOUs2_kmH9G)od~yKS+X+&EGb96UZuT{~2!9jgmM>+=%o~frr~YMIU?6V5oaLs# zoEQUd^iSBy{@uU!UzUGdB`)^lD=;ukF8~>Uvxu50gLC%70$+dgm|yvNOLT2*Q)6xd zTYqTJ{>3r3H8#Az+;{#$ErI?OOTYX{wK*lVJAr0ZYI9|2e@ZX2a(1+|UCfW0ODpeeIeot$={JIRHCIo zr2sd&IsCvggK-i5Y)RSR14Iww&-5eE28rL;4}cmazrh|G05nYg#BKo5H~SI514M7^ zM}EfN>|WOe&;Kj^@9GhMWE#pq@dvxtRpIZywD6AY2&BRC7yQ1*h4B}=$CdFNyQh)O z(Km~-u!&}I_uZa*%>U{yd+v{8pCa=Y+_4vx8DzWPcE69tw#J@j_7`9e8}MJMnf;UV zzc#Wv{gnU99zDXpw9cH90<7t68vGyky<-4n|k#k;To{SAk*v7dH&2lvrVJLW&w zZp!&ZJB0`80{SDH{%DgU*ETNqrx<))JNcKUV=t3KiyP=qA8;Mp*o^&-4{6V;^9#6- zcJs<^;t%cq2kujS{^0(_uFD%3_eb@*FRt)1-+W$Qo%-^R`NJRnw7(&&nRo-N!q)Wl zHS7eRP-@KH`1CjN`(cBy zM{@T0t=C!h=f(f)O5Uf7_dn)`CkH^dfMXHW$pOxW0?{I02S@*q@XetC zONL5grhP|iPh7^GFh9NeJ;;%=kFzBMwSdK!x^HdS7jKI1HPRtT^ry1Z zn+$ZE&Ns9kaBCTL(H9`MA=S#T2zBu59gmA+xI@w|$!D8_9m7ovZ~bQ@zHTfrx5`pO zo4?H-99wZgLe{ig07_`x`K7vZP(m+|I+^G+#`zji%#h6e7A6-F*94AQM!mOqy-m07 z)BYTonlbfraFlEA$Rdoi0E}%{A=^@gczP--P3$qUZ6G82-z71kywcDkzS$O>KF${Rh0IqVgJcR@sw^otTRmq zy*v9!hU$|Orceskb*6uOC}e_OhSqalTKtDvLlY;kpgO1}VZ7YLt7lyKPO~VTz72aY zhD)e%k<#;@FQmDwl$Ds9HFAr4j{6;G=HU3#?gm|S=4so+1=O0%W^3;*COghdZ(++p zJN9;^XcyWN;+Sb<4IaM(SVjoZX`<#|augFY>ODjahwY6iHz^ zlJwvB@X46W-mm5F{;I)PerrmF>T4r84AM7QRO6n$TiYNGW3O7UTyt%OANBHc--@QBkRiO)ZqMVg;gVx-IYILs#oE1hO#Y@bo6 zD=z260ur?TOX+#h5i5Cx`&7<025$BrEW?#Xe+j?UuR;mJrTzJU(nO;ZEL(Yf_{keI zjmHrqVhyePc?FhO^1?z#Z}!WW$F`L9bjX}w6wF_tXvUZny^fEB(MasS2OF|`lO!Fn z*@t0WZ^Uh`OwRBd89U^S&n7G7$$;uSl7|ybn7AKl#OrttBl^2%W}W2q4EG*8@BT1` zHl~pY4ymBX$)1cylcnXs&}#ZO9WFDcr#^0ijio>qf)R2iJv#atEoM7~A_JZ#4METZ z4^0=D6RY};6wqCvP#lU==wea2x0R6~yX`e6Qu zH-a>i=E@RzZVhQE%*TCVBEGGs2I+H}9pmmFaKmn;p0e)JRdRZ(UU94&!Bt$?b z8O8Eek7d_(bi`Cuh+Q$AK_k5Hm*!P~{ej8}EENV*wSbb&aGWprcO|vc2jG1q*brjz zQ_J1NJCHWAip4LnK`!8l*Sg8oulYH5qSVUw*JoJKhex!xqO)bN8!5Hq)o83CVgd8? zF{dZ~Wt`E1TdQ;Tk;OYMy>qZp)JB>VXPYTC=sl3`D;;=jnDP3Cod1&K!kQ%{?1rU; z1;TsV$wi;e9DhzHMI4;6h^jZb;xtl;(%-ahjr%Sp`*z27y0jQtqH}qT>W%QSP{MY) zDq<%c<3eZ}8MGj`UBH;X^!s;qv|5}joxcMj(nVNWhpRLbt<9cHy6EVWIS?Y>_qy|E z{QN2tAPt5{GhnhXYJ?1|s>UF4UJu>N{eZLDI&2yT@Z_4|Jn6cA6Q0w%?y^LrdTed< z>=vJvMZOna;jQ}`-fIAu)-&g0Wy(x}{|%@k5oxs&SX~Pn2qr0h=D4U7?x)0&bhN^k zMbfZ}8d|*BdR4Svv;(Vx!cE75>Z1d;=Xd}uTw4)bSq-$kTZA8Ft-JnEa~iRnsR3&~ znF$RN31qvK%nn(&-8c=?+?N_9j|y!zS3Qx48^?6k`G)ubfZ>6CadiQoctQq`ooR$e zD4#o2E=m_Bv&}x9s8<4MXQd3;)>bB z!oKEjQK1Q=A3eEq#vmPtAv#q-8j?a6$gs6D$B^9gL*pK9Fu0o4t2YGzs>y%;YRttr z7*$=)XL3Q$Qkq{h;zm6qfX_2agN~+Cmo5>Oicco?b$wL1ECAxezl&uHTM zo4a3e{npCu&f4_qD1pEM)R320_>E91HiyP)g?Q)=_}IqfulfK_SrmN-_qd|}N|pJU zMye~uHUdz%8}E=QYI;lL69741;40p;hb*Q8$|0ZssthU z_d(iZ2S6yiL6Q*%gPBVG5CYg>5XvyneUJ&_2d&zK;Hs<{3m%oKG6g0TShunIaB&^h z-M1A;UrT+=5~an_Z-_*&vQHPZY#d>(ord4C^tx(Ozw#KHbBirY2%>~3U@pxzpH0?X zW&-_AkWJ%I3K)0R=Tob%Aran^E*Dz*2QgvRv((VL~Ly@!c~vB6C*a+n)uRPLQ_u9NmgbpnI>SdR3^vc!#_d9 zr)_ySKR0SCkP}0Q5M>L0HY;hz=PGL*RASA_b+M29%nY&N+dkcIk$UryUZK(+B#O?M znq5*KUe}KNb}30VG3|KAeJpe}smxxJ(n@tL27aPoE^}-&1Q$X&M7p23TS<2{i;Z6s zy@r7~{dY)2LjLL7-h`wF%9a+^{1fH?<>T=z>WOYAy1h7KD{P})sVxh+;;DxT<=A3= z6oI)by#TxYWWq!6E%B7x%aGmq@-nFM&JtYgH_VTwpd)?P^IERyCT!Y!bhM%IAgsw6 zpi0hV2JrQB#fW9P#v6$U)x+G`byd*$n(G)))tvr%ziwjd^|)2#3IKyP%7YIU<8rcM zkb+rS8YDL#ljhYCUF3h9W{px&`yp79e@UMX%AC(uqGmCgI6tWfy2x&gVnAJM%g>%} z6iHj7A?%K5iAm?)T;Ldl(i``FP(!4nmBwtXZ#{m!x>XJL=3yAoBJ)aqi+z(MIEWYg zppbh8QH(83f>(9$n&`PXakxrefX7H0Ph{E;b?$FnWEZWd66&t=L5j1ZLHV`(4rnsz zet|@DuNnd29x`P8bpk9`vTD!+HAMfda2eNErzGp(C3g-y6LaD2(h;BI_O+{1%m$6p zn>&w2#QiXI+GS62r!u_tNO6loG*aGs^4TN}d$xA(aK?v7%cVK?;Zw2^xSA@1ow`ii zdX?|1bAiA^ZkiSZ>3=tdVK4E;@!rof=jKz7M((q_#yWKQ$C!sB8OZ%&MKRXuPO`X>+k3e3!Mjpn6B!3Xtm8{2di!%o9GU#@*nHfQ}ron2e9n1En zU60`{r@kv2MVk%MN3=zYk0*~RCAj^1*A*HVIpYKJJ@AJ6&*fAa*rIEi^oW~Y{!Jzj zbPveP?^vHeW3X>SL=;K1)2tA1!Lw1xB3TKhzlV(RdI_5FjMb8UGmZ}-sIq7Ht8atc z2U&WS3J8=teV^N1aF_zZSMSOYjP%}4fB3Q~GhA3Z6uM1R8JNT>xM$HJ%_ev)DD=LT zFrs~if3*^C9AfiXs|=sHbgu!dH>w?-8 z9cBFcX@c%4w+$!{I8e5|1h;4xBv?>P!D!ix|1+u1v4y0WLMXRzY+lHYkE0h?dPt=f zgq5>8fl8VTJ8Fsc8Q7)7(vAyaJ?n+bvf9CV#(FB%gdzof&|Bv0Szq|h;}pilMw1d8 z%P~=9vSt5vWKZ+Ijs|H-mo7gz3LOY_!b2PI`h>(IDU+5D<_WV8=vfEXGwmLKHj{u@ zwbZ=`b6%6o`TjLZ6c}%uAK&23vw!&cZN@42vtis1oy-T)PotLyWhF;S#p#uZsQw&k z*0IoP1hCriRe}F|uQ)tyiC~e##_d6yhl}8hMWeW^#TDc2B3MgDBe$+S!z^qu0>i@C zWee(4`$mQ4D4il@|Fc`3gTgjE?*cfWGNu7?$jT6KloXC%9Y0$_4we zR4geOTPy%eD>evA9EF~1>+HNTzp>L18>fe6Wod;U5RzxIBXiZRjU$B-hix!gF*KKd z!PhgHQ_S6-p)JYh@YW(-fcowhK}q9)_&_m+JgbhD;NJX9-M*3v4THO+ z9)a?K6|4CjPS67musHh}d%wNAiP-4xGa0X~p@r>|Cbn7)Ze_DKe#md3_su{qte>uP zaw+zY^vHqkRENY?W#;;R!1_X#kt!4gF;V97N*jLUia?vjl2ir9ugYj1>@K+ec2#V{ z87Ui!hoTr33%%+<6#k6-uwaOObIbekzsqo|({T3< zUXcqSN7}NB7XL07J=`FVi)!IScFa>!38^R$foh2*d0mH$U4scclD!zyi29g^;^kNg zth7UB5g-pEaacgC(8g!nhffdez)Tw21Hj`58E=?|4!}sIo{MO5-A$ zr)Cbz-9YMGG%_?T%jHxhfmK&eN(Z|zT<3+bLb~v=rrLfaQRxDM_gi_*$BdtCg_wjL@xKvOiI2Hd1MPVifTM5S(A#6J+xDwOKWrFuGIZKIvZEFm-Xs;Q>&p)w?h^o@>U*X%z zCWehwU^*jt+`;viRS^3f=M8490<;Ve7=)w5eu9gyZ!2<$g$GYP0<^oiAuo>Pg0XWL zFjGogiVlGUl)2BWpIVe^Z5rkcZoFyL*FJjyUbNgFo@Q|ZH&BZN=lhn$IZ1U3m@xPOoB->2EFf7 za6MD&4;WP{K!l)h@4Y&~Q7Jyz?T3$t@Srk5Z<%ph?QXzg__dnj@MhZC8%+>H{z3`*a^rFQsSiS;_j@LSfM9&)Vqoyo6-ZjOt=cmoB>nJX4X~v z&u87>;0j#+zZpxeAzvWtBCVXP``QQ?@hD4Fnz&)p=!JXTVpCM$tfsb`0-$v?uU}|1 z34Vl`oJ~WsV5UF<;N8I)rTs-d4{J4Q4ml&&+CM=>E@w(o{(3MIC*>Y7NAV_7$8C*? z{(2-N_B}3$z{rw`6X8Vw zHb|w*yZS`Yqs=X57vc8a-TV4B>2J~zeR4Kg7PZ3_o!F~9oqiYu=RQ6c>zUEHZsdwR zorFnBnd9q!)yfMeK|W2`JtA#Okj2gP^!`3*6&swvV{z2g#JDT{+Up$}b}KiQ=f8NW zybmU&Z0_$(ub@c>W4Aa*CHe3XcGE>~J8LFU=TI!{FYw(}6koZByg=m@*%Cf?xG?;K ztIvJ*60PSVt~^Vo_iqH@qn_>;63w2LQ>QcJY>yw3z%rvJqvH--|^MZPS8I=6+XwLbQEw0_Gb*Dai$Hck2p zA7!rxxi6d{>70R&u~qQFI@hO_kyArvBbtPtYrPbHa1c$96fO40bh}^W@&k$RWH!TQ zs;HKPHLX`36sQz{24JHY>hkA$aUS({I|_Fdd>WPB(J5?I)WqxWMBq*E-QL(i|FfLh ztSC)N(XNSu!mnKv7Z^Wnl15rkyK!5vPFR7k*Zl4K!l~px%_ZUu3b-0#xf*H_N%{Hk zMJPU}GgITpD*ESqhLW@JrM@c0$R0{J@|Z?ckrk^%;)uKi;$p#RS)G=qpJaPz8Dx#^ zlM1ioclVqk4*y0*HMCi*An_2MA`@-R94_;L)$uIDYL0Bz5RIj~A^aNySTMKShmll4 zhv}Vk)jIDopD0r~y{k(&zf$NaP(tFkH{?6(g?r4X?hvLtx4!1&8C7OV3N#>7z_}`; ztfn{FL4UoFLiq{&P`j#XH%OI|z#3(`rE($(=koNx=I=TqWtab`m8kWj^{#x+xe*1J zZ;CvHV1BbavzjJ!Cds0CmJZC+U-c@q@efOTWvinaGQ6$IW*2u}tj|c|au}bs#p%Xh zz(-(--#J6rM)tWINyXG2aaJehFhZq;q#C5MwJ|hKiuDu%gdv`ZhZ;OQ$Ey_Qy+S)<>8^wV(jd!Ee(n`>K zAN8c;uTmNsb+=X7E2i4tvGmIivxNlj!myx3u=nXS786Sepjn=77l|Lz!eBg{aFr2f zI&m8|mFvWO1aiZL-59A&DEaq)LcL^yvnLW{ZKPZE&6CVN6>G*>u->A_LO0oWVno%5 zbWvzcHFS<=@?f_TBO`_82@-i{&Mmd$38d9)*VT*FSb~m8-Z${dmqQ`NsIfIg=Y^j- z?cxb#<~KHN%+^ZWZ<3Z~%Rc#9%+wo@m-H0^n`l>Njx?5(-SNHfW#%|hT1-5q`L4(m zG)eUu#f5ztog8~Za>B8>g(hKlS;ZK>|JkWXg9zs=i2g}1-;2IRD6o2N+DdC}?bj}U zcA%#z1FTEVpQ!UYI|@(DF-KN@T^Pvd>39J+XOSa`)HqLdT8tOQU@@Ml@Jk>{T-J^p z4XpZa>kb_s2D-$d6J0D_x0owX9*oHteNLD37e2&xt##xiPmcGEhcDd5dCvUiG@$%I zs#@(SaD0G|sj^rAo~O8J|z5X5uX`fnUUPiIl9P*;w+~LKrGoSNXui+!JzTFltv!zu?HsfaPwESFF&` z$)F4`CE~mlD97D`E~3?ch@*M+*J~_Y(n|CU%w~`uZZm=6JZ{*;yF?-#E>`U5jmZ_8U{ z5f^H~`b){?EyGJ7siXG3+T{27l0Ae6XFQE$LL&i*w3z82olTeta^4!Ubm*I{ZCYRI zll$r42>cd*-}D6ohSbrOG_KB&|G_F1pTW!uhs4d6`>xWD?Wdtg;h!L*2{AttI+=^{ zbRQWgm~IOw5*T4?=ekn@_Z{sr zb&f)em4W8Tqeh|!*!_7A#W$S=OZO7J(U!7PJfSHWwEvKFR>-@ zJ!9!_M28fb2NCb8QqxlO;AmLkArjX2Y;Pr)TDsy}j&m&pFh-j4zx7_s&c&MWh8IU` zKKHC6>g*~SBM+r0v-NHGN@C)@=jG?`8_x8(&L_Qg7UKjEcOFf`XDbW*WU_THi)K~k za;WFJ_3bGQi2bMu{5meb+llcK{~A#=ooXo)p9@ZoULgNYtse$e>%jR)>W4ryC3a1$ zk2-+KVhelt)Qtq{R%ELp*G|0lQk?wQ+xnR8g<)aHt;lpvgZ90pNFb6~D`SB{F;-Gg zzv57_KeaBg>$OLSr+YnLuXW}2n@||bkR&-nsn@X}2(NP_4Izk#ma(m7!(TAnHkV~M zy|RmoYJvWcr@A$*yZN&yG|l~CS?}k6W3d+xx!Xi4%>eG+iTNyf?s#gk(25pTzSq(D zl&*_BtA_$fNr&0>*|}Of%d0Rx+H0?5yw8*e1qcncSmsfSQ*RIx=3cy0!j#_wUPD;B zjnTJa-*CaibDUKZ*P7sS--y$oq#~&6^_7CGtTw_+^6&Zj)(;UiXq99=C7^ObzP2Ls z)+8XUhw#Lyab^hIYR^l;SNOPz2_Ok&NZ!_wAm<%bW`^>)+B;JRHX(Nvf0qe_P&~~* z+wkKS5}u~}+bPHrci5GLM|f!HX>aDd?*NzI2AwPj>{UClw0so|{$og)2*d`sC6||X zTki^Fud0q}80HXrD3MKFOdva`v*Cp*X{M$$8ZZRikzyfxKy$P&(-pZPdDaccJ~uhNz7Z%VGH&O<;Q(s+kYoLv8PnJ65OoLC#351qHEMML zwkY@xpx~8Qn!eNQ;G^~aR=eMGrwP1^4oN(mTI`wYQ(wY-sZjxReum>yrXu9i?Di_* z;kdA*Srcr_R1`$VHw~kC)~Ir;J07+(d#>(!cMer;-c3ndxL$;7It-D7xP%`{SlN|< zc}y+7zzez}j|N?{iLTNt0>`MjG^?mjiXyI_Bvt`ehpNs5iAL+wnx#X@Wa>Kl#Bb}b zOCKQFQMT>Bsz$Z*cQ98Cd(L~M_#8c08G)<^m}O^eRGeqm9CU~MG8IFK^W$lt_eNcY zCjx53MxUM-$ks0?rrXn4R=8)B(i0xC5RA&ruHwZ|rPM>VD`Dje2NQWY3lQIc{ea&4 zdd(ND+pnLK8GAUH?bM8Tt~1*ZRCctyjOw7+~gAWQ!Hbv&=V=35^b zOLI9@5`;BvG&F7Vn5jll4Lj39t>^9gj%L9_dZa0mC7N1wU#IlnDxzk4+hE~SpDFa+ zj|$CRE~4&JucxPJ`5@L=&%16%Jt{=SFdelw?rz6~IIsIxL{{UyWNbR8yRTewz_r`=_&qM!ApBW{^9( zd?a+p7-}9{bg#lA8k1_l6_)O9GePm2t%a}su$|;#lUbk^1QiVa$gg4XHzL;M-73ya ztRbUSVU|)nx3+~O&YHicF?L(12>zZ)*w;7K#d%?{NO#*^{B#JaIr&nUDeP_$lZlq7 z@J+ANY2x=Kb(OBf?;e+{7vyf80ixkmPRnz}5$K}@#>|>HpOhyQU7+d8==7NEhN2X+ z&F5s{^v|VGL=j)@doaDTTz7}ggwDphxL4t!=qK0Ke@mfZAb2Hf8jj>H^jff&cfp+P zo6hVLWPZ8U-jP)rcL%M06{%*mR2K8czQ2cJ@U?6$Di*0Q4!E|B{JWFZHT~9R)7R z74858U-kxBP=Y%|i_18B;K5dtqlyg{8e@ASM!Gd=y@M7r_)Nxt{$jB4^K>5eUe2?l z8uJ_eK~KN3Aco4bTLcS+Zk6YuzIyw z=E@`jIZfW@68^PB$U-u@g`tZ|YDZgqW2v?wpCvjp?qL7QuMy9K zx_6suBg5KztJX9H!CAql4t+5Xzub7&G;i(fCu>cHnp-N#Wuf^SP`#*2=XtN&n-3_k zaal~}q^nN&w)Fk+Lf0H;+=ZlRLNgrNyOByLpSAKn3 zsKUk+e{FJz886MDoiW!rmxld8;#{%7Ai^w;=l~uD4?;e^Jnvz_!z2WXzw2^Ix6?Si z-~fE6gB_LewBSs!*EnZzEXb` zy@Ex2w4jzDaa&3Xrt!he+LnOr!84p2cg$P4;KC`16+#-O*em13rD6u`*k*ZdmPlk)<+}+U&5l# zBEE=Ds679ydge`K0Sz3@!+`>`MTM(ZE30aZ{jnVFl0lp_uNOzBwnjjsfU;+y>*GUkmh|l7@~vDyf`h`Xt;wwG z4TTB3){}OAUXeXXFnZ1UbbgVa2c5?m48olFAGKtZ#EvQ`T(5Lo+hPCFM?<`{?y|<( z@OBg~E%@cu-%wLdR{*OmA^jgF!u~Q1+DR3w)L2h`5cwc|eyZq!#gSW3KjGy}Rp5RH z(*cV5v(6Vcyxn>*SABN%r3ETDuAM6044R)^BN z#sa5-{pOV5bNT*k^4f!6V$)Xbj}l37MUxx?t+)H~H=t3C-%xSrWFgRGg=AQ(?bjs& zKPYG@t%{;TC2ujho5*IjM);1t8E3m74F67KuwEIpzwr08$F-&7KKhL|5oL*9a?VKb zlVYZDQoh(VNmRA`%;olLCI0^hK0v|0bVLL)&rsx-;L(M@X@33qUi#op?tZ%znx7D- z+=zbKJ-)q`k_|+dSMyamue7MrQUnPAMLdl{;QnsHl#+-5o_n@vD5XuVQ+5RB@x6k- z)Hg^QeoX4U_V-$m_H}AUf%I`G5rfC(@u*rHul!E5zb!N{56#6tuRfBah_VP)^shSE zRQ7yLqI7~vE^l15`7ST<#euMZn}W0)I6ZXaD>H*1g#Alm@i43}oRh~9UP-D+!Jm^- zq`8us?uqanukNKkrrDBS(YhcYsa>qnfx0Er2Zv#aSm~0?W`Uoh%K^wSpTJG1ktpQC zM$I<&+byALL4yk0q=prz2|q-i6`jev;dy_V7i0~4-q!b zIi8+BUnIh76C-X`MDP4uU7a~E$VA-S#?(xUo#QGXv z%;Aw!(^yGL{!X<5k%^aQboszJq7%}TBQY$PO-q;>N9f>Xy5^?w>pUy;Q9%GF1FJ1} zY`YYCKV=EK-9mln1Z@$T)wFRpKDD!OJ)@+!L!4sh27%iu&H3~!1*piwzhiL_vU|1~ zgBd=7KJ?<%T9Hr8!({zeaxmdM(^=XH&Np~V7sDSZMx9-~ebq#eqkf6iYyGEIs9b5# zh)J#3-<@gEl52z4Rdym9QcXLU{plg?w0G9?9`z#On@lkVq>g_ya_-vc$X`BNaEuH) zjh3!rg2{=B%FqgQ6fx-ZoL;!)iUQzUbYVM}xGb&iLVnl}HrrYxY?Z>!LY;oKja64a zblK8Kj!sN>Z^Y6816(3ZN*e>EcYBTDxIvE3Bb29Kgztsw+@?0E>Zp(+`|NYSeX7Md zKPJ*%Jx{17k#y2k=&>8}cL%+bNTFUFnK!*|u31iVH-%0J>HdaOG(rJH7Ek+4d1lb1 zOV56Qe2aSZV-r@0s`znLlFWgxyhYd0z`yttbS(3dg;HyN#dW0x=i2;6_`^XMF{KE1 zr0B>+l~&C5K9uPRkns?EVw9yKVxnVSJ&PFqqu4zQrh&i_3IJZ2QPJQUO)WmvyON+XNCjm;R8T?x6-~Kf2TZF4w>CuM@J*N$wL^; z_(t}O9@+ZE`zA7_8k@jiG{>JDGG)2yh-`5ee$1bkl8H~z4rZ+vTAy6}T|YF$u* z$C@RlgA?RmC}L!Jr$&O1{Hd5ALwHUWpj(k#iJ~U=@MWWt_Lj49Fh&D=u{QIVUO}o( z59cCx%R98swz>E@!%$C6QcsjT)>0S0kl(YXWhOj5j2}!0q^LbbpSIIFIG7_PC6tG< z5U@Nld~BW!PyEfs%~+T4eQx@3?uYo1dB#GJ-Ue#X2% z2O4=i-o?1%jWhz21LH1=9z26S#n_PpI2bqZKF&LiC<-qewqH=dSfqyQ;7IwONbTVZ z524Wn8WUkgu1z<>k{vc!2T3boI!1^&hfs)EPIzNJZ7uu!u1Fnf+<0kWxj7zc zaTU28Omqr|XJG4TtNCE9Zpl}d%nJ%)K5ipr)8TBy(T(ux$RabvpwRl;`JKpb#nRpXYvJ+2V=PH&y2^vW~Km zQN?gj4C~5);=C6nH}F5c_op@DSJ;+PETDRoce!pzbrY9)LJ`gF9@XAUlBIrEY~WNN zpcY)>mXg

1TG2yVWi|7W9FIN%9V2d?Efm2sI7wQ^2@=Ys_TU_UB>cU{}hxASXmQ z)-zIJC-%4j*a74apxGyjMF9QlzyFJs_G~=HDpg(^tl_kKcV6Q#I@&Lui^x|#wH39o zobCV}vhU(1P%Fg9TBLzr9{6e8V9>kC29@7COHbhd@iEI1Z97p0!XX-Qo6qFo$Ffii zconBC4;L6MUR+G_)HC=>3?46I2TV=Pud^s6E^MK#1@N7ij&lyD#9p?2rG^tUfQ=I? zg8hAl6Jqyhysc}tBZ%9f6Q=v);@pGs-Ra- zQS3W2XJ2slOEVgU8RDk5kgYbZtd7Nz4gEhpg%iA1CVZ8R`bk$EAET?r^+`!y1=vpL zmOS#+t#dj0Bg*jOx3I(%Js5{wPxbCNp;(UtzWp6EuWgK|5yl=gE5ZZk5H7W`wx~&1 z@3MqLsITtAPRjb@AjzwpcpM5Z30?G%Ha7T-OMlVHrt5H?%Wdh{!&omKvc8wZ zC_E1TSB8l-zKA3&PSIbP_SO)7LpamNxf3h-RVPGrE6qIp4>vf#6}rX z`u#^3!@g!93F#9qZk18&NvT#EIT{_j(t_IZ0uH|19L>z6% zo92ZpRr8X4MjddtMQzT(F55A_U|XbuJ>vUAvHqQ(yjL}6yp{fr}3ae z<MTdaKj10S&3ony>rA!EP&uyf3wsUSH&lAUdwLMGOcOwFN+-R(}y{W0(*gCA_ z0S6BA2#HX;w2bwA6aoU3mUpwwut?Eq3;k~B{XHT-^T>QR^ubj;ZUM?8;rXRa!Dplj z6VK?lXtUo>0H%w9M>c9DI0c`7XTEsO;(-)XAQT2kk*$zV-PbQnSwPTT_XPP3rn=fg-F8|}+%%%Vn&}zT%=bcSO(8cxS!c}0{%28txANiQi z4+6BpmkEO)c1#o+So)14w|4Z5hSw?@dz2TqSbNH#*Ztg*xVDAhN)16DlkEnyAj)CP7S2)5ZYq4NG0X-Nl+?J|B+sGND=g8Y zxiqmntuB8Xv#by-*Qe78h7Z4o^)Q~Q=R#DzKyr#CzFsW~e>Jsr z>-Z1@*h!q?$#&+Wq0Xn_iz%6{Voj{;P_gWeGeIWSM)(|^8J@7)o5IX3Z@z3k$|b(>j@>HI-?;f>h5)RWy+5a6_xrk2%88j1~T$k zX)IAn$pcQo)G2auEYIL75&tedH%sn1M~BBxSPtiQim3EqY(NfU!I&+%$fT+kC^P z1gTTh8N_cDbXmgTtw$S;sv4D= zn&0i`U%sFo(vuf^8!@c2_T-^bquD^lIor!LuViBJ`HQGOTVASCA%f(O-r<1i0ke>T z$WE}oK1J7=jF{$)eW}5@>+?g8z_twcC~@u^;OQw|N#jFDvON)YdOaXbi`qhN`8I_v zl{#9BC~({_)3?hG$KDhEk#(h-2O8=if5A0@7H;^9qGawRtJ^MHwqA^vZ1fTNmN;|E z6kqD^lN0?49Hs&L8x1?OjI^ztwr4-#;p4Ct;gdAn5ahkf-Hmc0`2iQaJ0}gCf^!>jwvx?o4Ax|$2A(5aLvhKAc znWgY>C=qenn+>5fu}8Xe{0wa3U7FsN@YH0+$c1AaXobX}JImBr+;Ruorujc*ipoRb z^$YeqCJR9e6T$&9rMNQ@8DTSw9S1&mbg4HSM$7dyP3p)U@Q&rXTu=NuttOC&!N$Pe z5fsLc1~+xR_8K`QNv1l-UBg&FY_BYTtYy!GdlGO2ZInZ(N4QWk-}KfaEs)UIC+G`V zhv>Ap;g}7;+VsQ1bGY}1XnPZKQoLZ_zw7-HWP%SaZYQOR50M9!>p-=AD2Cl&H-5oC z3iX{pt)it2)SdfLFd%bv)wS;Vk>plbFCBe<(rX%p;4>}?JF)>)Ht+VgE3WEUFx{E*Iyi4t)$1$9 z{`R=BhGK{!wcVByTgo-asY_*Qe_ByA`}xUOo1WtdUO`*eJRkcCJDaP$WUnO!8~foC zPxz;J-^6(FWR6+1Ut+s)?Q>whN!u~H=T_9xi5z%5zAE4QcDa+U9ztVQWTHHsrh@uy z1jqA1=v<=(=4F1W<>Ohyds?)k4t3rEVWbCvFmaFd*BYjEQItp<2V&!A90JwvATtpq zD(IMQBm5O4rBQWWtf1kov|a>K`xH8K;}Iv+2<%7Pvo&NS%1&@@0&J#Tm>3olO8AA! zby;klrls!52wGqI(W0#wq}W`gim;StfTH1(ecO+l1A%2|)~BwL-KsI92zqmzlAu|p zPV$c)Uq|Qm-;?e<={yg{bT6jd&J=Cg?ZOjeGYHh)f`tooOOj_|bu;7ny`PL8g^s2q zP|U-H@D#o0k~p|}N zLW)+Rz~>X&aO4lm@6!oo;#AiMaSx$c-X1&xGabB@d_I4Yx)RdjL>^@bd~jYnE#!El z*sSGKB605Ut=p8cu)bl3Wu@PN<2<5=Lok%;hO=_5M{z4zHCUx_*Xb<++Xe6%a3U!g z+DLrjTksx z?@Mxdj~1UlGs+IuQRSx4TmE!YwXQNNGry=PRRnybhJ%_FBifEwiKY_yt#1QFxEuGZyGC3;<>D)z2ag0Zu&=@5v80F>~5So!?brt^wTPEU7 zf)__I&C0}sAG9jjBysz}5{;f~9I*+}d$E79^vgdyz*sbgW_AxAF&FB&ROB)=lsP&XLBVuj z-ok>|L6iAN1Uur?dsyjGPJJl&T1^Me&LN?*n(GXP67tIUH0|4}^iR<30?*E(s`TZ` zfIao5cwUrqjJR^JIZd$fCrUV{FPf8sO0M%VU1pOCDHQ{vUGLSP?Aj9N0}c)Njr3Qr zN0LM{2nyQ-7G1zN`9*nPM6LJz9O8NkX6G&P)E{jhl>Twr@J1vUy8T7#V)yiX`B(89 zCuYQAj7^kUelXKoWtn9qUADDRrn4kqei*8~e*Ju$;2#6Kh)%e?#ISByX&r5=xx;Uj zC24B65gSk2wIJlpB)R3Wj!LJ!bLV1mOCN@^5X`+iFshFch%fm#wV8*VP^bGrDmd0+ z6%kZ#>ZM8`kb@JnRG!ML_`N39s$uofE!ya9eynJ_^d7oOd(RCqU&inJD^w5_xZWco zb2WH%cl@s7h{-d~hnQsrzIxszohTTWcJH*-`@6WQ*yFFlRXAiWM+IsN@;$;~RZv;g zUX7`rBE1pBVGpJL=}5lcND?~lC<^>%9K;GzP6H4<3 zrXO@`)s_0`&RpO3fZ-z?)dN#*`>c0fJ~l(Y`qrD&?kB&IBHU6Wos=Qn{-j{MDCVmb zXGIZ*WOh#^@TseKPX5VIk1&WFOXXnt?Ls2xD95U7`b?@BHRmJjfHLiK)E7^6;Zj~9 zLmH~ap;YjP8Q!<3-F=y(8k5n;*^>P2xcW#!)x!XlJC%bx&8H3JmPUhi1jg7BsFO1k}Ieyhci>Gsj1GP%8+#k(r*x*@bh@1&S#D>7LF z6A|w6(KNJVR~u4kUC^4^7-0Hj^+J z_w~kFVGzq>$MZK+4HYkPqYaiRnz&|1USo`HwSZ!I2igFB-zLLW72WVp#uXvr&3fw1 zA6T819&LF`0~j)HMsX=;`R|Qpb~Q&(6|+I}zDV~{+}QI6BL zKswqaZ(o9hrCf?nP3UWgRV>8L&7uVzd3jUwVUBj{MusS%7rv@i+&cI|rG#jDK;B!ZRC5L<#i-mTs093r_+GXL?mmfsw`^p zjwf$4VUp$hu#)YWpw$&?Y&+?k3#Fj$br%XwO@br7!mHq+p&hFwV1t6k;BC@kJ$STV>chRiS0pe z0{G{Ds|anqZXw_McyLPJ2u1iuhG`|>w>h)`I(?)|?JINiQ-d#PVX##LcU;Me_N!{X zYaB8pCQ2ufxrFBi3Tn0E;h+>1z>4uT@>j?z!l!(pTueBW;`-g$376)mb7PTU0*=M69N+`EfP1w9xN`Qvo(c+X$63RGa9WpZ@N zGjo!kyDj5ZnMG+N062A(t(huS*2ELe^BS+J5UAJevnE&C5>z-Fg>xqWI&kQ6MjzT= z?=k@opfe48gWT^#QyUPt;@kShvOG9_A0s>)dcS|D;Z4>b-_<)w_TnUr{2LZMq|l)T zDXL|V67&o*Yg#aTP%R?|%eAMwi@WLonqA}R&522MF3=fLT7R&;)zF3FhbJ8~4U6R6 zLSS*@3ya{+=cy)Qt58PVyJjp7d`?QbcTlOfhgK%)CXVDk8qN0=ImL}*)9P<7@N?qusG2ZX5HZOh_a#{D7{D5^viYdr z->D_bi0wMwAakPdY1_ZD2>4PNZCWu4#s2a|#nlF7ZA@JgCP?mspjk<{U)m;cbG~|& z4ALSMvqcSs$34!iR{9eIK5j6izpeS7aQ%f&`_xM)!H zk2oGY#RRi-@Agqu0c~R<|02(p?pTRaToFQh>6%%u3qi0OL^GW6!A^-;!zo-n{r!_) zG`P>=|5miO^W6cwy?qNzekh?M=`PS94&Y(yF?G702$?Tmf(s^)Q^(21D$SO!PT}v$#(8T-uEF|EzcMB;fGt~wCsn(;5nci>KooxNf2cEX;)|AL*Hm2{8(8TBd5MWH?^?_?dD6ci(4<^a zR+#*7B_AiLCVZ$b*&BAZ_~TgakAbTz*rPV=HdNKs?u%o9Wu{DAR1xyEL$2k_A*p z66HC;K9H*+gcDIiP&uJzV}7T;f#BKZif_yM@QCt=H7Cfmy+Vab4l73_pQ?UD?B7jq zQ+X)owf^JccMdIo)91eZBflrmaGA-2E zsHNub{gKYnpMw(J;$!FZqlvqlL_5)$5|F5g0Mm`N5v;jtM7xBK8&D7lIJ7tG)7A59 z_$g4kH4TdzoFHCrQ*9Sc1bMRjM5sw3;(d$wh+&C(m2(42ml~Kc&8JBZKrRiD(yADz zZP=2HL3-}C8Zz0%Cn;VX&TCuSamNVRh>YH|kV|@0%c=Le;w~JoZ)G-b3mhi+n!W0Ujrx0gd79r%q7Y zpFg@@6`Hh>Al#qo5*$bb^HGN85$cCa{{0m#;5)|y+~yI1Io2hERVr931^X_ZO+l7< zCLb)ieHnEGR^qGsfhk`xFF)AEbO9TxpFJ&h_i`x~sTTDH{nIFj1IZ9w7)3oKPlLnM zi6TlD4Y=k?{(E>bi^Q2Uka7FbCAfJIpS!X%|5w*55XMg8D{MaoI1{1X^^nU0)HO7o zVZD{WL_&>~P~vhDM(5^{3|AIyKpw+_G0C2T?JZ!vqPWvh*uou=atg3+;=svQbYQQ(^XjPvXIoDV?IY^WKw(VY{Xg z=>~TxN8_-*)xBC0i~ysWZ>_v!eH5P0!^=p%>VVJC`)@+jQ#<0M@E&;Wi&IWwxKzg` zFvOu$yGQb@PVj#tc|zxzfQ+rc-g<8b*WvQ8FxmE{-PqVN&qYeVw@=Rw9|%P(@w>30 z(Lgz+60h>7`gYAdZymPXgbbW96J?4gg zJVt%V9_v(oH%2at`-jgvJjW8G$68^0dfld0L{f;Mk`+)<%KC~&uk#m!?^Dxphpc?X z%l@^YBK_h)de-s4Cv-4bv}xThIG8h8K+^qlVt2QC7;wp2_sB{9z^|^;Hfqc?rhU9lOuB;V zV7&%GsfgdBxI-JzksG|ltz2v_TcJ7R&HCE7@7eZ~8-nvp42x&=ZlkLA%qt&eGQky+ z@voKDu|rR*Bxjp(N0wSisV5#P<~qOoRxkM?p&j8*(mK$M?3~XLOI3tvoGO_yw#!!$ zB|g*PCld<$O6>q7P5jQ8277mu?A!joX!)EUZ|cMsUQ5y?BnvfVUAp)(Wkrv6pWKok zZJ(k7BY%NY4vG+yhK-$zDB;B3DygXbK8S6@O4DKgCDSvNBC?eR;poEv19PZ5nOeC` zRUfcP!fpGn9qol>?}f;9^Pj6I8tF&(x=pG;Xz8~v3Zd#~w4zKVKpOpx-xM;3I%JBx zl#cQmCw~9N#Og7rTGKPE$t}AiZo0*_kb6(Pm#=QI`oLuc^RP2!Xbt&@msj;Rlx(-! znG=W*TMZ3mV0nE}0N&FC#$^)EotBLkAnM93iQufPpL9I%`q_T$`VLDQh2J0{sAt!= z#)!UVgF&LXQCRg2<4^i0M#XADBjn^&?~1F_ZG&ji$6wbe`0>ramS?Fx%gtvHBr|7n zARU%HEeQ5>$FK@A8E*0_Ulu&TO#kn)Ox!G_`Eg|8;g){zW_%$S&x4Kmfw( z7E?OE-%%Y^!>(OT9|?}vC-JK%wOVQsN1EX4&u%~2jG zh_np8^8=k+5gLyaSil&WSyQ(Ale#g$ZucZqA>cPJA!po&?J(?PL{iE=9-tndPH|jB z4rpIVS(~fLAHyA7*`X2dS91KNtBYa7;hFqWbLiiom>B%}Jsok3&S8b7>OX$_o*k19 zmBBz1rkqdJqnq`GakR(b3oZr@qrRcj=!IT{|EbRanU5-x2tVE};12=rWKY*roCGSq zO8$~|B>{0-{(fnOX_H_IoJT6sNRlHR7In~z_OqqU z?UOr6?kt$q5LAt(weZIDc2bKXVl1LGRZ@S*y+Z+u+e^yAwTz4g>LR{D5|dc=$i@gN z*>(luSMih(zM}vzXz5>RfV;8>k7lM9Kv%dCor3rcFQc0$TfZ368eO6c5W%;n5&KJD;>lQebJ`TIF6Kw)fbh4ba557icd5V5YXLFAfNV#s_*^iz=x>YBx& z;PP{fcFX69E_LBK9Yq*Dd!>f_HvXn@7>`%u%Tm z!|0hiNM4u*eboIGr_o+75`Hvy9i0MXMAymQlq3-)59;B9dg61jRVr z1ZjdP17_ob)e)0$!Df7@V0R4t&@}YbG7Nem?Cm^4h7bHNZ~&iZkfS)(L}GO9%eV8m zqDa$OWO{GhsQxl%@e6SAVEr&v4=*A4Sc7I=K>K!=njOg$_o$I%#0M?*GiV}oN;;H% ziQMM@!=%9~8CB3vS=kJNi9N1U5gonX^V$8c&}i6AA+*xKmGBfD)!ILkKhW!!+ON9P;^)dEFtIpx#P~N{7+xTB8GP1;t3nrdBuII-Hn1dIV zNLJpbTuM>YiDb6sKgO~5&puT-pBp8xI8zdo`(Q)!g5TLDeRe?w@sk&Ae)Tp!r|h&( z=aeVMby{C)x?*p4ez7YngF4_ns9arCLJkioBHUB;_4*om?Bqu>*@4(-_=x&UQPw`u zSlu-9O5nLTBnUzXzFh6e)#*u9s>4|S8C0~|-=IvxSuf`%x^906bY>61GO_n3Zt?=2 zlTpl9;>W8`4WJ4Myl=w)Xh}UbNG>Nt4=nWjdtC}sF9JUPye-a)&&8#QyOf8SxqYH6 zBXApntVIq_Zw5O6RZ<^N`2aZ>hkn0H5!aR~+0t8j0q&z=`CKLpqw+;FXyQ|Yu6E0a z4+OQ*x$k@UrS*1Z#Q@fpoSTnNtZm8}XAi!CXusoV0Kso&0B2Zdww!VuuTB6wTb4&M z(@7r$5TVxAHw20Iw#s{gpyNuFc9~>pyJV<+dk;`ls8sDvwb7~Vz@@gjQ0k$X z)&g&|J{d((wtj_tg?0qfa94kcOHr>eOOD&A`>d)5G^g!HUqq(P2R)E5V+lFQ71k4> zQ^e>uPq*zb?8m<)ozb@L*J3N`)(@l!N7R7anJQ5jm5Ta)@zEn%4_;?+nM+3`@-U1X zgBU9s()|E*mU3-PU6x;}L8en4dOdwz*7~|54gDOos1AlA?(E8P&1}XyxSwWb7%G8> zs#n8=EC|T0*~p~-+`=Pb5)6#uDBUUTLaA#e7Qb$-?BzFGu+2+!x*`YHza(>f@93H? zs@0vp&7MpTJXD%-WYE*nfvZ1coqJ&=y8_2hNl7WLe}EfAB}1cme%4nz6?nQ#O*8PSP_Knv_D_1=8!se|g33p!TOlkR7P z&27u0AQ*S20*Zb1PQx#XDsB>sDTz)p7?tArK}H9Hb5q;tr%u6Uia2q^*o~Z&Vu{^_ zsIqu!vvO)Jy3>{Y6+#&bia3wd^eml*GRnmjAvcgml50O}y_=Lk9+0T5ERoBIGPWl= z^evS&{;Z?j#d*BCnT1K(`ZfHbdlK;%Y>bl>q`M_OA~kAGxspUX@yTbZ853)4c3$f{ zbL|>Zd~fKQgAVAq@CL2>6Vx=L<<>W<_;G7dpXQgi8ugC!=|S;)A7-Xj_0F{z#ecI7 zQIe&GlNNcIc3?EOGK@z2|JWT@(ihWtl~6}>S-6l9iRNe`JVGAc3`qWz#E!9FQ14Z= zEE6V$c}+K5+RB-a;^z%@BW8by3-i}^4Q|A0@ng#p9{S@6&{hEB^_hb<5_Fkw?TLhj zwX*GUi*hSXPuyv>lIFLvM`OsNjHWi?0zs@BX9`m}7~*~=HxA+^u@OMrZ}Bo{93{QvUXZwyNJ1=am7m?ux{{y%;BSeeK_3I^LVm?P}4g4yr{)jwfBMY+V`RsLrs zlu6=VJ{X><>zme6svw?XqS6RRPSl!mO5)}XF+WeM9o{`ew7Yz_q`p1hS`YtnKMRkt zV&(E_vNysfTvCl|ipA=MH=h+Z3qR{8GgLP=iC*7p@RQ2NS>x+%mY63@3-G`tYSw1hrlRt4>W|iU@ zyH*wWe)np$`PpLSVB?uY;2-}GK|>Nn;Dz*Ezwv#5?HZN8_KqMj2`8ilTB@>jwZkRE zcWNE;gKM<6F&;rP(%)nC0G$hwoZU(nqZD%D)3j|Zs4k2qROl^^z9QixV>n1O|F|$? z77d9Hcr7IJK_HttTv5=Ay>3=P+ec6obs@bOxs*1T*$v5H|3anESBN!I@(YfE_Gk| z-26W7R;xx9bYX=s(&4OR>%De+gsQPS@OJm~z|IUAwN($Z6L(7P8Uqnz?*fjU;_Sfb zz+PBz9XuXw?&xbBc#Y}Cz&3>!jsH;Yi~^M}WNS_@!{`Q8?-&c~r|-I*xE}>}f+R|; zNZ8@8vWg`c260dxaKa6zTv9W(Lj04vHNBSfNA&wfi^}8KxUP{8Z!zsa+ZaiQYk0SBn_H27SQgvdcNJmJb zPGX@OdM%aqC(RDJ%W$s_Ch_ad!3aA`0Q(G$cDmyo-YvB@gj1Ml?{u`-7ssrH%)o3O z+()3kIz=}^OJL^mNiuHP_cPedxcZ0(i-ES`PuB))cn2ECIsyienc*@nJD9pO_^G+g zouFTXfMk?bSAkhdr+KF;AT04hVtAa}Lj;&t1%4r(lMWYZ_e;VIP;x2noiC}Dg#l!u zOA2GiqG>i^nE6d=>culDtVi;jrU1gYPtPy)kU2}aDM`p8!vw4!8=^3$v47cqk>WpW z+2ZZhpr7b9L@~y`g0xxyx(>QVjBD(%>HlKUMbjx}7^pR~M|Ce_{x^ZzxoF|@0YUt- zcunHgLY?ogizgv|VhiSNm7EZJGKC%}#QG#J#iSnim72q7Ipn>kY|u6A3r;$P%zh$+O1lvmo2qGeZV7S-B;=r}!wc?ae3Qc*ugM>dFWcs^m#z>RfexnW^iK!4I7E zboSoh3t#oEL?iSFH>!3nK<8udb&8I;_~ItQ z)vpe}3JDT~aw6umnpErl8NNJtf$&x%b!+ri7$HpNWQDuKJ0-!g)b$Fq=hDTKm1Rck z=kEHi=jHR$PsRO5Cjc(Nyk!zH&>Sh{Fk&*$odqv`gW***`rdZS?%-H!n&4pXN{*RI z~{c?&S#;vPC{7QvjSo}uji{6=`$M>sZ@pn(0(NP)%i5XX7tuX3Rs0cB=`~<-4$t&;%r|X-bgJz6XW=wk&V|GJ7VxH81u|fY=GJqb znl~ticwdK6TC*%O#N+c)w%a8=tI1b}DDZkz8V$@Rgc55CYuDy_2iaOc5F$b~F9#wY z%5?#!I6YYcgU04`;I1Os7oe<*cRD?D`lpEXsj$^JS58?FU$zoPW$(6LD}6%a7Y?O) z9bol0*4i!yT9$-J$fJl`xGvGg4wvw!mZN8Sh?PvY-%a1sEGgLy*Z#w}{|NgMY)pzp zhbMFjowBVMPe_-|Qr?Uj+2f_j&&bz<`i??3DdUE?(mGOK#4U3 zGce>|MFX(H=Ne41+^mdKqj+I%bF(|aH!7H?m{$rBh`fu7Y~UE78uX<$J!K&k+vIB& zmw!NRg@^Nv0oy-o*>RKfNDD#fIRtR8RE!vV=e8h_glu${R-BgDYI$ZWR}kdL?ac({ zUJekb2H@h?F9DcA{*K-%*wIY3rf?<-^o!e95iuBM+b)Mern_sH*gX!$+P!}&IatpW zPWP1Lk4e1@L-sNzO9*w$m?8Z%w(3TOBs$aPnlLl-JZF~A(kjNN%=3a$%3r2=u?J}o zrwF`im`e!RKZ(&7;tCvvk*eG^Co|;|LoN4EG<@!C-|o?4p&{?BJ=ko^k3^F30B2Pr z%p0-|-s7rG!WllcAI#lBp zf)Y??RQJ_lv9n5V*TMcFDaqjN9$O#W{AC#*WWZRvhPCWSTDcaTt_XumI>nn7?&ZAZh30pah%80?L6M4|h=NTT$B+xi^;vfh zHP9@1;pQm%ako88b-jV;U39uu0>QY$L9PC!jx`kJz>BP*BV&AreYwN0MzO79bO-%IXzd5y|Y93z;wVsnXpuSem306 zW*1c%v-k|f+mMsw=E5^7$VdbmTD9|R15tWP6K7}qpc^=wU{y`fPu~+X`I;>3S_woh z)>PA?;lHj1o8qIdxx!rbD>z%)HpBv6hxLFuz_EWHYdMq`kc6z zt&gMkZ>X_-^loR)51WC^{D{+3It3{S>DLx=z-Hh>LWv%NMrv<)FS1VX9j)Uf<@dT6 z?fRO!tI3pmd;7Q)-e1p(9b*GM-~oWSgMwi`t9OLwpr@i;!?C9Vh^M$@+HMft6c>m6 zPl8xEl9;Y2m6oerEOx4!nvn4+(vgifxS<-{i+R) z@oXZfm!27y{6nu#GE-S#G1+7aFFUhS?KQ?=QXZ^ECe=K$`yWH#!R=8UFSkT&l~vk8 zumdC0;?Ecyw_LFvQLZ;~TSwd$uUJS&W!c@9R%C`b0b4J9R=qHN5&pp`V^6l5K)IUh z=G~Rmc0m6YOEj+IT*`GfYZGj0B6`WWKk_1W?GvQ~w->ZrR9mst!Pd{OWq;2_ES94n z43dvz3)7%%TqsqWdHa`E-65hJVQOGKDt>zq-Lb0HeDJm#Y&1(q@S}CKns?;J-GvsU z?icm+UxwIz%mYXR9mP7soe7}SLEOETx9?t9;7u5My@_uqBdtRpTcydAGc`QpesVB> z$e&0Njr*=QKbwp~d4uqO*qb_Yr0=>81%(5LLzLkR$V(@$+LJ8WN)M{!=rs5QIEX*p zYJ$c)7(KZGn6uuNJalq2@y792n&4BU=7bQE8Pp((X{$(y#8?ZTV3)1(WI>-u7t$u4 zbDl~PJv{{izMw-K+2OT<~MBs;z6^b?~%&x1m@Uz+YA@P`uQE zHu0;3&$5g%Yfk^57E-@?nabGkqrs3Y20vWne45wc5Yoc-)EUn$^l`RtssBOetzrAq z+_j|TArKsSY7?GR#Qbf&D{1`>;X*ZaR=Yh1J~zvR=%D z1rDtHG{jVYAwlUtHM`*0udHapN2MHVaM$X)6-E{J0bI&1X9_Rr0cySEBAVeAgiWOBnSQUt) z>|ljs1Mta@dR>nLV%&$4!r^vTm`qMAq%aL@Ifi^^z#FD1DLp|(3A7GLpj8OEtOtD} zB>ze|D!g>$^_xN+T$6cb7ke~WJH7+rbp12F_Y!WZXstcHb}ez8#%116mmRuUjJ{oQ zl*1`qdt39>Lg!PPgMc#N0sfeA)r9y!dp-Y$93xykzxLbh)7H|arrqu&>_>+@0erf% z{+a6SRD?k3h}b zAjHB4I5G%_(VtgnxN`nd^xsKbH^fa}$eigvbG=#@J9OjYv9|zl1y`tKS*D|LTOC8L zLS0)0=Vu}5_rAVr?A)IxL*wTY4=c?Qa zG_&du-2F0_$G>2iDwD?qZSCR^2a(z<208ZMV7mR^FxSwU<}S>*mX6cDjj+tHSwo1n z@6gr81PIU(Xz&x2K81&eBl?p-zM#$_k$z_U+}{H{0byu2$$OgrU=ZYdRhdQ+w<@K& zQUfmtV-sX||6@M5BUm!{l$F}5TFI4|HN={KmKE>Y(_0%0#~cRfx>u2y`s8VCH4K)w z5iy8~$4l`A@~*s>cJ>Q%mGgT@%HVz08SO{QbSKZufocG~B&Eb_Qs}1pR}2(?t&G9! z!=Eu$DU4vVu?zQ2Jx=`Bbu|<3O6WFfHmNDu0D(W`wys{nMgFDOjdZhQVAXaYe}S0e zECoy>&$r%vhA`0-mq~mmrX4@l<2~@nj_fwSi*HGS&$`z zF9Gap7qZYbF^zc>?ZYsB!B0#r|4S&Io%O$^D;XJ>{}ZVEm#$=CU|{&q>;FqvvNHWE zU;gg{MJH-*4ka zjrf@GoOmpJqDmvfV%zBu zF;4&{BBDRk82mtHuuZ@6n1C=_01fcce>cHi^ zTEbRV+gH=l(m20EdijN)$mg-G^gR5MyK@60!~Fv=dA8OdaRsTx;A87;UJ%m&NvtaX zz{q3%qj02oa|_$|Tr@W|{leJQGWCExd-2wcB(4e)~PzK|Cm zbWZ@l@$dK+(k{5Zj;RXs@PX?V*cx3xG%huBxc)h_o_-R%zW}1ie?$-<5bPUT ze-njXb}2u9WgcxW23YZ^7F(X~7F^$NaTZ%$9PEC@tbZKWLs(bfOyFYRej^}2&@e3F4h%r) zeVEJBn&ZQwlb69Q!PoeXky$>=5(}fdu?Bsen}eI9Bb!HkrJ|>+qN9G5w#UX(1eQ0Z zW+2~0o_wwNgzJ1KrTt<6L;>dD0GwEujo%V4YGvPvOg{ddHuZ&9 z{kn`(@XnGa!m^ZN^Fy3NPZ5|Ixi7>Z|NYIX|D7PYF*2tpwFNEunhp4AP3}ofFW&Us z_)ZPyyn|Ps_#IrI64;tTH7n9PF*Ez9t@x4p8UFiQcph9OL+y{p^^hw5Jj>DWWwsWZ zZ}?(r0(h3jzV;*aIv*K=w!#k%4#4%POSvZo`xAL9w*OlPN)KU9Q3hGQ_@&zUWlU^h zZDwd>VhyBcVhDb=xp~>y&*<|6z=Va>7kFNn9PL-*%L3`=zq2uNKM1OKd2|L!-%=m? z-57smg*X2j_7ltw07K|YL<w zUhol<{`%o{N&f=!LFvE1|66MMU+}Ly>wEaO{^^H*U$ian#+?VA@ToC*&o#a4j(zA` z8h*oTNaHnG|El=DZCvAMPrY{Ko%W5`SNR)`NZe_QkTWe`)*kL7c&SktN3} ze_zkMATG}@;l8n9w8UP;(6av8y{WY>^6i1Ur}h#&iUG9tO8B4*N#i}jtM&bTx#mNP`{u#; z-KU|pI=m1Vo#=xp5zQGk11++WR6rXUDPzt zgaD{093|AU&W??rLcS$el^EJErm1X4pbc)6jy8KqDXWPbW4~^TRJ_i`-o=|QAbRo) zN+~madI+EwEylO*8_lM?&y?4r^UQ;ny0cv z6<^LbB4b5XZb(JjWX|$(%Tc)qY-%v3K4P!X<1m0*D0chQnnUR60XAoL6$o<&HenkS zC-^=VYD)%7$)-zLI!&>ZZSu|A14GF!r?F9pSU>1t#x3u%ob7{Y^S{vPiT@!L+T`zm z-~?3~P4v_OyWp~q*t$}>lhjDZ6Am0U67AWKsSG#IkkTm7fcrwN!3xjw4=b^;AHqyp(NiSC5fFa?E*5?qj#Bj^1 zP5s<)o^tNDmaf|rHbpK^qTnpr!0+nOGzXH=FaVY~Z$`#GMRvkSO%VR5={cm!ibfk8 zJkMUax@gz38vu5v>94;j*c-oWMfW`tUdxJ{yBpaG9(1we1&GEiSwOm*C5dV}R#Y2g>AL zoznV2OPzh94T$M!Aa(wkR+sn(MZltNI<86-^+Ik$sQGYPQ=3XB*+CicHXG(5iXyGs z+Rb>H#a8Ck%o*w^9!_AHGsB;zR~D5S-Q{0c`6ehg>D`zwKnfm8S4Ka)b4MOub3Q#Q z05NnNV~At@^HjlVm|*Ok5>uE-%yHuo8l?$wc!s!s3pDz)VN{gV)nd*zX}!2>y!bU&DoH_5kL_~6xSuqkD~}!ESiZ=N(*U5>o|8=Yq~+&MYkxin}edfaPrDoC<=TFql9iHuOQZlRsvxI!O{$Fw?Su;f7; z03YnqOMjB7yWFvt;gkIABg2A}lO!MAvBjh#$}aXiC8^GXd9dExmHAztrP?g!O9=lA zfW~a3TdQJPb_PQu?a#Nws-(s8oZ|~M{S4e?6GD}kI_6VyN?L0M8#RmFACUb++7p-h zCpC~ovtGG0Jl(JkKL{DzvDD$Sqd5Y#OQWui;4QR`hE>6`0QHI|rV>+Lgv z*Htwa7B5KdJDP2K!?2r#>qK*>pDGB+pn@dJug@J-w-%9DuzS}(!OkOsc3fh{u5Kmi z;vkl*Ul&4#%`Q6*25F?;^dIW{odIIH9W5D=4S&JvhViZKDXg^w1JNO{t`7?4Ot3|| zH6D_rnL6pt+*3%4eQAUZ{`|m+PRNCS5Sp_ZZ*EWwCyTqC@{O>kCvCJSqVG0NM89F- z{D=Z5A>ZSSexFfdBG+oNL?SmrNC(}@`2rd5^sPY$g+AMqu$;bIFL40=h1D)AEQ;o- z3z}?s>W24s?aW+q%O4){+|EXA^hKwWBR&(?cc844#c@Kajeh_T5n{KwU$PDlF+G?4gOlC1a?3+f4VZ1&NxIJv{llAvO|>$ zOB)#bNo`@QqrhzsURoj^fhcC@u(8M<#(zZN*kq>d1_L+zT8ZWS-VWkNwR`sTz{qBM1+i-@pB^QUbA6l$U4qvcaFqBZtf$ia~6A zobt~Pp77O+sH~5xO~m?37TWHPz5@FN1&FXRfXAZsRhzo6h=RS-4y=pOe6<7tD+JiT z(fElw#uFEU2`PuLu}p$Fwi&xN*GdR^%DL=aInv&?;{im|?{(hbz5->E(cXa-?4EJ`d4E+9_BN(5Ox8U(G3ut0774szog{rr2x&C>4l)u4Q?4?! zjx$bMRg+TMQe{G(R_+a>Rdw208HC6*D4oy(+=j=J(DEW!mM(`~JHpi|EZ1n*Y4`%7 zx(D57WI0M)R2`y^drPtLw=jII6`8#Jj##H)*8rEQ)%VdTRw_BX%Frv0GsEn!FVOTZ zr1y~LqdscwGZ)L-!>-vw05@H7#%(>j@+$I8+KeKCzTvC*tdj;EBJ=jjj%0jDZf{R7(7m`V?C77Eg-@4Goa1X{@Z!k+=m&4 zAn9rnIV}!_5wbNOTaCq4DH}b@-#FQL5xw)8_qo-mDGs3dA(g7P-Kd^XnWKmHHe^I& zH4Zx$6kKcX<*QBnJl!qp&p8S(WIJUF>l9P9Ux-6UQZ;So(SFH3wd36$d%n_gjsziG z%N@DM1D9A|M3r+Df>Oy|+eq7;;^7{GZiwDt0-;X=XiB=lIyE+*`3M5UB{f^L*!J<#<(=2yX zCBF;{*GQ>zQYs&P<(&KpB%IR53-xu|vh69jk6J#YWzO%@l)2S*I<+gA{OI(=l%<2s z_VH$%UFwNu8%V{(aWvm!(G{eAaV_EWjXtP0paeo!y!J5VtpRHABVa-;K%)8J??S4; zZZKfrRQ2GBK?Qfyyj=MdO4%?1`^6D91DMjgWgd8>dI+)MP0-75Or}G8YpsbI+NU&c z_iPa)SVz&uVlxuftTz#Lz#BSz66!;9yfVEYLaEY@*CdV_w6oD{(C@~`*Fx=)9B}fk&0F*|7{HT_1wE&oYKwzx zQ6A}AW-e~;)>ta0;uYNh&vb6*5@z4&Qn(w$VQPq2lWlUcmZSv{uq!jNk+UvoWxa}W zad_r+cP*k(lX=noZ5@hL#J#N5( zX{%efV}RNFa84sV_YkcQ{b6OXcI?Ro(b%lHm+G24HjlHDl_D`AS9zn9FR{;!K2h{P zvg+hII-o!r^Rd_~zc`uQTTSfv`~%qk#&9_+)8gOxvANYy0+xE}?msySNN8LCRcvQo zsgt+C{P(>iUDi13c}RG~8%gF#R`L?Tr7a6kYoYiNaQg$aCxhdFJ8cy!beQ` zoC975Od2XP4$Ch>ea8$c({5T3B^-NZi>M=a9u-c#zrQsDcgxQI0QP;kf1l!o~TW+f57sFxvWd0Jp6?fX?@o^*|hIEAytMf6AR-`d%tSvr>*#PT0 z^yL?;ZBHVxICU|)&$R}h>`jy$J+37aze0e9h2-NJmKv!*SKH8-^v!Acd=lnK~e;to!OK3#+-Rx3?iTI2r6C!gi`jvz0gEHhQPA0qP4t0ft zjLgoN@krJJ0wcKlHK%T*2S-F2BJn@qFyBh${Cabj(j${g`iS*U$ZPw30e((R#OT2^ z6@bMp2~@{BtZOXB#sw>KDJbvE~=!?yXZc`6HbG zAjqA&??j&!L}@_5Isph#M6Ab^g@i^(@pt#AJI3j+9+J7MmB?Te_lsbJLPv8{51P{b zM?%{eIuJM34-t$r-VjJ421g7y2@U=gT~#KvyOy=M4T#FzIl8xH?<6VEF{h^9efT3P zW!&ldB#-_b%R*zwz^;$_lMlzcXg7D6px2fYh4!4V5rx7nOGI)dr6~Fzdxc{s94{>lERI0EA=hQ8p4~-O zS(@bi2>%-13ziQq2ahLb#w;HcSv2ywUc*-_pM>p1(0PUOqz;kEnYoXv{I$w>ww=Us zAm-pr3Cj&!Rk8`)$iF*UxRPea)Cd9rnik^rS^hW8!(Mj&Krn|0ar5%F?+6n}I&3XW zvej)bF=lO_dwc0*UGg%79_>N_fdXR;b}@1y2n#u`C%%)t1^Z3@s8?rNbc3^LkXAA0lty`LR;q$?#54VGdm9f>P)|stM zRzg#h*m7lW1Po!kB;tB)w>XW*sI02)sHkFRpv66UNUXulBQ=)6EgK4`r}g%3Ih)$} zgCNmehJ_&(YLH*Tdb9tG!~i6f2{k?lUsncr6GGyTlw`vX&NFE0iMLabbi7`^!gerqa_d$ zNVaKPXLmE+xacZywiwEhC&cCGW4U!dEJko(;VlVYn43{!%F!A6);;=Rl}^X8u~Q-> zmL)(NJ(D&5&^{ZwW6<1f>hnt7zMU6!|ToXU^7z4@*y9BhmJ}nW{L-L!7>SE_9Eu4%MT?V?i5?) z{Z;7L2lNw%N9ZG|h#@pa>(oVLN(Ts^gRgT;F&Sil#Wi8Tzk|u**HgiP%8Tr%pl5am zZvlVgkv*dz7k*F~yY0WTPD*1UKfJNV3ThNfX&ti%UW(kH4UWk8J-7YsUR%47ROqY3 z%7Rgs*9^`GbOztmpVer<@-<*8*u5JwD^z>YE)a;rmkz6Id}dE`&R+Fdh|E57?bqbS z+6c(xzK})@&i1+ldvp!nK-YwtOqBI?+-@JUBlC1ovgP|U6Jzkwj>N-0m*k>>O?s%# z3xwN@>sExIFUH*yL{VC>k%ZY_jZQm@8W0Xc&lMND1NBTGqG!j}3u@Pkl{8uxo$`^k zZ_mImlz5l{+?1K&f#>W{dKAvA>hChm<0LdmU~k7Ij~K@kj5GCuwr`OQgw(z?Y`qL= z+ty2g=WsQu>nuXVl%`pzKT%=zVI<2$X50~#g+mW%R$Pb`0qAwVvU2qW^QyAtst1iF z!#gH*5IkFr*}1BtVmz3sYPLKm#DUO~sAuo#2k)l@abYzPv(!u>rJa0Q%~J9mbx~4- zpT^uGW)gGus`NVM@avED=@fiAwjOHul8-$<#K6=p#nE z+GGYvs#ZSG&Ul=ixVh5fdti&+=X6QKJ&eas#gI#d~r&XR) zNX}EKGx78+tpuAaoA4P|4~(0LXJjX9 zAx{8)A?3siC^8*bjOq&6kkkE|kpqPAVAZIBf@LmIQ0tB+H-T+6xJqV>&lwbG_N$kh zh*2R5I;2G}vP@qcj|NriX3XJ^3lbEL%J%s8&F?)WSY?+#ufnOw_`E1oV|nKgtVe5U zYQj|^s#jwwpIa;kl_%(tn)G)@LjqKjn%$x9HR~2x2<)n^le1v4D{W z6;Nf9l=4c3nUP!PBbU6F?WF$n)?D`Vivi)rfNZ?^=ma_w5ev~A6Wr5{8)#+hY*_9V zVb{^m;LkP~q!PI^v0eN@Q!_n2&0DOUso6Vv14%Ohw_Q{4(tg4!Q0rOOVMvQxm#!XW zFGZ$5Wg@FSU=f-KUwl}so2YX{T(*S?r}-NmIocp$ia0)W&ZK+Zx+njp{MCcz;~#DO zD=|dObSgM>GUoRy!P&p9pa@lBmj|`ShakJqbQ`L}*itx6b!IB`R$ntabs1Mn8%eyU z5hH8T576~lrE{SN=%}&{Grk4(wHyz6F&vc|cAPcpX^K6BGqwGrP|f#2m9B>btq^XJ z%#Ao}V_)fdOeVDMiduE~YvFHIv;vh}5ee)7+oOk}z6vrY_!8e8ST}Yz#V$efzE#U7V z!1aw5y6_R$_a5$#n$Dlu2jb`l;FtI{@3hjYYR4F`30|f~S5X$v+ksg4W-@_2;+<{8 zNLHe*!M>GGuUn!nTW<<4(g>7sIK{gNEi7^$|8RfZi}5Y45%^0@7mRpX%MO>PL0nM$ zfIPvTuoQ~JkT>Ry3Z@hdeZzGMFsxW7%)KLR#0(Y40g-SP^IaOmyQ|iGZh8YaDO5MG z81APivZM9}^URzsb2}}C8{4^`42}eK@PmF%>;}n9(|zs>XtFt_rXX_X(U0o( zbs#beajevfcyOtwvT^Wx&+3U|e`xfc*EN;;kQx@2kwN+F&|1benocJGHZJ$ZdpgH$ zByIjFnp4^#y`gz(C=zw)%HLLaID{Sr1s`t$_%n_8{kmJ$ig?mnJ?b^LaB|ye3A&b&d3>`8>h? z)kFt#X!4R+`1rXPQ}p|i=0&Ot8QL+ptqcR={POhvJAIa;Z_oS0YI4UldQTA!IfkV0 z&bfMYlW2);j*%<6Me@U3wRA{itN+oXQ(`$Sje7)*g`w`1GZ0)Nn%HWKsFa6|nh6F> ziw+oAS;@(c)~qO(w_yC7HrE}U18ZLEs)>Ik&L(~fwE)-hcr3UW(tra*+9eu|fZN&U zbMKyQL8Y0!2bc{Z+4Q^uR3G|IN$75-Eh470PDw=|3rQq2I4{M%xT;la_sSx_L~y2X zrj=&~`ua`FmObT__nhZhcn`6g`_6hfZ3nxsZ{@BpRD)mIcB3vI4wD6hhl+6|Wvf+1 zX|T2^)27_Jg{uo*f&;%p;~`6UlN&AASu1_eoX52UGiIso@3h2r%1naVI)aRI*ZI`c zDm#WLp(j^1MdBhrIvHMKS_=AND6{uyoM(?m1td$F-v@~;z#qjUq5i?3s$GfE&c=zr z$iNNz0Cv~W0E}DzDalA3j?AG5!f#kl$nfQ4YeRVRQFo3JnpnQI^hmf#X|?W-DM#>S zXPE%n&5s^oGX{(!NL8%kpBBiayLy9S z@9WLSA3d16eLuWL7vX#-!w5MZYgSocwFL)Yp%~ARjW^u3Oe_BC&*n_7?JAs+voVyG zP5T@-vx9uk%_F%%Bg<8vyckYFIMuz9e?w!t@oL(Khr9PBvM8$`SN{5iz%@DTUDGL{ zOgsA%^5)eRU8WpYcbjrZg()3 zd7C+5AT6_sjaBTpANF#ryHhy$)l?x7!eGdUT0nwO$ zvM4tImbhh}w;9toUaD$`o*9&bdMX$@+?Tk^Fsh$Ng6U;5B=0fdzevU*$;n5;6L+hy>fp9v+U4q?I zp!X~zQJKf4f|PHMhpG7fo`kQ6`Mlz95*H(dE>y$yy3|8r22(s=QHKKmrKjUlzA+0M z6b1ST7tW9now+Vb`nfoKaa1c*aM;QiZmV_L^9snC>Md#POyS{g!-d1?R`JQTHb-bm z>8VIqBy2Wx`nRJFWGN99yS(x{gWRijr(+3 zrAu8m{be41u!2P|NC4hf3%pn!6ltif(J^FO3+pfty>;%BN9p5))5zjBAnuU+dQ%kg zNY9kxDc|nb0e9CC;tYbNp)q*nrlAyhL}@vVsB2^lV!6>BuL^q2NOg8 ztAqo|VO_OsbVu^wgR$Ba1?w6zT?wi@eR#!ZE_8=RlJSnYqn&FvTL>I@cz&kY)3=EU zM31vMk2w|LF(l`YS65@RvoYhL(=im|XVDNrJqDw^?mi!01-`wAbTV@R769rfVe2dQmelsPMk!A=#X5KYXF%^yWT1yI|cTxt&dP zM*;{lEB^PxY#?8~m{7e1c%{P^yQ5tO+umF~o&Qy&WH4B_}HOrFCW%LM2 zY~-AyDf7{V1wxS3C6!AWRJ=<&Mt^uoVHkdeV>W6rc$Rsq4l!n4kwq z$jjxY?p^<`z_Bz&!2mdPaq8a2aQ?$Ud{0!>ndH>VRuUEPJ$AtAi*ITvb{xLCoBznn z#Jk7!`3$%v)`(-iftwCZvIDQdqt3aa* z#onp;G0Qqz1x04vE{bW2b87qE0Vv?Q>vD(Qp+?DSn#t7Ghawpk&q}a*x2nb7Qwt51 zYxc5Ry6DRK8O3WH2sRC-#_gU3YWTsDaCa(+cMLMESjeupKS#h zN5~9l^^uYGaLl}z=+{wD-i-ta=+}^mkn9Omo&!AHzJH}?H~zbhSE6j+3@9=gQNpTw z1xyqd+>BbQU1RV0%3C+M#g`(BgmThI_8(Vbgy4Ow)|(NJdrhB!x6<%J-HU>WvQu># zH8{(V_Ux$+GHsi=wDDqXmz>w^bNGR5S2kne0;gddkjv6>$iwZ)9Q(QE*;n+2Mi!+u zeLlG;P&6c_svdkIKF(P_;k7l=Jp?3<`}XH zqwbdr9A3O7%0gg9Datzhiz2LKWlGvA0YU8d*+at;p~_c8lrKhB_Fj}}**God;GZkH zGI4M?iTAS2e|41)K}~ekV`T=|HYNMI2GIe7ACiKb>5>+RoA&6yTVevD&~mGoB=^Xq zqIhxCz12-$uA);W<=H&-l*DeZ2_>Y`;ee3sY?!XZFt1R2D(C@k!}&CDg0}%vJ>0n! z#CMPT0yK9N0~x3q7b50X##+sF2t~c>&v<{*1@0=ogx7@UgsQ#jDfPCJcxuC#bHfrM z$rQEtwdZ6xhMr52aAr7?ZzJhxlckzro)S$Z9o`KBBy= zyzT@qFRjAPQiH4I{b1)%5-Z z3V0<8o?h?Vg z!Y#f~R47j1*-x0x0z1R;$(le+?&##D0sWcKRHn?Wlb12blrqh2o~YLt4RSAa2*Ctv zAdcr{Ib&wXRnP+m69#=gG^32iR91VEt3x<$*=xQi3r+jP28n7d>o6^B6^h6EIZn5L zyn-K$@>m)K-N2)g!hFcqy;oEV{wlHN&cX?j`&o^LHC`gXUvBK^8nVxdrbiav=P9iP zyQxWl)>z+v^zG&vmb5+|Sy*<7*Ika}e0qRLdm#6j{qoP{5S#*HA)Qs;#*gfYb|O4K zgp3z^}B`S!ZqLM^1{Y&uT5xVWnsUu@`d*3Pc7eifLik>3ep9MB}vc+p*bHeRp-qI6wm zF<~!ns$vXD=Gs#;FR#kI1^rHn-;nBx-d*fvl;pU{bb4)LZL50xTnwaLiNaI3M1kX6 z0q=_(ty8UP&O`SjGl3RkDfCRZ?Wk%^=h>dC6wZv!c7&NvZyE^vC2goFLM~0@hFOHs};e5*%>t13P9H~ zPMEFQ(bt7Uz%Lp-Hng7XDm*tpXfAQ445{q9Gm?vz(KmvWN`futRPNRBZTB~Y;<_L& z;D_StfFE`-QxxY3E6#4`toeSD2+uyXAD{}C$u6sYDiTI4Ce@qlzJrqJXGs)$h;y2U zB(^Bv{@6D#OLrdApN(t;`z1{q{Ar8?PqJ&8@Ht_OMydEo6Lv+SW{?|b=8BiCT2Zm5 ziTFn0$-Qi8FfdUCf=Wy3)`)Z$>hV#!DSe57^QH3=r$5keD3uGp3O(4|{p9t;I_ZNV zCW_RO*6&r|h> zW+O=d8AEqq{7pWfKs{S1JY`l2=#K65pO^04R+wKbQF91!$^9h8HppMp3vvaL94Pgz z6_X(0OApjq2XddZhAuti%Kzh@=@7*ca0b3Gjkf{8$mI{T6m%d=-yb3woqg@K?DJ;` zK^Xnum(xyVHZNQnSHwJ{+5jrv6q9|ds^232B|>H`3wLgub!pRiytPdR1bKc0e%_n5 zP8G#!(lxE|yQ}vG`c-1oHJJ6#U`bbGeUcJTEPVK+6F~_W+Esx>?IbT`6FHJB4*tA%B$uE#I-RQKREQ`EG+#Og+OI#a>ISyzwC z2E?N@=HEcqo88^(qiW$cALJI;xK{=gRnzUk@6D%ZPUkE!3lt7br-1JP|g&qDD0PgC<8uChk-05v98!x5%6p~^)yI&4W<5|1TJ;qM6==}Q5z zNq-b*MT@Y8V%@a#EP|#7QXW#jZcOZ!e{JbH++{a(s&841U{tHW8c#l-ouN6ei>nE| zm95xwZ>b6K?=F%*w=dObFaQRp2cx&$ZjrD23()`2PEzcl(#kxUa=4z0e87oBu0@xd zZSOg`@VXd)2~+)!&8k7$rbMUs>HxiuS;JdwD|3%c>cYmT4}tI-DR)!pA&|7`wBljL z%S>WhjtFI2&&ubf)IP_E@v&!p;VOh0_b;6i=#l`AQaJ=$*i`Sl$Km=OxXASO;6F8V zy)|n!<*+qDN%#SvW)6M%4Eo|{DiF390uqTyPK~0fX_1N?a}eZTchqWAMW6};79q3v zt>m%RYcI)h^)*8^?ZIT>$LTy|7f-QU9VR8*7F7@AiEUvGzQdfQjqOO`%)>C=!#)D$ zE-isijlR;4{y!=16O=prIlKO@{A~H%F1&4l1DRo8n|NBggyEpKYA}?9(LSV)_p0o_ z3#+1tvwaPyGpn+LFLD680WMX}SzxR=b?SeaC>I}dpuG4}jDX|!PvVZQP-?)ehH>TX z14A6nK0#_?b^x(~$ybY&)cgeU#kM`=b-OTh{)*c8lbHEtwwhPkWFkgVB!DeZpV7S= zaoQ5nFzExUH1nhmL)|=Pz~+rJ6x#_kw#O zqn(Ey(h7~`76TG8uO&F_Lk}lvyuvo(;a=3K%S0+f@@G|;rQk8T0s`~FW2gZLF3aP9 z(a-=YmZv8w$F6hJ(_m0_nXuS7#GwOUg!P;6q&@>Tmma z!pS{Xk%ecD?V=oiV_{{|JM@g~V&3qouP$puUeycE5UBo(Jr>yl4S{EGdqW^|M@dut zP#-GMweW}qNr>JqvLMO!2QE$ z`l14(Wz>@KbcKWd!%~tPY_=z}^GYeZsDM?x9Nb)gQyB0Aatye>@r4%cL9*D4^$c~- zai}sr#yTtdzzq-HGbNMMHzkihikPu$zRnEQ^aw(-_Q<8SoM<3sw`>SjQ=w^yb7>|1 zB^mRxY(6@yg8x#Vp<(q2D-95WrKNAxhaj@>j#0NtDW@%yR)qZfM)WY_lm{i5 z#km7yeOec>WC);xyb^fNNf(AgJj`*o>`z3Ai(^%~{i5n5fN)Bypm>HE+9@0j2%YM! zvw3h4D9H~iPzzl-Y>73#e?C0RuJ+xN8p)1}D)GHCxq8~KJ&&@Zv?q=MF^>xGTVzh} zQT+U&sfe;Hg~pJlid>8xN>*^2g76HDaz?;Aj#PE92UfZ59lWiuL<>n8q_FV!$%<$N z=XDA55+-k!L4E-TS4C{T2=q?-CLt-A+3;dKs`=0+R)x1yQA7GP`($$l$}~R6$>gyB z4H~mU(kgJp$R<{uj9|cOLIFlD9O@@FO!x^KDL`(!D$jkEZ&>EqAp+41wJMo5fr5-~ z$ZA{I8`r3lhg#&f7kzxgc;h$Cx5(3kI=fo?N4y-UkUjR&C6z?zR~+sT;BB(tKa!%n ziO!&AMW|K817I03yY+{&ERFi?Cc*)#WCn_o;8TQ-BfeVjKvt_+a z*<_2R-C>Kg@h|EL+xoz<+hRM#owS+!UjgZF!%U0bgq^5ZoRAlg67Mz1g z+ja_+6?c&!1tmc$cwCvs7m)nWp2tBYmA*e))VOA0w1N-ui z=f>BVviBXt!ZoUIjl7nLAiFcwC`sQ%A!{F%+Up~7J&b#B!sIE=k8el5j!(-f5n>0fTaduGV%p~C?!CAQOkNO_jRmvRU zZjgCZcpjoEtwnu?JO4QL_gC24!!MZ>spZTxwM;iXrl_tul?)|7KRsVd=Ay zge=jHWcfP9?{QwoxRvZR_r0y~SFrH(tCR)zZ@ z@lmApzhiA92%3*$gz#oJc?JvV^kyspVvqDuJE#(AF9wEHb6Bdh>DD9RVsi+`dcrW* zpB46>bmyrk$8Eis2!SS=ZvWBpexSP}mDzey$+%9R#sK{;l$m*HoZbRs>l49vBqK1x zLQ_ly!l36CAH5^xKwlnm$HhvVRNTNJCn(~nKtpgoY})b~YNmAJi)1#RB;03yCTqSm zO1yca6j$l9vYLkYaBqMi#Dm@A0KM>te#LtU(w2>u@5fGbSmZ>;t=$XItFdf1m|c=J zXPN*%q|^9&Fx{X4f%(Xx0UrnHd86wbX00E>$SOD~7m(C`LBb*xo8w%#(&9|9V>tPJ zNiiD~wc^sb3UwO-U;2Y`fr=8QTUmmfmP0r*BKw&Am|XY}uU##;q$CdZn<_J(fSQY5 zgHg^x%Wl;5fj(a#?r>JQ;HW23+8t-2rN@%i;&LK)+Fu3kZoFe@Jc)%=c~c^?ADTdz zY1c-w0-+PU1>YL5(UD8Xo|>bRc0A)iNfoPb zJ8t0-V;5HIU=hc{hy!VM*Nfo!1td|)_b2v@?n?JVKQ2I=slYb(zW8dnD&>GY+Lury zuJ?wdp{O}pNH%un<_oG)6Op#hre>Z(`iMcJWi}eb<12c=dMK-b&kS5c5_4D^`PQ)w zf*a={h$APo*I`Grr6wDhOxa;k!xd}M(*p+=6`%@WSxz~tIrg+wvkWdquX`%ME;y;2 z*#QOO?dnYapc3I`rK>^5-)BJ1&9ypkX>PjsV|5Q&POrj%ZAR9)S`sG+Ok2c+HW5;H z_hl;|dQ(%zV#nRY;ht8ip6oA5bc3P4+m76XKHC13VzksJk6*b^gB?isIo-jnVXYdtpVQ|Zm1cR-?OtK zB|3Nr)rwj#a7B{gRQaK(MXqD!o+Is1+iQdT5xXQlK~1({+rLTQN$=&v>q;Qkk_nh6 zXl_l|cBA9=ET=C{ySj;MIC!TG`MN(9{v#_6y~C_m-lW$@E~?V?+3crWoAdurHxkN$ zG?Bi4&cxCOa91ADdx)D+)Cm}t{sIo*QN$0i)GNIh7gyMqfigGW=J9yKKHpd%{o*Le z8??Wz1v&SKyQE)7BE3veLz3v>C%BBUr5KIyzyY7xp#is{Z>==A4iT3M4z3g0=PD7G zw{!S5@iP0N;Dj~Kux&eRUDG`cB*N!{jg)W z)cM?;{7|YtI@8TWu(MWhr62q~54zctE=(GHtYCfc-#pN$rKYYtanNk7 z_fo+GwA4y2lZ{IYp@9ENi7ycgOk|Wu2U-eD+h0BN*g4HfdT|sGv8+OxydRd=C6`i2 z!eq&b;ntUW6EdwmtkK(9ZIrc!Q#nYxX>Kw;>8t4hrSJaa=@{^*s zq+UNzqNIO9AvX^b{3-fDP~bXY%BIQv7N9jnU1-Yp!(?VPA zK{l!%uEf)B?WD4U&Fwe?Lx}3z3<`vGDW1;Cz;1Em{zzvA!TTS^&LKFnuxr<`ZFg+j zPDdT9W7~G#7#-WTZQHhO+sU8ruk%%%!5N&%Q+wAMJhQ#4)>`*XNJYpC@USrh z4AXQ=@5frl!)aXg_m0RN@GJP?ocNyH<;lX&UXjA2?MJFq_f#Y8a1@XJK91en>cj&8 zr%CmEzB0wHyUpMy6cVYC#E20P6lzCn!#QR_dpl>>R@tWq`TgXo@0xhrHDK4XAEmE$ z3XS2h_2kl>x+bNT82xmANFXMK6?R<+S9lHfNf}!$TD^}u6=|9p$wdP_KXyNi#=&)s zi~m9##RPTlT4(aZE8o_dNl2L#n2p`A6!SN)%b>k=WXT~#JVjx4$S60%#r$S2!^vKDV9pH8!v2_@vHDGpwHBDR=7*cTj6Gs$F+tZ$)r;G{cwpHyMJ^WlIme1a*IsA8fmni3;xQ%W=N?`adp~r z=DqsJ!dt8`%{?JL4OHDbwCpzA5P`1F38IJ9^VKh27%NLqKp)_bp@Q7aRDqaH!2wC= zlN#RwX=hq~+$|_hjrdzdN<$J)XJC9PYM@zgpR%s@McpQ@m2|o`_I;AAI;X;cr<1+h zAPFlzkM6A9Z%r?mN9vx8FIE;9JbB?rb}duDt@a@kV*!J^HN1f<^OQsN!VVEwUEcJ^ zgb9P3&j8zC4roDU-D|Adi_+RC%az1crwdTY5q7j7lRf1YbpLa9PbWG&jl4N*{|ki| z`}h2yt*<}K&zYB&cVB~6>4~AFZ)^T2962yran~ksDfHF(n|={FjTERHbJzRM+t6;i zl{>cI*Bl2b1>R@QtB-l5@P^Rmf}L+=2ig6VtHW;;f$S)H5Jc&bDw*h-*pB!X2zOPZ zKH5x3UA7MPoH)i!5*hox#}ZP3x#c|Pl-iW(CYMIWlkQ2DI`L0Zc#s-#2;b;=>cgex zqcvEV)+ZM-K9O1e@yO~LXr~f@^4tfCHYI%LU=3?urvy8AO=C2Fy|-%<$a?5|&fpxVc;Z}C4isiauk$rGqojD*&XoPp;}N<6b57WW8sx$%tVW=~ z+WHx+xXJ?`fkf$s01X!0gBF=mAw#{dfbWK@YD$y7RWg8n4Ip~ z6ayUo9Q)Ea6x>`nzk&4bz=8Rn9Y+lG7umk#ycOdlI<)dh9}%lJlSLxaVNyZ#?c_XW z{?)_qrNhZSF`h?M{h#_h210YtS(9F+qTZuTOxKuuiic&n!PfL)V%$a<*K2%xYTYh0ohX(8ty&Xkq)EViGW)$Qonc)v&RMl)&uNvd|05 zK;qUrTb39D#^n?*ckbzual* zsdrCi1u_-mlu8?C-!N9%$$6mLhA9a&dabIjbZnTw)kQ{)5^>OA5YBYD z!J4+RIh-_hB;!7iwZG)r1|*CxeQ1q(k%;?wOh&}ZYRfdKY?jsDKnFGXq1+5&@ql?x zFq~>r#@!PpY;bbrl4mWR=6z#4xYUQ~KDH~@7s|&Pz(nr?_2@4-n-`qN(UQ7m0yur*#H`a0XYb=DYe!e^64z0DSaQ4&z z8|hM$e(qQS5~>XYzY=@w!*ZU0mi8B&d1{q-jO59m{R!z=dh9~uzs{EkoU!LO?8n3t z??zBk#>vV{`Nsdwv9pVL);%`N?UbpA9gEB4E*IW9IF7sK8;EGbYScY6#U)nJ0NLZc zpqv;g&#aHAJbnKN6LO|&DyZ4fP?o6tb(H4wjdC3cTj%k$lIe>L;lWsgO1X}Aq^{hy z&caI=G?kukoGnuN7h5*VCvU(U@T|Dd2=ykBH|8pidx1C&waQq>!mb6g2;5=SaZ%O2 zO(>{dpuX3&Pk~b7tPinX;5}RH8Y9(D7i{(WCWZ=Bmi4C0#B{uU9gO31P1jLc$3yT- zj1<|ADT28Ca3pCPH{8*%G{EWU-t$bmRdfg&0yQHROO_@yY+jh+Mg!D1ksp3ch?mFI6C+4J<3EA^=%K&n*W3xTvzt5x(XrNIZMF=z%Bw&;wZfrs2p-{xBK|LptZzF&=PR0ZKJ|H-Kr z+LKq73{WhCke{>mC}Q;el80ryG|PBFZox=4*JWnb3-`efM({)^wn6v*^zTeS3rGi0 z4)&29{JxP;nF$iC_M{!ky`@oi|h#I`oVX+NCJy`M8EOGunOrL-mG5oM#UKk??0PUT(jIN?>YQ zS_3L5L=>vfvS0WnHC+45H=wVxb-;)Kp}Go7;7}b1*C@DmV zDgO=@e05>W&9NN1A1}0x__LF}HEJtZXXDH=D~N>ypb6XWfre3kq*3;Y14SCKWrxFs^Rv% zo{s)$T6tf#F)nx`>K3Ncpn|!vrm72Llq(uSn>U#9Kz4QJGc9aaw0La?6_2N`Bn6a!Bm6q)eEjF|lYAyFGkj3tskbLP5_~ zj>f^d=p;H8z_nAB%?Cy_Vtd6&AY^Vuxmt^R_wiN{w6N>-|EpIVXh})TEMm$G3?3#+ z;9?LW&qG-ol*ZlDW=nz!@lYZg$=Vd%@Es{hp&p_uIl4I@$;Ho39Cb)SmeI&X#7Gc# z9|pe))pfvSFh(x4+T3zVH@PwHq8F;NVMS}vost<%+22y^wPGWlRU*D9++ML`rU7#D z@q_e_X^`b8WKew5+Y_UBgi^_UX7a_ghPv1k_mJt@D-Y5K0m(O?V3^$@4@zgn(E?Ko= zkh758M6%dv`=iJ!fqtS<&wLK-a17n|2UVpC&$ZWr(G)QR+*8?65*1cROcQ2CR*J-g z9kP1La@G1s*E>~t%E6@9!Rsdwh}q}H10Gr&f-d>6J8p@wjWXdUVyLbx%1IQfeN;qR z0z|YT(DRp?2w4#t7^{L09WF$^_yQ867fJrpj`QCJ)tYhB%HxHu9wQM~+`9o3o97Zj zJ!gt*-Csz7Lv%UroY}8uxs6jRJXsQftdDgQX$d$9dqG)4pIJedoPge@njY6uG0nc2 zF$DPWUGK(aw=U)Yk2isFq{ydTJ(XV*{!ZJ=Y@D+Y)PrneQ>6MdERi3y5q&n*mSDdf z-xCOb5(PInY@Ra`Hu^lC#myW6mOE7sw>T!-V>E5jzZSL$P>|qb9-J$Y$LoQO>&j(% zaYp@qq2T>qJ;>J=AeIr#b?t3K_nyK?T&6l~OZ!w`UpvEw&?vPSt*>Ut-|42uQ54bG zCl55{Y*JV_93?kPmPrm~W|X$EzozHOzj5DXOF+h0%3C^b6Y0<*T~rCVb?aZC^vP-% zr`-mL^pb{Sp^2K0I*O*Hr%8aD+rM{u(upFzb&$ZL8t_WbG6zPKUITPB#Pf)h& z^CaSw08jXADH$uXth*#c52zJT&(o3IKBHNsBF+nGZTMip{zC%H=9-8$7(+T@JUN?VT>JV9C!1nHbkOM%_F{_jhiMJl9@OQ;1aa3omZ#>WEfJ9ItNPrbd@ zhBKLLomr_m7M`$)3-a>XO7&iif}9(p1fc>%zVqZl#OG5pKUUc@FsrrU=DEP_oTnrM zG!a??yGm5v#RnC{SD&X>G&M+teWN=T>To#A|D3>GSgubXqM3qC6q{Dc8W67wLkCl^ zLx)zHH$J4>hYP`z!X>qSSVgniNvAP!`z+|^6W=8GHlpxCnDRY0g{)#8d<~_BXMqt4aU%XLqzBPkc-VVc<>VM0PNDSd8t(bfFg?#(PQCKv4d~Dq@x;ePA7=b{ zuSU^QTKA|=pgHn#^QYP7I>^lf!6u!`SLUb41g`w%W_QGKiM=ZBYqyK;XXSd*8Vmw` zMxgH05NLQ}c>t+9B|ccN^x*o`=7dVUC3ivsmF3PGv{3sF=?6hbJVdUEI>KaRBhWXU zn33hbhf$(4sOkCaz8}gqUVmFa!%01Y7FjhY(SFiu%Et@=T}xdYWW3|1#k8{(6#G5f z)$?`10hHD8se$(OMTtac>RrdkqLP0xc?jV9>mOR*YNaHexq0-P>uLHbm>hB$t+qC< zoC~;?xkv=8%4xy5H4orq!;flx7+`qEgu(b0at6&PqlbJ?47)6$(*#=0;)nEY3oHRP zLqS^55XfARl^^ycWQwoV{={rvT$ViD;5>mtB(`3!Pn&NmMcLul+4-*7Oow9`0~c}} zbZ0n41=;&;eH?rv4x`F)FhuW5dK*#errPD43E-ZNtQn?)3cBz}#2Z3lL5UyS_-S)OO$j!3*AC_@f!N*%2RTN9YKOdi3A!kWV*&WGlepom zB}|H9!jkGq4N2MCKR+svq=r0lYeH6lNapMbV05U4%i)tNcvjt$Y_)F2^zh(dqZ3!V zY$(96?Yk46_QY7&f*0&dl&2tFa}K%cExsq+>RP^~;LDM)gNSO51CmYCP2aVqrF2PT zDk3=SHXW?j4U7CKf_ctdfiC_9e`SF~V_{D#b;sJbXpX7H@ooz)u5ic6oU%Z~Ph;rB z;npQMTBP5pN4Zb@3Yacx(KkyAOUn&yyq>B~6*vs~<8{(4X5+uPlip5$AzWzVBe!fvgqjY!N2VsE3pmT_^Q~P#a%;KYnB=q{D`>ufw=Q)Ct(#q z&095kMvMbS!F-vp6>S-?LKM(`jZau1xeMj<8|BY2p#ehTUCy3O8U8WsUoz!~WUv>? z5Bye%6t>!X0sP{NT$Gt%8;b`a&iN?vW~^Q=p_ly?)H4{_5PqruHjleHS;xs3xeIrK zkNiwUaZ&pZ8|Y%mBfQvgMMIjgWVTV0#qhTDWKnY@Dn)0UKI3lU`2?!zT6e;Z4i?E} z&=WZ+2d_jRa+Sx9D1~>SVu=I1m}xrQcngQiJS%<2hC|xWKi4nZX-%BvDL7kYSlYuT z3+r<~zQoHCUZ(^OK0ZPvw#J7W)L}w8(7F2X(KLJ6W>Q8Fn{3-=^J*jID<*{w98*?Q z7{RAYs$?1)%-oJEl^X3IgoMonE{N=L1i95IB|Td9-zPF_Fv{gi2$dWPKaCl{x+3BP zaiab*CAqq%;@EyA{~2iPZv)v2o~-U{?3E?Xwi5_ymzDHK78s(d{(iTiK-BPjh6KWi z&zt_dAH5u@luX21N*>Y=`lp79jYh+$FwfC%9QWo_L*+T@Z-c%lnJ?H=qJVZ}cKUI+ zLGQYyl&f@#Ox!TvjF3h4S3e2rbD5h2bb~b;6<5a&>hXHW?1QNQ)M2EO_R;9ZNw3h! z3zJ@gT|gu*%i6+qT7X~ner#82c75maSKdl>U(GaPhv~?l4!H{y;>A!xtS)h}T_yrA znIXWN!Gwyc{d?gwr#_nO6@?q6!>rlP67Oufk*(bb-@cq0$$|%HhDka-1DH<3O}1^O zN~=zAf-2Tm2}FqZA^S^ZM)Bg*kd{_Q*FjTNJozb4xKj|^FUeHsf0sKVXhh!0Jj!xR zHf9Y0VuR3o7Rpi*eRfYiVl4L#9LYp%F3W);X4964__XRh+*FwE=TA!l+Jq@IK$?1Q)r`6m$_iBTHd;PlT;XtMbqM#@ku86P`5d~1@HFUvm zUQzr2MA-i{e^|KV(zeyxx5&$?Zf?C|e;^!TU!Rf=a6^)1)_B_05!A!FG@a->C~Acx zA+D;>olDnVYUXdDe0aP+Ru&YOf~=jS==cbK{7mwhBE@SR7J5B8_9yRaO)rAPoqySh z8MZA{3}`LOTEgm&Q2Q1JfdjNqY&}W3($^2)!m~VYl?*Ry5@7(w%xB>M&5|jxDR__- zrn4_m4J=U;`*{xJO3HYns;A0p9Mc(Vmz|2S?6%$A+BsH}IMNwmC8BI~`mUYj7ywQk zbdRtuAy{`eNeXymoHB@d^O5E~mHNWZ*vzKeJDj|@YeVRML=?R!ONOiIJEKOLV*^VK z43wba^zv}=2D+UpbrV~lP!&%G-czT12Xc3#GT&O8CZYc&P>Bu#Wn`T)O}V&wAuhN9 zJ77L>kD}(lmL}ST*~=H>fla+;c;y)tia+DImV$U{`9kwJQ zPr#@@3a?>veF9{T1-m zl89LbY<;uyxd1_On9OPkdMY~`0tddE$=2^u6xCcIyxG;od}YwjSSRi6iZ~}&fb=?g zF$xmx8vo=+k+S_J3c0TI1Sda`vcjW_F=2%}`(S1jg)WN$`R|YddDYBhkLnN0Zif&+ z9P^D>@kP~r&N*1N;~#lNYW3Qy*g<=`D-k?I3m?77{R}^1sj3)nfIN>ukt)(Er^r7= zy+FoJq%6U|r7k$z2^ioeho6P$3uxJ4{Pye^sC0WzDg0yfgTBX(rf-eXtVn?>k5~pV z*@=k_IfP$((d9xob*Fr2+>_-?6p^;<;HSFA5Et8$ey>D9Va(Tr6New=?7vL~ETSni z!>RKnKo@Ecq25$7Ra;N{Vnc%`?F9v_8R;0*+Fj!{#@6l86)A9b1rJJcbf1C8GK&^} zgH8q3(tILMYVG72%VzBYqwmAjz}H2VXNgg9G=arpP{dQCcM@GXTv}aCkUT~{Jk4JN z(d%V7HH3%YA!TJ8O1FQOYSyEzn$7hy?9&2Nx+Ag%W*fu-)dh~(*}m5VSk$|S#@5^0 zyR4+AB5|W$VVUuz9-cc{V*CR!Y-AhIVT7?Em%>-gSB4>e>PvvLgfjYG!Xt4LIBd=< zvpkM4V;dX$4x0#+WvIFI=6DSZbq49I@|tyM*je_~ha2Y2RkA5J0M`|5awXX7F?sW% ziYn6$)Tq;~waNs$g%C7x9$F@Fs->(NDKmdql7}5}B9_-w zVwL9DQtx|(-f`V>HbI`3F(e6xs@~gRV96QVnMRUkvKfLx8{G2i)6W7|Z+ZRkHJi7a zz83TW!KAajo_+y;fC4BF!sH~WS-k4l1$HG^7F>zB5?#W16s%^Q8cs4cf)VG>SnxQw zV>({m2Md0YLUD4Pw%KWzl~NFzm#`dipD@w_kqj-hVV;^laBr1UnuT^TTtuHLP6w2a zHW585)Vs8CqNRgDOcA13(f#f*fL;eMVXEF;N6=nf~H#DONJMHEvKtMcM(1wK7 z7I{@}qARG{Xm>=b)T$!}9!|Tt2SFffUPEey{gBezOQQED`Gh7PBI`{*gIHX}-lisu zFiCg&u9FnX(*7Gwx!_8|#ZTI`1-fDC22L4==m;B|64{{=QgYtN4Cnhd>L3noe-d}S z*0@Wc>%3P6PplD->kC{(0msvapOX=cfJp$Veob)(M@6qCnF@Ntz#+fb`N67l?ckkd zsggry(g!E+FjG7BC3fI1B|acp9-fz{HU$y?>Ut6Ga;@ezS zFVpw0T8LX@?Ip7JH0uOE8KOTl|2&S-D!DsUsXA`5JSjZcZlF_Gldb|Tn z!hWM`$48lwp(<_X zpbiH?k}aI$hDh_fK;o`mB38h-zmC?I`D%j0(D=vu5J@6q>h&tEsbp9qt(KTmERosI z9hl-`6*4tuKU-ng5AJzx&E~ss`BKoO!BeSu>$fk`oA5>6-&cvvwI3Y{+S9`peJ%Zm z=dK-%!1)Pv-cUxe$JU;{X=2m9jc%sDEbg-(ho;FO&7BX7Z-X5JjjEtCP6w9rEWN#2 z3k2$q%n~GbqCkj{0b4Gx65VVFMdYsjTC#Ah_Zd^!L1v;7jV@U33-Ps1<4aPB`sd#W zJ*%|(6_QE#4HJ`Y-c^hf#S7JOH9Jdo+o8PalaZK5;&#*PPmf4{_G;&??6}t~58JCP zGzytCJJu$MWEq+EhE>9dX`i!d9(@#6vFbw^2c4ef;`#AQ$d~qLiHp5)1pYS=TV=7g z+w!knuJOh72~cLGwU65ZlLpYGI?My66XFv@TtWFmmPR92_(mO7awCKyph-BV426a+ zb_W=hjDdHfibd2bmz_=`$MIosFBb3x zBCrBwbw)^@J!%(QKkiS zGwacRKL&4Nb-N8S8zkKIYt+#wK}<2OX3%V(E~5u9s|g!X!jTne8sw4QjaWBatoJh9 z#v&;@HQAxer~o$hoC6xq|W zli;&}>1%Vzg-CR}TK>{aOb#~xvY9M}sv6hbi9obPf}Zo!@9$75&103{(rG){56


iSNj((#sV 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 literal 0 HcmV?d00001 diff --git a/lecture_22/01_phugoid/01_01_Phugoid_Theory.ipynb b/lecture_22/01_phugoid/01_01_Phugoid_Theory.ipynb index 902854f..2d67c76 100644 --- a/lecture_22/01_phugoid/01_01_Phugoid_Theory.ipynb +++ b/lecture_22/01_phugoid/01_01_Phugoid_Theory.ipynb @@ -33,7 +33,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": { "collapsed": false }, @@ -53,10 +53,10 @@ " " ], "text/plain": [ - "" + "" ] }, - "execution_count": 1, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } diff --git a/lecture_22/lecture_22.ipynb b/lecture_22/lecture_22.ipynb index 624029d..b986828 100644 --- a/lecture_22/lecture_22.ipynb +++ b/lecture_22/lecture_22.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": { "collapsed": true }, @@ -13,7 +13,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": { "collapsed": true }, @@ -53,7 +53,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "metadata": { "collapsed": false }, @@ -81,7 +81,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "metadata": { "collapsed": false }, @@ -93,14 +93,14 @@ "time (s)| error (m/s)\n", "-------------------------\n", " 0.0 | 0.00\n", - " 7.1 | 26.67\n", - " 14.3 | 54.21\n", - " 28.6 | 33.62\n", - " 35.7 | 29.84\n", - " 42.9 | 82.85\n", - " 50.0 | 47.86\n", + " 2.3 | 0.46\n", + " 4.0 | 0.95\n", + " 6.3 | 1.03\n", + " 8.0 | 0.80\n", + " 10.3 | 0.46\n", + " 12.0 | 0.28\n", "\n", - "O(h^2)=51.02\n" + "O(h^2)=0.33\n" ] }, { @@ -145,99 +145,113 @@ "\n", "\n", "\t\n", - "\t\t\n", + "\t\t\n", "\t\n", "\n", "\n", "\n", "\n", - "\t\t\n", - "\t\t-40\n", + "\t\t\n", + "\t\t0\n", "\t\n", "\n", "\n", - "\t\t\n", - "\t\t-20\n", + "\t\t\n", + "\t\t10\n", "\t\n", "\n", "\n", - "\t\t\n", - "\t\t0\n", + "\t\t\n", + "\t\t20\n", "\t\n", "\n", "\n", - "\t\t\n", - "\t\t20\n", + "\t\t\n", + "\t\t30\n", "\t\n", "\n", "\n", - "\t\t\n", + "\t\t\n", "\t\t40\n", "\t\n", "\n", "\n", - "\t\t\n", - "\t\t60\n", + "\t\t\n", + "\t\t50\n", "\t\n", "\n", "\n", - "\t\t\n", - "\t\t80\n", + "\t\t\n", + "\t\t0\n", "\t\n", "\n", "\n", - "\t\t\n", - "\t\t0\n", + "\t\t\n", + "\t\t2\n", "\t\n", "\n", "\n", - "\t\t\n", - "\t\t10\n", + "\t\t\n", + "\t\t4\n", "\t\n", "\n", "\n", - "\t\t\n", - "\t\t20\n", + "\t\t\n", + "\t\t6\n", "\t\n", "\n", "\n", - "\t\t\n", - "\t\t30\n", + "\t\t\n", + "\t\t8\n", "\t\n", "\n", "\n", - "\t\t\n", - "\t\t40\n", + "\t\t\n", + "\t\t10\n", "\t\n", "\n", "\n", "\t\t\n", - "\t\t50\n", + "\t\t12\n", "\t\n", "\n", "\n", "\n", "\n", - "\t\n", + "\t\n", "\n", "\n", "\tgnuplot_plot_1a\n", "\n", "\n", "\n", - "\t\n", + "\t\n", "\t\n", "\tgnuplot_plot_2a\n", "\n", - "\t\t \n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", + "\t\t \n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", "\n", "\t\n", "\n", @@ -260,7 +274,7 @@ } ], "source": [ - "[v_an,v_t,t]=freefall(8,50);\n", + "[v_an,v_t,t]=freefall(22,12);\n", "fprintf('\\nO(h^2)=%1.2f',min(diff(t).^2))" ] }, @@ -301,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 20, "metadata": { "collapsed": false }, @@ -342,7 +356,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 21, "metadata": { "collapsed": false }, @@ -385,7 +399,7 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": 22, "metadata": { "collapsed": false }, @@ -405,7 +419,7 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": 23, "metadata": { "collapsed": false }, @@ -430,7 +444,7 @@ " 0.00000\n", " 0.00000\n", "\n", - "n = 12\n", + "n = 11\n", "e = 6.3760e-06\n" ] } @@ -444,7 +458,7 @@ }, { "cell_type": "code", - "execution_count": 127, + "execution_count": 24, "metadata": { "collapsed": false }, @@ -477,7 +491,7 @@ }, { "cell_type": "code", - "execution_count": 121, + "execution_count": 25, "metadata": { "collapsed": false }, @@ -508,7 +522,7 @@ }, { "cell_type": "code", - "execution_count": 122, + "execution_count": 15, "metadata": { "collapsed": false }, @@ -525,6 +539,14 @@ " 34.7433\n", " 77.7351\n", "\n", + "y_euler =\n", + "\n", + " 0\n", + " 3\n", + " 3\n", + " 3\n", + " 3\n", + "\n", "ans =\n", "\n", " 2.0000\n", @@ -538,12 +560,13 @@ ], "source": [ "y\n", + "y_euler\n", "y_an(t)" ] }, { "cell_type": "code", - "execution_count": 128, + "execution_count": 26, "metadata": { "collapsed": false }, @@ -731,9 +754,9 @@ "\n", "\t\n", "\t\n", - "\t\n", - "\t\n", - "\t\n", + "\t\n", + "\t\n", + "\t\n", "\t\n", "\n", "\t\n", @@ -772,82 +795,6 @@ "ylabel('y')" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Phugoid Oscillation example\n", - "\n", - "[phugoid lessons in numerical methods with python](https://github.com/numerical-mooc/numerical-mooc/tree/master/lessons/01_phugoid)\n", - "\n", - "![Image](./figures/glider_forces-lesson3.png)\n", - "#### Figure 1. Forces with a positive trajectory angle." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "collapsed": true - }, - "source": [ - "In Figure 1, $L$ is the lift, $W$ is the weight, $D$ is the drag, and $\\theta$ the positive angle of the trajectory, instantaneously. \n", - "\n", - "\\begin{align}\n", - "m \\frac{dv}{dt} & = - W \\sin\\theta - D \\\\\n", - "m v \\, \\frac{d\\theta}{dt} & = - W \\cos\\theta + L\n", - "\\end{align}\n", - "\n", - "We can use a few little tricks to make these equations more pleasing. First, use primes to denote the time derivatives and divide through by the weight:\n", - "\n", - "\\begin{align}\n", - " \\frac{v'}{g} & = - \\sin\\theta - D/W \\\\\n", - "\\frac{v}{g} \\, \\theta' & = - \\cos\\theta + L/W\n", - "\\end{align}\n", - "\n", - "\n", - "Ratio of lift to weight is known as the trim conditions—$L/W=v^2/v_t^2$— and also from the definitions of lift and drag, \n", - "\n", - "$$\\begin{eqnarray}\n", - "L &=& C_L S \\times \\frac{1}{2} \\rho v^2 \\\\\n", - "D &=& C_D S \\times \\frac{1}{2} \\rho v^2\n", - "\\end{eqnarray}$$\n", - "\n", - "we see that $L/D=C_L/C_D$. The system of equations can be re-written:\n", - "\n", - "\\begin{align}\n", - " v' & = - g\\, \\sin\\theta - \\frac{C_D}{C_L} \\frac{g}{v_t^2} v^2 \\\\\n", - " \\theta' & = - \\frac{g}{v}\\,\\cos\\theta + \\frac{g}{v_t^2}\\, v\n", - "\\end{align}\n", - "\n", - "It is very interesting that the first equation has the factor $C_D/C_L$, which is the inverse of a measure of the aerodynamic efficiency of the aircraft. It turns out, this is the term that contributes damping to the phugoid model: if drag is zero, there is no damping. Drag is never zero in real life, but as engineers design more aerodynamically efficient aircraft, they make the phugoid mode more weakly damped. At altitude, this is nothing but a slight bother, but vertical oscillations are unsafe during final approach to land, so this is something to watch out for!" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Euler's Method\n", - "\n", - "Apply Euler's method: replace each of the time derivatives by an approximation of the form:\n", - "\n", - "$$v'(t) \\approx \\frac{v^{n+1} - v^n}{\\Delta t},$$\n", - "\n", - "where we are now using a superscript $n$ to indicate the $n$-th value in the time iterations. The first differential equation, for example, gives:\n", - "\n", - "$$\\frac{v^{n+1} - v^n}{\\Delta t} = - g\\, \\sin\\theta^n - \\frac{C_D}{C_L} \\frac{g}{v_t^2} (v^n)^2$$\n", - "\n", - "At each time iteration $t^n$, we want to evaluate all the known data of our system to obtain the state at $t^{n+1}$—the next time step. We say that we are _stepping in time_ or _time marching_.\n", - "\n", - "The full system of equations discretized with Euler's method is:\n", - "\n", - "\\begin{align}\n", - "v^{n+1} & = v^n + \\Delta t \\left(- g\\, \\sin\\theta^n - \\frac{C_D}{C_L} \\frac{g}{v_t^2} (v^n)^2 \\right) \\\\\n", - "\\theta^{n+1} & = \\theta^n + \\Delta t \\left(- \\frac{g}{v^n}\\,\\cos\\theta^n + \\frac{g}{v_t^2}\\, v^n \\right) \\\\\n", - "x^{n+1} & = x^n + \\Delta t \\, v^n \\cos\\theta^n \\\\\n", - "y^{n+1} & = y^n + \\Delta t \\, v^n \\sin\\theta^n.\n", - "\\end{align}" - ] - }, { "cell_type": "code", "execution_count": null, diff --git a/lecture_22/lecture_22_python.ipynb b/lecture_22/lecture_22_python.ipynb index 88f0304..276a7a0 100644 --- a/lecture_22/lecture_22_python.ipynb +++ b/lecture_22/lecture_22_python.ipynb @@ -9,7 +9,9 @@ "[phugoid lessons in numerical methods with python](https://github.com/numerical-mooc/numerical-mooc/tree/master/lessons/01_phugoid)\n", "\n", "![Image](./figures/glider_forces-lesson3.png)\n", - "#### Figure 1. Forces with a positive trajectory angle." + "#### Figure 1. Forces with a positive trajectory angle.\n", + "\n", + "[folder with original 4-part lesson in \"01_phugoid\"](./01_phugoid)" ] }, { @@ -98,7 +100,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 77, "metadata": { "collapsed": true }, @@ -109,7 +111,7 @@ "from matplotlib import pyplot\n", "%matplotlib inline\n", "from matplotlib import rcParams\n", - "rcParams['font.family'] = 'serif'\n", + "rcParams['font.family'] = 'sans-serif'\n", "rcParams['font.size'] = 16" ] }, @@ -128,7 +130,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 78, "metadata": { "collapsed": false }, @@ -150,7 +152,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 82, "metadata": { "collapsed": true }, @@ -182,7 +184,18 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 83, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# ?f accesses help documentation of code" + ] + }, + { + "cell_type": "code", + "execution_count": 84, "metadata": { "collapsed": true }, @@ -211,7 +224,30 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 89, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "3" + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d=numpy.array([1,2,3,4,5])\n", + "d[-3] # note negative indices are fun" + ] + }, + { + "cell_type": "code", + "execution_count": 90, "metadata": { "collapsed": true }, @@ -233,16 +269,16 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 91, "metadata": { "collapsed": false }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvgAAAI3CAYAAADunC+CAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzsnXmYFNW5/7/vDDMwA8O+I6sssggEBOXGfb8auS6JXo2J\nQnKzqfdGE4zGX66Q3CRXbxITo7m5JqgxKprFkMQlMXHHKCCIgOzIvg7DDgPDzJzfH6eq5nRPVy/V\nVd1V1d/P8/QzNV11Tr1Vb3f1t956z3tEKQVCCCGEEEJIPCgrtgGEEEIIIYQQ/6DAJ4QQQgghJEZQ\n4BNCCCGEEBIjKPAJIYQQQgiJERT4hBBCCCGExAgKfEIIIYQQQmIEBT4hhBBCCCExggKfEEIIIYSQ\nGEGBTwghhBBCSIygwCeRRkTOEpEfi8giEdklIg0iclBE1onIiyIyU0TOE5E2Se3OEZHmpNeAFP2f\nIyK1IvL7HO3Kqn+SHq/nnxQOEakQkTtF5H0ROSwiR0VkveW35O9A1xTtLxWROhH5tc92jU6x/wl+\n7iMIRKSDiLwnIh+JyKBi2xMnRKSfiMy1Pgt/yrHtJ6zflF3WZ3y1iPxARHpk2f6zIvK69Vk/LCLL\nROReEWnv7WgS+i4XkdtEZL6I7BeRA9Zn6Pbk3z6X9lUi8v9E5AMROSQie0XkLRGZlq9tpHhQ4JNI\nIiIDReQ1AG8AGAfgFwA+BeA0AFcAeBhAfwD/CeAVALtF5HyjiwUAxgC42PpfuezqGgDdAFwpIl1y\nMDHb/kOD9WPTLCKvFtsWA6/nPzBEZKN1nj5bbFtCwpMA/htAHYCpAM4C8DiArgDuAXCltZ3bd+Ba\nAF0A3CAilT7atRb6Ozgpw/7TYtwoNKW6Qcmhn/ZZ3mhMsF4DAVzkdX8kERH5CoAPoX8fcvosiMiD\nAP4E/Zn+HIBzoD/jtwJYLiKnpmlbLiLPWdsfBXAdgAsB/AX69+l9EemX4+GY/bcH8BaAnwBYA/0d\nvBzAMgA/BPC2iNSkad8bwPsAZkH/Vl4E/Vu6H8BsEfmTiJR7tY8Uj4x3doSEDRGZBH1x7ADgRqXU\n0yk2e0NEfgLgx9AX4U4AetsrlVL1AFaIyJEMu/s5gPEA3lRK7cvWxhz6J+mxz/+8XM5/wChE4Iat\nEIjIYGgxoADcrJTaaq1aZN2QfQBgU4ZufgpgOIAXlVINftlm9bXCjwipz2T67PwD+qapGwA+ucoT\n6zP6JPRN0/cBXA1gbA7tb4X+DVkF4Fyl1DFr1UIR2Qzg1wBeFJGRSqnDKbq4D/om93UAlyulbP+/\nKyL7AXwHwJ9FZKKxLhd+BeAMAL9WSt1kvD9PRJoATIc+/n9JcWwCfeMyDMB/KaXuNVa/IiIvA/gE\ngB8B+A8PtpEiwgg+iRQi0gvAHwF0BvB1F3EPAFBKNUNflOZ73Z9SaoVS6myl1P/z2gfxjnH+v1ls\nW0hKhll/GwxxDwBQSt2hlHoxUwdKqfeVUmcqpb4XiIURQynVqJT6rFLqcqXU3mLbEwMug76pGq+U\n+jaAE8jyBl1EOgH4trX9dwxxDwBQSj0F/VSgL4C7UrQ/GcC/W+3vSSHg/wfAPuin0J/L4Zjs/s+G\nvmFpgn5alsw91rpPiMiFKdZ/Fvqp90Hom59k7Ovul0VkRK72keJCgU+ixrehI/FbADyUaWPrgvrD\noI2KCVJsA0jksFNqThTVimARl+Vi9UNy43fWDeRqD22vgQ4mNUEHllLxHLQ/b06x7iboTIldSql3\nkldaT5met9rnLPAB/Jv1973kG2yr/13QT4Tg0v/noG8+/pJ882K1fw/6t7YcqY+PhBgKfBIZRKQz\n9EVGAfhNDo8z/wpgNoB1OexroJF3a+fNnu2ybXsR+Y6IrBKRehHZLSLPi8i5OezvU9YArt0ictwa\nyPUXEfmMiJQlbXtT0sDBJuv9T4jIy5I4uDFjPr2dew/gW9Zb57r0n3LgsIh8XET+ICI7RaTRev8j\no/+Rogc7v24dX4OI7BORt0XkP0SkIoVN41Lty8X+ziIyS0SWiB4gdkRE1orIbBFJ+yheRIaIyMOi\nB8wdET14bp2I/EZEbjbTO0Rkg3WeBkD/ID9uniMReTRF/71F5H7RA+oOS8vguvusp1HJ2z+WdMyv\nikiZiHxV9KC5A8a6e6X1OWoSkf80+kvls1Z25oqI3GKdC1v0dEiy4cEs+sh6EKyIdLTO2VoROWZ9\nxv8qIlNT9NPk1o/V12ki8kerj6MislR0fnZK+6DTjADt89qk/VydxXG2t/o5YPSzMKmfO6xtFyYd\ny4NJfbVab52bB0Rks/UZ/lBE7hARsdp0FpGfWOvrRWSFiNyWhd2flpbryXER2SH6GnVdprZhwhK5\nXrnM+rtKKXXUZZuF1t8+KT539tOD99Lsw24/WUS65WjfpVb/C9NssxD6M/fP5pui8/I/nmRDuvaX\n52gbKTZKKb74isQL+lFkM3Q05ZM+9TnQ6HOA8X4bAKOsl73+7BTtewBYbm3zCvQF/WMAboB+dHtP\nqv6N9pUAfmdt8xZ0xGgSgH+FHqjbDOBlAO2MNh0tu24y+r4DwDzoPMsJ0KlJTQBezeIcdLf6e9jq\nbz6Akcbxj7K2q7L+v9DY79ehBdC/Wsd9E4DDAD4y+t9obfs76B+ZCdA5qc9b/bwDoCrFeUneV6rz\nNw7ANugI8v8AuAB6kOed0ILqBIAvuxz3DQDqoR+Rf90672cDmAGg1j4XxvZDLZu2WvbcbZ4jAH2S\n+r8AeqDaUQD3Ajjdes2y9rsXwDlJbfoYvmgC8BqAPwB4DMB5ACYD+KVl20PWth9Z286x/Nbd6M/2\n2U8sv0xIttPj96az1e+XLFsOJ31mehnbjjZ82DWFjyca6yek2Fdf6AGzzQBeBHCJ9Vn7DPRN+5NG\n+ylWn5VG+/bG+rutz9u/WPudDmCPtf7upP1WWH1NTdG//eqQxbmSFMf5yaR+uljbDrb+/6u13YNJ\nfSWvfwz6e3+L5durAaw2Ph8drHP2GWv/N6Hls32ni73VAF6wtvm71eckAJ8GsMR6/08A2vh5fS/U\nC1qwNgH4Uxbbrsm0LfRAbtuvNxvvl0F/91v5Man9J4z25+ZwHH2Ndnek2e5WY7tBxvv/ZLx/dZr2\nP7C2Ow6gotj+4yv7V9EN4IuvbF8AZhoXpI/51GdKgZ+0TTqBb/8Qvg2gPGldV2gxmE6g/q+1/jUA\nkrSuHMBiq+3PUrQ9x+j7neSLryUCMgp8Y/t7rf7Stkk6Z+sBdExa/39IFPgbADzn0tdTVj//k6t/\njPPbBGB6iranWetOAJiStO5MAA3WuskubY8DWJxi3Qar38+mOUfDoPNaU/54QlfSaIa+uRicxhcN\nAH6StK4NgEMAvmX9/w1r2zoAbV3sWQPgF358Z5L6vdza98E026QU+MZ6U4CnEvhvWOv/lmJdL+u4\ns+3/IySJcuibzWboG65WAiaT/Tmcq7THmbTtb5FGGFrr7c/HpUnrRlrrTgB4GsCYpPVXGJ+XViId\netBoM4DnU6yrALDSsu1+D+fgFwB2eHyt8+kzm4vAP2ZtOzvNNr0Mv37LeL93qvdTtD/d2O4zORzH\nGdm0Q8u1pgnAWcb7/5rq/RTtv2Fs198PH/BVmBdTdEiUMOsNHyqaFRaiq/n8M/Qj0u8qpZrM9UoP\nkHs4TfsRAL4AlwFYVn//Ax0BnC7p6y3fr5RKzoO+HvoiHiQPKaUOJr03A1pA2zwALVhT8X/Qx3ej\nh33PgBXdVUq1SjtROn/079CRtG8krf4B9A3U80qpBS5tX/dgk813oKOnS5VSz6Xo/1noJzwdrW3d\nEAD/ldS2EcAI6Kg8oNPPjkNH1W9o1YHIJQBORprPYlgRkfOgn8gopDhPSqdf/DyHLh9VrSudvGL9\n7QTAtdxhSNmolPqL+YZSaiW0IC6DfpqzPKnN36DPZ2ckVZOxUkw+ba1vNbDdusb8CPpz+RVJU37R\nhc4Aenp8ZVVv3i9Epw7aY0xa5acbmOs6Gss1Lttk2z4T+fYftH2kyFDgE+Kdqcby6y7bvJWm/aeg\nfyiPQafjpMIeGFYBnT7ixtvJbyil9iqldqdp4wep9ntQKbXd+P9BpdQyl/abrb89Jfc693Z5xnTn\neBX0OT7XfkNE+kOnugD6BsCNWwC0ys3OhOha7lMt29L1/7Jl25XiPhnNWqVUbfKbSqnt9o2VUmoP\ndPqTuNj7FQALlFJLsj+K0GB/x04gxWfNIp3/k2mVC62UOgSdSgEYpXQjwiKX93e7rVd6MKV9U94n\nafW11t/9SqmlLn3b16Qq6DSPrFFKfUopVe7x1SmXfRFS6rAOPokSptBJG0kQkVroaJGJUkr5OZHO\nKOvvHuU+AGtnmvbjrL/tANRbY+KSUWgp6ZZuJtxWIrBAZNyvJXg/D53LOxraL6muPR2gU1YyInrw\n6xDoczNdRG5229TapoOIdFG6lr4ZtfwodTNAKbUOOQzMNhgG7VOVrn/oVB9AC6Vh0KkPyWTr159B\nR14niMhk+6mEdTNzGaJbAcP+jm1LfkJmkO47lkydy/v10H5ol0NfxUbB/Xgarb+Z1rdNet++JnUW\nEbfKSNlekyKNUuqEiDRAB1fSfS7MdebTzEMu22TbPhP59h+0faTIUOCTKGFGlIZD56e7cSZ0Cgag\nI7Ffhv+TE9k3GfVptklXPtCOSO2CHpCZqXSeazWI5PSeAuImugA4daRfg56sajX0Y/+VaPmh6Asd\nyQZyKx1oRvP+D1mUTDX2abZN5zuvZNu/eVPoFp1Me35tlFLviMgH0DcvX0HLE6EvQd80/TabfkJI\nvt+xZLI6nxGiOc/1ydifww3QufqZvpM7cuw/amyGTm9Llx5krttiLO+Gfjrb1mP7bGxL1Ue2/efa\nvhG53UyTIkOBT6LEq9A/5m2gHw0/47ahMmoei0hQaSq2YKxOs02rEpAGdtm8dlbebByZCS3u90IP\n5NpjrhTvM/0eMJaPKaVWeGxb5XH/2faf7rNhrjvgulX2/Az6ZudTInI7dIRuOoBfKh9niC0w+X7H\nSG7Yn8PKIK5JIvIL6KoxXjiilBrqpz1ZsBS6etagNNuY65wglFKqWURWQFd8yra9WypjK5RS20Wk\nDrrYQDb9H1JKbUzal0raJl371SnGeZEQwxx8EhmUUvsBPAodVbpOUtRPLzC2qOwmRr30JNLl9Nr1\ntTuJSE+3jURkkoh8TlLUTY8A50P/iLyTLO7zQSl1BC3pL6ek21ZEbhCRa423PjCWh6RpV2HVMM91\nUqK1aIk4u/ZvrDtqtcmXp6AFWjvoCWyugS6Bmssg1LBhf8f6iki5yzZRy5sPM/Z3o2+aaxpEZIp1\nTeqaY/+RGWRrYc/EfIqIuN1kTrL+7lBKJT9VfhH69+q0NPuw2y9QSrmlVLnxUpb9K7QcCwBn7Ik9\nriVd+9Os9s/naBspMhT4JGrMBLAdWrh8K/2mgWPObHieyzbpBsbape6A9FGtn0NXTPEa7c4WOy83\nQdCKyHUiMtFjn/Y1xk0kD/LYLwA8a/V7toh0SLWBiJwKXSfdOb9Kz/j4jtX2ojT9vwb9SDpZ6LQ6\nTyIy2DpPXaxo+R+z6P8i6B/OP1iVcfLCGgfyhLXfL0Onpr2klNqctmG4sb9jFdDVdFKR7jvmB6Zv\nTJ9/XESu9KGf8dZnJwy/x89afzNNbPQ4dIWv5IpEaYngINvfQ89lUQ49d0IqroL+Hj+WYt2voP3e\nS0SmJK+0glSXW+1/6cE+u80kEemXov+eaBkInWqCu1/CmgRLRJLHY8C67g+ATm37lQf7SBEJwwWF\nkKyxyuJdCZ3y8U0R+Y9021vCb1S6bfKw5T20RGi+mRxhFJHu0JOMuLVfDS3eBcA9qaJhIjId+hHv\ngynK+/mNnV/p2CEiJ0FPoOR1FsO3oI/vLGvAZzKu5ycLfgBdB78KwPeSV1r++Al0rfD7klZ/HfqH\n93IROSNF20ugfxifSHHeW50n6AGuc9BSeu4/oVNkxohIq1KlInI99IDjA3AvIeqFn1l/B0PPUpl2\nbIKIjDVmRU33tKEoKKVeh66DLwD+X/J6EekDPYA7SMyxL6bPfwjg29l2opQ6jpYUGLOfuwA8opTK\nNV/ed5RS76PlJnFmqjKYIvLv0GkrP4hw6ldWKKUOQAeSBMC3RCRhMKqIfBp6oqttaH2NgVJqPfQ1\nSAD8V4qbuDuhPwtLkEKAi54FfK2IbBeRc1L0/yb0TUgZgO+mOITvQt+c/Fkplaqi16+h5wXoiKSy\nqNaTy+9B33z8zEx7JRHBawF9vvgq5gt6AqTXoCMLCwH8O3Qkbxy0sLkJuj74XmubXQBmGe2roQXW\nxWiZxOMi671q6Dz/0UiapdB6r5PRTw/oXMYm6DECl0ML8k9DDyZ9IkX/7Y32FdCT0TRBp2lMg56R\n8mJosXYCejKtihS2TzP6Hm29+uZxTk+CTi05YR3rZAC/gRbI441zkuqcDXLpsw9aZrLdAC3GJlvn\n6U/QA0CT+2qT5Od0E4WNNvr/DfTU7ROh6//Pt2y/ycW2a6HTY/aiZSbbc6BnmrUfX7dL0W6GZdMS\n6Kjy5dCD1xYmbXee1fdRaCF4hvX6tnWe9yBp8jTr8zTG8r09q7Dt206pjiOFfa9Ybddmsa09U3Aj\ncpilEkAXy6avoGUmW9vOk61tOlj/2xNJNUF/N0dDDzystJYnGeuvtd6rMfbVD3qAdhOAv1g+tmdN\nXg0t/FPNlCtp+m9rbTPCOt/2deKryfu3tnvDWj/b6u826/+ZOX7HfmW1ex76e/AZ6Cdzj1vrh1j2\n/NWy+UnLnv7GdzTV+t5J7e1r0v3m8WRzvNApXn+w1q+wbJxgnfdfWp+V3wEoK9T1Pt+XddyjjXNj\nTy6Y8JlN0/4n1vl4F3rw8SRoQXwMeqDxqWnalkOL8CbolJqLoK8DP7DeWwOgn0vb/zQ+u0+6bNMe\n+lrVZH0ezoa+Lj1utX03+fOc1L43WiYvewB6tuYLrc9oE/RTtPJ054evcL6KbgBffOXzsi5mD0KL\nrVpoQXcAwCboGuQ/hBakybO8mrPAJr/ORqKwTH59Nqmv9tCibTW0cKuzfjyutfpJbn9xiuP4hHUh\n3QE9aVEd9A3DTSm2TWf7o3mez0utH4Qj0I+m5wOYaq1Ld05cZ78F0A16cpw11g/iYejBaN+FFg7J\nfQ0w2qYV+NY2HQDcDX2jt9/ax0ZoMTUuw/EOBvBTy3dHLNsWQ0+M1UrcW23aQEe2Nli+2gp9k5bq\nBqQXdGRvudX3YWv5vwH0TLG9PYNtxs9dmmP6pNXH7VlsO9Pa9oUcPye3pLFzqbXN5Wm2mYDEGWKT\nX1cn7a8jgO+jZXzDbgB/hn7KcqrRTwejTft0+7e2qc1y//2gU+pqrf2vhb4RzPqmyOqnE/RNwg7r\nc7oB+vrV0Vq/0MWeP1nrf+uy/sEM7a/O5Xitba+BFnk7oT/ne6Anybo+n2tMMV5pjjvhM5uhj8ug\nn9jugr5pXw19A9U9SxtuhJ4vpQ46gLAUWsBXp2kzEvq6uRUpZlI3tiuDfho6H/oaeMD6LHwVWYhz\n6Ju6e6B/Rw9B3wC+CeDmYvuOL+8vsZxLCCGhQ0QGQosgBf2UIJcyciWJiNwKfVPRT+mB6W7bdYSO\n3PUEcIHSj/sjh4icBR1hr1dKuQ4MJYSQUoI5+ISQUCAi40QkebCyObutH6UkS4HPA5iTQdxXQQ+o\n7A3grjCLexG5RERuSrOJXQFkXiHsIYSQKECBTwgJC1cCeDjpvdOtv0uVUpxFMQkRuVVEbjH+Pw86\nZeXBDE07Q1eiukEp9cMATfSDCwH8NFWZWOspxK3QT3jCfhyEEFIwONEVISRMjBCRH0PntA+BznM+\nAeBrRbUqvIwD8AkRWQudS/wzAM8opZama6SU2oGW+ttRoD2At0Tkf6AHSZ6APvavQZda/ZZS6mX3\n5oQQUlowB58QEgpEZASAO6Anx+oHPZjxHwC+o5RaUEzbwoqIfBXA7dCDeQ9AVyb6d6VUfdqGEcKq\n5X019KDdYdDH2g56oO3bAB5SSv2jeBYSQkj4oMAnhBBCCCEkRjBFJ4SISDcAl0CX+jtWXGsIIYQQ\nQkgK2kGnCf5VKVVXZFsSoMAPJ5cAeKrYRhBCCCGEkIx8GnrsWGigwA8nGwHgySefxMiRI4tsCknF\n7bffjgceeKDYZpAU0Dfhhb4JN/RPeKFvwsnKlStx4403ApZuCxMU+OHkGACMHDkSEyZMKLYtJAWd\nOnWib0IKfRNe6JtwQ/+EF/om9IQunZp18AnxwIIFLOoSVuib8ELfhBv6J7zQNyRXKPAJ8cDgwYOL\nbQJxgb4JL/RNuKF/wgt9Q3KFAp8QD/To0aPYJhAX6JvwQt+EG/onvNA3JFco8AnxwPXXX19sE4gL\n9E14oW/CDf0TXugbkiuc6CqEiMgEAIsWLVrEQTWEEEIIISFk8eLFmDhxIgBMVEotLrY9JozgE+KB\nuXPnFtsE4gJ9E17om3BD/4QX+obkCgU+IR6YM2dOsU0gLtA34YW+CTf0T3ihb0iuMEUnhDBFhxBC\nCCEk3DBFhxBCCCGEEFIQKPAJIYQQQgiJERT4hBBCCCGExAgKfEI8MG3atGKbQFygb8ILfRNu6J/w\nQt+QXKHAJ8QDF198cbFNIC7QN+GFvgk39E94oW9IrrCKTghhFR1CCCGEkHDDKjqEEEIIIYSQgkCB\nTwghhBBCSIygwCfEA/PmzSu2CcQF+ia80Dfhhv4JL/QNyRUKfEI8cP/99xfbBOICfRNe6JtwQ/+E\nF/qG5AoH2YYQDrINP0ePHkV1dXWxzSApoG/CC30Tbuif8ELfhBMOsiUkZvBCG17om/BC34Qb+ie8\n0DckVyjwCSGEEEIIiREU+IQQQgghhMQICnxCPDBjxoxim0BcoG/CC30Tbuif8ELfkFyhwCfEAwMG\nDCi2CcQF+ia80Dfhhv4JL/QNyRVW0QkhrKJDCCGEEBJuWEWHEEIIIYQQUhAo8AkhhBBCCIkRFPiE\neGDVqlXFNoG4QN+EF/om3NA/4aWUfLNgwQL85je/wbFjx4ptSqShwCfEA3feeWexTSAu0Dfhhb4J\nN/RPeCkV37z88ss444wzcN111+Hmm28utjmRhgKfEA889NBDxTaBuEDfhBf6JtzQP+GlVHzzox/9\nCHbxl2effRabN28uskXRhQKfEA+wZFl4oW/CC30Tbuif8FIKvmlsbMRbb72V8N6bb75ZJGuiDwU+\nIYQQQggpKh9++CGOHj2a8N6iRYuKZE30iazAF5F/EpHVItIsIgW5tRWRCSLSaO3z7ELskxBCCCEk\n7ixe3LqMfKr3SHZETuCLSDsR+SGANwAMA5DVTF0icrqI/EFEdovIURFZLiL3iEhllu3LATwKQLLZ\np4h0FJH7RWStiNSLyHYR+bWIDM9mfyTc3HfffcU2gbhA34QX+ibc0D/hpRR8s27duqzeI9kRKYEv\nIkMALAFwFYBLc2h3A4B5AHoAuBLAaACzAdwL4E0Rqc6im7sADARwIIv99QbwPoAvAvgOgFMA3ATg\nNADvM/offZIfI5LwQN+EF/om3NA/4aUUfGOK+a5duwIAtm/fznKZHhF7tHIUEJErAFwCYIZSql5E\nmqGj6YOVUimHWls3BR8C2AdghFLqkLHubgDfBfALpdQX0+x3BPSNxX8AuBvAAADnKaVSjv4Qkb8B\nOB/ADUqpZ433BwNYAeAggKGmLUntJwBYtGjRIkyYMMHNLEIIIYSQWHDaaadh0aJFKCsrw5VXXonn\nnnsOALB69WoMHx7O5IfFixdj4sSJADBRKRWqfKJIRfABPK+UulUpVZ9Dm3sAVAJ4LIWgfhjAcQDT\nReSkNH38EsC7SqlHMu1MRM4EcAGA7aa4BwCl1AYAfwDQHcCt2R8CIYQQQkh82bhxIwCgf//+GDFi\nhPP+hg0bimRRtImUwFc5Pm4QkTLodB4AeDVFfwcBLIQ+D5906eNWABMAfD7L3X7K+vu6y/q/Q+fx\nX5dlf4QQQgghseX48eOoq6sDAPTr1y+hLOjWrVuLZVakiZTA98BwAJ2tZbd5nldBC+5JySus6jzf\nAzBLKbU+y32eDp02lG5/ADBaRNpm2ScJGXv27Cm2CcQF+ia80Dfhhv4JL3H3zc6dO53lPn36oHfv\n3inXkeyJu8A/2Vh2+4TsSLGtzc8BrAXwAw/7zLS/MgCDc+iXhIjp06cX2wTiAn0TXuibcEP/hJe4\n+2bHjh3OMgW+P7QptgEB09H626SUanLZxh6a3sl8U0Q+A+BCAJOVUs0e9uk2TsAcCt/JZRsScmbO\nnFlsE4gL9E14oW/CDf0TXuLum2SB36dPH+d/CnxvxD2C7wkR6QHgRwB+qJRaUmx7SPhgdaPwQt+E\nF/om3NA/4SXuvkkW+L169XL+p8D3RtwF/kHrb7k1UVUq7Br4Zn37n0KX1ZyZxz6rMuwveZ+EEEII\nISVHssBv164dOnfu3GodyZ64C3xzYGxvl23s50DmttdC17rfIyKHzJf1PgD8xXrvoIhcn2KfmfbX\nDGBjOuMvu+wyTJ06NeE1ZcoUzJ07N2G7l19+GVOnTm3V/pZbbsHs2bMT3lu8eDGmTp3aasDOvffe\n22qmvM2bN2Pq1KlYtSpxvPBPf/pTzJgxI+G9o0ePYurUqZg3b17C+3PmzMG0adNa2XbdddfxOHgc\nPA4eB4+Dx8Hj4HHgiSeecP6303PKy3Vc1ozgF/M45syZ42ixwYMHY/z48bj99ttb9RMWIjXRVTKZ\nJrqyymTWQefFX6yUeiXFNm8C+DiArymlfmy9NyTNbt8A0BfApwEssN7bpZQ6YrV9ELrG/VNKqc+k\n2N906Lr6S5VS412OixNdhZzZs2fjc5/7XLHNICmgb8ILfRNu6J/wEnffXH755XjxxRcBALt27ULP\nnj2xYsUKVFdXo1evXqiqckuKKC6c6KpIWINjn4Mug3lB8noR6QhdHrMZwO+Ndh+5vQA0WpttN94/\nYnT7W+vvuS5mXQR9U/KbfI6NFJfFi0P1PSYG9E14oW/CDf0TXuLum9raWgCAiKBbt24AgFGjRmHQ\noEGhFferVA3CAAAgAElEQVRhJ9YRfGubkwF8CJ1TP9yczVZEvgngvwD8Uin1hSz3uQE6Tec8pdSb\nLtu8Ai3wbzBns7WeDHwInac/zJpoK1V7RvAJIYQQUhIMHToU69evR9euXZ0Jr6JAmCP4kSuTKSLd\nAZRDR+VteorIcQBQSu0yt1dKrReRzwN4DMBLInIndC36q6EH0S4EkDaJSkTaA+hg7dMerNtNRHpB\nl+BMnoHiRgBvA3hERKqgZ7UdDuAn0E8LrnUT94QQQgghpYQt6rt27VpkS+JDFFN0FgLYDmAbdPQe\nAOZDi/btqRoopZ6EzrOvBTAXOoo+HcAsAGclpdik4utW/9sA9LPe+521vwXJGyuldgAYD+D/ANwD\nYCWAxwG8B2CCUuqNzIdJCCGEEBJvmpqasH//fgAU+H4SuQi+UsrT7K9KqQUArvLYdhb0zUAubQ4C\nuNN6EUIIIYSQJGxxD8DJvyf5E8UIPiFFJ1X5LxIO6JvwQt+EG/onvMTZN2bOPSP4/kGBT4gHbr31\n1mKbQFygb8ILfRNu6J9geO+99zB27FhMnDgRH374oac+4uybvXv3OssU+P4RuRQdQsLAxRdfXGwT\niAv0TXihb8IN/eM/TU1N+NSnPoWNGzcCAK6//np88MEHEJH0DZOIs29Mgc8UHf9gBJ8QQgghJADm\nzZvniHsAWLZsGRYsaFWbo6Rhik4wUOATQgghhATAH/7wh1bvvfbaa0WwJLwwRScYKPAJ8cDcuXOL\nbQJxgb4JL/RNuKF//Oftt9/O6r1MxNk3TNEJBgp8QjwwZ86cYptAXKBvwgt9E27oH385ceIEli5d\nCgAYPnw4unfvDgB45513oJRK17QVcfYNU3SCgQKfEA88++yzxTaBuEDfhBf6JtzQP/6ycuVKNDQ0\nAAAmTpyI8ePHA9CCtra2Nqe+4uwbRvCDgQKfEEIIIcRnli9f7iyPHz8ep5xyivP/qlWrimFSKGEO\nfjBQ4BNCCCGE+MxHH33kLA8bNgwjR450/qfAb8FO0SkrK0OnTp2KbE18YB18QgghhBCfWb9+vbM8\nZMiQBPFKgd+CHcHv0qULysoYd/YLnklCPDBt2rRim0BcoG/CC30TbugffzEj+EOGDMGQIUOc/zdt\n2pRTX3H2zf79+wEAnTt3LrIl8YIRfEI8EOdZBaMOfRNe6JtwQ//4iy3we/TogZqaGrRr1w5lZWVo\nbm7G5s2bc+orzr45dOgQAKCmpqbIlsQLRvAJ8cD1119fbBOIC/RNeKFvwg394x/Hjh3Dtm3bAMCJ\n3FdUVKBv374Aco/gx9U3x48fx4kTJwBQ4PsNBT4hhBBCiI9s2rTJqXVvpuYMHDgQAFBbW4v6+vqi\n2BYm7Og9QIHvNxT4hBBCCCE+smHDBmd58ODBzvKAAQOc5S1bthTUpjBCgR8cFPiEeGDevHnFNoG4\nQN+EF/om3NA//mGn5wCJor5///7O8tatW7PuL66+ocAPDgp8Qjxw//33F9sE4gJ9E17om3BD//jH\n9u3bneU+ffo4y71793aWd+3alXV/cfUNBX5wUOAT4oFnnnmm2CYQF+ib8ELfhBv6xz927NjhLLsJ\n/J07d2bdX1x9Q4EfHBT4hHigurq62CYQF+ib8ELfhBv6xz/MCL5dOQcAevXq5SznIvDj6hsK/OCg\nwCeEEEII8RE7gi8iCaLea4pOXKHADw4KfEIIIYQQH7EFfs+ePdGmTcucol5TdOIKBX5wUOAT4oEZ\nM2YU2wTiAn0TXuibcJONf/bu3Ys33ngDe/fuLYBF0aS5udkR+Gb+PQB06dIFFRUVAHIT+HH97lDg\nBwcFPiEeMMuekXBB34QX+ibcZPLP2rVrccopp+Dcc8/FKaecgnXr1hXIsmhRV1eHxsZGAK0Fvpmy\nk4vAj+t3hwI/OCjwCfHAbbfdVmwTiAv0TXihb8JNJv98/etfR21tLQA9E+udd95ZCLMih9sAWxs7\nTae2thZNTU1Z9RnX7w4FfnBQ4BNCCCEkLXV1dXjhhRcS3vvjH//IVJ0UuJXItLEj+M3NzdizZ0/B\n7AojFPjBQYFPCCGEkLQ8//zzraLNzc3NePnll4tkUXjZvXu3s2xW0LHhQNsWKPCDgwKfEA+sWrWq\n2CYQF+ib8ELfhJt0/nnppZec5W9/+9vO8osvvhioTVHEjMr36NGj1XrzvWwj+HH97lDgBwcFPiEe\nYO5peKFvwgt9E27S+Wf+/PkAgKqqKnzta19D27ZtE94nLZiivXv37q3Wd+vWzVmuq6vLqs+4fnds\ngS8isZ3Mq1hQ4BPigYceeqjYJhAX6JvwQt+EGzf/1NbWYuPGjQCAiRMnorq6GmPHjgWgK+uYUVgS\njMCP63fH/uy0b98eZWWUpH7Cs0mIB+JasiwO0Dfhhb4JN27+WbhwobM8efJkAMDHPvYxAIBSCh98\n8EHwxkUIu9IQkFngZ5uiE9fvji3wmZ7jPxT4hBBCCHFl2bJlzvKECRMS/gLA+++/X3CbwkwQEfy4\ncvjwYQAU+EFAgU8IIYQQV1auXOksjxo1CgAwZswY573Vq1cX3KYwYwv8mpoaZ6yCiSn6S1ngK6UY\nwQ8QCnxCPHDfffcV2wTiAn0TXuibcOPmH1PgjxgxAgAwfPhw5701a9YEa1jEsAV+qug94C2CH8fv\nTn19PZqbmwFQ4AcBBT4hHjh69GixTSAu0Dfhhb4JN6n8o5RyBP7AgQOdSifdu3dH586dAVDgmzQ1\nNTmi3U3gd+nSBSICIHuBH8fvDktkBgsFPiEemDVrVrFNIC7QN+GFvgk3qfyzc+dOR4iNHDnSeV9E\nnCj+5s2bUV9fXxgjQ86+ffuglAKQugY+AJSXlzs3R9kOso3jd4cCP1go8AkhhBCSkg0bNjjLQ4cO\nTVhnC3ylFNavX19Qu8JKpgG2yetKOQefAj9YKPAJIYQQkhK7/j0ADBo0KGHd4MGDneXNmzcXyKJw\nk63At/PwDxw4gMbGxsDtCiMU+MFCgU+IB7J9rEoKD30TXuibcJPKP6bANwU9kFibnQJfY9bAd0vR\nARIH2u7duzdjv3H87lDgBwsFPiEemD59erFNIC7QN+GFvgk3qfyTLoJPgd+aXCP4yW3ciON3hwI/\nWCjwCfHAzJkzi20CcYG+CS/0TbhJ5R8zBz9Z4Pfv399Z3rJlS1BmRQovAj+bCH4cvzsU+MFCgU+I\nB8xZHEm4oG/CC30TblL5x47g19TUoEuXLgnrTIHPCL7GTNFJJ/DtKjoAsH///oz9xvG7Q4EfLBT4\nhBBCSobDhw/jjjvuwGWXXYannnqq2OaEmubmZmzatAmAjt7btdttOnTogK5duwKgwLcxI/jpcvDN\nm6VsBH4cocAPljbFNoAQQggpFDfffDN+//vfAwBeeuklVFRU4Nprry2yVeFkx44dOHHiBIDWA2xt\nBgwYgL1792Lr1q1oampCeXl5IU0MHabAN9Nwksk1gh9HKPCDhRF8Qjwwe/bsYptAXKBvwkuxfbNw\n4UJH3NvcddddaG5uLpJF4SLZP+YA24EDB6ZsY6fpNDY2YteuXYHZFhVMsW6K+GTMdfv27cvYb7G/\nO0FAgR8sFPiEeGDx4sXFNoG4QN+El2L75sEHH2z13oYNGzBv3rwiWBM+kv2zbds2Z9nMtzdhJZ1E\nDhw4AECnL7Vp454kkWuKTrG/O0FAgR8sFPiEeODhhx8utgnEBfomvBTTN42NjXjhhRcAAJ06dcKj\njz7qrHvyySeLZVaoSPbP9u3bneW+ffumbGMK/61btwZjWISwxXq66H3y+mwEfhyvaxT4wUKBTwgh\nJPa8/fbbTirEpZdeiuuuuw5t27YFALzyyivFNC20ZCPwe/fu7Szv3LkzcJvCTlACP45Q4AcLBT4h\nhJDYY4r4T3ziE6iursbpp58OAPjoo48YfU5BNgK/T58+znKpC/yGhgYcPXoUQGaBb6boZJODH0ds\ngV9eXo527doV2Zr4QYFPCCEk9rzzzjvO8tlnnw0AOOecc5z33njjjYLbFHYYwc8NO/8eyCzwq6ur\nnRz9Uo/g19TUtCrBSvKHAp8QD0ydOrXYJhAX6JvwUizfNDU1Yf78+QB0xNnOG7eFPgAsWLCgKLaF\niWT/2AK/pqbGNYWCAr8FU6h36tQp7bYi4twEZCPw43hdMwU+8R8KfEI8cOuttxbbBOICfRNeiuWb\nVatWOWJiypQpTrTwYx/7mLPNkiVLimJbmEj2j11Fxy16D+ha73btewr87Epk2thpOtmk6MTxukaB\nHywU+IR44OKLLy62CcQF+ia8FMs3pnifNGmSs9ytWzecdNJJzjZKqYLbFiZM/xw6dAiHDx8GkF7g\nl5eXo2fPngAo8HMV+PY2Bw4cyDgXQ9yua83NzThy5AgAXVKU+A8FPiGEkFizbNkyZ3ns2LEJ68aP\nHw8AOHjwYMLETqVONvn3Nnaazq5du0p60rBccvDNbZRSCRVlSgFb3AOM4AcFBT4hhJBYs3z5cmd5\nzJgxCetsgQ8AS5cuLZhNYScXgW9X0mlsbERdXV2gdoUZryk6QOlV0mGJzOChwCfEA3Pnzi22CcQF\n+ia8FMs3dgS/U6dOrWZkHTlypLO8evXqgtoVNkz/eIngA6WdpuM1RSe5bSridl2jwA8eCnxCPDBn\nzpxim0BcoG/CSzF8c/DgQWzevBkAMHr06Fbl+EaMGOEsl7rAN/1jCnWz1n0qKPA1QQr8uF3XKPCD\nhwKfEA88++yzxTaBuEDfhJdi+GbdunXOshmttxk+fLizXOoC3/TPrl27nOVevXqlbUeBrwkyRSdu\n1zUK/OChwCeEEBJbTIE/dOjQVutramqcFJQ1a9YUzK6ws3v3bmfZrpLjhnkDQIGvyVQHH8gtgh83\nKPCDhwKfEEIiRFNTExYuXIi1a9cW25RIkEngAy1pOrW1tSU32NGNXAR+jx49nOU9e/YEZlPYCTJF\nJ25Q4AcPBT4hhESEAwcO4Mwzz8TkyZMxfPhwfO1rXyv52u2ZyEbgm+9v2LAhcJuigC3wy8rK0LVr\n17TbUuBrzDKZ2UTwWUVHQ4EfDBT4hHhg2rRpxTaBuBBn39x999149913nf9/9KMf4be//W0RLcqN\nYvjGFPgnn3xyym0GDRrkLJdyLXzTP3YOfo8ePVBWll4qdO/e3VkuZYFvR+Grq6tRWVmZcftcIvhx\nu65R4AcPBT4hHojbrIJxIq6+Wbt2LR555JFW78+aNSsyUfxi+MYW+L1793YVEhT4Gts/Sikngp9p\ngC2gZwS2qa2tDca4CGCL9GzSc4DEKH8mgR+36xoFfvBQ4BPigeuvv77YJhAX4uqb2bNno6mpCYAW\n9R//+McBACtWrMCCBQuKaVrWFNo3hw8fxo4dOwC4p+cAFPg2tn8OHjyIhoYGAJnz7wGgoqLCEbWM\n4HsT+AcPHky7bdyuaxT4wUOBTwghIUcphWeeeQYAUF5eji996Uv4/Oc/76x//PHHi2RZuFm/fr2z\nTIGfPbkMsLWx03RKNYLf2NiIw4cPA8he4Hfs2NFZziTw4wYFfvBQ4BNCSMhZtGgRNm3aBAC44IIL\n0LNnT3zyk59E27ZtAQAvvfRSZNJ0Cokp8N3y7wGdvmPnTFPgexP49kDb/fv348SJE4HYFWZyHWAL\n6Fz98vLyVu1LAQr84KHAJ8QD8+bNK7YJxIU4+ubvf/+7s3zVVVcBADp06IAzzzwTALBp06aEwaRh\npdC+sWewBRKj9MmUlZVhwIABALTAL9WbJds/uUxyZWMOtK2rq/PXsAiQa4lMABARJ4qfKYIft+sa\nBX7wUOAT4oH777+/2CYQF+Lom9dee81ZPv/8853lCy+80Fn+29/+VlCbvFBo32zZssVZ7t+/f9pt\n7RuAQ4cOlVzJQhvbP/lE8IHSzMP3IvCBlmh/pgh+3K5rFPjBQ4FPiAfsfGgSPuLmm4aGBid6169f\nPwwbNsxZZwr8t99+u+C25UqhfWNG8O0IvRvMw2/xTz45+EBpCnxToOci8LON4MftumYL/MrKyqxK\nipLcocAnxAPV1dXFNoG4EDffLF++HEePHgUAnHPOORARZ924ceOcPPwoVNIptG/sCL6IoF+/fmm3\nNQV+qU52ZfsnX4FfigNt843gHz9+HMePH3fdLm7XNVvgM3ofHBT4hBASYhYvXuwsT5o0KWFdRUUF\nJkyYAEDXe9+7d29BbQs7dgS/V69eGaOEZgrP1q1bA7Ur7Jg5+EzRyQ6vAr9UK+lQ4AcPBT4hhISY\nRYsWOcu2mDeZPHmys/zee+8VxKYo0NDQgJ07dwLInJ4DICHCv23btsDsigKM4OdOvhF8oLQq6VDg\nBw8FPiEemDFjRrFNIC7EzTdmBH/8+PGt1ptRfXPbMFJI32zfvt2phpNpgC1AgQ+0+McW+B06dMg6\nNYQR/BaBn22ZTCD7CH6crmuNjY04duwYAAr8IKHAJ8QD2UQESXGIk29OnDiBDz74AAAwbNiwBDFg\nM3bsWGd52bJlBbPNC4X0jTnAlgI/O2z/2AI/2+g9wAi+HxH8dAI/Ttc1VtApDBT4hHjgtttuK7YJ\nxIU4+WbVqlXOwLtU6TkAMGLECLRp0waAHpAbZgrpG7NEZjbiqKamxhEbpSrwb7vtNpw4ccIZy+FV\n4Jd6BN9rDn66FJ04XdfsGX8BCvwgiazAF5F/EpHVItIsIvG5tSUkphw4cAB33XUXLrvsMtx///0l\nOdtlrpgpN24Cv7KyEiNGjAAArFy5kufVItcIPtASxd+2bVvJTnZlDtQ2RXsmOnbsiIqKCgCM4AcR\nwY8TZgS/Q4cORbQk3kRO4ItIOxH5IYA3AAwDkNVVWEROF5E/iMhuETkqIstF5B4RSVlaQUQqReTT\nIvI7EdksIsdF5KCIvCci94pI2iQ7EekoIveLyFoRqReR7SLyaxEZnvNBExJx6uvrcf755+O+++7D\nSy+9hG984xu44YYbSlZEZcuKFSucZTMVJ5lTTz0VgE7pWbNmTeB2RYFcJrmysQV+fX19gmArJcxZ\naLt165Z1OxFxbghKMYJvRt+95uCXyiBbpugUhkgJfBEZAmAJgKsAXJpDuxsAzAPQA8CVAEYDmA3g\nXgBvikiqUUTLAfwaQAcA0wCMAHAJgBVWu2UicrLL/noDeB/AFwF8B8ApAG4CcBqA90Xk7GxtJ+Fk\n1apVxTYhUvzgBz9oNQD0d7/7HZ577jnf9xUn35jHMnLkSNftxowZ4yybNwVho5C+yWWSK5tSz8Nf\ntWqVZ4EPtAy0ra2tLbmbd/uGsF27dmjXrl3W7bKN4MfpukaBXxgiJfChhfnfAYxWSr2STQPrpmA2\ngFoA/6yU+odSaoNS6gFooT4ZwAMpmvYA8C6Ay5RSryilNiql3lFKfRbA7wGcBOBxl93+GsAgAF9Q\nSj2hlNqklPobgMugz/lvRYSf6ghz5513FtuEyFBXV4f//u//BgCUl5fj7rvvdtbNnDkTzc3Nvu4v\nTr6xf9SrqqrSRqGHD295MLh27drA7fJKIX1jR/ArKirQq1evrNqUusC/88478xL49vYNDQ3O5Gyl\ngi3wc0nPAbKP4MfpukaBXxiiJvCfV0rdqpSqz6HNPQAqATymlDqUtO5hAMcBTBeRk5LWKQC/Ukql\nUh//Z/39JxHpY64QkTMBXABgu1Lq2YQOldoA4A8AugO4NYdjICHjoYceKrYJkeGpp55yfuy/+MUv\n4rvf/S5OP/10AHpQ6Ouvv+7r/uLim4aGBqxfvx6AHkhbVuZ+uR42bJizHGaBX0jf2AK/X79+ac+d\nSakL/IceesgXgQ+g5CZd80Pgp4vgx+W6BlDgF4pICXyV4zM/ESmDTucBgFdT9HcQwELo8/DJpNUD\nAfzCpWtzmsOuSes+Zf193aXt3wEIgOtc1pMIEKeSZUGilMLs2bOd/2+55RaICG6//XbnvTlz5vi6\nz7j4Zv369WhqagIAnHLKKWm3HTp0qLMcZoFfKN8cOXIE+/btA5B9/j1AgT9gwIC8BH7Xri0/h6Uk\n8Juamhxxnkv+ffL26SL4cbmuART4hSJSAt8DwwHYt9NuCWyroAV3whzwSqlDLtF7ALCj9scArEta\ndzp09D/d/gBgtIi0ddmGkFiwdu1aLF26FABw+umnY9SoUQCAK664Au3btwegc/EbGhqKZmNYMXNu\nMwn8Dh06oG/fvgDCLfALxfbt251lU7RnotQFPuB9kC1QugLfjLwHFcGPExT4hSHuAt8cBLvTZZsd\nKbbNxOXW39lKqeMu+8y0vzIAg3PYJyGR48UXX3SWr7nmGme5uroaV1xxBQD9aPvdd98tuG1hJxeB\nD7Sk6ezevbtkqnG4sWPHDme5T58+abZMxL5JAoCdO90u4fGGAj93vJbIBFhFhwI/OOIu8O1vTpNS\nqsllG3skUFbP1USkJ3RVnc0A/jPNPt3GCZgjj3J7lkdCw3333VdsEyLBCy+84CxfdtllCesuvbSl\nENbf//533/YZF994FfhAeKP4hfKNV4FvTuy0a9cuX22KAvfddx8FvgdMYZ6rwG/bti3attUP89NF\n8ONyXQMo8AtF3AW+r4iIAHgUetDutUqp0iyUTEquQoQXjh07hjfffBMAMHDgQCc9x+bCCy90lv/2\nt7/5tt+4+Gb16tXOsine3YiCwC+Ub8wUHTMqn4mKigpH1JZiBP/o0aMU+B7IJ4IPtOThp4vgx+W6\nBlDgF4q4C3z7drhcRMpdtrFr4GfzbOxnAM4HcKVSakGGfVZl2F+2+yQhZNasWcU2IfQsXrzYya0/\n77zzoO+PW+jXr59T233BggUJ05fnQ1x8Y1fQOemkk1BdnWqqjkSiUCqzUL7xGsEH4JTU3LVrV8nV\ncp81a5Yj8Kurq3Oq5w5Q4APeBL6dppMugh+X6xpAgV8o4i7w1xvLvV22sa/+613WAwBE5AEANwK4\nPEMNfrufTPtrBrAx3T4vu+wyTJ06NeE1ZcoUzJ07N2G7l19+GVOnTm3V/pZbbkmoYAJo0TV16tRW\nMw3ee++9rR4Bbt68GVOnTm01wcZPf/pTzJgxI+G9o0ePYurUqZg3b17C+3PmzMG0adNa2Xbdddfx\nOGJ+HP/4xz+c5SlTpqQ8jrPOOgsA0NzcjG9+85uhPA6g8P64+uqrHRuGDBmS1XGYEfz58+eH4jiK\n5Q9T4L/yyis5HYctTOvr6x0hEpfPVTbHYQv8srKynI/DFPjFPg6bQvjDFPhPP/10zsdhR/APHjyI\nv/71r7H8XJnHsXLlSuf/mpqayBzHnDlzHC02ePBgjB8/PqEiXOhQSkX2BS2SmwAMcFlfBmCftc0F\nLtu8aa3/qst6ga57vw/AlCxsetCy69cu66db65ek6WMCALVo0SJFSFS56qqrFHRFKbVs2bKU2zz6\n6KPONt///vcLbGF4WbJkiXNebr755qzaHD582Glz1llnBWxhuLngggucc7F///6c2l5//fVO2zVr\n1gRkYThpbm5Wbdq0UQDU+PHjc26/detW59xdffXVAVgYTh544AHnuJ9++umc25933nlO+8OHDwdg\nYbiYMmWKc7wnTpwotjl5sWjRIvtYJqgQ6GLzFesIvtJlLp+DFukXJK8XkY7Q5TGboWenTV5fBuAJ\nAFdD3yC8k7T+cRFJ7ve31t9zXcy6CPrD8JusD4QUHaWUU5McQKtIA0lEKYV33tFfl44dO7bKv7c5\n44wznOX58+f7su84+Oajjz5ylu0Ifibat2+PHj16AAA2btwYhFl5Uyjf2Dn4VVVVCVVKsqF375aH\nr6WWh79x40Y0NjYCyD3/HmCKDpBfDj7gnqYTh+uajf1krKqqCm3atCmyNfEl1gLf4nsAGgBME5Hk\nZK9bAbSFnuV2i7lCRNpAi/ALAZynlFqcou9zACQUWVZKvQXgNQB9RSRhMisRGQLgSgB7AMRnWrqY\n88gjj6Bv376orKzEFVdcgR07dmD69OnFNivUbNy40RFHU6ZMcZ1JdMSIEc6Pm1+lMuPgGy8CH9CD\nmQFdw/3EiRO+25UvhfKNnaLTp0+fVmM/MmHn4AOlV0nn3/7t35xlLwK/qqrKydunwM+ebEplxuG6\nZmMLfObfB0vkBL6IdBeRXiJi5rj3tN7rlby9Umo9gM8D6A7gJRH5JxEZLCJfAzATeibbhCQqK3I/\nFzpy3wjgMRFZmPxCSz59MjcC2ATgERG5WUQGicjFAF6AflpwrdKz6JKQ8/Of/xxf/OIXsXPnTjQ3\nN+P555/H+eef3yrXjyRiR++BxPz7ZMrKynDaaacB0NFSPwTVzJkz8+6j2NgDbAHg5JOzn6Jj0KBB\nAPSYhq1bt6bfuAgUwjf19fWO4Mp1gC1Q2hH8m2++2Vn2IvCBlig+BX72ZBPBj8N1zYYCvzBETuBD\nC/LtALZBp7oAwHzoCaS2p2qglHoSwMcB1EIL9w+hc+FnAThLKXUkqUkNgMus/vtC58SnelW47G8H\ngPHQufv3AFgJ4HEA70Hnab2R2yGTYrBt27YEIV9VpQsjrVq1KmECJ9KaJUuWOMuTJk1KsyUwduxY\nZ3nZsmV573vChAl591FsvEbwbYEPhDNNpxC+MUV5LiUybUo5gm+neAEU+LmQTx18ILsIfhyuazYU\n+IUhcgJfKTVYKVWe4lWmlHIrhQml1AKl1FVKqZ5KqWql1Gil1HeVUg0ptj1g95fF6wmX/R1USt2p\nlBqmlKpSSvVVSn1GKbU61fYkfHzrW99ySjd+4QtfwAcffIDKykoAwI9//ONQRkjDwtKlS53lcePG\npd3WFPhmu1LGFvhmXn022Ck6ALBp0ybf7YoCZg18RvBzI58a+Da2wD969CiOHTvmi11hx88UnXSl\nMuPA8ePHnfRBCvxgiZzAJ6QQ7NmzB08//TQAfcH+/ve/j2HDhuG2224DoCdxeuSRR4ppYqj54IMP\nAOgf+0xRVFPg2+1KmaamJif6PmTIkJxyyMMewS8E+dTAB0o7gu+nwAeAffv25W1TFLAFfmVlZc5z\nB97Na60AACAASURBVACJKTrpJruKA6yBXzgo8AlJwaOPPorjx48D0IOb7B+tO+64wxkw+thjjyVU\n1iGa3bt3O5HPcePGZRSoo0aNcs6pHxH85FrRUcMcIJtLeg4QfoFfCN+YAt9Lik6PHj2cz2ypRfDN\nGaX9EPjmDUOcsQV+586dcx7UDWQXwY/6dc2GAr9wUOATkgI7eg8AX/7yl53lvn374vLLLwcAbN26\nFa+++mrBbQs7uaTnAEC7du0wYsQIAMCKFSvyrv6yeHGqglfRwRTmpmDPBjNFJ4wCvxC+yTeC36ZN\nG3Tv3h1A6UXwzc+MHwK/VPLwbYFvRuJzIZsIftSvazbmjOUU+MFCgU9IEuvWrXNSRSZPnoyhQ4cm\nrP/sZz/rLP/xj38sqG1RwEyzMdNv0mFv19DQgDVr1uS1/4cffjiv9sVm8+bNzrIp2LOhpqbGEVhh\nzMEvhG/yzcEHWvLwd+7caU8+WBKMGTPGWabAz47m5mZHlHvJvweyi+BH/bpmwwh+4aDAJySJ5557\nzlm+5pprWq2/5JJLnMG2f/7zn0tKAGRDrhF8gANtTUyBP2DAgJzb2zcFW7ZscSYtKiXyTdEBWvLw\nGxoaYp8TbeJ3Dn4pCPxDhw45vwFBCvy4QIFfOCjwCUniL3/5i7N89dVXt1pfU1OD8847D4AWY6Uu\nSJOxz0d5ebnrDLbJmNutXl3ahabyFfj9+/cHoAfrllqKCdAi8CsrK9GlSxdPfZRqJR1b4JeVlXlO\nNyk1gZ9vBR0guzr4ccEU+B06dCiiJfGHAp8Qg/r6evzjH/8AAAwePLhVeo6NnYcPgHn4Bs3NzY5A\nP/nkk7OuKGHn4AMU+PkK/JNOOslZ3rZtmy82RQn7pqZ3796eBjwCiZV0SlHgd+3a1XX26UyUmsDP\ntwY+wAg+CQYKfEIM3nnnHad6jh2lT4WZxvP6668HbVZk2LJlC+rr6wEAp5xyStbtTj75ZJSX62ks\n8hX4U6dOzat9sbEFftu2bXOqgW9jCvywzdUQtG+ampqwZ88eAEDPnj0992NG8EvpKciWLVsAeE/P\nAUpP4PsRwTeFrpvAj/p1zYYCv3BQ4MeUt956C5MmTULbtm0xceLEhPJnxJ3XXnvNWT7//PNdt7vr\nrrucShtvvPEGy2VarFq1ylnOReBXVlZi8ODBAIA1a9bkNa7h1ltv9dy22CilnMGx/fv39xRFDbPA\nD9o3dXV1aG5uBpAYhc8V8+Zg9+7dedsVBRoaGpzrGAV+9vgh8Nu0aYPq6moA7lV0onxdM6HALxwU\n+DHkr3/9Ky666CK89957aGhowOLFi3HppZfipZdeKrZpocdMt0kXwb/kkktw7rnnAtAXZE7QpPEq\n8IGWNJ0jR47klVpy8cUXe25bbA4cOOCUkfOSngOEW+AH7Rsz2p5PBN9sW1tbm5dNUcEU4xT42WMK\nfK/jFoCWNB23CH6Ur2smFPiFgwI/ZtTW1uKGG25w0kzsi0ZzczNuvPHGkszJzZYjR45gwYIFALTY\nzFSB46yzznKW7XalTj4Cf/jw4c5yqebh51Mi0ybMAj9ozGh7PhF8MzWqVCL4flTQAfTAyTZt2gAo\nPYHvNYIPtNwcMAef+AUFfsy46667nIvqFVdcgdraWvzLv/wLAH2xnTVrVjHNCzWLFi1yygqeffbZ\nGbefNGmSs0yBrzEFvjlwNhvM7fOthR9V8h1gCwD9+vVzlktN4PsVwTcFfqlE8P0S+CLiRPEp8LPH\njODHufQyBX7hoMCPEZs3b8avfvUrADoa8Mgjj6CyshKzZ892Lh6PPfYYPvroo2KaGVpMkX766aen\n3Xbu3LkYP368E6lauHBhoLZFBVvg9+zZM+FRfTb4VUln7ty5ntsWGz8EfnV1tXPuwybwg/ZNEBF8\nCvzcocDPHfs3WimFI0eOtFof5euaCQV+4aDAjxE//vGPnUFSX/3qV51KEN26dcMdd9wBAGhsbMT/\n/u//Fs3GMGOKdDM6n4o5c+agqqoKp556KgBgxYoVCVNwlyL79+93Sgrmmp4D+Cfw58yZ47ltsfFD\n4AMtUfxt27aFKhoYtG/MCH4+Ar+qqsqp0U2Bnzu2wD906BBOnDiRV19hx48ymUBiqcxUA22jfF0z\nocAvHBT4MeH48eN47LHHAADt2rXDV77ylYT1t9xyCyoqKgAATzzxROwvul6wI/jV1dUZJ2h69tln\nAbTcCDQ3N2Px4sXBGhhyTFHuReD37t3bueCvW7fOsx22b6KIXwLfzsNvaGhwykaGgaB9Y0bw80nR\nAVqi+BT4uVNKA239juADqfPwo3xdMzEFfvv27YtoSfyhwI8JL730knOhueaaa1r9uHXv3h1XXnkl\nAP0j+OKLLxbcxjBTW1uLjRs3AgAmTpzopN5kYvLkyc5yqafprF271lk2B8xmi4g4pTI3btxYkqVH\nTYFvz0jrhVIdaOtXBB9oEfh1dXXO2Jw4E5TA37dvX159hZ1CCfy4YAv8Dh06eJ5MjWQHz25MePLJ\nJ53lG2+8MeU206ZNc5Z///vfB25TlMglPceEA21bMKPubjMAZ2LIkCEAdCpZKQlTG1vg9+jRA1VV\nVZ77KXWBX1ZWlrdINfPwTfEbV/wU+F26dHGWS0Xgl5eXO7XsvWCW2CwFgc/0nOChwI8B9fX1TkS+\nZ8+euPDCC1Nud8EFFzhRgj//+c9M0zEwxbkZlc/EqFGj0LZtWwAo+Vr469evd5ZPPvlkT33YAh8A\nNmzYkLdNUaKxsdEpY5tPeg5QugLfTtHp3r27MzOyV0qtFj4j+N6wBX7nzp0hIp77KbUIPgV+8FDg\nx4BXXnkF9fX1AHRpTLf0ksrKSlx++eUA9EXpjTfeKJiNYef99993lk877bSM29tPQ9q0aYPRo0cD\n0Ckqth9KEVPgm0I9F8x2Xqs9mU+qosSOHTucWVjzSc8Bwivwg/SNUsqJ4Oebfw+UXiWdoCL4pZKD\nn096DpBZ4Ef1umailKLALyAU+DHg+eefd5avuOKKtNvaNfEB4OWXXw7MpqixdOlSADov0M4DT4c5\nq6BdSae5uRkrVqwIxsAIYKfo9O3b1/Ojaj8EflRnfDQnoTNr2XshrAI/SN8cOnTImeAv3/x7oPQm\nu7IFfvv27Z2nkl4plRQdpVQgAj9VFZ2oXtdM6uvrnSAGBX7wUOBHHKWUk57Ttm1b1/QcmwsuuMBZ\nfvXVVwO1LSocOHDAGWA7duzYrAb+XH/99c6yLfABYNmyZb7bFwUOHTrkRDm9pucA/gh80zdRohQE\nfpC+8XOALVC6Efx8o/dA6VTROXz4sCNYg47gR/W6ZsISmYWFAj/irF+/Hlu2bAEAnHXWWRnLTnXv\n3h3jxo0DACxevDjWF99sMUX52LFjc25vtrGfBJQaZnqO1wG2ADBw4EBnudQmZNu+fbuznK/A79ix\no1PHPUwCP0j8LJGZ3EfcBb5Syvkt8EPgl0oE368a+EBpDLKlwC8sFPgR57XXXnOWzzvvvKzanH/+\n+QD0RZ15+Imi3IvAZwQ/sYJOPhH8du3aOeK21AbZmhH8vn375t2ffR7NG4c4wwi+dw4ePOiUAmUE\nP3v8KpEJlMYgWwr8wkKBH3Fef/11ZzlXgQ8wTQdIrH5jP93IxLx585zlXr16oXv37gBKV+D7FcEH\nWtJ0du/e7Wl2YNM3UcLPFB0A6NOnDwCdRhCWWZaD9I0p8DnINjf8HGALlE4Ev5ACP6rXNRMK/MJC\ngR9hlFJOBL99+/ZZVX8BgLPPPtspIffKK68EZl9UMCP4Y8aMyarN/fff7yyLiBP537VrV0kMyEvG\nrwg+kH+pTNM3USIogQ/oCj1hIEjfmN87DrLNjSAFfqlE8M0UGy9kGmQb1euaiRlooMAPHgr8CLNm\nzRrnh/vMM89ERUVFVu06duyIiRMnAgBWrlwZ6wtwJpqbm52o++DBgxMusul45plnEv4303SWL1/u\nn4ERwY8a+Db5DrRN9k1UsAV+hw4dsv4cpsNM8wlLmk6QvvE7gl9dXe2MaWIEPzcqKiqcMSCM4GeH\nKXhTRfCjel0zYQS/sFDgRxgzfz7b9BybKVOmOMulPAPrhg0bcOTIEQC55d8nl4EcOXKks7x69Wp/\njIsQtsDv2rVrQvTOC/kK/Hxmkywmtgj3I3oPhDOCH6Rv/I7gAy1RfAr83LGvAxT42VFRUeF8P1IJ\n/Khe10wo8AsLBX6Eeeedd5zlM888M6e2p59+urM8f/5832yKGitXrnSW7QmrvDBixAhnedWqVXnZ\nFDWOHz/uVHLKN3oPIGEeglIZaHvw4EHn8bUfA2yBcAr8IPE7gg+0CPy6ujo0NTX50mcYCULg2wNt\n9+7dC6WUL32GDT8FPtCSpsNBtsQPKPAjjC3MKyoqMGHChJzannHGGc7yu+++66tdUcKcmMqMwufK\nKaec4iyXWgR/w4YNzg94vgNsgcQIvpn6E2f8zr8HSk/g2xH8jh07ol27dr70ad8oKKUSRHDcCDKC\n39DQENsZvinwc8MU+HYKFwkOCvyIsn//fif6PG7cOFRVVeXUftCgQU50av78+bGNsGTCjOCPGjUq\n63YzZsxI+L9Xr17OIKtSi+CbaTR+RPB79+7tCLRNmzbl3D7ZN1EgaIEflhz8IH1jR/D9Ss8BSqeS\nTpARfCC+A239rIMPJAr85N/kKF7XkmEEv7BQ4EeUhQsXOstmND5bRMRpt2/fPqxdu9Y326KEKfDN\nNJtMDBgwIOF/EXHab9q0CUePHvXHwAhgzwIM6BvHfBER5/xu2rQp55vPZN9EgSAEvpnqE5YIflC+\nOXbsmCO2/ErPASjw86EUSmUGFcFvbm52xobZRPG6lgwFfmGhwI8oZlqNmU+fC6Weh6+UcgT+wIED\nM84CbHLbbbe1es9M0ymlGya/BT7Q8mN2+PDhhB/RbEjlm7BjRtj9ysGvqalxBuaFReAH5RtTfDOC\nnzuM4HvDzzKZQPpa+FG8riVDgV9YKPAjiinIvUTwgUSBbz4RKBV27NjhXETzyb+3KdWBtmYazcCB\nA33p04xWbd682Zc+w0wQEXwRcdJ0wiLwgyKIAbbJfZWCwC8vL/dFqAKlFcEvKyvzJafcPPdxzMOn\nwC8sFPgRRCnlCPxu3bp5znv+2Mc+5iwvWbLEF9uihJme44fAL9WBtnYEX0TQv39/X/qkwPcHW+Dv\n378/tgMdgWBKZAKlM9mVLfC7du0KEfGlz1KK4Hfq1AllZfnLqUyz2UYdCvzCQoEfQTZv3ow9e/YA\nACZNmuT5gtytWzdHkC1ZsgTNzc2+2RgF8hH4qSL0pR7B79u3L9q2betLn+aTgFwFfhTPvS3wRQS9\ne/f2rd+w5eEH5Rszgs8UndyxBb6flU1KKYLvR/49kF7gR/G6lowt8MvKynIuDEJyhwI/grz//vvO\ncq7lMZOxo/iHDh0qmZrjNvkI/DvvvLPVe0OHDnWiOKUSwa+vr3fElV/pOUBiBD/XSjqpfBN27Bz8\nXr16ZT0jdTaErVRmUL4xo+tM0cmNhoYGZw6GXMe7pCPuAl8pFajANyv0ANG8riVjC/yamhrfnhQR\ndyjwI4gp8M00Gy+MHz8+Zb+lQD418B966KFW77Vt29ap4b569eqSKD1qRtf9GmAL5Jeik8o3Yaap\nqQk7d+4E4N8AW5uwCfygfMMIvnfMAbYTJ070rd+4p+jU19ejsbERQGEi+FG7rqXCFPgkeCjwI4if\nAr+U8/DtCH7Pnj1zrhzhVrLMTtM5cuRIQl51XDEr6PgZwT/ppJOc5VwFftTKye3atcuZJdXP/Hsg\nfLXwg/JNUBH86upqJ5WgFAS+X2NogPhH8P0ukQmkH2QbtetaKijwCwsFfgSxBX5NTQ0GDx6cV1+l\nGsHft2+fE/XzY4CtjTnQNg45k5kw02f8jOC3a9fOyUX3MtlVlAhqgC0Qvgh+UAQVwQdaovilIPD9\nKpEJxD+C73eJTCDeg2ybm5udVDAK/MJAgR8x9uzZg61btwLQ4jzfkfsDBw50Ii2lJPBN8e2nwB82\nbJizvG7dOt/6DStBRfCBlojVjh070NDQ4GvfYSJIgR+2QbZBYQv8ysrKBJHkB7bAr6uri2UhgqAE\nfseOHZ08a0bwsyPOAt+cuIsCvzBQ4EcMM40m3/QcQFftsKP4O3bsiHUpOBNzIqrhw4fn3P6+++5L\n+f7QoUOd5fXr1+duWMQIKoIPtAh8pVRO6U5uvgkrZupM3CP4QfnGvm716tXL98F7tsBvamrydRBq\nWDAFvp/zoZSVlTnBo7hH8AsxyDZq17VkWCKz8FDgRww/8+9tTj31VGf5ww8/9KXPsGMKfDPqni1H\njx5N+b45J0GpRfD9zhH1WirTzTdhxbx58XuQbZcuXZzSpWHIwQ/CN01NTU76jJ/59zZxH2hrCvzy\n8nJf+7YFPiP42ZEugh+161oyFPiFhwI/YgQh8MeMGeMsL1++3Jc+w06+An/WrFkp3+/fv79T5rAU\nBL4dwe/Vq5fvdY29lsp0801YCTJFx6yrH4YIfhC+2bt3r5M643f+PQB0797dWY67wL/lllt87dsW\n+Pv3749delOhB9lG7bqWDAV+4aHAjxi2wK+srMSoUaN86bOUBX5ZWVneA5VNysvLnf7Wr18f61KZ\nDQ0NTlTY7/x7oHRmsw1S4AMtTwXq6upiOZYhyAG2QGlF8P3MwQdaBto2NzfHLqc8CIFvCt+4nS8K\n/MJDgR8hjhw54kygNGbMGN8mxDFvFEohRUcp5Qj8QYMGobKy0tf+7Tz8+vr6UERNg2LLli3ODYzf\n+fdA6Qn8qqoq34SCiZmHb9fbjxNBlci0ocD3TpxLZZo58n59bysqKpwnoRT4JF8o8CPEhx9+6Agq\ns7xlvnTq1Mmpf7x8+fJYR50BLQjsi405KDYX9uzZ47rOzMOP80DbICvoJPeZS4pOOt+EEfspSL9+\n/QKZ3TFMtfCD8A0j+PlhCny/r/1xLpUZRAQfaMnDTx5kG7XrWjIU+IWHAj9CmOkz5sBYP7DTdA4c\nOBD7CZryzb8HgOnTp7uuM28a4pyHH2QFHUCLg+rqagC5RfDT+SZsHDlyxPkh93uArU2YKukE4RtT\n4AcdwY+6yEqFLfA7dOiAL33pS772HecIfhB18IEWgZ8cwY/SdS0Vdg18gAK/UFDgRwgzfWb06NG+\n9m32F/c0HT8E/syZM13XMYLvDyLipOls3rw56+hiOt+EjaDz74FwCfwgfGOm6DCCnzu2wO/WrZvv\n/mEEP3dMgW9e86J0XUuFecNCgV8YKPAjRJACv5QG2voh8CdMmOC6jhF8/7AF/tGj/5+9Nw+zqrjz\n/9/V+0rTNA3NvoMsyiKouBBXTHToqOOomPy+E8lMJon6RL8JzhMTo2QxkYlJJtFkEkMymW8MakZF\njYnRuEVAZUfZaWhoaLaG3qDX2/fW74/TVdRt7u2+yzlVdU5/Xs/DQ3X3PVV1+9Pn3Pf5nHd9qjVh\ngdBbbGxDt8A37cH3IjZeZ/CDXEWHcy7Pq7KyMtfj0x8y+IwxVzdXE08DIpFIVGlMP13XYqFadNze\njI6IDQl8HyEE/sCBA6M+tN2gPwl8VXSnKvB7Y+zYsdJLTRn89EjVh+8X+lsG3wu8zuAPHDgQWVlZ\nAIIn8JuamhAOhwG4v8AW6B8Z/AEDBqS9o7xKUHezJQ++fkjg+4SmpiYcPnwYgJO9d3sx3tSpU2Wf\n/cWik5mZ6UnmOTc3V2aeg5zBFwK/rKwMRUVFnoyRai18v+DlLraCoAt8kcFnjEVl291C7TdoAt/L\nCjpA/8jgu135KqgCnyw6+iGB7xN27Ngh227bcwCgoKAA48ePB+AI/KBtSiJQS2SOGzcu5VKjK1as\n6PXnwoff2NgYuMwVAHR1dcnss1fZeyBa4B86dCihY/qKjU14uYutYPDgwTLDaFrgexEbkcEfPHiw\n6zuxCoQPv66uLlBVxnoKfLfjQwI/eVSBr1bS8dN1LRZk0dEPCXyf4KX/XiBsOq2trVH2iyBx7Ngx\ntLS0AEjPnrNp06Zefx50H/7hw4flo32v/PcAZPlWIHGB31dsbEKHRSczM1NaV0x78N2ODedcZvC9\nsOcIhMDv6OiQ148g0FPgux2foFp02tvb5aZxujL4frquxYIy+Pohge8TVF+8VwK/P1TScWOBLQA8\n+eSTvf5cFfhB9OHrWGALpCbw+4qNTejI4ANnbTrHjx+XN2YmcDs2Z86cQXt7OwBvFtgKgrrQtqfA\ndzs+Qc3ge1Uis2d/qij203UtFuTB1w8JfJ+gCm51QaybTJ06VbbFjrlBQxX4qW5ylQhqqcwgZvB1\nLLAFgJEjR8p2EHezFR788vJy13dUVqmoqAAAhMPhQNVy93qTK0FQS2V67cEvKCiQf9dByuB7VSIT\nCL4HPz8/Xy5aJ7yFBL5PEAK/rKzMs0zVeeedJ9u7du3yZAzTuJXB7wvK4LtDXl6e/HtPNIPvFyKR\nSNQutl4S1IW2XpfIFJDATw3GmMziBzWDTwI/MUQGn/z3+iCB7wMaGhrkh7IXFXQEU6ZMke2dO3d6\nMoZpdAl8sWAZoAx+ugibzpEjR9DV1eXpWDqpq6uT78dLew5gVy18N/G6RKaABH7qCB8+ZfATI94i\nW78jBD7Zc/RBAt8H6FhgCzgnnsgk7ty5M1DVIgRC4GdlZaUlTCsrK3v9eVFRkbRFBFHgqxl8XQI/\nEokklH3uKza2oGOBrcCWDL7bsSGLTnr0FPhenDsig3/mzBmEQiHX+zeBiQy+X65rseCcy/dCAl8f\nJPB9gC6BD5z14Tc0NATKqws4AlGI7fHjx6flA7znnnv6fI3w4R8/fjxQlTeAsxn8kpIS1z/geqKW\nykzEh59IbGxAp8AXN5uAWYHvdmzUDL4ui06Qros9Bb4X54660FYVxn7GxCJbv1zXYtHR0SGfVpJF\nRx8k8H2AToEfZB/+0aNH0dbWBiB9e87ChQv7fI1q06murk5rPJsIh8PSD++l/16QbCWdRGJjAzo2\nuRLYksF3Oza6MvhBr6KTlZWFAQMGeHLuBLFUpirw1RsYN4iXwffLdS0WVCLTDCTwfYCOEpmCIAt8\nXf57gVpJJ0gLbY8ePSoftXttzwFSK5XpB0xZdILqwadFtskjBP6gQYM8W9sVxFKZ6vugRbZ9Q5tc\nmYEEvg8QGfzy8vKoDxovIIHvHmoGf//+/Z6PpwtdFXQEqsAPUqlMXTXwAXssOm6jq4qOugA1iALf\nqwW2AGXwk0XNcAdlkS1l8M1AAt9yTp48KbNUXtW/V1EFftAq6bgp8FetWtXna4Iq8HVW0AGiPfiJ\nZPATiY0N6Mzg5+XlyUyjSYHvdmyEwC8uLkZ+fr6rfatkZWVJoRoUga/uyisEvhfnThAz+F4uss3J\nyUFeXh6AaGHsl+taLCiDbwYS+Jaj038POJlEcYdNGfz4rFy5ss/XBNWiozuDP2zYMGRmZgJITOAn\nEhsbEAI/NzfX0wyqQNh0jh07ZqxCltuxEQLfS/+9QDw9DYrAj1Ui04tzJ4gZfPVGxe0MPnBWBKsC\n3y/XtVjQLrZmIIFvOboFPmNMZvEPHDggF6UGASHwc3JyomwfqfDss8/2+ZqhQ4fKrCJl8FMnMzNT\nWlgSEfiJxMYGxCLb4cOHe+Z/VhECv7W1NeoDVyduxqa9vV1aGHQIfLHQ9vTp0+jo6PB8PK9RBb54\nb16cO0HO4DPGPBGsopKOKvD9cl2LBVl0zEAC33J0C3zgrE2Hcx6V9fYzkUhEZtHHjx8vM8JewhiT\nNp3q6mpEIhHPx9SB7gw+cNamU1dXF4ibzra2NpnN9NqeIwiaD1/XJleCoJXKVN8DefCTQwj8kpIS\nZGS4L6PUDH4Q9qMhi44ZSOBbjkmBDwTHpnP48GG0t7cD0LPAViBsOp2dnVGeaz8jMviFhYVRH95e\noj5xOXz4sJYxvUQtken1AluBLaUy3UJXiUxB0Crp6NjFFghmBl+8Dy/sOcBZERwOh9Ha2urJGDqh\nDL4ZSOBbDOdclsisqKjQJqaCKPB1V9ARBG2hLedcVrIZO3asFmsJELxSmToX2AqCViqTBH56qBl8\ntc6/2wRN4HPOZQbfq03+glYqkzL4ZiCBbzH19fUyy6Irew8Es5KO2wL/rrvuSuh1QRP4x48fl09C\ndPjvBcmUykw0NiYxLfBNZfDdjA0J/PSIlcH34txRBX4QLDqtra1yV1adAt8P17V4UAbfDCTwLUat\nvKJT4E+cOFF61IOSwa+qqpJtNwR+orsKBq2Sjgn/PZBcqUw/7PhoQuDb4MF3MzYmPfhBE/gig+/F\nuZOTk4PCwkIAwcjge11BBzi7yBY4K479cF2LB2XwzUAC32LUjK+OGviCnJwcKUx3794diMWhbmfw\nFy9enNDrgpbB111BR5CMRSfR2Jikv2bw3YyN7gy+amMJ6iJbr84dYS8NQgbfyxr4glgZfD9c1+JB\nZTLNQALfYkxl8IGzNp22trZAeJ6FwM/Ly8PIkSO1jav61IMg8E1l8IO2m61pgU8e/OTpDxl8rxCZ\n7oaGBt9XhdGRwQ+aB58sOmYggW8xqiCcNm2a1rGDtNA2HA7Lm6UJEyZ4UtYsHnl5eVLABcGio2bw\ndQr8wYMHy90dg3DDqQp8XVV0SkpKkJubC4Cq6KRC0AS+yOAzxjwTqgKRwe/o6PB9mVvdGXyx14Of\noQy+GUjgW4wQhCNGjPDsQhKPIAn8Q4cOobOzE4CzvsANVq9enfBrhU3n5MmTvs/GqBl8nRYdxpjM\n4vcl8JOJjSmEwC8rK5M3Ll7DGJNZfFMC383YCIGfn58vPd5eEjSBLzL4paWlcs2VV+dOkCrpmLLo\n+OG6Fg/xHvLy8pCdnW14Nv0HEvgWI+56ddtzgGBV0vGiROby5csTfq3qw6+urnZlfFOIDH5eXh6G\nDBmidWwh8E+fPt1rViuZ2JggEonIOvi67DkCIfDr6+uN7MbqZmyEwB86dKiWcq15eXkoKioC1e8K\nbwAAIABJREFUEAyBLzL4ag18r86dIFXSMbXI1vbrWm8ILUMLbPXiW4HPGLuUMbabMRZhjI3u+wj/\nYlrg7969W/v4buKFwH/mmWcSfm1QKulwzqXA11kDX5CoDz+Z2Jjg5MmTCIVCAMwJfCDa4qILt2IT\nCoVkBlqHPUcgvOp+F/ihUEjeJKv+e6/OHXUPF8rg902sDL7t17XeEO+B7Dl68Z3AZ4zlMcYeB/Au\ngEkAElqxwxi7mDH2ImPsBGOslTG2jTH2DcZYTh/HVTDG/osxdpAx1t79/y8YY8P6OC6nu/9t3eOd\n6B7/ooTfbDcmBH5paanM0PrdouOFwC8oKEj4tUGppHPy5Em5q6JOe44g0VKZycTGBCYW2ApMl8p0\nKzaqwNYp8IVNp76+HuFwWNu4bqNm0dUMvlfnDll0kiOWwLf9utYbIoNPAl8vvhL4jLHxALYAuBnA\nJ5M47k4AqwGUA7gJwHQAKwA8DODvjLGYZw5jbBqAbQAWAfgKgCkA7uvu4yPG2HlxjivsHu9bAH7d\nPd7NAIYCWMMYuyPRuQNmBD5wNot/7NixqIua3zC1i60gKALfVAUdQVB2szUp8G0olekGuhfYCoTA\n55z72mqis4IOEJ3B9/PvDdBfRcfvi2w7OjrkE0uy6OjFVwIfjlD+G4DpnPM3Ezmg+6ZgBYA6AJ/i\nnK/lnFdzzn8MR+BfBODHMY7LBPA8gFIAt3DOV3HOD3LOXwTwjwDKAPwvYyzW7/A/AVwI4Fuc8590\nj7cGwKcAnALwG8bY2ETftO4KOoIpU6bItp9tOkLg5+fna6tYohIUi46pCjqCoJTKtEXg+7lUpmmB\nD/jbphOrBr6XUAY/OYJUJpNKZJrDbwL/T5zzezjnydTZ+gaAHAC/5Zyf7vGzJwF0AFjCGOtZHP1O\nOBn7DznnH6o/4JyvBfABgKkAbld/1r0e4HPd/f68x3FNAH4DIA/A1xOZ/OjRo43d9QbBh9/V1SWz\n5hMnTnStRObSpUsTfu3gwYPl4jw/Z/BNC/xELTrJxMYEtgh8Exl8t2JDAj894mXwvTp3gpTBVwW+\nzjr4tl/X4kG72JojZbXDGBvdneXWBk9yh4zu7PrN3V++FaO/ZgDr4fwebu3x41vh+PvjPSn4GwCG\nHgIfTnY/A8DGGDcU4jgA+EeWwCpFU/YcIBilMg8ePIiuri4A7tpzVLHZF4wxadM5cOCAb727pnax\nFSRq0UkmNibozx58t2JDAj894mXwvTp3gpTBF/PPycnxrMSt2rcQ+LZf1+JBGXxzpJPOrAYw2a2J\neMRkAOIZWjyFuguOUJ/X4/sXJ3Ac4hzHEziuFECfRdlJ4KeH6r+fPNm9P9d77703qdcLm05XV5dv\n/eOmPfjFxcWyfFxvv8NkY6Ob/pzBdys2J06ckG0TVXQAfwt8NYOvCnyvzp0gZvAHDhzoaSUxke0W\nAtn261o8KINvjnQEPgPwJctLVE5Q2vEMp+JTTr62e5GsKPLd13EVjDH1Nl70E+849fsT4rxGYlLg\njxkzRu58GQSBb2KBrSAIC21FBj83N1erqFJRN7uKRCJG5pAuQuDn5uZq8T+rDBkyRNrUyIOfPGoG\nX82C+w117joW2QYpgy8Evte7/wox7PdFtpTBN0e6huQlAPYxxl5ijC10Y0IuI24Xw5zzeL6I1u7/\nS5TvqbeZ8fz+rUo71rExj+OcR+D483seFxOTAj8zM1OK4qqqKml18RMk8N1BrYE/evRo19YyJIt4\nTN3Z2enbDKoQ+MOHD9e+l0BmZqYUqVRFJ3mCYtGJl8H3ipKSEvm37meBHw6HpeD2end5NYOfpDvZ\nKtQMPgl8vaT7KX0FHJFfDuA1xtgextj9jDFv//L7EVOnTjU6vrDphEIhX+7CumfPHtl2U+An+0TD\n7wK/oaEBZ86cAWDGniNIxIdv89OmtrY2KXB023MEwqZz/Phx7U9B3IqNEPg5OTlRu356TVAEfrwM\nvlfnTkZGhhTEfrboqNloXQI/HA6jra3N6utab5BFxxzpCPx3AdRzzv8f5/xSOGUh3wXwHQCHGWNP\nMcbmuDHJNBBnY2YvC4JFDXz1OZhalyq/j+PiHRvzuO6Fv7kxjjuHYcOGyeorpvC7D19k8IuKilzN\n9D3wwANJvd7vpTJNV9ARJFIqM9nY6MSk/14gBH5XV5d2m4lbsRECf8iQIVqfggRF4KsZfNUf7+W5\nIywtfs7g66iBL1BvXJubm62+rvUGWXTMkbLA55xfxTk/qHy9mXP+rwCGA3gQwGUA1jPG3meMfbav\nHWM9QlVSFXFeI1adyddyzlsAiFVcfR13jHPeHmPMeMep3+9V6Z06dQqVlZVR/+bPn49Vq1ZFve71\n119HZWXlOcfffffdWLFiRdT3Nm3ahMrKynM+2B9++GE89thjUd+rqanBq6++Kr8WAv9nP/vZOSW7\nWltbUVlZidWrV0d9f+XKlbjrrrvOmdvtt9/u+fvo7OyUwjQjI+OcUp/pvI8nnngiqfehVp1RM/jJ\nxqOysvKcGy0d8VAF/kcffZT231Wq70OtJNGzX/E+Fi1aFPd9qLhxfiT7Pv7yl7/I740YMcLI+aEK\n02PHjmn9u3riiSfSfh/hcFgKfPWmXcf7KC4uRnZ2NgDnPLbl7yrZ9yHmUVJSgrffflu+D3Fd8+J9\niBuJ+vp6fO1rX3PlfajoOM/VEpmHDh3y9Lrbs1TmwIEDrf+7ivU+embw/XB+xHof4jihxcaNG4dZ\ns2bh/vvvP6cfa+Cce/IPTq333wGIAAjDEczfBzDGxTFE36Pj/DwDQEP3a66J85q/d//8vh7ff7n7\n+9+Jc9y3u8df1eP7/7f7++/FOe7q7p+fAsDivGYOAP4f//Ef3DTr16/ncKoC8c9//vOmp5MUu3bt\nknO//fbbTU+Hjx49mgPggwYNMj2VpHn88cfl7/L3v/+9sXm8/fbbch5f/epXjc0jVZ5++mk5/8cf\nf9zIHB588EE5h9dee83IHNLh+PHjcv433HCD9vGHDx/OAfBhw4ZpH9stBg0axAHw8ePHaxvzuuuu\nk3FrbGzUNq6bvPnmm/I9fP3rX/d0rLvvvluOtX79ek/H8pL7779fvo/Vq1ebno7rbNy4Uby/Odwj\nPZ3qP9dXyjHGxjHGlgM4BOCz4ttwBP4/A6hijD3PGJvh9tg94c6C1he6x78mxlwHwClzGYGza63K\nH+Md1821cIL6XI/vP9/d34WMsVjPo64Tr+O895UzV199dW8/1oK6m63fLDq2LLAVCJtOfX19VCbI\nD5gukSnw+262Nll0AH8utDW1wFYgbDonT5705eLHcDgsrSY6KugIglAqU7Xo6PLgA/6upEMefHOk\ns9FVmDE2Tfn6RsbYnwHsBfBVAGUAugA8C+ATnPMZAEYBuA3AYDj2nU+mM/kEeRRAJ4C7Ygjue+D4\n4X/LOe+5Ym8lgD0ALmaMXaL+gDF2KYBL4NS0f0b9GXdsS7/r7vfLPY4bCGdRcgecpxnWU1xcLIUI\nCfz08PNCW1s8+CNHnt1w2o/7Cdgm8P1YKtMWgR8KhaL8xX6hoaFB3pjoLNMahFKZamJGp8D349+Z\ngDz45ki3Dn45Y+zfGWP74VhaPtnd52EADwEYxTlfzDl/DwA452HO+Yuc808AeByO+E5uUMYGM8aG\nMsZUL/uQ7u+dc7XnnO8D8C9wbir+whi7tPspw1cBPAJnJ9tzTFSc8y44u9LWA3ieMXYzY2wMY+wW\nAP8L4CSAW7ufEvTkKwA2Afg2Y+z/do93GYC/ABgE4POcc9+UpBELbU+dOuWr2s9eVdABYvu/+yII\nAj87OztKIOpGrcEfT+CnEhtd2CbwdWfw3YiNLQIf8OdCW3WBbc8Mvpfnjirw/ZrBVwW+7kW2Nl/X\neoPKZJojXYvOm3BE+tjur98AcDOAcZzz73HOT8Q7EMCLAKb08vN4rAdwBEAtHIsMAHwIZ+OpI7EO\n4Jz/Hs6i3zoAqwBsh5NJXwbgCu4sqo113HYAFwB4BcBP4GTsfwzgJQAzOec74xx3pnu8bwP4fPd4\nqwAcB3AZ5/wPSb1jw6g2nZ4LVW3Gywx+a2tr3y/qgZ8r6dhQA18gbDpHjx5FKBQ65+epxEYXqsAf\nPny4kTlUVJzNjegW+G7ExrTA9/tutmqSpmcG38tzR7Xo+DWDb8qi09zcbPV1rTdI4JsjK83jxSLW\n/wbwC855VSIHdVtV7oJj4UkKzvm4ZI/pPm4dnJuPZI87CuCLKRzXCeB73f98Tc9SmZdddpnB2SSO\nEPilpaWuP4petmxZ0sf4NYPf2NgoH7OatOcIRo0ahQ0bNiASieDIkSNRFYqA1GKjCyHwBw8eLHeJ\n1o3JDL4bsTEt8IOcwffy3AmaRUfXTraAI/Btvq71hvjsyM3NRU6OiWKK/Zd0U3FLAYzgnH81UXHf\nzf+D40/3l6m7n+LHWvjt7e3SwjFp0iTtO4bGwq8C3xb/vUAtleknH764IQHM2XMAID8/Xz7+Jw9+\n8vhd4PeWwfeSICyyNeXB9/MiWzF3WmCrn3QF/l94dA34RPlnOAtudSyyJdLEjwJ/3759ciGZDQts\nAecDTggrP1l0VIHfM1tugkR2s7WRuro6dHU5Dy1NCnzgrE3Hj1V0Tpw46/w0LfD9tCZJ0FsG30uC\nkME3adHxK2LuOnecJhzS2egqg3O+I8Vj6znntZxzf57l/YwRI0agoMDZuNcvHnyvK+ik8sHOGJNZ\n/Jqampj+cRuxLYPfV6lMW0WXDQtsBcKm09LSEuWR9Ro3YiMy+JmZmVFZYV0EOYPv5blDGfzk6Cnw\nbb2u9QbnnAS+QcyuliN8QUZGhlxou3//fnR0dBieUd94WUEHAJYsWZLScULgh8Nh32SfbamBL+gr\ng59qbLzGRoEP6M3iuxEbIfDLy8uNLPj2u8BXM/g9Bb6X506QMvhFRUXIykp3CWPv9KyiY+t1rTda\nWloQDocBkMA3AQl8IiGETSccDvvCXuJ1Bv+RRx5J6Tg/VtKxLYPflwc/1dh4ja0CX6cPP93YcM6l\nRceEPQcIVhWdnhYdL8+dIGXwvc7eA9EVZ5qbm629rvWGunaABL5+SOATCeE3H77XAn/OnDkpHefH\nhbZC4GdlZRkr7ahSUVEhs2exBH6qsfEamwS+qVKZ6camoaFBWttMCfxBgwbJRft+FPi9ZfC9PHcK\nCgqQnZ0NwL8ZfCHwva6gAzhVZ0SlraamJmuva71BAt8sJPCJhPBbLXwh8MvLy7VkWxLFzwJ/1KhR\nyMzMNDsZON5rcaMRy4NvKzYJfJOlMtPBdAUdwPn7E8LYjwJfzLmoqEhrqVbGmBTGfhT4HR0daGtr\nA6Angw+c9eH7dZEtCXyzkMAnEsJPGfyWlhZZjtCWCjoCv1l0mpqaZNbKBnuOQNh0Tp065ZsNYGwV\n+H4qlanejJjcUVn48P248FEI/CFDhmgfW9h0/GjRUeesa3E3CXwiHUjgEwmh1pK3XeBXVZ3dksEr\ngb9ixYqUjlOz4H7I4Nu2wFagLrQ9fPhw1M9SjY3XCDtRfn6+keovKqYy+OnGRp2rajPSjRD4LS0t\nMqvrB0KhkBSq6mJhgdfnjsjgnz592jdVxAQmBL4Qxc3Nzfj1r3+tZUw3IYFvFhL4REIUFBTIGui7\ndu2SNeZtxOsKOgCwadOmlI7Lzs6W2We1Vr+tVFdXy7YNNfAFvZXKTDU2XsI5lwJ/1KhRxjdeM+XB\nTzc2tmTw/brQVvXfxxL4Xp87qjBWS076AZMZ/K6uLqxbt07LmG5CAt8sJPCJhBE+/Obm5igvrG2o\nAn/y5MmejPHkk0+mfKyw6TQ3N1v/qFp9yqDai0zTW6nMdGLjFU1NTThz5gyA6LmborS0VPqvdQr8\ndGNji8D3a6lMda6xBL7X546fS2Wq12pdOwCrXn+qokMkCwl8ImH84sNX56bO2Rb8tNBWXSegzts0\nfZXKtA31KYMNAp8xJrP4fvLgq3MlgZ88fQl8r/FzqUwTGXxV4PvtiQdAAt80JPCJhPGbwGeMWbfI\nFvCXwFfnZ5PA72s3W9tQb0JsEPjAWZvOyZMn0dnZaXg2iUEZ/PRQ52pikW1QMvgk8BODBL5ZSOAT\nCeMHgc85l3MbN24c8vLyDM/oXPxUSUcI/IKCAmNlCWPR1262tmGjwFcFss2WOxUh8AsLC6M2AtKN\nKvD9VEnHdAZfFfiUwe8bEvhEOpDAJxJGFfi21sI/cuSI9DpPnTrVs3EqKytTPtYvGfxIJCIX2Y4f\nP974wlCVsrIy5OfnAzhX4KcTG69Q56jai0xiopJOurER8zSZvQf8m8EXuwADsQW+1+eOKowpg983\nqsB/6KGHtIzpJiTwzUICn0iYoUOHylX9tmbwdfnv77nnnpSP9YvAr62tldYNm+w5gGO/EpnwQ4cO\nRVUjSic2XmF7Bl+XDz+d2LS1tUnBYLJEJuDfKjp9ZfC9PnfIopMcqsC/9NJLtYzpJiTwzUICn0gY\nxpgUzQcPHrRygyFdAn/hwoUpHztw4ED5AWGzwLfVfy8QQvnMmTNRj6/TiY1X2CjwTZTKTCc2tvjv\nAf9m8PsS+F6fO7TINjlUgW/6bz4VhMDPzs620i4bdEjgE0khbC+q190mbK+gIxCC+dChQ9YucPSL\nwAfs9+GLhcAlJSVGveMqpja7ShWbBH5QM/heE4QMflZWFoqKirSMGRQPfklJiVUWz/4CCXwiKWbM\nmCHb27dvNziT2PhN4EcikajdYm3CdoHvl1KZkUhE7rZrS/YeIIGfDrm5udKu6EeBX1hYiIKCAu3j\nByGDP2jQIG1iNUgCn9APCXwiKaZPny7b27ZtMziT2AiBX1ZWFpVlc5tVq1aldbxaScdWm45a4cem\nTa4E8Uplphsbt6mrq5NPaWwS+KpFR5cHP53Y2FIDXyAy4H6qoiMW2cbL3nt97gQhg6/LngNEC3wb\nE2q9wTmXAl/cDBN6IYFPJIUq8G274Jw+fVpmSr3O3q9cuTKt49WMuK2lMtUbj7Fjx5qbSBziWXTS\njY3b2FhBB3AWzYtMpK4MfjqxsSmDD5y16TQ0NCAUChmeTd+Ew2EpUuMJfK/PnZycHBQWFgLwVwY/\nFAqhubkZgDmBb+vnRDxaW1sRDocBUAbfFCTwiaQYNWqU9BDbJvDV0p1eC/xnn302reP9UElHzGvE\niBFWLpCKZ9FJNzZuY+MCW8DxEguhp0vgpxMb2wS+KpJPnTplcCaJcerUKVltKp7A13HuiCy+nzL4\n6lx1Cvzi4mJ5E25TciARqIKOeUjgE0nBGMO0adMAAAcOHJA1523AL/57wH6LzunTp6Vf10b/PeCf\nRba2CnzgrFA+fvw4IpGI4dn0jirwTZfJBKJ3glXry9uK6QW2AiHw/ZTBN1FBBwAyMjKkOPabB58E\nvnlI4BNJo9p0du7caXAm0agC38tNrtxg5MiRyMrKAmDno1exwRVgr8AvKiqSj7BVD75tqHOzTeAL\noRwKhazPQguBn5WVhbKyMsOzQdTOzn7YCVgV+OrNiW6EQO7o6EBbW5uxeSSDKYEPnLXpkMAnkoUE\nPpE0tvrw/ZTBz8zMlL72/fv3R23UZAO2L7AVCMF8+PBhazPQNmfwR4wYIdtHjhwxOJO+EQK/oqIC\nGRnmP7r8JvD72sVWF35caGuLwLftc6I3SOCbx/xVkvAdtpbKFAI/JyfH80Whd911V9p9COF85swZ\n6ypx2F4iUyB8qaFQSAoYN2LjJqrAHzlypMGZnIsq8Gtraz0fL9XYdHV1yQy0Df57wH8CPxGLjo5z\nx4+lMm0Q+KFQyDdPPAAS+DZAAp9IGhsz+KFQCHv37gUATJo0CZmZmZ6O58aOjzZX0vGLwI9VKtO2\nnWyFwB8yZIh1i5XVGw5RgcpLUo3N8ePHZfbSRoGvq8xoOiQi8HWcO6q9ynZbmMAGgQ/4y6ZDAt88\nJPCJpBk+fLg8YW2phV9VVSVrjatPGLxi8eLFafcxceJE2d6zZ0/a/bmJesPhF4EvhLQbsXGLrq4u\naX2xzZ4DRGfwdQj8VGNjWw18IHqhb1Ay+DrOHXV/EtueXMaDBH7ykMA3Dwl8ImkYYzKLf+jQIVkf\n2CTqjYYOge8GU6ZMkW21xKcNVFVVAXB2vDS5IK8v1NJxNi60PXr0qFwbYKPAVzP4Oiw6qWJbiUzA\n3xYdk+c0CfzkIIFPpAoJfCIlVJvOjh07DM7EQbUKqXOzGVsFfmdnJw4cOADAsTvp2pY9FcaMGSPb\nYs42YXMFHUB/Bj9VbCuRCTiLRbOzswH4T+CbXGRLAj85SOATqUICn0gJ23z4ujP4q1evTruPsWPH\nSoFgk0Wnurpa7kA4efJkw7PpnXHjxsm2KO3pRmzc4uDBg7Kt3ozYQllZGXJzcwHoyeCnGhsbM/iM\nMZkJ94MHXyxCz8/Pl7vJ9kTHuUMCPzlI4BOpQgKfSAlVRNvgwxdzyMvL0+IZX758edp9ZGVlyUo6\ne/futabMo1isDDgZfJsZPnw4cnJyAJwV+G7Exi3UpwpeV3ZKBcaYzOLryOCnGhsbBT5w9mlCXV2d\nvCm2FZHB7y17r+Pc8bPAVzee0oVfBb5q3SWBbwYS+ERKqAL/448/NjgToL29XYrSadOmeV5BBwCe\neeYZV/oRNp329nZrPOR+EvgZGRkyM15dXQ3OuWuxcQPbBT5w1off1NTk+c7UqcZGfbowfPhwt6aT\nNsKHH4lErK4Io86vN4Gv49xRq+j4TeCXlpZq34PBrwKfMvjmIYFPpMTQoUPlh9uWLVuMbsCxa9cu\nmf3W5b8vKChwpR8bffiqwLfdogOcrfLT0tKCuro612LjBn4S+ID3Np1UYyPmlZmZaY0HH/DPQtv6\n+np5jexN4Os4dwYOHChFst8Evm57DuB/gZ+ZmWnVNbk/QQKfSJmZM2cCcGoZm9wFU10D4JcKOgJV\n4Nviw1fnYXsGH4jtw7cF4cEvKioyIg4SQfdmV6kg5lVRUaHlCV2iqDcbNvvwbVlgCziCT5wLfhD4\n4XBYCmsS+IkjBH5JSYnVhRqCDAl8ImWEwAeArVu3GpuHH0tkCtQMuW0Z/IEDB0Y9TrcVWwV+JBKR\nAn/MmDHWfsjp3uwqWdRditWbERvwSwZfnZs6Z1MIH77NtiZBU1OTfEJNAj9xVIFPmIEEPpEyNgp8\nXRadpUuXutKPbRadtrY2uWHU5MmTrRWlKj0FvluxSZfjx4+jo6MDgL32HEBvBj+V2Bw9elQKLBL4\nqaE+XehN4Os6d4TAP336tDxHbMVkBR3AnwKfc04C3wJI4BMpY5vALyoqitr4yEvcGmfw4MEoLS0F\nYIfA37dvnxRTfrDnAOcKfF1/A33hB/89oDeDn0ps1DnZLPBttuioNx+9rWHQde6olXRsz+KbFvjF\nxcUy0eIXgd/e3o5QKASABL5JSOATKTNlyhRZotCUwG9sbJRCasaMGdoyzvfee68r/TDGZBb/0KFD\naG1tdaXfVPFTBR1BT4HvVmzSxS8CX2cGP5XYqHOyTeCrYtnmDH6iFh1d546fSmWqNyAmBL5amtMv\nAr+hoUG21ScQhF5I4BMpk52dLS0xe/bsQVtbm/Y5fPTRR7I9e/Zs7eO7gerDVwW2CfxWQQdwPnSL\ni4sB2OXBVwW+jZtcCSoqKmRVExs9+KrAV5822IBfLDq2evAB+wW+msEXT1t1I0SyXwS+Ok9TvzOC\nBD6RJsKmE4lEjGx4tXnzZtn2q8C3yYfvxww+Y0xm8Q8ePGjNhkN+yeBnZWXJTLTtAt+2DH5paanc\njdpmga/ah2woM+onga/Oz1QFIlXgmyxJnSiUwbcDEvhEWpj24W/ZskW2Z82apW3cXbt2udaXTQJf\nHd8vAh84Wwu/q6sL77zzjtnJdCMq6AB2C3zgbGb8xIkT6Ozs9GycVM4bmwU+Y0xmxP3gwc/IyOi1\nMpab17Xe8KvAV+etEyGSQ6GQkSflyaIKfMrgm4MEPpEWqqhWxbYuxJgZGRlaS2Q+8MADrvVlk8Df\nuXMnAGDYsGG+Whyl+vC/9a1vGZzJWUQGv6CgwJgwSBQh8DnnOHr0qGfjpHLe2CzwgbOWl7q6Omue\nHvVECPzy8vJe9xFw87rWGyTwk8NvlXTIomMHJPCJtFAF/saNG7WO3dnZKTe5Ou+885Cfn69t7Cee\neMK1viZOnCgXB5sU+CdPnpQfZlOnTjU2j1RQBf7NN99scCYOnHOZwR87dqz15UZ1LbRN5bwRtqGS\nkhIUFha6PaW0EQI/EolYWRGGcy4Ffl/+ezeva71BAj85/CbwKYNvByTwibQYOHAgJk6cCMDJpovS\nWDrYuXOnHE+3/97NcnJ5eXlSoO7atcuYx1Jk7wF/C/zm5maDM3E4fvw42tvbAdi9wFagq1RmsucN\n51zecNi2wFZg+0LbhoYGeZ3sy39vokwmCfy+8bPAJw++OUjgE2kzd+5cAE7t2x07dmgbV11gq9N/\n7wXTpk0DAJw5cwY1NTVG5hAUgW9DJR11Drb77wG9pTKTob6+Xm6EZKM9B4gWzTb68G2roAP4U+Dn\n5+ejoKDAyBzULLha1cdWyKJjByTwibQRAh8ANmzYoG1cUwtsvUDdgVfYjnTjZ4Gviuj9+/ebm0g3\n+/btk+0JEyYYnEli6NzsKhls998D9mfwbRT4AwYMQFZWFgD/CHyT62hUkaxmx22FLDp2QAKfSJv+\nKPAfe+wxV/sjgZ8ehYWFGDJkCADg448/Njwbfwv8Q4cOeTZOsucNCfz0SaZEptvXtXgwxmQ1H5sF\nPufcCoGvbrDlN4FPFh1zkMAn0mb27NlyEaEugR+JRKTAHzFihPaLr9s7zqoVgEwL/JKSEitqZSeL\nKJV5+vRp46XkSODHJtnzRn2aYKvAD5JFR+dO2uKabbPAb25uRldXFwB7BD5ZdIhEIYFPpM2AAQNk\nqcetW7dKz6yX7NmzB01NTQCinyDoYtmyZa72d95558ndRE0IfNX7P3XqVOurvsRCFdJXAd9NAAAg\nAElEQVSmbTqqwBc3HjaTm5srhapav99tkj1vKIOfPskIfLeva70hBHNbW5vWG4tksGGBLeA/D77I\n4Ofm5mqtbkdEQwKfcAUhskOhkJYdbT/88EPZvvjiiz0fz2vy8/OlENyxYwcikYjW8dXynH6z5wjU\njbnUHXlNIAR+RUWFlaUdYyEqqBw9elTLTXoiqBl8W6voDBs2TLa93EMgVWzbxVbgh4W2tgh8v1p0\nyJ5jFhL4hCvo9uGvW7dOti+66CLPx9OB8OG3trbKTZJ04Wf/vUCUawXMCvwzZ87IrKkf7DkCtZyn\nLZV01IpStpYbLSkpkVnKI0eOGJ7Nudi4yBYggZ8MfrXokD3HLCTwCVdQBf769es9H09k8BljmDdv\nnufj9cSLDySTC22DIPBtyeCr9iA/CXy1BrpXNp1kzxsh8AsLC60VC4wxDB8+HIDdAj8jI0MubI2H\nTqFNAj9x1Ey47QK/q6sLp0+fBkAC3zQk8AlXmD17tix7tnbtWk/Hamtrw9atWwE4YnTAgAGejheL\nJUuWuN4nCfz0sEXg+22BrUAV+F7txZDMecM5l/MYPXq01etChE2nsbHR+ALvngiBX15ejszMzF5f\n68V1LR4k8BMnKytLfr7aLvDVBbZk0TELCXzCFQoKCjBnzhwAjlj08iK0ZcsWWdnAlP/+kUcecb1P\nkwJfrJvIy8vzxcZMsSgtLZUZShL4yaNaYLwS+MmcN6dOnZJiWdcOq6kiMviAXT58zrkU+In47724\nrsWDBH5ylJeXA7Dfg08VdOyBBD7hGpdddplse5nFVxfYmvLfi5sZN5kyZYqRSjotLS2oqqoC4JTr\n7CvLZzMii19bW2usModfBb4Oi04y5416k2G7wFcX2tpk02loaEAoFAKQmP/ei+taPFTBfOrUKW3j\nJoNNAl/coNXX14NzbnQuvUGbXNkDCXzCNVSBv2bNGs/GCVoFHUFeXh4mT54MwKmkIz6YvWbbtm3y\nA2PmzJlaxvQK1aajCm2d+FXg68jgJ4OfBL6tGXx1LupNiA2ogrmurs7gTOJjk8AXC23D4bD0uNsI\nCXx7IIFPuIYugS8q6OTn5+P888/3bBwTiB15Ozo6sGvXLi1jfvTRR7J9wQUXaBnTK2zw4QuBX1xc\nbFwUJENpaaks6UkCPzlUgW9TBl+dizpHG/CbwO9rgbLX+KVUJnnw7YEEPuEaFRUVspb7+vXr0dnZ\n6foYx44dk1VKLrzwQrnwSDcrVqzwpF8h8AHInXq9hgS+e4RCIWlvmTBhgtULQ3vCGJNCuqamxhMb\nQDLnjZ8Evq218JPN4Ht1XYvFkCFDZPvEiRPaxk0GIfCLi4uRm5trdC5quVObF9pSBt8eSOATriKy\n+O3t7di0aZPr/b/33nuyffnll7vef6J48d4AMwJfVCQC/C/wTdfCr6mpQTgcBuAve45A2HTa2to8\nWfiYzHnjJ4EflAy+V9e1WBQUFKCoqAiA/QLfhidxZ86ckW0S+EQikMAnXMVrm87f//532V6wYIHr\n/SfKk08+6Um/qsDfvHmzJ2OocM5lBn/kyJFRj4H9iOkM/p49e2RbvdnwC16XykzmvBHjM8YwYsQI\n1+fiJkER+F5d1+Ihsvg2CvxwOCyFtA0C/4477pBtsugQiUACn3AVVeCr2Xa3EAI/IyMDl156qev9\nm2bo0KHyUfqWLVs8r5ZQU1ODpqYmAP5fYAs4u4qKcnImBP7u3btl+7zzztM+frroqIWfKGL8iooK\n4/aIvhgwYIDczdYmi47NHnzgrMCvr6/XVlQgURobGxGJRADYIfDVbDhl8IlEIIFPuMq0adPkxfCd\nd96RdgU3qK+vx8cffwzAyXSXlJS41rdNzJ49G4BzoTx06JCnYwXJfy8QWfyjR49GPdbWgbowesqU\nKVrHdgO1ko5XpTIToaOjQwpl2+05gL272apzSaQOvm5UH75tC21tWmALRC+yJYFPJAIJfMJVMjIy\ncNVVVwEAmpqasHHjRtf6Xr16tcxom7TneI1Om44q8IOQwQeihbWaUdeBOp4fBb4tGfza2lrZ9oPA\nB85myG3azVbcJJWVlVn5FEStzW+bTUe94bAhg09VdIhkIYFPuM61114r22+++aZr/ap9mRb4lZWV\nnvWtc6FtkBbYCj744APZ3rlzp9axRQa/vLzcl+sZ1Ax+dXW16/0net74aYGtwLZKOpxzmcFP1J7j\n5XUtFjZX0lEFvjpPU6i7DPshg5+RkYHi4mLDs+nfkMAnXOeaa66R7b/97W+u9fv6668DADIzM+VT\nAlPcc889nvUtLDqA9wJf9J+bmxu1QNXPLF68WLZ1CvympiYcO3YMgD/994Cz0FqUnvVC4Cd63vhR\n4Nu20La+vl6WKk5U4Ht5XYuFzQJfLUtpg8D/13/9V9n2g8AfOHCg3JmdMAP99gnXGT9+vMwErl69\nGq2trWn3WVNTI7OjF198sfFHfwsXLvSs7/Hjx8vMh5cWncbGRrkQddasWcb2FHCbz3zmM7K9Y8cO\nbeP63Z4DODfP4tytrq52fZF3oucNCfz0SWWBrZfXtVjYLPDV+ahWIlPcdNNNsm2zwBdz8+MTzKBB\nAp9wHcYYrrvuOgBAZ2cn3n777bT7fOONN2T7+uuvT7s/m8nIyJA2nYMHD3r2wafWvJ47d64nY5hg\nzJgxyMvLA6A3g+/3CjoCsVldc3OzMSFx4MAB2faLwLfNopPsJlcm8IvAtyGDX1BQgOzsbAD2evDD\n4bD04NuwMLm/QwKf8IQbb7xRtl955ZW0+/vrX/8q27qzTCa45JJLZPvDDz/0ZIwNGzbI9rx58zwZ\nwwSZmZlSYFdVVXmyo3Is/F5BRyAEPgC5a7Ru1HHV+dhMEDL4ulEz46olxgZss+gwxmRW3NYMfkND\ng3zqRxl885DAJzzhuuuuk1Ub/vSnP6X1qL+zs1P67wcOHGhFtnnVqlWe9q8KfHXRqJusX79etm34\nnbrFqlWrMHXqVABORklXPfygZfAB9wV+oueNGLe0tNS4HS9RVBGtVgEyRSoC3+vrWk8og584q1at\nsl7gnzp1SrYpg28eEviEJxQWFuLqq68G4HzYpbNY9O2335abMd14441WeMVXrlzpaf+qwH///fc9\nGUNk8AsLC30tSHuycuVKKfABfTYdkcHPzs7G2LFjtYzpBV4K/ETOm1AoJPd/8Ev2HnAWKAsOHz5s\ncCYOqQh8r69rPRk0aJBciGmrwC8qKkJBQYHh2TixEXXlW1patD2ZTAb1xoMEvnlI4BOesWjRItl+\n6aWXUu7nxRdflO2bb745rTm5xbPPPutp/8OHD8eoUaMAAOvWrXN1wzDAKQEnfM5z5sxBZmamq/2b\n5Nlnn8W0adPk1zoEvvqkYNKkSVbchKbKuHHjZNvtSjqJnDc1NTVyB1E/CfyioiL5tMHrDeoSIRUP\nvtfXtZ5kZmbKGvO2CnwbsveAExvbN7uiDL5dkMAnPGPRokVgjAEAnnnmmZRsOpFIRN4c5OXl4ZOf\n/KSrc7QZkcVvaWnB9u3bXe07qPYcgZrB11FJ58CBAzKj5mf/PWDeg+9H/71AZPEPHz7segWiZLF9\nF1uBENAnTpww/jsThEIhKaBtEfhAtGi2XeCTB988JPAJzxg5ciSuuOIKAI4/ORWbztq1a2Vt8YUL\nF6KwsNDVOdqMlz78NWvWyPb8+fNd7dsGJk6cKJ9K6MjgB2WBLRDtezct8NWnCX5APHXr7OyM2ijJ\nBELgl5eXIycnx+hcekMstG1vb8eZM2cMz8ZBjZ0NJTIF6o66J0+eNDiT2JBFxy5I4BOecuedd8r2\nH/7wh6SP/5//+R/ZvvXWW12Zk1/QJfAvu+wyV/u2gZycHLlx1+7du123OPVk27Ztsj19+nRPx9KB\nyJzX1NQgFAppHTsIGXzArA+fcy4tOrZW0BGoGXJbKunYtsBWYLvAJ4uOXZDAJzzl1ltvlX7klStX\nJiW0Wltb8cwzzwBw/K233HKLJ3NMhbvuusvzMebMmSPrHrsp8Ds7O7Fu3ToAwNixY60XAMkiYiNs\nOu3t7VF11b1AFfgzZszwdCwdiMx5OBx21U+eyHnjZ4EvMviAWR/+qVOn5I1ZMjXwdVzXemJjJR3b\nSmQCTmxU0ayKaVsgi45d9BuBzxgbwRj7CWNsJ2OslTHWyBh7nzH2BSaM4uceU84YW8YY28gYO8EY\na2eMHWSM/Q9j7II+xqtgjP1X9+vFcb9gjNm544hHlJWVSd98bW1tUjXxX3zxRZw+fRoAcNttt1ll\nz9FRiz8vLw+zZ88G4NhM3PJcbt68GW1tbQCCmb0XsVGF9kcffeTpmB9//DEAZ9Gg6v/3K6qwdnOh\nbSLnjRD4GRkZvtnkSmBLBl+9uRgxYkTCx5nYY8RGgW/bLraAExvbM/hk0bGLfiHwGWOXA9gG4P8D\nsBzAVACXAdgA4L8AvMgYy+xxzDQAOwF8E8DfAFwLYBqArwO4GsAGxlhlnPGmdY+3CMBXAEwBcB+A\nmwB8xBgLTk3CBPjyl78s20888UTCx/3yl7+UbROZpd5YvHixlnFUAf73v//dlT6Dbs8RsRG7AQNI\nq0xrX4RCIenznzx5stz/wc94tdA2kfNG3FCMHj1aPsHyC7Zk8NWxk7lJ0nVdU7Fd4NuSwV+8eLH1\nAp8sOnYReIHPGCsG8DyAAQC+wDn/Lef8IOd8O+f8XgCr4AjxB3oc+n0ApQB+zzn/d875R5zz/Zzz\nPwD4HIAsAE/FuDHI7B6vFMAtnPNV3eO9COAfAZQB+F/GWOB/94Lrr78eEydOBAC8+eabCVU1Wbt2\nLd577z0AjtUiiEI0Ea666irZfvvtt13pc/Xq1bId5N+rLoGv7pYbBHsOYK6STkNDAxoaGs6Zg1+w\nJYNfU1Mj2+pNh43YKPBttOgA8I1FJysrC0VFRYZnQ/QHkXkbgHIAdZzz52P8/GcAGICvMcbUdNHE\n7v9jmZ/FzkODAfS06twJJ2P/Ief8Q/UHnPO13f1NBXB7Mm/Cz2RkZODuu++WX3/nO9/p85gf/OAH\nsv3AAw8gjosq8CxYsEBuBPPWW2+l3V84HMY777wDwKmWEoQFofEYO3YsBgwYAMBbgS/sOQBw/vnn\nezaOTlRxvW/fPm3jqnYgvwt8WzL4tgt81QJj4yJbWyw6gH8W2ZaVlfXbz2yb6A8CX6Tx4qWhxD72\nAwFcpXx/KxzhP+2cIwBVFbX1+NmtADiAN+OM97fufvuNwAeAz3/+8ygvLwfg1MTfuHFj3NeuW7dO\nevVHjhwZVYnHFtQsuJeUlJTgwgsvBOAs5Ew3w7V582aZIb366qsDtcGVQMQmIyMDF1zg3H/X1NR4\nVjdaFfhByeCPHj1a/m1UVVW51m9f542fS2QC0Ztd2eLBT0bg67quqagCWpRENo2NFp3Vq1dHLVy1\nUeCLayzZc+ygPwh8oWDilW9pVdqzlPYDcDz4X2CM/RtjrIgxlsEYuxjAiu7X7AWwp0d/F3f/vwux\nEd+f1+fMA0RxcTEeeugh+fX9998fs6JOV1cXvvCFL8ivH3jgAStrOC9fvlzbWFdffbVsi+x7qvzt\nb3+T7WuvvTatvmxFjY1q09m6dasn4wUxg5+TkyMF9p49e1zbgKiv88bPFXQEQlAfPnxY7sirm1QF\nvs7rmkDdhEvdfdckQuBnZmZaUw1m+fLlyMrKkjeQtll0Ojo60NLSAoAq6NhCfxD44vny2Dg/V78v\nK9xwzg8DmAngfgDfBtAMoAOOPWcanCcCt3PO5RWcMVYIQNzux0tFiCtYBWMsL9E3EQT+7d/+TX5o\nv/fee3j00UfPec3y5culEJs5cya++MUvap1joojynTpQffhvvPFGWn31B4GvxkaHD1/0W1hY6Mus\nczzEhl0tLS1Ru6KmQ1/njd8tOsBZm05nZ6exLKsQ+GVlZSgoKEj4OJ3XNUFeXh5KS0sB2CPwhVWo\nvLxcWiRNI2IjbDq2ZfBpga192PGX6y0vwMneD2eMXRPj559T2rIOI2MsF06FnZ8BeBlO1Z0LACwB\n8DiAKzjnPVOCA5R2T+uOQH1iUJLA/ANDTk4OfvOb38gL5iOPPBK1+dXvfvc7fPOb3wQAMMbwy1/+\n0toqGsl8aKbLggULkJ+fDwB49dVXU84Ktre3ywo6Y8aMwYQJE1ybo02osfE6g3/q1CkcPHhQjhUk\ny9PkyZNle/fu3a702dd5o9qB/CrwTVfSCYfD0h6UrP9e53VNRdTqP3r0qGtPi1KFcy4z+LbYc4Cz\nsRECv7GxUfsmdL1BJTLtI/ACn3NeDeAb3V/+ijG2AAAYY2WMsaVwBLtY2dOiHPr77p89zTn/V875\n+5zznZzz/wbwDICdjLHP6XgPQeITn/gEli1bBgCIRCL4zGc+g6uuugpXXnklPve5z8mL+0MPPYSL\nL764t676Dfn5+bjmGufe9OjRo9i8eXNK/bz11ltob28H4GTv+8MiqOnTp0vR7UUGX43FnDlzXO/f\nJCKDDzg2HR2IG4nS0lLfigTTlXSOHTsm7Y+2L7AVCIHf1taG5uZmo3Npbm6WVbFsEvgC9bzwal1R\nKlAG3z4CL/ABgHO+HM6i1iYAbzPGOuGI+kUAFsLx2gNAHQAwxibAKWnJ4WTre/a3CcA6AL9hjN2o\n/Ei9MuXHmY6aImlK+s0EgAcffDDKZ//OO+/g3XfflV9/+ctfxsMPP2xiatbyD//wD7L9pz/9KaU+\nVq1aJduLFi1Ke05+IC8vT248tWPHDvnB7RabNm2SbbEYOih4kcHvjdbWVpnxnjJlim9vQE1n8FOt\ngW8Sm3z4aiUfmyroCNRKOjb58GkXW/voFwIfADjn/8s5nwPHFjMBwADO+YLu0pXiNl1sd6mm4uIt\nlhU3BdIkzjlvASCW31ecc4SD8Pkf45y39zbnG264AZWVlVH/5s+fHyXUAOD1119HZeW5e27dfffd\nWLFiRdT3Nm3ahMrKynP8ew8//DAee+yxqO/V1NSgsrISu3ZF/wp+9rOfYenSpVHfa21tRWVl5TlV\nGFauXHnOJlUZGRlobGzEvffeG+VZrqiowOzZs/HEE09E+R5tfB/iuNtvv11LPG688ex95B//+Mek\n30c4HMZLL70EwFk4dt1110W9Xtf7ALz7uxLv46abbor6nsjChUKhqD0Y3Hgf//mf/ym/Fhl8t96H\n6XioG6KJDH6672Pp0qVx38eSJUtkW9xc2PR3lWg8XnjhBdkWGXyd76O3BbZ9vQ+1f53nuSpaVYFv\n4vz48Y9/LL8uLy+35u9q9uzZWLFiRdTvau3atdacH+r6rrKyMt9+fvQWj5UrV0otNm7cOMyaNQv3\n33//Of1YA+e8X/8DkAfHL98KoKT7e/8EIAKgC0BOnON+3P2azT2+/zIcz/934hz37e7jVvUypzkA\n+MaNG3nQiUQivKamhh86dIhHIhHT00mYn/70p9rHnD17NofzVIlXV1cndeyaNWvksTfddJM3E7SE\nnrH54Q9/KN/7r3/9a1fHmjRpEgfA8/LyeCgUcrVv00QiEV5UVMQB8AkTJrjSZ2/nzR//+EcZp+9+\n97uujGeCXbt2yfdx5513ah9f/Xt/+umnkzrWxHWNc84ff/xxOec//OEPRuYgeO655+RcHnvsMaNz\nURGx+f73vy/n9/zzzxue1Vl+8IMfWDkvr9m4caN433O4BZpW/dcvMviMsfmMsSlxfnwDgFwAz3HO\nhWVGGE4ZgMkxj3I2swLOrZbzx+7jYi3oBYBr4fwxPNfXvPsDjDGMGjUKI0eO9NUj+XvvvVf7mLfe\neqtsq4uTE0HNKvbMcAeNnrGZN+9sRdoPP/yw58tTprm5GXv3OttoXHDBBcjKynKtbxtgjMlMenV1\nNTo6OtLus7fzRrUBqfYgv6HaYg4cOKB9/HQ2uTJxXQPOevAB8xYddXx1XqYRsbF1N1uy6NhHvxD4\nAJYD+HnPb3aXtfw2gHoAXxff5051HGHX+UqM46bD8e5zAP/b48cr4dwgXMwYu6THcZcCuASO7Ud/\nPTLC16gbfj399NMJV5vo6urC008/DcDZQlz18/cHLrzwQrnQ9oMPYm1MnRqq/z5oC2wFYqFtJBKJ\nqlHvBepCXj8L/Pz8fOndNi3w/eLBt0ngqyVhhw8fbnAmsbF1N1taZGsf/UXgA8CVjLFfMMYuYIyN\nYYzdBOA9AEMBfIpz3vOq8lkAJwEsYYz9iDF2PmNsNGPsnwD8CU6W/gUAv1EP4px3wVmgWw/gecbY\nzd3j3QLnZuAkgFu5Uj+fIBJh7NixuPzyywE4C0YTLfv42muvyR0iKysr+93Ft7CwUO5ou23bNpw+\nfdqVft9//33ZDmrFJ50LbVWBP3HiRE/H8hqxtujIkSOycpUuhMBnjFkpUGNh0yJbWzP4AlsFPpXJ\ntI/+IvD/E8DzcLLuawB8DCdz/2cAUzjn63sewDnfBmAGnOz/1QDWwtm59qdwFtjeyTn/Jx4jjco5\n3w6nZv4rAH4CJ2P/YwAvAZjJOd/Z8xjCX/Rc4KOLz3zmM7L91FNPJXSMuqBJXcgYVGLFRghwzjk2\nbNjgyjiqwJ8/f74rfdqG26UyeztvRP+jRo1CYWFh3Nf5gbFjx8q22CdBFzU1NQAccZrsPiKmrmuU\nwe8bERuy6BCJ0i8EPncq6NzGOZ/AOS/mnA/gnF/AOf8m5zxuIVnOeR3n/Ouc81ndx+Vyzodxzm/g\nnD/bx5hHOedf5JyP4Zznd///pRhPCggf8sADDxgZ94477pDi57e//W2fF/ja2lpZVnPYsGG4/vrr\nPZ+jaWLF5pJLzrrl3LDpcM6lwB80aJCvLSW94XYGP955c/LkSZkBDMLvUq0OptOm09HRIcs8plID\n39R1bcCAAXIzP9MCX4yfl5eHkhJ79qIUsbE1gy8+iwoKCpCXl2d4NgTQTwQ+QbjNE088YWTcgQMH\n4vOf/zwAZ1OYX/ziF72+/rHHHkNXVxcA4K677grcQtBYxIqN2wK/qqpKfrhecsklvlogngyq2HYj\ngx/vvFHLl6pPDfyKmsGvrq7WNm5tba1spyLwTV3XGGNRu9maRGTwhw0bZtV5LWKjZsdtEvh1dXUA\nnNKihB2QwCeIFDC5eO2+++6T+wT89Kc/RWNjY8zXHTlyBL/61a8AOFmV++67T9scTRIrNpMmTUJp\naSkAp757JJLeEhjVnnPppZem1ZfNFBcXS5vCjh07El7YHY94540q8KdPn57WGDZgKoMv7DlAagLf\n5HVNCPzGxkbt6xYE7e3taGhoAGCXPQc4G5usrCwMHDgQgD0WnXA4LG82SODbAwl8gvAZ48aNw223\n3QbAyZp885vfjPm6ZcuWydKGd999d7++8GZkZGDBggUAnA/Fbdu2pdVff/DfC2bMmAHAWUSn7vLp\nJtu3b5ftIAh8Uxl8dSz1JsMPqD58URRAN+q4Ni6wFQibji0Z/Pr6ennzLzYWJMxDAp8gfMhjjz2G\ngoICAMDPf/7zKMEJAG+88YbM3hcWFuJrX/ua9jnaxlVXXSXb77zzTlp9ieMzMzOj6uwHESHwAeDj\njz/2ZIygCfzRo0dLe4fODL6fBb4NlXRsXWDbEyHwGxsbpQXTJMKeA1AG3yZI4BNECvTcPls3o0eP\nxiOPPALAWfB5yy234KOPnK0bPvzwQ9x+++3ytd/73vf6VVYlXmyuvPJK2U5H4NfW1sqKFhdddBGK\ni4tT7ssPqAI/3Scf8WIjBP6QIUOiFhH6ldzcXCkQ/ZTBN3lds6GSjs0lMtXYqOeIDTadEydOyDYJ\nfHsggU8QKdDa2mp6CrjvvvtwxRVXAHAeLc+dOxezZs3CZZddJn2kN954o7HdKU0RLzbnn3++XKD2\n7rvvpuzDf+utt2T7mmvibVgdHNwU+LFic/LkSSkQgpC9FwiBXVdXh5aWFi1jqgJftQklisnrmg0C\n3+YMvhobNWGjimtTqBn8/pRMsh0S+ASRAsuWLTM9BWRnZ+PFF1/E3LlzAQChUAhbt25FOBwGACxY\nsAArV66UC3L7C/Fik5GRgU984hMAHM+oeOKRLG+++aZs9weBP23aNNlOV+DHio26wFYdy++oAluX\nTUcI/CFDhqS0l4DJ65oNAt/mDL4aG5sFPmXw7aF/ffITRMAoKyvDu+++i29961sy4zR69Gg8+uij\neOONNwJvH0kW1Yf/2muvJX0851wK/Pz8/MAvsAWcNRzjx48H4Fhp0q1A1JOg+e8FuivptLe3ywy0\n3/z3AAn8ZFAFvlcL35NBvcmgDL49kMAnCJ9TUFCAZcuWoba2FqFQCAcPHsTXv/515OTkmJ6addxw\nww2y/corryR9/O7du3H48GEAwOWXX47c3FzX5mYzwqbT0tLiuljtDwJfhw9f3THXjwJftcSoVhmd\n2GzRURk6dKhsUwafiAcJfIJIAVvKk/WkP2xk1Re9xWbChAmYOnUqAKfUZbJxfOmll2R74cKFqU3Q\nh5x//vmynU4lnVi/7y1btsi26vf3O7pLZbpRQcfkdW3w4MEyKXHo0CEjcxAZ/NzcXLlvhi2osSGL\nDpEIJPAJIgWWLFliegpEHPqKzaJFiwA4dps///nPSfX9wgsvyPbNN9+c/OR8ygUXXCDbqiBPlp6x\niUQi2Lp1KwBgzJgxUbt0+h3dFh03BL7J6xpjDCNHjgQA+ZRMN7buYgtEx8Zmiw4JfHsggU8QKSBK\nVBL20VdshMAHgJdffjnhfmtra7Fu3ToATkZ7woQJKc3Pj8yZM0e2N27cmHI/PWNTVVWFM2fOAABm\nz56dcr82MnLkSGRmZgLwTwbf9HVN7L7b1NSE06dPax27o6NDlpy00X+vxsZWi05BQUFKi7sJbyCB\nTxApoAoewi76is38+fNlHelXX30VTU1NCfW7atUq2b7llltSn6APmTBhAkpKSgAAmzZtSrmfnrFR\nnwYETeBnZWVhzJgxAJwbGbHTp1e4IfBNX9dEBh/Qn8VXd7G10X+vxqasrEw+YWosc7AAACAASURB\nVLBJ4FP23i5I4BME0a/IzMzEHXfcAcCpPPLHP/4xoeOeeeYZ2e5P9hzAsU8IAV5bW+uaLWDz5s2y\nHTSBDwCTJk0CAJw+fdpzIVZVVQXA+fsePXq0p2N5hcjgA/oFvl8q6ADOzWNZWRkA8xadcDgs1wdQ\nBR27IIFPEES/43Of+5xs//d//3efr9++fTtWr14NADjvvPOiPOn9BTWDqArzdOgvAh8A9u7d69k4\nnHPZ/7hx45Cdne3ZWF6iZvB1L7T1k8AHztp0Tpw44fnTod6or6+X41MG3y5I4BNECqxYscL0FIg4\nJBKbOXPmyIota9as6VN8/epXv5LtL37xi9YtwNOBKvBTtemoseGcS4FfVlaGESNGpDdBC9El8I8e\nPSp3y1XHTBbT1zWTGfza2lrZttGi0zM2Ilve1tambafkWFAFHXshgU8QKZCOD5nwlkRiwxiLyuL/\n8Ic/jPva1tZW/O53vwMA5OXl4f/8n/+T9hz9iBsLbdXYHD16VNpWZs+eHcibJlVs79mzx7Nx1JuH\ndAS+6euaKvB1Z/DV8dR52ELP2NhSSYc2ubIXEvgEkQJPPvmk6SkQcUg0NkuWLMGAAQMAAL/5zW+i\nNgpS+dWvfiUX4t5xxx3W1cfWxeTJk2WFjPXr16fUhxqbDz74QLbnzp2b3uQsRVcG3y2Bb/q6ZnKR\nre0Cv2dsbKmkQxl8eyGBTxBEv6S0tBRf+cpXAABdXV347ne/e85rmpqa8P3vf19+fd9992mbn21k\nZmZi3rx5ABwxlK4AW7t2rWzPnz8/rb5sZezYsXLzOT8IfNMMHjxY7g5tMoOv3mjYii2bXZHAtxcS\n+ARB9Fvuu+8+mcVfsWKFXEgrWLp0qfzwvO222zBz5kztc7SJyy67TLZVgZ4K77//vmxfcsklafVl\nK1lZWbJkpZelMoMi8E1udiUE/qBBg1BQUKB17FRQM/hk0SFiQQKfIIh+y6BBg/DQQw8BcBZ93nrr\nrdi+fTs45/jRj36Ep556CgBQWFjYq0+/v+CWwO/s7JQ+/gkTJgRaGAjB3draKndKdRsh8LOzs31b\nIlNgYrOrSCQiF9naaM+JBWXwib4ggU8QKVBZWWl6CkQcko3N/fffjyuvvBKAkwmbPXs2xo0bh69+\n9avyNT/72c9888HvJWqmfc2aNUkfL2KzefNmdHR0AAiuPUfgtQ8/EonIGvjjx4+XlqBUsOG6ZsKH\nf/z4cXR1dQGwV+D3jA0JfKIvSOATRArcc889pqdAxCHZ2GRmZuL555+XddhDoVDUgttHHnkEd911\nl6tz9CulpaWYPn06AEekJ1ueT8RGtecEXeBPnjxZtnfv3u16/7W1tWhvbweQvj3HhuuaiUo6ti+w\nBc6NjY0WHRL4dkECnyBSYOHChaanQMQhldgMGjQIq1evxoMPPogRI0YgKysL8+bNw6pVq/Dwww97\nMEv/Imw64XAY69atS+pYERs1+x90gT9t2jTZ3rFjh+v9q+U30xX4NlzXTGTw/SDwe8bGtgx+QUGB\nrLJF2AEJfIIgCDgfUN/73vdw+PBhdHZ2Yt26dfj0pz9telrWofrw33nnnaSPD4fDeOuttwAAJSUl\nOP/8892ampV4LfDVPtWx/Apl8BOjsLBQLga2QeBT9t4+SOATBEH0IIibLrnFNddcI9t//etfkz5+\ny5YtqK+vBwBcffXVaXnG/UB5eTnKysoAeCPwt2/fLtvCPuVnTGfw/VAiUyBsOqYsOqFQCCdPngQA\nVFRUGJkDER8S+ASRAqtWrTI9BSIOFBtvGTFiBGbMmAHA2fBKiPVEWLVqFd544w359XXXXef6/GyD\nMSYz60eOHEFjY6Or/as3DVOnTk2rLxvOHcrgxyZWbIRN59SpU3KRsE7q6upk6VcS+PZBAp8gUmDl\nypWmp0DEgWLjPcIPHIlE8OabbyZ83MqVK6ME/rXXXuv63GxEzazv3LnTtX455zKDP3z4cAwcODCt\n/mw4d8rKypCXlwdAn8BXnxTYmsGPFRvVhy8y6To5duyYbJPAtw8S+ASRAs8++6zpKRBxoNh4z/XX\nXy/br7/+esLH/fa3v5WbiY0ZMwYTJ050fW424pUPv66uTj5BccN/b8O5wxiTtfwPHjzo2eZgKjU1\nNQAcwSx20rWNWLFRK+moYlsXR48elW0S+PZBAp8gCIJIiiuuuEIKoddeew2RSCSh49588010dnYC\ncLL3/WWtg1cCP2gLbAVjx44FALS0tHieme7o6JAbkIlx/YIqqk0IfMrg2w0JfIIgCCIp8vPzcfXV\nVwNw7A0ffPBBQsc999xzsn3TTTd5MjcbIYGfHOPGjZPtAwcOeDpWTU2NfErgN4E/bNgw2Vaz6bpQ\nBb46F8IOSOATBEEQSXPHHXfIdiLe7fb2drz00ksAnPKY/WGBraCiokL64z/++GPX+u0PAr+6utrT\nsdQbCHVcP6CKavEUQieUwbcbEvgEkQK0s6m9UGz0cNNNN0mbznPPPddnFY+//OUvOH36NADg5ptv\nttbr7AWMMcycOROAs/OsW7aTbdu2ybYbAt+Wc0fNpHst8NX+bc7gx4rN8OHDZdt0Bp8Evn2QwCeI\nFLBhx0ciNhQbPQwYMAA33ngjAGejnbfffrvX16uLBG+//XZP52Yjs2bNku0tW7ak3R/nXPYzYsQI\nWWs/HWw5d3RadPySwY8VG9MWHXVMdcEvYQck8AkiBRYvXmx6CkQcKDb6UH/XTz31VNzXnThxAi++\n+CIApwyiullWf2H27NmyvXnz5rT7q66uRlNT0zl9p4Mt544pi47NGfxYsVGz5iYz+AMHDpSlTQl7\nIIFPEARBpMSiRYtkLe4XXngBBw8ejPm6X/7yl7J6zpIlS5Cdna1tjragZvDdEPhqH24JfFsYPHgw\nCgoKAHifwVdvIMaMGePpWG6Tk5Mjn9yYFPi0wNZOSOATBEEQKZGbm4svfelLAIBwOIxHH330nNc0\nNzfjxz/+MQAgIyNDvr6/MXXqVOTk5ABwx6ITZIHPGJNZ/AMHDiRchjUVxA3EsGHDfJmFFj78I0eO\naNkzQHDmzBm0tLQAIP+9rZDAJ4gUEJv1EPZBsdHLvffei+LiYgDAihUrsHXr1qifL1u2DA0NDQCA\n6667zmqfs5fk5OTIHW13796N1tbWtPpTBf6cOXPS6ktg07kj/k46Ojo8q/He1tYm+7bZngPEj43I\nnnd2dsrzTAe0yZX9kMAniBRYvny56SkQcaDY6KWsrAwPPPAAACeL/9nPfhbNzc0AnF1uf/KTnwAA\n8vLy+qy0E3REpj0SieCjjz5Kqy8h8EtLS+XOr+li07mjCm6vbDqqpcz2G894sTG10JYq6NgPCXyC\nSIFnnnnG9BSIOFBs9LN06VKZnd62bRvmz5+Pu+++G5/+9KelveJb3/oWXn75ZZPTNI7qw9+4cWPK\n/Rw/flyKudmzZ7u2I7BN544quPfv3+/JGH4pkQnEjw0JfCIeJPAJIgXEAjDCPig2+snNzcULL7yA\nQYMGAXA2YPr5z3+O9vZ2AMCnP/1p/Pu//3u/j81FF10k24nu/huLTZs2ybab/nub4jNhwgTZrqqq\n8mQMPwn8eLFRa+Hr3OyKLDr2QwKfIAiCSJvJkydj9erVckMnwFlU++UvfxnPPvssMjLo42b27Nly\ng6/3338/5X7Wrl0r2/PmzUt7XjYyadIk2d67d68nY6j9Tpw40ZMxvMZUBr+2tla2R4wYoW1cInGy\nTE+AIAiCCAZTp07F5s2bsWHDBpw4cQIzZ87EyJEjTU/LGnJycjB37lysWbMG+/btw/Hjx1PaIGjN\nmjWyfdlll7k5RWsYP348GGPgnGsR+OoNhZ8wJfAPHz4s2yTw7YRSKgSRAkuXLjU9BSIOFBuzMMYw\nb9483HjjjeeIe4oNcOmll8p2Kln8UCiEDz/8EAAwevRoV2+gbIpPXl6eXDy8d+9eT0pACoGfn58f\nZXWxkXixUQW+TosOZfDthwQ+QaSAW1UrCPeh2NgLxSZa4KtWm0TZunWrLLHpdvbetviIrHpjYyNO\nnjzpat9dXV1y8e7EiROtt5DFi416Y6KKbq8RYw0YMECWySXswu6/aIKwlHvvvdf0FIg4UGzshWID\nzJ8/X7ZTyeB7ac+xLT5e+vAPHjwoy7b6wZ4TLzZ5eXkoLy8HABw6dEjLXDjnUuBT9t5eSOATBEEQ\nhCaGDh0qK8SsX78ebW1tSR2vbngUVP+9wEuBHwT/vUDYtI4cOYJwOOz5eA0NDfLvlgS+vZDAJwiC\nIAiNfOITnwDg7NL63nvvJXwc51wK/OLiYpx//vmezM8WdAn8yZMnu9q3boTAD4fDOH78uOfjkf/e\nH5DAJ4gU2LVrl+kpEHGg2NgLxcbh+uuvl+2//vWvCR+3detWucHQggULkJmZ6eq8bIuPKrz7ewa/\nt9iMGjVKttXqNl6hCnyqkmUvJPAJIgUeeOAB01Mg4kCxsReKjcO1114rF3W+9tprCR/35z//WbZv\nuOEG1+dlW3zGjRsnb2L6u8DvLTaqyNbhw6cMvj8ggU8QKfDEE0+YngIRB4qNvVBsHAYNGiR3td2x\nY0fCouzVV1+V7U996lOuz8u2+GRnZ8sdZvfs2YNIJOJa30LgFxUVpbQXgW56i40q8HVn8Eng2wsJ\nfIJIAdvKyRFnodjYC8XmLJ/85CdlOxGbzqlTp/DBBx8AcDYUGzdunOtzsjE+U6dOBQC0tLS4lp3u\n6OjAgQMHADjZe8aYK/16SW+x0S3waZMrf0ACnyAIgiA0owr8l19+uc/Xv/766zKDfeONN3o2L9uY\nPn26bG/fvt2VPnfv3i2rzUybNs2VPk2ievDJokMISOATBEEQhGbmzp0rNyl67bXX0NDQ0Ovrn3/+\nedn2wp5jK14IfLUftX+/oopsnRadrKwsDBkyxPPxiNQggU8QKfDYY4+ZngIRB4qNvVBszpKZmYnb\nbrsNABAKhfDCCy/EfW1jYyNeeeUVAMCQIUOwYMECT+ZkY3y8FvgzZsxwpU+v6S02+fn5KCsrA6BX\n4A8fPtz6HYD7MxQZgkgBsVU8YR8UG3uh2ERz5513yvZTTz0V93UrV65EZ2cnAGDx4sXIysryZD42\nxue8886THnm3BP62bdtk2y8Z/L5iI3z4tbW1nm521draipMnT0aNSdgJ45ybngPRA8bYHAAbN27c\niDlz5pieDkEQBOEBnHPMnj0bW7duBQDEuuZzzjFjxgzs2LEDALB582bMmjVL+1xNMnHiROzbtw8F\nBQU4ffp02lnjSZMmoaqqyrX+bGDRokX405/+BMDZ0XbYsGGejLNr1y658Hnx4sX4wx/+4Mk4fmHT\npk248MILAeBCzvkm0/NR8f9fNUEQBEH4EMYYvvjFL8qvH3300XNe88orr0hxf/nll/c7cQ+czbK3\ntrbi4MGDafXV2tqKffv2AXAq9ARB3AP6auGrv/8xY8Z4Ng6RPsH4yyYIgiAIH/LP//zPqKioAOAs\npF27dq38WWdnJx588EH59de+9jXt87MBN334u3btgnAu+MV/nwiq2E73Jqg3SOD7BxL4BJECwoNI\n2AfFxl4oNueSn5+Pb3zjG/LrJUuWoLGxEQDw0EMPSUF70UUXobKy0tO52BofNwW+Xyvo9BUbsSEY\nAFnj3wtI4PsHEvgEkQJLliwxPQUiDhQbe6HYxOZLX/qS8PFi9+7dUswvX74cgFOO8Be/+IXnGzLZ\nGp/zzz9ftrds2ZJWX35cYAv0HRtV4FdXV3s2DxL4/oEEPkGkwCOPPGJ6CkQcKDb2QrGJTWZmJp57\n7jkMHjwYALB3715ZFhMAfvSjH2kpuGBrfKZNm4a8vDwAwIYNG9Lqa/PmzbKt3jjYTl+xoQw+0RMS\n+ASRAlTdyF4oNvZCsYnP+PHjsXr16qjfUUlJCZ566ince++9WuZga3yysrIwc+ZMAEBVVRWamppS\n6odzLm8Qhg4d6qsyj33FZujQofImSIfALysrQ2FhoWfjEOlDAp8gCIIgLGDKlCnYsGEDtm3bhjVr\n1uDw4cP4l3/5F9PTsoK5c+fK9qZNqVUjrK6uljsGz50713PLk04YYzKLf+DAAXhRAj0UCslNrih7\nbz8k8AmCIAjCEhhjmD59Oi699FIUFRWZno41iDUKQOo2HfU49YYhKAiB39bWhrq6Otf7r62tRSQS\nAUAC3w+QwCeIFFixYoXpKRBxoNjYC8XGbmyOjyrwN27cmFIffhb4icTGax8++e/9BQl8gkiBVB8R\nE95DsbEXio3d2BwfdaFtfxT4icRm3Lhxsk0CnyCBTxAp8OSTT5qeAhEHio29UGzsxub4ZGVlyV18\nq6qqpJc+USKRiLwxGDlypNxczC8kEhvK4BMqJPAJgiAIgrCeefPmyfYHH3yQ1LF79+5Fc3MzAP9l\n7xPFa4Gv1tdXxyLshAQ+QRAEQRDWs2DBAtl+5513kjp29erVsq3eKAQJrze7qqqqku2JEye63j/h\nLiTwCYIgCIKwHlXgv/vuu0kd+9Zbb8n2VVdd5dqcbKK8vBwFBQUAgP3797vevxD4Q4cORXFxsev9\nE+5CAp8gUqCystL0FIg4UGzshWJjN7bHZ8iQIZg2bRoAZ8Hs6dOnEzqOc463334bAFBYWOhLi04i\nsWGMycz6/v370dXV5dr4LS0tOHr0KADK3vsFEvgEkQL33HOP6SkQcaDY2AvFxm78EJ8rr7wSABAO\nh7FmzZqEjtm9e7cUp1dccQWys7O9mp5nJBqbyZMnAwC6urpc9eHv27dPtkng+wMS+ASRAgsXLjQ9\nBSIOFBt7odjYjR/iIwQ+kLgPX2TvAf/ac/7/9u4/TIrqzvf4+zuAAioQBQVWQSCgAhIdAop6BRXX\nBNeJrlldXH+geaL3WbKJ2V1xWdyL8T4hFzYGVxJ18+Ca3TVBN0GNKyaCv6IIizjjNSIQ8QcmriiC\n1x8w/Jrpc/84p3t6errmRzPTVV3zeT1PP91TVafq1PlOdX+7+tSp9sZm9OjRuddbtmzptO3n978f\nNWpUp61Xuo4SfBEREakIU6dOzb3OT9xbk7/cueee2+l1SpJyJPg6g18ZlOCLiIhIRTj66KM5+eST\nAVi/fj0ffPBBq8s3NDTkLrDt378/p556apfXMU7ZLjoAr7/+eqetV110Kk+3SfDN7I/M7A4z22Rm\n9Wb2sZmtNbPrzcxaKdfTzGab2XNmtsPM9pjZVjP7lZn9XSvlxpjZ/Wb2XijzhpktMrN+XbOHUk6P\nPPJI3FWQCIpNcik2yVYp8bnooosAf/HsihUrWl32hRdeYOfOnQBMnz6dHj16dHn9ukJ7Y6Mz+JLV\nLRJ8MzsL2ABcBSwCTgLOBF4C7gEeNrMWR72ZDQTWA38F3A1MBsYBtwKnAd81sxZtaGbTgJeBauBq\n4ETgfwP/E6g1s2M6dQel7JYtWxZ3FSSCYpNcik2yVUp88keUeeihh1pd9uGHH869vuSSS7qsTl2t\nvbEZNGgQ/fr584hdkeAfeeSRfO5zn+u09UrXMedc3HXoUmZ2BPAGMBC4zDm3vGD+Q8BXgFucc9/L\nm27AWmAQUO2c+6Sg3JX4Lwt/5PIa0cz6h+31BcY6597JmzcT+Cmwyjl3QSt1rgZqa2trqa6uLm3H\nRUREUiiTyTB8+HDeffddevbsybZt2xg4cGCL5RoaGhg2bBjbtm2jV69ebN++nQEDBsRQ4/KaNGkS\nL730ElVVVdTX13PooYce1Pr27t1L3759cc4xefJk1q1b10k1rXx1dXVMnDgRYKJzri7u+uTrDmfw\nL8Mn6R8WJvfBEsCAvzWz/LGzvoY/Y7+gMLkHcM7d75wb6lp+Q/omcBTwSH5yHzwAvAdMN7Mppe2O\niIhI91VVVcUVV1wB+CT+gQceKLrcqlWrcsNjXnjhhd0iuYembjqZTKZTbnj11ltvkU111D2ncnSH\nBP+U8Bz1X579DWsAkD9+1vWAA37dwe19NZR7unBG+DKQnX55B9crIiIiwFVXXZV7/aMf/YhMJtNi\nmXvuuSf3etasWeWoViLk98PvjAttN27cmHt9wgknHPT6pDy6Q4Kf7VvfGDG/Pu/1KQDhQtiJwF7g\nIzObZ2Yvh4tst5rZg8XOwJtZX3wffYDNEdvbjP/FYFIH90NERESA8ePH54bM3Lx5M4899liz+Zs2\nbeLRRx8F4Nhjj2XGjBllr2Nc8kfS+d3vfnfQ63vttddyr8eNG9fKkpIk3SHBz47tdHzE/PzpQ8Lz\nBHwS3gCsBr4EzAHOAuYCZwDPm9n1BesaQVObvh+xvW3hWXeKqGDXXntt3FWQCIpNcik2yVZp8fn2\nt7+dez137lwaGhpyf8+ZM6fZcpV499p8HYnN2LFjc6/zk/NSKcGvTN0hwX8If/Z+qJmdV2T+rLzX\nh4XnQeH5COAYYLpzbpVzbrNzbhnwZXw3nCVmdlJe+fwhMPdE1Cf7i0H/9u+CJE0l3PGxu1Jskkux\nSbZKi09NTQ2nnXYa4LuR3HzzzTjnWLp0ae6M/tChQ7n++sJzcZWnI7E56aSTqKry6d2rr7560NvO\ndtHp1auX7mJbQVKf4Dvn3gbmhT9/bGZnA5jZUWZ2E3AdkL1Txu7w3DdbHFjqnNtXsM4NwFNAT/zQ\nl9LNzJw5M+4qSATFJrkUm2SrtPiYGUuWLKFnz54A/OAHP2DkyJF8/etfzy2zePFiDj/88Liq2Gk6\nEpvevXvn+uFv3LiRxsaoHsptO3DgQK4f/wknnFDxv4R0J6lP8AGcc4vwF7V+AjxjZvvxSf1FwB8D\nm8KiH4bn/LPvGymuFt+NZ3LetE/zXveJKJf98tBiZB4RERFpv0mTJnHHHXfk/t66dWvu9Y033shl\nl10WQ63il73b7759+5rdpKqjtmzZwoEDBwB1z6k03SLBB3DO/cI5V43vGjMK6OecO9s5twY4Oiz2\n2/C8La/oRxGr/Cw859/x4W38WX+AwRHlsv3834yYnzNjxgxqamqaPaZMmdLijnYrV65sduOPrNmz\nZ3Pvvfc2m1ZXV0dNTQ07duxoNn3+/PksXLiw2bTf//731NTUsHlz8+uFlyxZwk033dRsWn19PTU1\nNaxevbrZ9GXLlhXtO3j55ZdrP7Qf2g/th/ZD+3HQ+zF79mzmzZtH377+/NmgQYNYvHgxt99+e0Xt\nB3RePD7++OPc3xs2bCh5P/L73zc2Nnar/6vC/Vi2bFkuFxsxYgSnnHJKs+tAEsc5160fQG/8Gft6\noH+YdjhwAN93/y8iyi0GMsDagum/DeW+FlHu38L8O1qpUzXgamtrnSTT888/H3cVJIJik1yKTbJV\nenwymYz75JNPXCaTibsqna6jsVm+fLnDn3B08+fPL3m78+fPz61n+fLlJa8nrWpra7PtU+0SkNPm\nP7rFGXwzm2JmUYO3zgAOBf7DhRtaOed24fvYA3whotw4fFBfKJj+c3zXnRYX9Ia7456bt5xUqEWL\nFsVdBYmg2CSXYpNslR4fM6Nfv374j9p06Whsxo8fn3u9YcOGkrerEXQql7kWN2JNHzN7HtjvnDuv\nYPphwDp8d5qTnXPb8uadDTwL7ABGOOd2580bD7wC7APGO+feyps3AH/zrL7AWJd3N1szuwK4H3jS\nORd5SbyZVQO1tbW1VFdXl7zf0nXq6+tzPwdLsig2yaXYJJvik1wdjU1jYyOHH344e/fuZcyYMSWP\nhz927Fg2bdrEIYccwu7du3MXNItXV1fHxIkTASY65+rirk++bnEGP5hmZneb2QQzG25mFwPP44fB\n/HJ+cg/gnHsOuAU4CnjCzM4ys+PM7CvAL4H9wDX5yX0o9zGQvarnV2Z2vpkdb2bXAvfg76h7dVfu\nqHQ9fQgml2KTXIpNsik+ydXR2PTo0SM3Hv4bb7zBnj1RI3dH27VrV+6Lwbhx45TcV5jukuD/E7Ac\nP2LOC8CrwG3A48AJzrn1xQo55xaEMh/jx9PfAiwBngMmOeeKdrNxzj0DnArUAf+KH6VnHj7Br3bO\nRd0ES0REROSgTZgwAYBMJsMrr7zS4fJ1dXVkMhnAj1YklaVbfB1zzv0C+EWJZZ+iqT9+R8q9DlxZ\nyjZFREREDsakSZP4yU9+AsC6des4/fTTO1R+/fqmc59K8CtPdzmDL9KpCofjkuRQbJJLsUk2xSe5\nSolN9i6/4BP8jlKCX9mU4IuUYNiwYXFXQSIoNsml2CSb4pNcpcRmwoQJ9O7dGzi4BL9Pnz4aQacC\ndYtRdCqNRtERERGRg3XWWWfxwgt+NO/t27czaNCgdpXbuXMnAwcOBOCMM87IrUOa0yg6IiIiIlJW\n+d10XnzxxXaXq62tzb1W95zKpARfREREJIVK7Yev/veVTwm+SAk2b94cdxUkgmKTXIpNsik+yVVq\nbEpN8FevXp17rQS/MinBFynBnDlz4q6CRFBskkuxSTbFJ7lKjc2wYcMYPHgwAGvWrOHAgQNtljlw\n4EAuwR8yZAijR48uadsSLyX4IiX44Q9/GHcVJIJik1yKTbIpPslVamzMjHPOOQfwd6bN73oTpa6u\njl27dgEwbdo0zKykbUu8lOCLlEDDySWXYpNcik2yKT7JdTCxmT59eu71k08+2ebyTz3VdG/PadOm\nlbxdiZcSfBEREZGUOu+883Kvn3jiiTaXf/zxx3Ov878cSGVRgi8iIiKSUsOHD2fs2LEArF27lu3b\nt0cu+9FHH7F27VoATjzxREaOHFmWOkrnU4IvUoKFCxfGXQWJoNgkl2KTbIpPch1sbGpqagBwzrFi\nxYrI5R5//HEymQwAF1544UFtU+KlBF+kBPX19XFXQSIoNsml2CSb4pNcBxubbIIP8OCDD0Yut2zZ\nstzriy+++KC2KfEy51zcdZACZlYN1NbW1lJdXR13dURERKSCZTIZRo4cyTvvvENVVRV/+MMfGDp0\naLNlPvzwQ4YOHUpDQwPHHXccW7dupapK54FbU1dXx8SJEwEmOufq4q5PPe+j+wAAESRJREFUPkVO\nREREJMWqqqq4+uqrAZ/s33fffS2WWbp0KQ0NDQDMnDlTyX2FU/REREREUm7WrFm5pP3OO+9k7969\nuXn79+/nrrvuAvzY+TfccEMsdZTOowRfpAQ7duyIuwoSQbFJLsUm2RSf5OqM2IwcOZJLL70UgO3b\nt7N48eLcvDvvvJN3330XgIsuukij56SAEnyRElx33XVxV0EiKDbJpdgkm+KTXJ0Vm3nz5uXO4t92\n222sW7eO9evXM3/+fMCfvb/11ls7ZVsSLyX4IiXQG2ByKTbJpdgkm+KTXJ0Vmy984Qt885vfBGDv\n3r2cfvrpTJ48OTdKzw033MCpp57aKduSeGkUnQTSKDoiIiLSFfbs2cOMGTN49tlnm02fMmUKTz/9\nNL17946nYhVIo+iIiIiISOz69OnDihUrmDt3LsOGDWP48OHMmTOHVatWKblPkZ5xV0BEREREyqdv\n374sWLCABQsWxF0V6SI6gy9SgnvvvTfuKkgExSa5FJtkU3ySS7GRjlKCL1KCurpEdbWTPIpNcik2\nyab4JJdiIx2li2wTSBfZioiIiCSbLrIVEREREZGyUIIvIiIiIpIiSvBFRERERFJECb5ICWpqauKu\ngkRQbJJLsUk2xSe5FBvpKCX4IiX4xje+EXcVJIJik1yKTbIpPsml2EhHaRSdBNIoOiIiIiLJplF0\nRERERESkLJTgi4iIiIikiBJ8kRI88sgjcVdBIig2yaXYJJvik1yKjXSUEnyREixcuDDuKkgExSa5\nFJtkU3ySS7GRjlKCL1KCQYMGxV0FiaDYJJdik2yKT3IpNtJRSvBFRERERFJECb6IiIiISIoowRcR\nERERSZGecVdAiuoNsGnTprjrIRFefPFF6uoSdU8LCRSb5FJskk3xSS7FJpny8rTecdajGN3JNoHM\n7Argp3HXQ0RERETa9BfOuZ/FXYl8SvATyMyOAi4AtgJ7462NiIiIiBTRGzgeeMI5tzPmujSjBF9E\nREREJEV0ka2IiIiISIoowRcRERERSREl+CIiIiIiKaIEX0TKzszOMLPfmVnGzIbFXR9pTvEREals\nSvATxsy+ZGYrzWynme0ys1ozm21mFnfdKp2ZXRMSltYeEyLKnmZmD5vZdjOrN7MNZjbPzA5pY5uD\nzeweM3vHzPaG57vNbEjX7GWymVlvM7sd+A0wGmjXVf7lbn8zOySsf0PY3vaw/cnt3tkK1NH4mNnU\ndhxTNa2UH2Nm95vZe2a2x8zeMLNFZtavje32C8ttCeXeM7N/N7MxJe14wpnZcWb2D2a22sw+MrP9\nZva+ma0ws0vbKKtjpwuVEhsdN+VjZseY2XVmttzMtob/5XrzJzDuMbPRrZQtazubN9vMXjKf/+00\nnw9eUNLOO+f0SMgDuBnIAI8ApwCfB76XN60q7jpW8gO4BtgFbIx4vAaMKVLuCuAAsBo4AxgBfBvY\nD/wX0Ddie2OBHcB/AxcDw4FLgG3Ah8CJcbdJmdt/JLAZeAs4L/xfNwLD2ihX1vYHDgNeBPYBN4bt\nnQmsCfX487jbMinxAaaGOLR2TJ0TUXYasDssNz3E5xrgU2ALcExEucHAm8AnwNWh3PnAprC+s+Nu\ny06Oy9mhjeuBW4HqEKs/DfHKAPdHlNWxk8DY6Lgpa4xeCnG4F5gCHBfi9P0w/TPgjLjbGegBPIp/\nz/0uPv+rBv4z1POmDu973I2vRy64/yME8bdAj4J5/xzmzY27npX8CAfn0x0sMxLYA7wHHFEwb26I\nyz8XKdcjHNCNwGkF884I5TbQjb60ARcBPwT6hL/bk0CWvf2BpaHczQXT+wPv4z/Mj4+7PRMSn6nA\nWyVsqz8+UdwNDC+YNzNs+4mIsqtCvS4vmD4i/K98UPi/UskP4CuhPf6yyLwhIZFoBL5WME/HTnJj\no+OmfDFaD/wyYt59oc1Wxt3OwC1hvXcXTO8ZjrdGinwRaXXf4258PXJBfCoE8OtF5o0Jgf9/wKFx\n17VSH5SW4N8b4vLdIvP6hQP2AHBswbyrQszWRKx3TVjvzLjbpYztbwV/tyeBLGv7A8OAhpCIFHsT\nXkBEYlTpjxLjU2qi8g9h/T8tVg/g3bDtKQXzzgrl/hCx3p+Fcqk5GYJPIvcDh0fMv79YwqFjJ9Gx\n0XFTvhhNp8gv82HeN0K7/N842xnoQ9OXwWK9CK4v9n/U1kN98BPAzAbiD3iApwvnO+dex/9D9QO+\nXMaqdWtmVoX/WRqKx+VT/NmBKuCrBbO/iu+//FTE6p/Ev1Fc3imVrQAuvFO1V0ztf2lYX61z7rOI\ncgCXmqXrupiOxucgZeNTLK750wvj82fh+dmI9abxuHoMONI5tyti/rvh+cjsBB07ZdPh2BwkHTcd\n5Jx7MuRQxUzBt+fKgunlbucvAUcA70XUNXvsnGNmR0WsuwUl+MnwRXwsDjjn3oxYZnN4nlSeKqVW\nv3BB1Hoz+8DM3jWzJ83sBjPrVbDsGGBAeL2Z4jbjD9jCuJzWjnIUKSdN4mj/0/Bv7G2V+xy+j6TA\nIWb2LTNbEy4me8/MnjezvzWzwwoXNrO+wLjwZylxbU98xpnZoR3bjWRyzjW2kkCC7woCvntnlo6d\nMigxNlk6bmJgZj3DxbOLgT8HluPP2Gfnx9HOrR5zzrm38L8U9cD3y28XJfjJMCo8f9jKMtvw/1Cj\nWllG2lYNnA78L/yvJlfhuz7dDTxvZv3zls1v6/cj1retcNnw5nx0O8sNNrPe7a599xJH+2fXE1Uu\nf7qORW8o/ozU9/EX534V32d0EVBnZsMLlh9B02dPu+Na8Hdb5arCdlLNzHrgL+BzwF15s3TsxKyV\n2GTpuCkzM/sZ/gLwzcCFwMXOucucc/vyFoujnUfh/0+iyoHvu19sm5F6tndB6VLZIZf2tLJMfXju\n38oy0rqNwN845xbnTdsMPGNmv8RfZPgv+J+aoSkujc65xoh1FotL/hBaUTGtz3vdH9jbRt27ozja\nv9Vj0TmXMbN9wCHoWATfBeFWfD/v/BitMbP9wF8Bv6D5ma6OxKewjdt6ryyMa9p9DT9qx4+cc7V5\n03XsxC8qNqDjJi434tt9GHAl8Esz+zlwvXPuk7BMHO3cJTmgzuBLt+GcW1+Q3Of7Tni+2MxSf3ZJ\npDM45950zt0WkUR+F3/RWLWZnVfmqqWemX0e+EfgBeBvYq6O5GkrNjpu4uGc2+6cez30y58F3I7v\nN78yRdeF5CjBT4ZPw3OfVpbpG54/aWUZKd0r+DdV8OM2Q1NceoSfW4spFpdP815HxbRv3mvFtLg4\n2r/VYzFcvJjtO6m4tcI5t52miwzPzJvVkfgUtnFb75Xd4rgyf7OplcDrwAzn3P6CRXTsxKQdsWmV\njpuy+g6+b/sX8b/gQzzt3CU5oBL8ZMheWDuolWWG4PtoRV2EKwchnEnZEf7MjniQ39aDI4pmL6LK\nLeuc2w1sb2e5951z6p5TXBztn11PVLn86ToW25btU5o/isjbNN0ht91xLfi7rXIZYGv7qlhZzGwo\nfoSbbcD0iBFrdOzEoJ2xaQ8dN2UQLpDeGv6cEp7jaOc38ddYRpUDOCZim5GU4CdDLT7gvVrpHnJi\neF5fniqli5n1NrMLzSzq7FIPYGD48+Pw/DpN35ZPbFGoabqjZVxebEc5ipSTJnG0/4v4N9q2yn0M\nvBGxTLcRjqnWhgDMfmBljymcc/X4O3VCaXFtT3xeS+MX53Dh5W/wCeT5ef2GC+nYKbMOxEbHTZmY\n2ZAwQl5r3W92h+dDILZ2bvWYM7ORoX4ZoC5i3S0owU8A59yH+DcG8FfTN2NmY4Bj8bdU/nUZq5Ym\nx+Bv+Rw1LOXJ+CGowN/CHedcBngIf8AWi0u/sL4MfqitfD+PKhdMx79B/Ee796Cbian9l4f1TTSz\nI4qUOz+7XJnHjU+q/wT+pNiMcH+PY8OfawtmR8YnfBifm7dcYTnwt5EvJjtqSeqOKzMbDTwHbMF3\n/ajPm3eymf0q+7eOnfLqSGwCHTflMQY/Ql7RE6dm1jMsA82/dJa7nX8N7AKGhnyvWDmAZ5xzOyPW\n3VJH7oqlR5febe1s/Jvjbym4BTjwY3z/8L+Pu56V+gCGh/a9N2L+Q2H+4wXTR+FHidhGy9u9/30o\n8+Mi6+uJH6GnETi9YF72du+vFca6Oz1o351Sy97+NN0B9OaC6QPwQ5XtAUbE3X4JiU8GeDJi3uIw\n/1Va3iV3ANG3gr+CIrePz5ufvet34a3gR9J0K/h+cbdfJ8diHPBeeJ/qVWT+NPyIOfnTdOwkNzY6\nbsoTm6mhTb4fMX9umP8pcHSc7UzT3XPvLpjeMxxvjcCZHdr/uAOgR4t/tkbgUeBUYDTwf0LQHy32\nhqpHu9v22NC2jcBP8LeUHoYfE/+nNH25OrpI2Svxt3RfHT7gRuBHRtgPrAMOi9jmuPAm8d/4u0oO\nB/40fBhsB06Ku11iiMNA/K8pg2lKIL8Yph0TUaas7Q8cjv/pdR/w12F7Z+LPph0Aroi7HZMSn9Ae\njfgzkueGNj4F+Cea+plG3Sb+HPwH6Eb8GarjgWvxH7ZvAIMjyg0B3sJ3QZkVyv0xsCmsb2rc7djJ\nMcn+HzcCL4f/zcLHZgqSyFBWx04CY6PjpmzxOTO0ZwNwH/5E6vH4z/+7QgzqgUvibmd8D4LHQp0W\n4G8GNzFv2s0d3v+4A6BHiyBfgL8C/yN8l5xaYDYF3+T1KKltP4+/wdVz4U15P7ATeB74FtC7lbKT\ngYfDh1u2j9484JA2tjkEuAd4B//t/R38T4ZD4m6PmGLwNk1ftPIfmcIPwTjbH9/fcV7YTn34f3kE\nmBx3GyYpPqF9bwJW4c8U78P3G14P3AIMaGN7Y4D78YnjnvDBuYg2ziTix41ehO8SsSeU/3fghLjb\nsAti8q2ImBQ+GiLK69hJWGx03JQ1RqcAC/FfMnfgP/c/w5/QWwyMSko747sFzcbnfZ/h88CVwAWl\n7LuFlYqIiIiISAroIlsRERERkRRRgi8iIiIikiJK8EVEREREUkQJvoiIiIhIiijBFxERERFJESX4\nIiIiIiIpogRfRERERCRFlOCLiIiIiKSIEnwRERERkRRRgi8iIiIikiJK8EVEREREUkQJvoiIiIhI\niijBFxERERFJESX4IiIiIiIpogRfRERERCRFlOCLiEinMrNnzCxT8GhsZX6jmZ0dZ51FRNJECb6I\niHS2WcApwNuAA2qBCQXzbwzzrgJOBtaXtYYiIilmzrm46yAiIilkZmcBzwIG/J1z7h/D9CHAy8CD\nzrlvxVdDEZF0UoIvIiJdxsy+B9wMNADnAmuAZ4ABwCTn3P4YqycikkpK8EVEpMuYWS9gHb7Lzjbg\nUeAafHL/Wpx1ExFJKyX4IiLSpcxsLPAScGiYdKNzbkmMVRIRSTVdZCsiIl3KObcRuA3fFx9ga3y1\nERFJPyX4IiLSpczMgC8DB/BJ/lIzOybeWomIpJcSfBER6Wpz8MNkngm8BwwE/jXWGomIpJgSfBER\n6TJmdirwHWC2c+4l4Er8+Pfnm9mNsVZORCSldJGtiIh0CTM7FH+Tq5edc1flTb8NuAXYC5zmnHs1\npiqKiKSSzuCLiEinMrNBZjYeuAMYCtxlZv3DvL7AQ8CbQG/gATM72cyOj6m6IiKpozP4IiLSqcxs\nPjAf3xUn61rn3L+Z2VT8ja4KP3x+45w7t1x1FBFJMyX4IiIiIiIpoi46IiIiIiIpogRfRERERCRF\nlOCLiIiIiKSIEnwRERERkRRRgi8iIiIikiJK8EVEREREUkQJvoiIiIhIiijBFxERERFJESX4IiIi\nIiIpogRfRERERCRFlOCLiIiIiKSIEnwRERERkRRRgi8iIiIikiJK8EVEREREUuT/AwChBhZ7ol2B\nAAAAAElFTkSuQmCC\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvkAAAI3CAYAAAABXkS8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzsnXmcHFW593/PTGYmmWSy7yE7SUgIISSyxMsaELhRooDK\njXKRoCJeQAUFkfcqxB2uV70KV180oLxIQEGjApEoexCSkLAkZCVkXyf7MpNMZvq8f5yqmjM9Xd3V\n1VXdVdW/7+fTnzlTVafqqXq6q3/19HOeI0opEEIIIYQQQpJDRakNIIQQQgghhAQLRT4hhBBCCCEJ\ngyKfEEIIIYSQhEGRTwghhBBCSMKgyCeEEEIIISRhUOQTQgghhBCSMCjyCSGEEEIISRgU+YQQQggh\nhCQMinxCCCGEEEISBkU+IRkQkc+ISEpE3s9nXaH7Ju3h9Yo2IjJeRH4vIttE5Ljlq6XWuvOs/1sy\n9HNdF4BNd1n7fj7ofYeBZWtKRM4ttS2EkORAkU8SiWg+JiKzReRdEdktIk0isldElonIwyLyKRGp\nK7WtUUREvmwJpQmltiVqiMip1rX5cqltKTUiMgzAqwA+DqAfgP0AdgCoL51VhSMiH7V8/NEC95PP\n50gVcizSioicLSJfEpHfWPd7++HT80OfiFSJyK0iskhE9ovIIRF5R0TuFpEuHvp3sbZ9x+q739rX\nrSJSVdgZAiLSV0T+W0RWiUiDiOwRkZdF5LMe+48Qkf8rIu+LSKOI7BKRv4nIFYXaRqJDh1IbQEjQ\niMiZAH4LYDRavzhbABwA0BnAOOt1NYCDInKXUup/8jjEAQCrAGwJzOjo8RUAQwCsB/BOiW2J2vWe\nCOAuABsA5PO+SSJfAFAHYC2A85RSO/Lo2wDt1yiK248B+AyA3wD4cwH78fo5Wg0gBX1NSOG8bP01\n31ue32ci0h3A89CfdQXgGPR3yMkAxgP4jIicq5Ta7NJ/KIAXAQy1+jcAqAYwGcAHAHxaRKYqpQ7k\ncU7m/icDeBZAT2v/hwF0AfAvAM4WkY8DuEwp1ezSfxqA3wOotfofBNADwIcAXCwiDyqlPufHNhIt\nGMkniUJEPgbgJQCjAOwG8J8AxiulqpVSfZRStdARx48DmAst+q/K5xhKqblKqXFKqYuDtZ5kgtc7\n0pwCLRL+nKfAh1JqseXXk8MxrWCK9vChlBqrlDpZKfVGsY6ZcBoAvA7glwA+D2A+AMmj/6PQAv8A\ngE8qpWqVUnUALgawDVq8/1VE2u1TRCoB/NXaZhuAi5RSddZ3z79BC+qJAB7xc2Ii0hXAU9CifAWA\nDyilukF/l90E4Lhl509d+g8D8DiATgBeATBaKdUDQDcA37Y2mykiX/NjH4kWFPkkMYjIGAD/D0AV\ngLcBnKKU+oFSaqW5nVJqt1LqT0qpKwBMAPBa8a0lMSYfsZB0aq2/h0tqRTjQz/GlTin1QaXUjUqp\nB6FTyDwhIlMBXAr9kHe9UupJe51S6jnoABGgH3CvzbCLa6Gj/QrAFUqpF4z+fwBwA/R7a5qIXJDP\nSVncBh2oagQwTSn1prXvZqXUL6B/ZRQA14vIiRn6fwf6gWAHdLR/ndW/QSk1C8ADVv//IyLdfNhH\nIgRFPkkS34O+eR0BcLlSameuDkqplUqpr+ZzEC8DQUXkLBGZKyL1Vr7kKhH5roh09niM3tb2S61c\nzkYRWScivxaRcS592gxkFJHTROR3IrLZGo+QMx/VHrAIHYUSAL8xBgWmrHX2tkPt44nIECvH8wEr\nx/OoiKw3tu0uIp8VkcetHNU91jltsGw8M4tNXq53FxG5Q0T+ae37qIhsEpE5InKWh/P+kIg8Ztlj\n57e+LSI/M/tb5/+g9e+w9GsjIt/KsO+JoseAbLDOea+IvCo6X7vayzmLyAXW+2mbiDSLyIMicom1\nTZOI9M9xfq9Y2z6YbTuvWOeSAnA+9Pvk7rTrkHMAafr71WWb8dZ7ZrvxGfiZiPTx0t/Yz4Ui8rTo\nvONGEVkhIt8SkZpMNkGn6gDAtRl87OXcPH+OrO0z7jvDZ2yIiPxKRDZa5/GeiHxHRGqNPuNF5BHr\n/d8oImtE5P+ISNb0XOtYPxWR5aJzyI+IyEpr2eBc5xwllFKF/Apj+/59S5Sn7/t16FQcAXBNhv7X\nQAv8F5RSizL0fww6fcveNl/+3dr/HKXUpgzrfw790F0J4NPmCut9coXV/3+VUgcz9P+B9bcrdNoa\niTNKKb74iv0LQH/onMkWAPcFsL/PQOfIvp/POmv9dQCarW1aAOyFjrq0QP+8+pUc/S8CsM/ofxT6\nJ94Wa9lRAP+eod95Rp8r0JpHug/6wec5D+f9VeifmI8bfbcZr63GtkON480wbDxktdcZ295lbNsE\nnUrVYJxTC4Cb8vWFtX4igM1p+99vvB9aANzh0rcTdG5qyth2v+Uz+/+lxvbbDN8cT7s22wDcmrb/\nW9LOca/lP3vZWwD6ZTtnAF8ybLH7z7a2W2ctvzOLT8cYxz8zoM/bQut87XM5aL5HAJyV/p7M9n51\nOcbl1nvYtv2A9T5usY7xmSz7tt9vzwP4mtWnGcAe6699/f8BQIx+U6xzOGKtP5LmX+fcgvocWdvb\n53hu2nLzM3a58b7cB/0+t8/jRWhR92FogWe/V8xzfTSLvZ9G6z2qBfqzedjoewDAh4J475TiBeAh\n+/3gYdtt1nn/PMs2t6H1HlBjLO9kXPOvZul/v9V/q9dzsPqNNt4PV2bZ7mlru1fTll9s9J+cpf+7\n1ja/K7Xv+CrsVXID+OIriBe0yLRvXpcEsD9fIh/AJOPL9x8ARlnLKwF80hIZe7P0PwWtQuYX0AJN\nrHUnQEdpUtDiZ1JaX1PkHwTwF/v41vqReZz/ems/12TZZmja8V4FcJqx/kSj/TkA3wJwGoAOafv4\nMVrF+al5Xu/+AHZa/X9v7b/SWtcbwN1ofdiZnqH/48aX9fcADDTW9YTOob3fqz1p233EuD5PAhhi\nLe8ALarsB5FXYAjNtGM0WLb9GsAga50AGG61b7e2W5fFjv+2tnk7hM/dC9Y5fMtlvS+RD2A4WkXm\nIgATjXVToR9+9mTpb4v8vdb1+w6Anta6Lmj70Hlthv62KHywwOuT83NkbedF5O+FHmw5xlpXA+BG\ntD5IfBta/P8OwAnWNrXWcnsfUzMc+0PQwvQYgO/b71Nr3SgAj1n999n7jdsLHkW+9Zm3r9UXsmz3\nr8Z25ntzEjx8DwH4orFd9zzO4wqj35gs291j+yxt+a1G/5os/e374lul9h1fhb1KbgBffAXxsr7E\n7ZtXu8ioj/35FfnPWOtWZrqJom0kJVP/56x138li20+tffwxbbkp8v+JNOGY5/nnK/LfB1BbwPF+\nbu3ngTyv92xr3cNZ9v1la5ulacunGvZfH8R7I227Fda+X8jkC7R9CLjC5RgtAH6f5Ri90RpNbxdp\nha7oscta/x+Ffi4y7D8skf9ra912AN0yrB8NHXnOJfJbAHzTxbYnrG2ezbAuiiL/HQBVGfr+1tom\nBWCey/5fyvT5gn5gXGOt+2wW++Za2/zYxzVIFfAq6Ppn8GcukT/euN4fybLdBGO7acZy8zM9Pkv/\n6cZ24/I4j5uMfl2ybPclY7taY/mPrOW7cxznx9Z2u4K4/nyV7sWcfJIUehntvZk2EJGRIrLDyu9N\nf+XM286F6EFKF0PnO96rlDqWvo1Saj70QN9MVRmGArgAOqr231kO9bD19yKR9tUdLP5LWXfrIvFz\npVQh5f+ehr4mZ3vtYOVTz4B1vbNs+v+sv6eKSB9j+XXW3+VKqQfysNWLbacAOMn697uZfKGUego6\nSg3o83Djh24rlFK7oX8lEADXZ9jkCugHgUb4rOZRIsy84XZlBpVSa6B/ucnFMbh/luzSmHGZC+LH\nSqnjGZY/a/1V0BHcTDwL/R5JP9dzAZwILfpmZzn2w1b/S7yb67CjgNd+H8crBHPelGz3M3NdnUvb\nT/9cBGVfrnu1vZ7zyMQc1skn5UQHAH3Slgn0l2PGAZB5Mgl6MLuCjnC68Tx07m86/2L9rQCw0l2/\no9L62xn64WZ3hm3+mcvYgMl5PBEZDp1ecD6AkdBfIOmBhhPyOOZkAB2hr/ffs1wvk6Fonajpg1bf\np/I4plc+YP1tRmvN7kz8HcAZxvbpNCqlluY41i+hHxIuE5E+SilzIqrPQ5/j4yrzILvIISIjAHSH\ntjvbtXsRehBiNt7N8vC5zfrbMy8DS8dil+U789imR9py+57TTUS2Zzm2fX8cmmWbjCilBubbhxAS\nDBT5JCnsMdo90faLDwCglFqNVoFsR87XB2hDX6O9Nct2bpM62V+GFWn7yoSyXrUu63fl6B80WY8n\nIpdD156uQWv98YPQqSb2Q1ZP6AcXr5jiwc/1sivSbMzjmF6x7dntEn21sd8LbvbvcVnuoJR6RURW\nABgLYCasXzVEZCT0AxWgy+LFBfNBfJvrVtk/YzaHsqyzJwqKy/eg27k4Ex4ppY7k2CZ9ptWBxnIv\nn6GOObaJO+Y1dru3pq875NL20z8X6ft3K12by75stpnr87GNRBCm65CksMJoTyyZFYVhP4DsVEpV\nenh1UJlLqKHIqTqAzv3MiIj0hM6JrYYejHwedJ5oD6XUACvS90kfx6w02h09Xi8zMlzsa+SHnOUh\nLX4J/auUOUvl561ly5VSC4M2rEjEwUdxxv4MLfR6zympteFjPlQOyrKduW6bS9tP/1zku/+Dab9k\n2f17pJePdemfj20kglDkk6TwAloFwfQS2WBGs73e4E3sCVt6i0inYEyKBNOgay7vg65wsyDDeIWs\ndd5dMCe4GVZA/7xTEDxgvxd6i0h69NTETk8q9JeXh6HzaEdaNfU7QA/eVdAPAHHCTDfKluqR7TNG\nvBHmZwAAkGUclJfXT8KyKxNKqb1ovSbjs2xqr7OLLNistJZ57b9DKZXPuIPlGfaRbf8r0pbn019B\nl9IkMYYinyQCpdQOAH+Ejlz+u5WKU2yWovUGn20mw6kuy1+1/lZCl2grJfZ5BDHrpz2Rzmql1FGX\nbS7ysd/F0GU3AeAyH/3/CX1++fb1cm3esP52gP7lwo2LoL9M3XKpPWHl289B6wDcy9A6K+bvCtl3\nsVFKvY/WAZfnZ9k027pCCer9H+TnKAzse05/EZkU0jH6QKcC+Xl1DcmmbPwduQcZX2r9bROwUEo1\nQl9TMbbJxCXQn/v5+RhmDTi3f73NuH9rwqtzXPa/APqekK3/EOjUP+RrH4keFPkkSfwndI35LgDm\nisiAYh7cqgIyH/oG/zXJMJupiFyE1gGf6f3fQ+tMit8TkayVDUQkfRBdkNiDNLsHsC+7Ospol2sy\nEcCn8t2p9TP0o9DX6+siknXQbobrZVcTOVlEvpDHoXNeG6XUMugomgD4z0xVkERkGgB7pt9H8zi+\nG3bE/mPQ9fOBGA24TcN+YL/BqlrVBhEZBX8pXl4J6v0f5OcoDF4A8B70tf5Jjl+dfN1zPKYBub0+\n6/O8CuG31t+RIvLx9JWiZ+e+APoe/tv09cayC0Tk9Az9PwlghPXvw+nrPWBXOvo3S5CncxP0d2AL\n0h7wrXumXY3riy7fMXdYfw9Bl04lMYYinyQGa2Dt1dBl804F8I41nfs4czsRqRORSwHcF4IZ34S+\nuY4F8IyIjLaOWWnd3B+HTltxi+zdDD2YagyAhSIy3cydFJGBIvLvIvIPZCmtGADLLRs/LiKFCpT5\n0BHNngAeFZGBACAiVdY1eRatYihf7oTOG+0D4HURuVpEutgrRaS3iFwpIn+CjnQ7KKVehJ7oRwDc\nLyLfF5FBRt9eIvI5Efl12jHtn7y7isgnstj2devvuQCeFJFh1n47iMinoYW9go78/TnTDvJBKbUE\nwBLosQ9nWvvOOuBWRB4SkZSIeM39LxY/gI449oeunOSMsxGRqQD+Bv1AHxa2j88RkTEF7ieoz1Hg\nKKVaANwAPTD3HAAvi8hUK90LgK6KJSI3iMgi6EmcIo+IdLY+v71EpBf0gH8AqDKXZ/KJUup5APOg\n/fYrEfm4/ZAuIhdCi2RAz1vgJvKXQeurP1rvV4jmE9CfSQXgGaVUuypsInKX/Zl0EfE/gk4p6gz9\nHTPJ6lclIl+EnvxMAfi/VuAonW9Bf3YGAHhKRE60+teKyLcAfMHq/51M5WtJzChWQX6++CrWC7ok\noT0RkT2pynHoXN/9xrIW6/9vAKhO24evybCs9Z9H2+nk96F14p7laJ2cya3/FOjKIXZ/2/Yjabb/\nMq2f6+RCPq7hOWid4v64Zc96AOuNbcyJeobk2N8P0vyxD/phLAVgLfTMsm4TG+W63mOgc2Ht/TdD\nlxU9lHa9/pahbycAf0izbb9ln/3/0gz9/m70OWBfGwBfStvuK2nvhb3QFYVsm94E0D/fc85yna8z\n9p1zhlu0ThLk6z2DkCbDstZfidbZiu3rfNhqbwRwjdVuyNDXngzLdfKjHLZ1R+tMyinoMRO2j88I\n8nNkbedlMqyMn7Fc19HjZ2g6WmdgTlnXvR6t9y3bhm/4eZ8U+wXgN4bd2V7rXfp3h065s69Hg/He\nawGwDllm/7X8ts7of9jah91/MTJM8pb23s3m80loneTO/mwcM/o9gwwTpxn9/xX6/mh+Rx03+v+q\n1D7kK5gXI/kkcSilFimlxkGLhIegBeAB6PzOFugHgEegv/gGKKV+oJRqyrQruFf3cF2nlPoVdP3p\nv0KXQKwGsAHA96AjrPtz9H8NekbPr0HPVLkPQDdosbgCenKnTwO4JU+bPaOUegV6wOw/rOP3BTAE\nrfn16cfMtb9vQIuyhdBfdh2gxf13ob+wtvu1XelfcCZAR6CehRYn9s/Qa6EnTboewFUZ+jYqpT4B\nPVPlH6FFWA30F97b0LMLZ5pk6koAPwGw2jqXIdarTWRQKfVT6Br4j0Dn0nayzv816AeAM5QeT5Lx\n1JD/9XjC6ONlwK39y8XreR4nH/x+jp6EvnZ/gBY01dARzJ9Av2fsX3/cBi56uX4Zt1F6MOQ50L/0\nbIG+d9jvf89lJAP8HPk6D6/bKKX+Aj0p1izoz+gh6HvOUQBvAfgVgMsB/FeOY0QF5fGVythZ+/8s\n6HvwG9Bjf1LQEfpZAE5VSrmVQoZSaiP0PenbVp+UtY83AHwVwBSVPUqe1Z9Kz51xMvRnYQ30Pegw\ngFcAfE4pNU1lKd2rlJpn2fcr6IfOGugAxLMArlRKfT6LbSRGiFKsUEYIiS4i8lnoL6PVSqmxubYv\nZ0TkSmhR3ABgoMqSj2/lX++HFq0XKp2+FBtE5HvQv8I9p5T6UKntIYSQqMFIPiEk6tjR5nYTnJF2\n3AwdAXw0m8C3mAL9y8JzMRT4fQB8Fvpc55XYHEIIiSQU+YSQyGINVv0UtJj7Z0mNiTgicj30IN8U\n9M/4uTgf+rreGaJZvhGRm0Xk6yIyUkQqrWXVVlWil6FTX3ZBp+QRQghJg+k6hJDIYVVEegWAXbLv\nIIAJymWG33LFKuf3OHTOeHdo0f5zpdRXSmpYAFgTIX3Z+rcFreNqOkCf5wEAH7Xy3gkhhKSR9Cmq\nCSHxpApatO6DnsDlWxT4GekIPYjTrvjxG+hKRkngN9CDzc+FTtnqBT3WYD10Cc2fKaW2l8w6QgiJ\nOIzkE0IIIYQQkjAYyY8o1gQel0CXXjxaWmsIIYQQQkgGOgIYBuBZpdSeEtvSBor86HIJ0qakJoQQ\nQgghkcSeyTwyUORHlw0A8Mgjj2DsWJYGjyK33HILfvITL0VMSLGhb6ILfRNt6J/oQt9Ek5UrV+Lq\nq68GLN0WJSjyo8tRABg7diwmTZpUaltIBrp160bfRBT6JrrQN9GG/oku9E3kiVxqNevkE+KTRYsW\nldoE4gJ9E13om2hD/0QX+obkC0U+IT4ZPnx4qU0gLtA30YW+iTb0T3Shb0i+UOQT4pM+ffqU2gTi\nAn0TXeibaEP/RBf6huQLRT4hPpkxY0apTSAu0DfRhb6JNvRPdKFvSL5wMqyIIiKTACxZsmQJB9oQ\nQgghhESQpUuXYvLkyQAwWSm1tNT2mDCST4hP5s6dW2oTiAv0TXShb6IN/RNd6BuSLxT5hPhkzpw5\npTaBuEDfRBf6JtrQP9GFviH5wnSdiMJ0HUIIIYSQaMN0HUIIIYQQQkjRoMgnhBBCCCEkYVDkE0II\nIYQQkjAo8gnxycyZM0ttAnGBvoku9E20oX+iC31D8oUinxCfXHzxxaU2gbhA30QX+iba0D/Rhb4h\n+cLqOhGF1XUIIYQQQqINq+sQQgghhBBCigZFPiGEEEIIIQmDIp8QnyxYsKDUJhAX6JvoQt9EG/on\nutA3JF8o8gnxyb333ltqE4gL9E10oW+iDf0TXegbki8ceBtROPA2+jQ0NKC2trbUZpAM0DfRhb6J\nNvRPdKFvogkH3hKSQHizjS70TXShb6IN/RNd6BuSLxT5hBBCCCGEJAyKfEIIIYQQQhIGRT4hPrnt\ntttKbQJxgb6JLvRNtKF/ogt9Q/KFIp8QnwwZMqTUJhAX6JvoQt9EG/onutA3JF9YXSeisLoOIYQQ\nQki0YXUdQgghhBBCSNGgyCeEEEIIISRhUOQT4pNVq1aV2gTiAn0TXeibaEP/RJdy8s2iRYvw+9//\nHkePHi21KbGGIp8Qn9x+++2lNoG4QN9EF/om2tA/0aVcfDN//nycddZZuOqqq3DttdeW2pxYQ5FP\niE/uu+++UptAXKBvogt9E23on+hSLr758Y9/DLsozOOPP45NmzaV2KL4QpFPiE9Yziy60DfRhb6J\nNvRPdCkH3zQ3N+OVV15ps+zll18ukTXxhyKfEEIIIYSUnHfffRcNDQ1tli1ZsqRE1sQfinxCCCGE\nEFJyli5tX2Y+0zLijdiJfBEZLSI3ichDIvKOiBwXkZSI3Omh70Ui8oyI1ItIg4isFJHvikjnPI5/\nqog0Wcdck2PbviJyn4i8LyJHRWSHiPxeRE7zejwSXe65555Sm0BcoG+iC30Tbeif6FIOvnnvvfc8\nLSPeiJ3IB/BFAD8DcA2Ak6HPIee0vSJyC4D5AC4GsBzAXwB0BXAngMUi0tPDPqoAPOzlmCIyGsAy\ny94WAH8CsAHAxwEsFJGP5joeiTbpPymS6EDfRBf6JtrQP9GlHHxjCvqePbUs27ZtG0tp+iSOIn8Z\ngP8C8GkAYwE8kquDiEwE8CMAzQCmKaUuUEr9G4CRAJ4DcBKAX3o49l0AxgO4H4Dk2PYxAL2hHwpG\nK6VmKKXOAnA9gA4AHhaRvh6OSSLKrFmzSm0CcYG+iS70TbShf6JLOfhm3bp1AICKigqcf/75znJW\n2PFH7ES+UupBpdTXlVKPKaXWAEh56Gan8jyolJpv7OsogM9a+7jSir5nREROB/B1AL8H8MdsBxOR\nfwUwEcB+ADcquxaUPuavoR8sugD4sgfbCSGEEEISz4YNGwAAgwcPxpgxY5zl69evL5FF8SZ2Ij9f\nrBSbada/c9LXK6U2AXjV+vdyl33UAPgtgL0AbvZwWHs/f1FKZfp97VHoXwKu8LAvQgghhJBEc+zY\nMezZswcAMGjQoDYlQ7ds2VIqs2JN4kU+gNEAaq32Gy7bvAEtut0GxH4XwBgANyuldns45mnQOfvZ\njgcAo0Skk4f9kQiye7eXtwIpBfRNdKFvog39E12S7psdO3Y47QEDBqB///4Z1xHvlIPIH2793a+U\nOuKyzea0bR1E5IMAbgEwVyn1+zyP6ZZEZh9PAAzzuE8SMa677rpSm0BcoG+iC30Tbeif6JJ032zf\nvt1pU+QHQzmI/Drrr5vAB4DD1t+u5kIryv4b6Nz6/wjwmIeNdleXbUjEufvuu0ttAnGBvoku9E20\noX+iS9J9ky7yBwwY4PxPke+PDqU2IOLcA12B5xql1M5SG0OixaRJk0ptAnGBvoku9E20oX+iS9J9\nky7y+/Xr5/xPke+PcojkH7L+Zpvwqov196C9QETOA3AjgGeUUr8L+JhdjPZBl20IIYQQQsqCdJHf\nsWNHdO/evd064p1yEPkbrL/ds8xsOzhtWwD4GHTO/FARecF8Afiptc0gY/mEDMccgszYx1MANmYz\nftq0aZg+fXqb15QpUzB37tw2282fPx/Tp09v1//GG2/E7Nmz2yxbunQppk+f3m4Qz1133dVuRr1N\nmzZh+vTpWLVqVZvlP//5z3Hbbbe1WdbQ0IDp06djwYIFbZbPmTMHM2fObGfbVVddxfPgefA8eB48\nD54Hz4PngYcfftj5307VqaysBNA2kl/K85gzZ46jxYYPH46JEyfilltuabefyKCUivULwEPQM8re\n6bK+CjoHvgXAeS7bvGSt/7qx7CfWMrdXymg3AzjX6PuAtf4hl+PNtNavzHJekwCoJUuWKBJNfv3r\nX5faBOICfRNd6JtoQ/9El6T7Ztq0aQo6+Kl27typlFLq3XffVevXr1cNDQ0lts6dJUuW2HZPUhHQ\nxeYr8ZF8pdRxAE9DR+U/lb5eRIYC+KD175+MfrcopSozvQBMtTZbZy3roJR62ditvZ/pLiUyPw39\nhniysLMjpWTp0qWlNoG4QN9EF/om2tA/0SXpvqmvrwcAiAh69eoFABg3bhyGDRuGTp1YbdwPiRf5\nFj+EFtUzReQSe6ElwGdDX4cnlJ5Bt2CUUvMAvAmgO4D/FRHnOovI9dAPCYcA/CyI45HScP/995fa\nBOICfRNd6JtoQ/9El6T7Zu/evQCAHj16OGk6pDBiV11HRE4D8Ato0Q7o6jcC4AYRuczY9GPKqoij\nlHpTRG4F8GMAz4jISwB2ATgHQH8AqwB8MWBTZwB4GcA1AM4RkcXQ9fPPAHAcumLProCPSQghhBAS\nO+zZbnv27FliS5JD7EQ+dF3509OWKQCDrJf9f02bDZT6HxFZBuCr0EK7M/RkVQ8C+KFynyjLDTsH\nK/NKpdZYg3H/E8BHoAfyHgDwBIDvK6XeyvN4hBBCCCGJo6WlBfv37wdAkR8ksRP5SqmXAPj6HUcp\n9TyA54tlgxWp/5L1IoQQQgghadgCH4CTj08Kp1xy8gkJnEylwUg0oG+iC30Tbeif6JJk39ipOgAj\n+UFCkU+EBzKKAAAgAElEQVSIT2666aZSm0BcoG+iC30TbeifcHjjjTcwYcIETJ48Ge+++66vfSTZ\nN/agW4AiP0hil65DSFS4+OKLS20CcYG+iS70TbShf4KnpaUFn/jEJ7BhwwYAwIwZM/D2229DRPLa\nT5J9Y4p8pusEByP5hBBCCCEhsWDBAkfgA8CyZcuwaNGi0hkUQZiuEw4U+YQQQgghIfGnP/2p3bIX\nXnihBJZEF6brhANFPiE+mTt3bqlNIC7QN9GFvok29E/wvPrqq56W5SLJvmG6TjhQ5BPikzlz5pTa\nBOICfRNd6JtoQ/8Ey/Hjx/HOO+8AAEaPHo3evXsDAF577TUo5TrVTkaS7Bum64QDRT4hPnn88cdL\nbQJxgb6JLvRNtKF/gmXlypVoamoCAEyePBkTJ04EoEVtfX19XvtKsm8YyQ8HinxCCCGEkBBYvny5\n0544cSJOOukk5/9Vq1aVwqRIwpz8cKDIJ4QQQggJgffff99pjxo1CmPHjnX+p8hvxU7XqaioQLdu\n3UpsTXJgnXxCCCGEkBBYt26d0x4xYkQbAUuR34odye/RowcqKhh/DgpeSUJ8MnPmzFKbQFygb6IL\nfRNt6J9gMSP5I0aMwIgRI5z/N27cmNe+kuyb/fv3AwC6d+9eYkuSBSP5hPgkybMPxh36JrrQN9GG\n/gkWW+T36dMHdXV16NixIyoqKpBKpbBp06a89pVk3xw6dAgAUFdXV2JLkgUj+YT4ZMaMGaU2gbhA\n30QX+iba0D/BcfToUWzduhUAnAh+VVUVBg4cCCD/SH5SfXPs2DEcP34cAEV+0FDkE0IIIYQEzMaN\nG51a+GaaztChQwEA9fX1aGxsLIltUcKO4gMU+UFDkU8IIYQQEjDr16932sOHD3faQ4YMcdqbN28u\nqk1RhCI/PCjyCfHJggULSm0CcYG+iS70TbShf4LDTtUB2gr7wYMHO+0tW7Z43l9SfUORHx4U+YT4\n5N577y21CcQF+ia60DfRhv4Jjm3btjntAQMGOO3+/fs77Z07d3reX1J9Q5EfHhT5hPjkscceK7UJ\nxAX6JrrQN9GG/gmO7du3O203kb9jxw7P+0uqbyjyw4MinxCf1NbWltoE4gJ9E13om2hD/wSHGcm3\nK+oAQL9+/Zx2PiI/qb6hyA8PinxCCCGEkICxI/ki0kbY+03XSSoU+eFBkU8IIYQQEjC2yO/bty86\ndGide9Rvuk5SocgPD4p8Qnxy2223ldoE4gJ9E13om2jjxT979+7FSy+9hL179xbBoniSSqUckW/m\n4wNAjx49UFVVBSA/kZ/Uzw5FfnhQ5BPiE7MkGokW9E10oW+iTS7/rF27FieddBLOP/98nHTSSXjv\nvfeKZFm82LNnD5qbmwG0F/lm+k4+Ij+pnx2K/PCgyCfEJzfffHOpTSAu0DfRhb6JNrn887WvfQ31\n9fUA9Iytt99+ezHMih1ug25t7JSd+vp6tLS0eNpnUj87FPnhQZFPCCGEkJzs2bMHTz/9dJtlf/7z\nn5m2kwG38pk2diQ/lUph9+7dRbMrilDkhwdFPiGEEEJy8tRTT7WLOqdSKcyfP79EFkWXXbt2OW2z\nso4NB9+2QpEfHhT5hPhk1apVpTaBuEDfRBf6Jtpk88+8efOc9re//W2n/cwzz4RqUxwxo/N9+vRp\nt95c5jWSn9TPDkV+eFDkE+IT5qJGF/omutA30SabfxYuXAgA6NSpE7761a+ipqamzXLSiince/fu\n3W59r169nPaePXs87TOpnx1b5ItIYif8KhUU+YT45L777iu1CcQF+ia60DfRxs0/9fX12LBhAwBg\n8uTJqK2txYQJEwDoijtmNJaEI/KT+tmx3zudO3dGRQVlaZDwahLik6SWM0sC9E10oW+ijZt/Fi9e\n7LTPOOMMAMBpp50GAFBK4e233w7fuBhhVyACcot8r+k6Sf3s2CKfqTrBQ5FPCCGEkKwsW7bMaU+a\nNKnNXwB48803i25TlAkjkp9UDh8+DIAiPwwo8gkhhBCSlZUrVzrtcePGAQDGjx/vLFu9enXRbYoy\ntsivq6tzxi6YmMK/nEW+UoqR/BChyCfEJ/fcc0+pTSAu0DfRhb6JNm7+MUX+mDFjAACjR492lq1Z\nsyZcw2KGLfIzRfEBf5H8JH52GhsbkUqlAFDkhwFFPiE+aWhoKLUJxAX6JrrQN9Emk3+UUo7IHzp0\nqFMBpXfv3ujevTsAinyTlpYWR7i7ifwePXpARAB4F/lJ/OywfGa4UOQT4pNZs2aV2gTiAn0TXeib\naJPJPzt27HDE2NixY53lIuJE8zdt2oTGxsbiGBlx9u3bB6UUgMw18gGgsrLSeUDyOvA2iZ8divxw\nocgnhBBCiCvr16932ieeeGKbdbbIV0ph3bp1RbUrquQadJu+rpxz8inyw4UinxBCCCGu2PXxAWDY\nsGFt1g0fPtxpb9q0qUgWRRuvIt/Oyz9w4ACam5tDtyuKUOSHC0U+IT7x+hMrKT70TXShb6JNJv+Y\nIt8U9UDb2u0U+RqzRr5bug7QdvDt3r17c+43iZ8divxwocgnxCfXXXddqU0gLtA30YW+iTaZ/JMt\nkk+R3558I/npfdxI4meHIj9cKPIJ8cndd99dahOIC/RNdKFvok0m/5g5+ekif/DgwU578+bNYZkV\nK/yIfC+R/CR+dijyw4UinxCfmLM9kmhB30QX+ibaZPKPHcmvq6tDjx492qwzRT4j+RozXSebyLer\n6wDA/v37c+43iZ8divxwocgnhBBSVhw+fBi33norpk2bht/97nelNifSpFIpbNy4EYCO4tu13W26\ndOmCnj17AqDItzEj+dly8s0HJi8iP4lQ5IdLh1IbQAghhBSTa6+9Fk8++SQAYN68eaiqqsInP/nJ\nElsVTbZv347jx48DaD/o1mbIkCHYu3cvtmzZgpaWFlRWVhbTxMhhinwzJSedfCP5SYQiP1wYySfE\nJ7Nnzy61CcQF+ia6lNo3ixcvdgS+zR133IFUKlUii6JFun/MQbdDhw7N2MdO2WlubsbOnTtDsy0u\nmILdFPLpmOv27duXc7+l/uyEAUV+uFDkE+KTpUuXltoE4gJ9E11K7Zuf/exn7ZatX78eCxYsKIE1\n0SPdP1u3bnXaZv69CSvstOXAgQMAdCpThw7uCRP5puuU+rMTBhT54UKRT4hP7r///lKbQFygb6JL\nKX3T3NyMp59+GgDQrVs3PPjgg866Rx55pFRmRYp0/2zbts1pDxw4MGMfU/xv2bIlHMNihC3Ys0Xx\n09d7EflJvK9R5IcLRT4hhJCy4NVXX3XSIi699FJcddVVqKmpAQA899xzpTQtsngR+f3793faO3bs\nCN2mqBOWyE8iFPnhQpFPCCGkLDCF/Ec+8hHU1tbizDPPBAC8//77jEJnwIvIHzBggNMud5Hf1NSE\nhoYGALlFvpmu4yUnP4nYIr+yshIdO3YssTXJgyKfEEJIWfDaa6857XPPPRcAcN555znLXnrppaLb\nFHUYyc8POx8fyC3ya2trnZz9co/k19XVtSvPSgqHIp8Qn0yfPr3UJhAX6JvoUirftLS0YOHChQB0\n5NnOI7fFPgAsWrSoJLZFiXT/2CK/rq7ONZ2CIr8VU6x369Yt67Yi4jwIeBH5SbyvmSKfBA9FPiE+\nuemmm0ptAnGBvokupfLNqlWrHEExZcoUJ2p42mmnOdu89dZbJbEtSqT7x66u4xbFB3QteLs2PkW+\nt/KZNnbKjpd0nSTe1yjyw4UinxCfXHzxxaU2gbhA30SXUvnGFPCnn3660+7VqxdOOOEEZxulVNFt\nixKmfw4dOoTDhw8DyC7yKysr0bdvXwAU+fmKfHubAwcO5JyrIWn3tVQqhSNHjgDQ5UZJ8FDkE0II\nSTzLli1z2hMmTGizbuLEiQCAgwcPtpn8qdzxko9vY6fs7Ny5s6wnFssnJ9/cRinVptJMOWALfICR\n/LCgyCeEEJJ4li9f7rTHjx/fZp0t8gHgnXfeKZpNUScfkW9X2GlubsaePXtCtSvK+E3XAcqvwg7L\nZ4YPRT4hPpk7d26pTSAu0DfRpVS+sSP53bp1azdz69ixY5326tWri2pX1DD94yeSD5R3yo7fdJ30\nvplI2n2NIj98KPIJ8cmcOXNKbQJxgb6JLqXwzcGDB7Fp0yYAwMknn9yuVN+YMWOcdrmLfNM/plg3\na+FngiJfE6bIT9p9jSI/fCjyCfHJ448/XmoTiAv0TXQphW/ee+89p21G7W1Gjx7ttMtd5Jv+2blz\np9Pu169f1n4U+Zow03WSdl+jyA8finxCCCGJxhT5J554Yrv1dXV1TjrKmjVrimZX1Nm1a5fTtqvn\nuGE+BFDka3LVyQfyi+QnDYr88KHIJ4SQmNHS0oLFixdj7dq1pTYlFuQS+UBryk59fX3ZDYB0Ix+R\n36dPH6e9e/fu0GyKOmGm6yQNivzwocgnhJAYceDAAZx99tk444wzMHr0aHz1q18t+9ruufAi8s3l\n69evD92mOGCL/IqKCvTs2TPrthT5GrOEppdIPqvraCjyw4EinxCfzJw5s9QmEBeS7JtvfOMbeP31\n153/f/zjH+MPf/hDCS3Kj1L4xhT5I0eOzLjNsGHDnHY518o3/WPn5Pfp0wcVFdnlQu/evZ12OYt8\nOxpfW1uL6urqnNvnE8lP2n2NIj98KPIJ8UnSZh9MEkn1zdq1a/HAAw+0Wz5r1qzYRPNL4Rtb5Pfv\n399VTFDka2z/KKWcSH6uQbeAnjnYpr6+PhzjYoAt1L2k6gBto/25RH7S7msU+eFDkU+IT2bMmFFq\nE4gLSfXN7Nmz0dLSAkAL+3/5l38BAKxYsQKLFi0qpWmeKbZvDh8+jO3btwNwT9UBKPJtbP8cPHgQ\nTU1NAHLn4wNAVVWVI2wZyfcn8g8ePJh126Td1yjyw4cinxBCYoBSCo899hgAoLKyEjfccAM+97nP\nOet/85vflMiyaLNu3TqnTZHvnXwG3drYKTvlGslvbm7G4cOHAXgX+V27dnXauUR+0qDIDx+KfEII\niQFLlizBxo0bAQAXXngh+vbti49//OOoqakBAMybNy82KTvFxBT5bvn4gE7lsXOoKfL9iXx78O3+\n/ftx/PjxUOyKMvkOugV07n5lZWW7/uUARX74UOQT4pMFCxaU2gTiQhJ9849//MNpX3755QCALl26\n4OyzzwYAbNy4sc0A06hSbN/YM90CbaP16VRUVGDIkCEAtMgv1wcm2z/5TIRlYw6+3bNnT7CGxYB8\ny2cCgIg40fxckfyk3dco8sOHIp8Qn9x7772lNoG4kETfvPDCC0576tSpTvuiiy5y2n//+9+LapMf\niu2bzZs3O+3Bgwdn3dZ+CDh06FDZlTO0sf1TSCQfKM+8fD8iH2iN+ueK5CftvkaRHz4U+YT4xM6P\nJtEjab5pampyoniDBg3CqFGjnHWmyH/11VeLblu+FNs3ZiTfjtS7wbz8Vv8UkpMPlKfIN0V6PiLf\nayQ/afc1W+RXV1d7KjdK8ocinxCf1NbWltoE4kLSfLN8+XI0NDQAAM477zyIiLPu1FNPdfLy41Bh\np9i+sSP5IoJBgwZl3dYU+eU6IZbtn0JFfjkOvi00kn/s2DEcO3bMdbuk3ddskc8ofnhQ5BNCSMRZ\nunSp0z799NPbrKuqqsKkSZMA6Hrwe/fuLaptUceO5Pfr1y9ntNBM59myZUuodkUdMyef6Tre8Cvy\ny7XCDkV++FDkE0JIxFmyZInTtgW9yRlnnOG033jjjaLYFAeampqwY8cOALlTdQC0ifRv3bo1NLvi\nACP5+VNoJB8orwo7FPnhQ5FPiE9uu+22UptAXEiab8xI/sSJE9utN6P75rZRpJi+2bZtm1MlJ9eg\nW4AiH2j1jy3yu3Tp4jlNhJH8VpHvtYQm4D2Sn6T7WnNzM44ePQqAIj9MKPIJ8YmXyCApDUnyzfHj\nx/H2228DAEaNGtVGENhMmDDBaS9btqxotvmhmL4xB91S5HvD9o8t8r1G8QFG8oOI5GcT+Um6r7Gy\nTnGgyCfEJzfffHOpTSAuJMk3q1atcgbjZUrVAYAxY8agQ4cOAPQg3ShTTN+Y5TO9CKS6ujpHcJSr\nyL/55ptx/PhxZ2yHX5Ff7pF8vzn52dJ1knRfs2cGBijyw4QinxBSNA4cOIA77rgD06ZNw7333luW\ns2Lmi5l+4ybyq6urMWbMGADAypUreV0t8o3kA63R/K1bt5bthFjm4G1TuOeia9euqKqqAsBIfhiR\n/CRhRvK7dOlSQkuSTexEvoiMFpGbROQhEXlHRI6LSEpE7vTQ9yIReUZE6kWkQURWish3RaRzlmN9\nRUSeFpEtInJMRA6IyCIRucOtn9G/r4jcJyLvi8hREdkhIr8XkdP8nj8hcaWxsRFTp07FPffcg3nz\n5uHrX/86PvWpT5WtkPLKihUrnLaZlpPOKaecAkCn96xZsyZ0u+JAPhNh2dgiv7GxsY1oKyfM2Wp7\n9erluZ+IOA8F5RjJN6PwfnPyy2XgLdN1ikPsRD6ALwL4GYBrAJwMfQ45VYKI3AJgPoCLASwH8BcA\nXQHcCWCxiPTM0O15AP8N4HwA6wA8AWCxddzvA3hLRE5wOd5oAMsse1sA/AnABgAfB7BQRD7q5WRJ\ndFm1alWpTYgVP/rRj9oNCn3iiSfwxz/+MfBjJck35rmMHTvWdbvx48c7bfPBIGoU0zf5TIRlU+55\n+atWrfIt8oHWwbf19fVl9wBvPxR27NgRHTt29NzPayQ/Sfc1ivziEEeRvwzAfwH4NICxAB7J1UFE\nJgL4EYBmANOUUhcopf4NwEgAzwE4CcAvM3RdCeA6AH2UUucppT6tlLrIOu67AEYA+I3LYR8D0BvA\nwwBGK6VmKKXOAnA9gA4AHhYR78mOJHLcfvvtpTYhNuzZswc//OEPAQCVlZX4xje+4ay7++67kUql\nAj1eknxjf7F36tQpazR69OjRTnvt2rWh2+WXYvrGjuRXVVWhX79+nvqUu8i//fbbCxL59vZNTU3O\nBG7lgi3y80nVAbxH8pN0X6PILw6xE/lKqQeVUl9XSj2mlFoDwIs6sFN5HlRKzTf2dRTAZ619XGlF\n381jfUgp9VulVEPa8k0AbgAgAC4QkYHmehH5VwATAewHcKMywhlKqV9DP1h0AfBlTydNIsl9991X\nahNiw+9+9zvnC/8LX/gCvve97+HMM88EoAeKvvjii4EeLym+aWpqwrp16wDowbUVFe637FGjRjnt\nKIv8YvrGFvmDBg3Keu1Myl3k33fffYGIfABlNzFbECI/WyQ/Kfc1gCK/WMRO5OeLiFQBmGb9Oyd9\nvSXYX7X+vTyPXb9ptNPDa/Z+/pL+gGDxKPQDwhV5HI9EjCSVMwsTpRRmz57t/H/jjTdCRHDLLbc4\ny+bMaffRLIik+GbdunVoaWkBAJx00klZtz3xxBOddpRFfrF8c+TIEezbtw+A93x8gCJ/yJAhBYn8\nnj1bM1/LSeS3tLQ4Aj2ffPz07bNF8pNyXwMo8otF4kU+gNEA7Jk83KaCfANadOczIHaU0d6etu40\n6HEC2Y4HAKNEpFMexyQkdqxduxbvvPMOAODMM8/EuHHjAACXXXYZOnfWY9efeOIJNDU1lczGqGLm\n4OYS+V26dMHAgfpHxSiL/GKxbds2p20K91yUu8gH/A+8BcpX5JsR+LAi+UmCIr84lIPIH2793a+U\nOuKyzea0bb1gJxUvsX4NyHTM9OXpxxMAw/I4JiGx45lnnnHaV155pdOura3FZZddBkD/zP36668X\n3baok4/IB1pTdnbt2lU2VTrc2L69NfYyYMAAz/3sByUA2LFjR6A2xQWK/PzxWz4TYHUdivzwKAeR\nb7973AQ+ANizMrSfSjIDInItgE9CD+TNlFef65iHjbanY5Locc8995TahFjw9NNPO+1p06a1WXfp\npZc67X/84x+BHTMpvvEr8oHoRvOL5Ru/It+c/Gnnzp2B2hQH7rnnHop8H5jiPF+RX1NTg5qaGgDZ\nI/lJua8BFPnFohxEfqCIyIXQlXgUgNuUUq+V2CRSIsqtcoQfjh49ipdffhkAMHToUCdVx+aiiy5y\n2n//+98DO25SfLN69WqnbQp4N+Ig8ovlGzNdx4zO56KqqsoRtuUYyW9oaKDI90EhkXygNS8/WyQ/\nKfc1gCK/WJSDyLffSdkmrrKnW8uaDCciZwOYC6AKwN1Kqf/xeUxzerfySMBLILNmzSq1CZFn6dKl\nTq79BRdcABFps37QoEFO7fdFixa1meq8EJLiG7uyzgknnIDa2tocW8ejjGaxfOM3kg/AKbe5c+fO\nsqv1PmvWLEfk19bW5lXvHaDIB/yJfDtlJ1skPyn3NYAiv1iUg8jfYP3tnmWG2sFp27ZDRD4I4Bno\nQbzfVUp9x8Mx3YbC28dTADZm2Q+mTZuG6dOnt3lNmTIFc+fObbPd/PnzMX369Hb9b7zxxjaVTQAt\nvKZPn95uRsK77rqr3c+BmzZtwvTp09tNwvHzn/8ct912W5tlDQ0NmD59OhYsWNBm+Zw5czBz5sx2\ntl111VU8j4Sfxz//+U+nPWXKlIzncc455wAAUqkU7rzzzkieB1B8f1xxxRWODSNGjPB0HmYkf+HC\nhZE4j1L5wxT5zz33XF7nYYvTxsZGR4wk5X3l5TxskV9RUZH3eZgiv9TnYVMMf5gi/9FHH837POxI\n/sGDB/Hss88m8n1lnsfKlSud/+vq6mJzHnPmzHG02PDhwzFx4sQ2leIih1Iq1i8AD0HPKHuny/oq\n6Bz4FgDnuWzzkrX+6y7rz4KOuLcA+LYHmx6Arr3/kMv6mdb6lVn2MQmAWrJkiSIkrlx++eUK+mFW\nLVu2LOM2Dz74oLPND37wgyJbGF3eeust57pce+21nvocPnzY6XPOOeeEbGG0ufDCC51rsX///rz6\nzpgxw+m7Zs2akCyMJqlUSnXo0EEBUBMnTsy7/5YtW5xrd8UVV4RgYTT5yU9+4pz3o48+mnf/Cy64\nwOl/+PDhECyMFlOmTHHO9/jx46U2pyCWLFlin8skFQFdbL4SH8lXSh0H8DR0JZtPpa8XkaEAPmj9\n+6cM688A8Dfo1JvvKaW+5eGw9n6mu5TI/DT0G+JJD/siEUEp5dQsB9Au4kDaopTCa6/pIStdu3Zt\nl49vc9ZZZznthQsXBnLsJPjm/fffd9p2JD8XnTt3Rp8+fQAAGzZsCMOsgimWb+yc/E6dOrWpXuKF\n/v37O+1yy8vfsGEDmpubAeSfjw8wXQcoLCcfcE/ZScJ9zcb+haxTp07o0KFDia1JLokX+RY/hBbV\nM0XkEnuhJcBnQ1+HJ5SeQRfG+g8AeBa6Ws73PQp8KKXmQU+W1R3A/4qIc51F5HoAU6Hz9n9WyEmR\n4vHAAw9g4MCBqK6uxmWXXYbt27fjuuuuK7VZkWbDhg2OQJoyZYrrjKNjxoxxvuCCKqOZBN/4EfmA\nHuAM6Brvx48fD9yuQimWb+x0nQEDBrQbC5ILOycfKL8KO5///Oedth+R36lTJyePnyLfO17KaCbh\nvmZji3zm44dL7ES+iJwmIq+LyGsi8hqAD0NH6W+wl1kv5y6tlHoTwK0AKgE8IyLPi8hjAN4DcAGA\nVQC+mOFw8wF0A7AfwAki8pDLa3SGvjMA1AO4BsAaEZkjIq9DV+Y5DuAapdSugC4LCZFf/vKX+MIX\nvoAdO3YglUrhqaeewtSpU9vl/pG22FF8oG0+fjoVFRX4wAc+AEBHTYMQVXfffXfB+yg19qBbABg5\ncqTnfsOGDQOgxzhs2bIlaLMKphi+aWxsdERXvoNugfKO5F977bVO24/IB1qj+RT53vESyU/Cfc2G\nIr84xE7kQ9eVPx3AGdarF3SUfpCx7HQANWYnpSvhfAg69eYUANOho+nfB3CGUirT3aibte/u0GLd\n7dU/vaP1q8AEAPdDX+ePQU989QSAM5VSf/F3+qSYbN26tY2Y79RJZ1+tWrWqzSRPpD1vvfWW0z79\n9NOzbjthwgSnvWzZsoKPPWnSpIL3UWr8RvJtkQ9EM2WnGL4xhXk+5TNtyjmSb6d7ART5+VBInXzA\nWyQ/Cfc1G4r84hA7ka+UekkpVZnj1UG1n4UWSqnnlVIfVkr1UUrVKqVOUkp9U7nMhOvhOPbrZZf+\nu5RSX1JKjVBKdVJK9VdKfVIp9Vam7Un0+OY3v+mUdbz++uvx9ttvo7q6GgDw05/+NJKR0qjwzjvv\nOO1TTz0167amyDf7lTO2yDfz7L1gp+sAwMaNWYt3JRazRj4j+flRSI18G1vkNzQ04OjRo4HYFXWC\nTNfJVkYzCRw7dsxJJaTID5fYiXxCisXu3bvx6KOPAtA37R/84AcYNWoUbr75ZgB6oqcHHniglCZG\nmrfffhuA/sLPFU01Rb7dr5xpaWlxovAjRozIK6c86pH8YlBIjXygvCP5QYp8ANi3b1/BNsUBW+RX\nV1fnPbcA0DZdJ9uEWEmANfKLB0U+IS48+OCDOHbsGAA94Mn+4rr11ludQaQPPfRQm4o7RLNr1y4n\nAnrqqafmFKnjxo1zrmkQkfz0WtJxwxw0m0+qDhB9kV8M35gi30+6Tp8+fZz3bLlF8s2Zp4MQ+eZD\nQ5KxRX737t3zHugNeIvkx/2+ZkORXzwo8glxwY7iA8AXv9g6LnvgwIH48Ic/DADYsmULnn/++aLb\nFnXySdUBgI4dO2LMmDEAgBUrVhRcFWbp0qUF9S81pjg3RbsXzHSdKIr8Yvim0Eh+hw4d0Lt3bwDl\nF8k33zNBiPxyycu3Rb4Zkc8HL5H8uN/XbMyZzSnyw4Uin5AMvPfee07ayBlnnIETTzyxzfprrrnG\naf/5z38uqm1xwEy5MVNxsmFv19TUhDVr1uTYOjv3339/Qf1LzaZNrUOKTNHuhbq6OkdkRTEnvxi+\nKTQnH2jNy9+xY4c9QWFZMH78eKdNke+NVCrlCHM/+fiAt0h+3O9rNozkFw+KfEIy8Mc//tFpX3nl\nlR9Vs9QAACAASURBVO3WX3LJJc4A3L/+9a9lJQK8kG8kH+DgWxNT5A8ZMiTv/vaDwebNm52JjcqJ\nQtN1gNa8/KampsTnSJsEnZNfDiL/0KFDzndAmCI/KVDkFw+KfEIy8Le//c1pX3HFFe3W19XV4YIL\nLgCgBVm5i9J07OtRWVnpOtNtOuZ2q1evDsWuuFCoyB88eDAAPYC33NJNgFaRX11djR49evjaR7lW\n2LFFfkVFhe/Uk3IT+YVW1gG81clPCqbI79KlSwktST4U+YSk0djYiH/+858AgOHDh7dL1bGx8/IB\nMC/fIJVKOSJ95MiRnitN2Dn5AEV+oSL/hBNOcNpbt24NxKY4YT/Y9O/f39cgSKBthZ1yFPk9e/Z0\nnaU6F+Um8gutkQ8wkk/CgSKfkDRee+01p6qOHa3PhJnS8+KLL4ZtVmzYvHkzGhsbAQAnnXSS534j\nR45EZWUlgMJF/vTp0wvqX2pskV9TU5NXjXwbU+RHbS6HsH3T0tKC3bt3AwD69u3rez9mJL+cfg3Z\nvHkzAP+pOkD5ifwgIvmm2HUT+XG/r9lQ5BcPivwE88orr+D0009HTU0NJk+e3KY0GnHnhRdecNpT\np0513e6OO+5wKnC89NJLLKVpsWrVKqedj8ivrq7G8OHDAQBr1qwpaJzDTTfd5LtvqVFKOQNmBw8e\n7CuaGmWRH7Zv9uzZg1QqBaBtND5fzAeEXbt2FWxXHGhqanLuYxT53glC5Hfo0AG1tbUA3KvrxPm+\nZkKRXzwo8hPKs88+iw996EN444030NTUhKVLl+LSSy/FvHnzSm1a5DFTb7JF8i+55BKcf/75APRN\nmZM4afyKfKA1ZefIkSMFpZlcfPHFvvuWmgMHDjgl5vyk6gDRFvlh+8aMuhcSyTf71tfXF2RTXDAF\nOUW+d0yR73ccA9CasuMWyY/zfc2EIr94UOQnkPr6enzqU59yUk7sG0cqlcLVV19dljm6Xjly5AgW\nLVoEQAvOXJU5zjnnHKdt9yt3ChH5o0ePdtrlmpdfSPlMmyiL/LAxo+6FRPLNNKlyieQHUVkH0IMp\nO3ToAKD8RL7fSD7Q+oDAnHwSFBT5CeSOO+5wbqyXXXYZ6uvr8dGPfhSAvuHOmjWrlOZFmiVLljgl\nB88999yc259++ulOmyJfY4p8czCtF8ztC62VH1cKHXQLAIMGDXLa5Sbyg4rkmyK/XCL5QYl8EXGi\n+RT53jEj+Ukuy0yRXzwo8hPGpk2b8Nvf/haAjgo88MADqK6uxuzZs50byEMPPYT333+/lGZGFlOo\nn3nmmVm3nTt3LiZOnOhErBYvXhyqbXHBFvl9+/Zt87O9F4KqsDN37lzffUtNECK/trbWufZRE/lh\n+yaMSD5Ffv5Q5OeP/R2tlMKRI0farY/zfc2EIr94UOQnjJ/+9KfOwKmvfOUrToWIXr164dZbbwUA\nNDc34xe/+EXJbIwyplA3o/SZmDNnDjp16oRTTjkFALBixYo203WXI/v373fKDeabqgMEJ/LnzJnj\nu2+pCULkA63R/K1bt0YqKhi2b8xIfiEiv1OnTk4Nb4r8/LFF/qFDh3D8+PGC9hV1giihCbQto5lp\n8G2c72smFPnFgyI/QRw7dgwPPfQQAKBjx474j//4jzbrb7zxRlRVVQEAHn744cTfeP1gR/Jra2tz\nTuL0+OOPA2h9GEilUli6dGm4BkYcU5j7Efn9+/d3bvrvvfeebzts38SRoES+nZff1NTklJSMAmH7\nxozkF5KuA7RG8yny86ecBt8GHckHMuflx/m+ZmKK/M6dO5fQkuRDkZ8g5s2b59xsrrzyynZfcL17\n98bHPvYxAPqL8Jlnnim6jVGmvr4eGzZsAABMnjzZScPJxRlnnOG0yz1lZ+3atU7bHETrFRFxymhu\n2LChLMuSmiLfnrnWD+U6+DaoSD7QKvL37NnjjNVJMmGJ/H379hW0r6hTLJGfFGyR36VLF98TrhFv\n8OomiEceecRpX3311Rm3mTlzptN+8sknQ7cpTuSTqmPCwbetmNF3t5mCczFixAgAOq2snMSpjS3y\n+/Tpg06dOvneT7mL/IqKioKFqpmXbwrgpBKkyO/Ro4fTLheRX1lZ6dS694NZfrMcRD5TdcKHIj8h\nNDY2OpH5vn374qKLLsq43YUXXuhEC/76178yZcfAFOhmdD4X48aNQ01NDQCUfa38devWOe2RI0f6\n2oct8gFg/fr1BdsUJ5qbm50St4Wk6gDlK/LtdJ3evXs7Myj7pdxq5TOS7w9b5Hfv3h0i4ns/5RbJ\np8gPH4r8hPDcc8+hsbERgC6b6ZZqUl1djQ9/+MMA9I3ppZdeKpqNUefNN9902h/4wAdybm//KtKh\nQwecfPLJAHS6iu2HcsQU+aZYzwezn98qUOYvVnFi+/btzmythaTqANEV+WH6RinlRPILzccHyq/C\nTliR/HLJyS8kVQfILfLjel8zUUpR5BcRivyE8NRTTzntyy67LOu2ds18AJg/f35oNsWNd955B4DO\nE7TzwrNhzj5oV9hJpVJYsWJFOAbGADtdZ+DAgb5/tg5C5Md1Zkhzojqz1r0foiryw/TNoUOHnEkA\nC83HB8pvQixb5Hfu3Nn5ddIv5ZKuo5QKReRnqq4T1/uaSWNjoxPIoMgPH4r8BKCUclJ1ampqXFN1\nbC688EKn/fzzz4dqW1w4cOCAM+h2woQJngYDzZgxw2nbIh8Ali1bFrh9ceDQoUNOtNNvqg4QjMg3\nfRMnykHkh+mbIAfdAuUbyS80ig+UT3Wdw4cPO6I17Eh+XO9rJiyfWVwo8hPAunXrsHnzZgDAOeec\nk7MkVe/evXHqqacCAJYuXZroG7BXTGE+YcKEvPubfexfBMoNM1XH76BbABg6dKjTLrdJ27Zt2+a0\nCxX5Xbt2deq8R0nkh0mQ5TPT95F0ka+Ucr4LghD55RLJD6pGPlAeA28p8osLRX4CeOGFF5z2BRdc\n4KnP1KlTAegbO/Py2wpzPyKfkfy2lXUKieR37NjREbjlNvDWjOQPHDiw4P3Z19F8eEgyjOT75+DB\ng06ZUEbyvRNU+UygPAbeUuQXF4r8BPDiiy867XxFPsCUHaBtVRz7V45cLFiwwGn369cPvXv3BlC+\nIj+oSD7QmrKza9cuX7MIm76JE0Gm6wDAgAEDAOiUgqjMxhymb0yRz4G3+RHkoFugfCL5xRT5cb2v\nmVDkFxeK/JijlHIi+Z07d/ZUFQYAzj33XKe83HPPPReafXHBjOSPHz/eU597773XaYuI8wvAzp07\ny2KQXjpBRfKBwstomr6JE2GJfEBX7okCYfrG/Nxx4G1+hCnyyyWSb6bb+CHXwNu43tdMzGADRX74\nUOTHnDVr1jhf3meffTaqqqo89evatSsmT54MAFi5cmWib8K5SKVSTvR9+PDhbW602Xjsscfa/G+m\n7Cxfvjw4A2NCEDXybQodfJvum7hgi/wuXbp4fh9mw0z5iUrKTpi+CTqSX1tb64xxYiQ/P6qqqpwx\nIYzke8MUvZki+XG9r5kwkl9cKPJjjplP7zVVx2bKlClOu5xnal2/fj2OHDkCIL98/PQSkWPHjnXa\nq1evDsa4GGGL/J49e7aJ4vmhUJFfyKyTpcQW4kFE8YFoRvLD9E3QkXygNZpPkZ8/9n2AIt8bVVVV\nzucjk8iP633NhCK/uFDkx5zXXnvNaZ999tl59T3zzDOd9sKFCwOzKW6sXLnSaduTWvlhzJgxTnvV\nqlUF2RQ3jh075lR4KjSKD6DNPAXlMvj24MGDzk/ZQQy6BaIp8sMk6Eg+0Cry9+zZg5aWlkD2GUXC\nEPn24Nu9e/dCKRXIPqNGkCIfaE3Z4cBbEgQU+THHFudVVVWYNGlSXn3POussp/36668HalecMCev\nMqPx+XLSSSc57XKL5K9fv975Ei900C3QNpJvpgElmaDz8YHyE/l2JL9r167o2LFjIPu0HxaUUm2E\ncNIIM5Lf1NSU2JnAKfLzwxT5djoXCQ+K/Bizf/9+Jwp96qmnolOnTnn1HzZsmBOlWrhwYWIjLbkw\nI/njxo3z3O+2225r83+/fv2cgVflFsk3U2qCiOT379/fEWkbN27Mu3+6b+JA2CI/Kjn5YfrGjuQH\nlaoDlE+FnTAj+UByB98GWScfaCvy07+T43hfS4eR/OJCkR9jFi9e7LTNqLxXRMTpt2/fPqxduzYw\n2+KEKfLNlJtcDBkypM3/IuL037hxIxoaGoIxMAbYswUD+uGxUETEub4bN27M+wE03TdxIAyRb6b9\nRCWSH5Zvjh496giuoFJ1AIr8QiiHMpphRfJTqZQzVswmjve1dCjyiwtFfowxU2zM/Pp8KPe8fKWU\nI/KHDh2ac7Zgk5tvvrndMjNlp5wemoIW+UDrF9rhw4fbfJF6IZNvoo4ZaQ8qJ7+urs4ZrBcVkR+W\nb0wBzkh+/jCS748gS2gC2Wvlx/G+lg5FfnGhyI8xpij3E8kH2op885eBcmH79u3OjbSQfHybch18\na6bUDB06NJB9mlGrTZs2BbLPKBNGJF9EnJSdqIj8sAhj0G36vspB5FdWVgYiVoHyiuRXVFQEkmNu\nXvsk5uVT5BcXivyYopRyRH6vXr1850GfdtppTvutt94KxLY4YabqBCHyy3XwrR3JFxEMHjw4kH1S\n5AeDLfL379+f2MGPQDjlM4HymRDLFvk9e/aEiASyz3KK5Hfr1g0VFYVLqlyz3sYdivziQpEfUzZt\n2oTdu3cDAE4//XTfN+VevXo5ouytt95CKpUKzMY4UIjIzxSpL/dI/sCBA1FTUxPIPs1fBPIV+XG8\n9rbIFxH0798/sP1GLS8/LN+YkXym6+SPLfKDrHhSTpH8IPLxgewiP473tXRskV9RUZF3sRCSPxT5\nMeXNN9902vmWzkzHjuYfOnSobGqS2xQi8m+//fZ2y0488UQnmlMukfzGxkZHYAWVqgO0jeTnW2En\nk2+ijp2T369fP88zV3shamU0w/KNGWVnuk5+NDU1OXM05Dv+JRtJF/lKqVBFvlm5B4jnfS0dW+TX\n1dUF9osRcYciP6aYIt9MufHDxIkTM+63HCikRv59993XbllNTY1T43316tVlUZbUjLIHNegWKCxd\nJ5NvokxLSwt27NgBILhBtzZRE/lh+YaRfP+Yg24nT54c2H6Tnq7T2NiI5uZmAMWJ5MftvpYJU+ST\n8KHIjylBivxyzsu3I/l9+/bNu6KEWzkzO2XnyJEjbfKsk4pZWSfISP4JJ5zgtPMV+XErNbdz505n\nNtUg8/GB6NXKD8s3YUXya2trnbSCchD5QY2pAZIfyQ+6fCaQfeBt3O5rmaDILy4U+THFFvl1dXUY\nPnx4Qfsq10j+vn37nOhfEINubczBt0nIocyFmUoTZCS/Y8eOTm66nwmx4kRYg26B6EXywyKsSD7Q\nGs0vB5EfVPlMIPmR/KDLZwLJHnibSqWctDCK/OJAkR9Ddu/ejS1btgDQAr3QEf1Dhw51Ii7lJPJN\nAR6kyB81apTTfu+99wLbb1QJK5IPtEautm/fjqampkD3HSXCFPlRG3gbFrbIr66ubiOUgsAW+Xv2\n7ElkcYKwRH7Xrl2dvGtG8r2RZJFvTu5FkV8cKPJjiJlSU2iqDqCredjR/O3btye6TJyJOVnV6NGj\n8+5/zz33ZFx+4oknOu1169blb1jMCCuSD7SKfKVUXqlPbr6JKmYaTdIj+WH5xr5v9evXL/ABfbbI\nb2lpCXRgalQwRX6Q86VUVFQ4AaSkR/KLMfA2bve1dFg+s/hQ5MeQIPPxbU455RSn/e677wayz6hj\ninwz+u6VhoaGjMvNOQvKLZIfdM6o3zKabr6JKuYDTNADb3v06OGUNY1CTn4YvmlpaXFSaYLMx7dJ\n+uBbU+RXVlYGum9b5DOS741skfy43dfSocgvPhT5MSQMkT9+/HinvXz58kD2GXUKFfmzZs3KuHzw\n4MFOCcRyEPl2JL9fv36B1z32W0bTzTdRJcx0HbPufhQi+WH4Zu/evU4aTdD5+ADQu3dvp510kX/j\njTcGum9b5O/fvz9xqU7FHngbt/taOhT5xYciP4bYIr+6uhrjxo0LZJ/lLPIrKioKHrxsUllZ6exv\n3bp1iS6j2dTU5ESHg87HB8pn1tswRT7Q+uvAnj17Ejm2IcxBt0B5RfKDzMkHWgffplKpxOWYhyHy\nTfGbtOtFkV98KPJjxpEjR5xJlsaPHx/YpDnmw0I5pOsopRyRP2zYMFRXVwe6fzsvv7GxMRLR07DY\nvHmz8xATdD4+UH4iv1OnToGJBRMzL9+ux58kwiqfaUOR758kl9E0c+aD+txWVVU5v4hS5JNCociP\nGe+++64jqszSl4XSrVs3pz7y8uXLEx19BrQosG845kDZfNi9e7frOjMvP8mDb8OsrJO+z3zSdbL5\nJorYv4YMGjQolFkgo1QrPwzfMJJfGKbID/ren+QymmFE8oHWvPz0gbdxu6+lQ5FffCjyY4aZSmMO\nlg0CO2XnwIEDiZ/EqdB8fAC47rrrXNeZDw5JzssPs7IOoAVCbW0tgPwi+dl8EzWOHDnifJkHPejW\nJkoVdsLwjSnyw47kx11oZcIW+V26dMENN9wQ6L6THMkPo04+0Cry0yP5cbqvZcKukQ9Q5BcLivyY\nYabSnHzyyYHu29xf0lN2ghD5d999t+s6RvKDQUSclJ1NmzZ5jjJm803UCDsfH4iWyA/DN2a6DiP5\n+WOL/F69egXuH0by88cU+eY9L073tUyYDy0U+cWBIj9mhCnyy2nwbRAif9KkSa7rGMkPDlvkNzQ0\neBYJ2XwTNYot8kudkx+Gb8KO5Ce5uo5Syvlc9erVK3D/lEMkX0QCnYDN/lUglUq1KZsZp/taJsx0\nnaAnrCOZociPGbbI7969e5sv7iAoJ5FvCm+/Ij8bw4YNc3KrGckvDL95+XGh3CL5YRB2JL979+7o\n0KEDgOSJ/AMHDqClpQVA8INugfKI5Hft2rXgmedNkjrrLXPyiw9Ffow4cOAAtmzZAkBH8YMeoDd2\n7Fhnn+WSrlNZWRlKBLqmpsaJQCc5km+L/F69eqFLly6hHMNvrfy4EOZstzZJF/l2JF9E2kTdg8Lc\nb9JEfpiVdYDyiOQHXRErqSKf6TrFhyI/RqxYscJpB52qAwC1tbUYMWIEAC3ykzZxiY1ZPnP48OG+\ny5DOnj0763o7L3///v2Ji2ABQHNzsxOFDiuKD7QV+Zs3b/bUJ5dvokSYs93a9O7d24k0llrkh+Eb\nO5Lfu3fvwGdstbHz8uvr6xNVfSxd5AftH4r8/DFFvllhJ073tUwwXaf4UOTHiDDz8W3slJ2GhoY2\nqRhJYseOHThy5AiAwlJ1li5dmnV90vPyt2zZ4vzMH1Y+PvD/2XvzOKuKM///U72vNE3T7PsqIEIj\nqIjijomEjvp1VHQmiTiTiVF/o78EM3HiwiQx0ckyk2Dyi4Ys8x0Fzai4JahRMIILO4jI0tDQ0ECz\n9Uavt++t3x+nq6jb3Nt9l3Oq6tx+3q8XL6q776mq29Xn3M95zud5CrK0KxC7yO9pbWxCh10nPT1d\n2lhMe/LdXhvOuYzke2HVEQiR39bWJq8fqUBXke/2+qSqXae1tVVuLKcrku+n61okKJKvHxL5PkL1\nyXsl8ntDhR03km4B4Omnn+7256rIT0Vfvo6kWyAxkd/T2tiEjkg+cNayU1NTI2/OTOD22pw5cwat\nra0AvEm6FaRq8m1Xke/2+qRqJN+r8pld+1OFsZ+ua5EgT75+SOT7CFV0q0mybjJp0iTZFjvrphqq\nyE90I6xYUMtopmIkX0fSLQAMGzZMtlNx11vhyS8tLXV952WVQYMGAQCCwWBK1Xr3eiMsQaqW0fTa\nk5+Xlyf/rlMpku9V+Uwg9T35ubm5MpGd8BYS+T5CiPySkhLPIlbnnXeebO/atcuTMUzjViS/JyiS\n7w45OTny7z3WSL5fCIVCYbvdekmqJt96XT5TQCI/MRhjMpqfqpF8EvmxISL55MfXB4l8n1BbWys/\nmL2orCOYOHGibH/++eeejGEaXSJfJDEDFMlPFmHZOXLkCDo6OjwdSycnTpyQ78dLqw5gV618N/G6\nfKaARH7iCF8+RfJjI1rird8RIp+sOvogke8TdCTdAs7JJyKKn3/+eUpVkRAIkZ+RkZGUOC0vL+/2\n5wUFBdIikYoiX43k6xL5oVAopih0T2tjCzqSbgW2RPLdXhuy6yRHV5HvxbkjIvlnzpxBIBBwvX8T\nmIjk++W6FgnOuXwvJPL1QSLfJ+gS+cBZX35tbW1KeXcBRyQKwT1mzJikfIH33Xdfj68RvvyampqU\nqsgBnI3kFxUVuf4h1xW1jGYsvvxY1sYGdIp8ccMJmBX5bq+NGsnXZddJpetiV5HvxbmjJt+q4tjP\nmEi89ct1LRJtbW3yqSXZdfRBIt8n6BT5qezLP3r0KFpaWgAkb9WZN29ej69RLTuVlZVJjWcTwWBQ\n+uO99OML4q2wE8va2ICOjbAEtkTy3V4bXZH8VK+uk5GRgT59+nhy7qRiGU1V5Ks3MW4QLZLvl+ta\nJKh8phlI5PsEHeUzBaks8nX58QVqhZ1USr49evSofOzutVUHSKyMph8wZddJVU8+Jd7GjxD5/fr1\n8yzXKxXLaKrvgxJve4Y2wjIDiXyfICL5paWlYR82XkAi3z3USP7+/fs9H08XuirrCFSRn0plNHXV\nyAfsseu4ja7qOmpSaiqKfK+SbgGK5MeLGulOlcRbiuSbgUS+Dzh58qSMVnlVH19FFfmpVmHHTZG/\ncuXKHl+TqiJfZ2UdINyTH0skP5a1sQGdkfycnBwZcTQp8t1eGyHyCwsLkZub62rfKhkZGVKsporI\nV3fvFSLfi3MnFSP5XibeZmVlIScnB0C4OPbLdS0SFMk3A4l8H6DTjw84EUVxp02R/OgsX768x9ek\nql1HdyR/8ODBSE9PBxCbyI9lbWxAiPzs7GxPI6kCYdk5duyYscpZbq+NEPle+vEF4ilqqoj8SOUz\nvTh3UjGSr96suB3JB84KYVXk++W6Fgna7dYMJPJ9gG6RzxiT0fwDBw7IRNVUQIj8rKysMAtIIrzw\nwgs9vmbgwIEyukiR/MRJT0+XdpZYRH4sa2MDIvF2yJAhnvmhVYTIb25uDvvQ1Ymba9Pa2irtDDpE\nvki+bWxsRFtbm+fjeY0q8sV78+LcSeVIPmPME9EqKuyoIt8v17VIkF3HDCTyfYBukQ+ctexwzsOi\n334mFArJaPqYMWNkZNhLGGPSslNZWYlQKOT5mDrQHckHzlp2Tpw4kRI3ni0tLTKq6bVVR5Bqvnxd\nG2EJUq2MpvoeyJMfH0LkFxUVIS3NfSmlRvJTYb8asuuYgUS+DzAp8oHUsewcPnwYra2tAPQk3QqE\nZae9vT3Mg+1nRCQ/Pz8/7APcS9QnL4cPH9Yyppeo5TO9TroV2FJG0y10lc8UpFqFHR273QKpGckX\n78MLqw5wVggHg0E0Nzd7MoZOKJJvBhL5lsM5l+UzBw0apE1QpaLI111ZR5Bqybecc1nhZtSoUVps\nJkDqldHUmXQrSLUymiTyk0ON5Kv7ALhNqol8zrmM5Hu1EWCqldGkSL4ZSORbzunTp2W0RVcUH0jN\nCjtui/y77rorptelmsivqamRT0R0+PEF8ZTRjHVtTGJa5JuK5Lu5NiTykyNSJN+Lc0cV+alg12lu\nbpa7t+oU+X64rkWDIvlmIJFvOWpFFp0if9y4cdKzniqR/IqKCtl2Q+THuvtgqlXYMeHHB+Iro+mH\nnSFNiHwbPPluro1JT36qiXwRyffi3MnKykJ+fj6A1Ijke11ZBzibeAucFch+uK5FgyL5ZiCRbzlq\n5FdHjXxBVlaWFKe7d+9OiYRRtyP5CxcujOl1qRbJ111ZRxCPXSfWtTFJb43ku7k2uiP5qqUlVRNv\nvTp3hNU0FSL5XtbIF0SK5PvhuhYNKqFpBhL5lmMqkg+ctey0tLSkhAdaiPycnBwMGzZM27iqbz0V\nRL6pSH6q7XprWuSTJz9+ekMk3ytExLu2ttb31WJ0RPJTzZNPdh0zkMi3HFUUTp48WevYqZR8GwwG\n5Q3T2LFjPSl5Fo2cnBwp4lLBrqNG8nWK/P79+8tdIFPhplMV+bqq6xQVFSE7OxsAVddJhFQT+SKS\nzxjzTKwKRCS/ra3N9yVwdUfyxV4QfoYi+WYgkW85QhQOHTrUs4tJNFJJ5B86dAjt7e0AnHwDN1i7\ndm3MrxWWnZMnT/o+KqNG8nXadRhjMprfk8iPZ21MIUR+SUmJvHnxGsaYjOabEvluro0Q+bm5udLz\n7SWpJvJFJL+4uFjmYHl17qRShR1Tdh0/XNeiId5DTk4OMjMzDc+m90Ai33LE3a9uqw6QWhV2vCif\n+dRTT8X8WtWXX1lZ6cr4phCR/JycHAwYMEDr2ELkNzY2dhvdimdtTBAKhWSdfF1WHYEQ+adPnzay\na6ubayNE/sCBA7WUcs3JyUFBQQGA1BD5IpKv1sj36txJpQo7phJvbb+udYfQMpR0qxcS+T7BtMjf\nvXu39vHdxAuRv2LFiphfmyoVdjjnUuTrrJEviNWXH8/amODkyZMIBAIAzIl8INzuogu31iYQCMhI\ntA6rjkB41/0u8gOBgLxRVv34Xp076h4vFMnvmUiRfNuva90h3gNZdfTiK5HPGJvAGLuPMfZ7xth2\nxliAMRZijD0cw7HXMsb+zBg7wRhrZox9zhj7AWOs22e8jLGxjLE/MMYOMcZaO///PWNsdA/HFTDG\nnmCM7eoc7wRj7A3G2FXxvm/AjMgvLi6WkVq/23W8EPl5eXkxvzZVKuycPHlS7r6o06ojiLWMZjxr\nYwITSbcC02U03VobVWTrFPnCsnP69GkEg0Ft47qNGk1XI/lenTtk14mPSCLf9utad4hIPol8vfhK\n5AO4B8AvAHwFwBQ48+8xTZ8x9iCAtwHMA7ADwGsA+gB4GMAGxljEbWQZY3MAbAPwDwBqAbzcEIir\nwwAAIABJREFU+f9XAWxnjF0U5bhSAJsA/CuAgs7xdgD4AoC/Msbui+3tnsWEyAfORvOPHTsWdmHz\nG6Z2uxWkisg3VVlHkCq73poU+TaU0XQD3Um3AiHyOee+tp3orKwDhEfy/fx7A/RX1/F74m1bW5t8\nckl2Hb34TeR/CuA/ANwJYBKA/+npAMbYdAA/AdAB4AbO+VWc89sBjAXwLoDzAPx/EY7LBfAigFwA\nT3DOL+Cc38E5vwDAEwDyAbzIGMuOMOyzAMYDeAfAOM757ZzzqwB8CUAIwM8ZY3EVvdddWUcwceJE\n2fazZUeI/NzcXG2VTFRSxa5jqrKOIFXKaNoi8v1cRtO0yAf8bdmJVCPfSyiSHx+pVEKTymeaw1ci\nn3P+O875dzjnKzjne+AI5p4QVp7fcc7fVvpqBXB3Zx//hzE2octxdwEYDGAP5/yRLj97BMAeAMPh\nPFWQMMYmASiHc1Nxd+c4YsxVAP4A5/f+3RjmDsCxKJi6+00FX35HR4eMno8bN8618pmLFy+O+bX9\n+/eXCXt+juSbFvmx2nXiWRsT2CLyTUTy3VobEvnJES2S79W5k0qRfFXk66yTb/t1LRq02605fCXy\n44Uxlgnghs4vl3f9Oee8CsC6zi9v6vLjG+FYgc7JdOHOTh4vAGAAbu7yY9HPOs754QjTer7zuAWM\nsfQY3oYxqw6QGmU0Dx48iI6ODgDuWnVUwdkTjDFp2Tlw4IBvvbymdrsVxGrXiWdtTNCbPflurQ2J\n/OSIFsn36txJpUi+mH9WVpZn5W/VvoXIt/26Fg2K5JsjKZHPGKtgjH2HMaa3jl7sTAAgMlU2RnnN\nRjiiu6zL98uUn0c7Tn2dehyP4bh8OJaeHiGRnxyqH3/ChK4PbBLn/vvvj+v1wrLT0dHhWz+5aU9+\nYWGhLC3X3e8w3rXRTW+O5Lu1NsePH5dtE9V1AH+LfDWSr4p8r86dVIzk9+3b19MKYyLqLUSy7de1\naFAk3xzJRvLHwPGnH2KMvcgYu9aFObmJqIBTxzlvivKaQ11eC8ZYAQBx1Ytm/BXHlXb697uOGfE4\nznkjgIYur+0WkyJ/5MiRcofMVBD5JpJuBamQfCsi+dnZ2VqFlYq6IVYoFItjzz6EyM/Oztbih1YZ\nMGCAtKyRJz9+1Ei+Gg33G+rcdSTeplIkX4h8r3cJFoLY74m3FMk3R7Ii/4cAjgDIBHALgLc6o/sP\nWRLdF39N0QQ+AJzp/F+9vVT/CqMde0ZpRzo23jGjYlLkp6enS2FcUVEhbS9+gkS+O6g18keMGOFa\nbkO8iEfW7e3tvo2kCpE/ZMgQ7XsNpKenS6FK1XXiJ1XsOtEi+V5RVFQk/9b9LPKDwaAU3V7vQq9G\n8h2XsD9RI/kk8vWS1Kd0Z0LqSDiJpm/CSWIdA+BHcKL7L1gY3fcdkyZNMjq+sOwEAgFf7ta6Z88e\n2XZT5Mf7ZMPvIr+2thZnzjj3pyasOoJYfPk2P3VqaWmRIke3VUcgLDs1NTXan4a4tTZC5GdlZYXt\nDuo1qSLyo0XyvTp30tLSpCj2s11HjUrrEvnBYBAtLS1WX9e6g+w65kg6FMc5D3HO3+CcL4Aj+B+D\nY1XJBPB3MBvdF39Z3W14VdD5v1qjqlFpRzu2QGlHOjbeMSMyePBgWZXFFH735YtIfkFBgasRv4ce\neiiu1/u9jKbpyjqCWMpoxrs2OjHpxxcIkd/R0aHdcuLW2giRP2DAAK1PQ1JF5KuRfNUv7+W5I+wt\nfo7k66iRL1BvXhsaGqy+rnUH2XXM4erzds75Ec759+FE878I4BU4pSRNRfcPdP7ft5udbYd3eS04\n52cAiFBDtHR2cdxJznlLhDEjHscYK8RZm86BSK9ROXXqFMrLy8P+zZ49GytXrgx73dtvv43y8vJz\njr/33nuxbNmysO9t3rwZ5eXl53y4P/bYY3jyySfDvldVVYU333xTfi1E/i9/+ctzynk1NzejvLwc\na9euDfv+8uXLcdddd50zt9tuu83z99He3i7FaVpa2jllQJN5H0uXLo3rfajVaNRIfrzrUV5efs7N\nlo71UEX+9u3bk/67SvR9qBUmuvYr3seCBQuivg8VN86PeN/HX/7yF/m9oUOHGjk/VHF67NgxrX9X\nS5cuTfp9BINBKfLVG3cd76OwsBCZmZkAnPPYlr+reN+HmEdRURFWr14t34e4rnnxPsTNxOnTp/Ht\nb3/blfehouM8V8tnHjp0yNPrbtcymn379rX+7yrS++gayffD+RHpfYjjhBYbPXo0pk+fjgcffPCc\nfqyBc+7pPwBDAKyBY+UJAQh2/tsN4OsA0pPo+/edfT0c5eeZcPzvQQBXRHnN+50//06X77/d+f3H\nohy3pPP9/KXL9x/u/P7qKMdd1fnzhu7eO4AZAPh//Md/cNNs2LCBw6kYxO+++27T04mLXbt2ybnf\ndtttpqfDR4wYwQHwfv36mZ5K3Pz0pz+Vv8v/+Z//MTaP1atXy3l861vfMjaPRHnuuefk/H/6058a\nmcPDDz8s57Bq1Sojc0iGmpoaOf8bbrhB+/hDhgzhAPjgwYO1j+0W/fr14wD4mDFjtI153XXXyXWr\nq6vTNq6bvPvuu/I9fPe73/V0rHvvvVeOtWHDBk/H8pIHH3xQvo+1a9eano7rbNq0Sby/GdxjTR3v\nP88y5xhjIxhjSwB8AuDyzm9zAFvhiOfxAH4N4GPGWGnkXpKDcx6AkyvAANwRYY4jAVza+eUrXX78\nSudxt0c4jgG4Dc77eanLj8Ut4BzG2LAI07qz8//XOOc9Fku/+uqre3qJ56i73vrNrmNL0q1AWHZO\nnz4dFhHyA6bLZwr8vuutTXYdwJ/Jt6aSbgXCsnPy5ElfJkQGg0FpO9FRWUeQCmU0VbuOLk8+4O8K\nO+TJN4erIp8xls4Yu5Ex9mcA+wB8D8BQONaXnwKYwDm/EI7V5d/hVKCZAcfK4xU/hiPG72KMXa/M\nNRfAMji/g//lzg66Kn+AUzloAmPsB11+9gM4NfgPAfi/6g845zsBvAogA8AyxpjcKYMx9kUAX4Vz\nk/PjpN+ZJgoLC6UYIZGfHH5OvrXFkz9s2Nl7Zz/uN2CbyPdjGU1bRH4gEAjzG/uF2tpaeXOis4Rr\nKpTRVIMzOkW+H//OBOTJN4crIp8xNoox9kM4CbcvAfgCgHQAHwH4BwBDOeeLOef7AIBzXsM5fxzA\n1XCi5V+McZwyxtjHjLGPGGMfAZjfefw3xPc6/8mrPud8C4D/t3M+f2aMvccYWwGgAo51ZheAe7qO\nxR2f/a0AmgF8lzG2nTH2PGNsO4Dvwkmw/TvOeVuEqX4dwB4A1wLYxxhbwRh7D8AbcH7nD3DOd8Ty\nnm1BJN+eOnXKV7WhvaqsA0T2g/dEKoj8zMzMMJGoG7VGfzSRn8ja6MI2ka87ku/G2tgi8gF/Jt+q\nSbddI/lenjuqyPdrJF8V+boTb22+rnUHldA0R7I73t7CGHsbjmD+VwCD4Xjgfw3gAs75ZZzz5zjn\n7ZGO55xvBHAMwKBIP49AHwCzAFzU+a8ETpR+qPK9WQCyu4zzXwCuA7AKwFQ4JT8b4WzkdRHnPOLV\nhnP+IYBpAP4bQDGAmzv//wOA6ZzzDVGOOwFgJpxofWPneFMB/AXANZzzp2N8v9agWna6Jq/ajJeR\n/Obm5riP8XOFHRtq5AuEZefo0aMIBALn/DyRtdGFKvKHDBliZA6DBp295OoW+W6sjWmR7/ddb9VA\nTddIvpfnjmrX8Wsk35Rdp6GhwerrWneQyDdHRpLHv6i0t8IR98/z6LvLRiLiDUAkOOfvw4nIxw3n\n/D0A7yVw3H4A56Zg93zcGQD/1vnP93QtozlnzhyDs4kdIfKLi4tdfyy9ZMmSuI/xayS/rq5OPnI1\nadURDB8+HBs3bkQoFMKRI0fCKhcBia2NLoTI79+/v9xNWjcmI/lurI1pkZ/KkXwvz51Us+vo2vEW\ncES+zde17hCfHdnZ2cjKyjI8m95FsuG4VgB/BHAJ53wG5/zZOAU+OOejOOcJCXdCH36sld/a2irt\nHOPHj9e+s2gk/CrybfHjC9Qymn7y5YubEsCcVQcAcnNzpRWAPPnx43eR310k30tSIfHWlCffz4m3\nYu6UdKufZCP5Qzjn/ioRQiSEH0X+vn37ZHKZDUm3gPMhV1RUhPr6el/ZdVSR3zVqboJYdr21kRMn\nTqCjowOAWZEPOJad+vp6X1bXOX78uGybFvl+ylESdBfJ95JUiOSbtOv4FTF3nTtTEw5JRfJJ4Pce\nhg4diry8PAD+8eR7XVknkQ93xpiM5ldVVUX0k9uIbZH8nspo2iq8bEi6FQjLTlNTU5hn1mvcWBsR\nyU9PTw+LDusilSP5Xp47FMmPj64i39brWndwzknkG8Rs9hzhG9LS0mTy7f79+9HWFqmokF14WVkH\nABYtWpTQcULkB4NB30ShbamRL+gpkp/o2niNjSIf0OvLd2NthMgvLS01kgTud5GvRvK7inwvz51U\niuQXFBQgIyNZM0T3dK2uY+t1rTuampoQDDpbApHI1w+JfCJmhGUnGAz6wmridST/8ccfT+g4P1bY\nsS2S35MnP9G18RpbRb5OX36ya8M5l3YdE1YdILWq63S163h57qRSJN/rKD4QXommoaHB2utad6i5\nBCTy9UMin4gZv/nyvRb5M2bMSOg4PybfCpGfkZFhrOyjyqBBg2QULZLIT3RtvMYmkW+qjGaya1Nb\nWyttbqZEfr9+/WQivx9FfneRfC/Pnby8PGRmZgLwbyRfiHyvK+sATjUaUYGrvr7e2utad5DINwuJ\nfCJm/FYrX4j80tJSLVGXWPGzyB8+fDjS080Xw0pPT5c3G5E8+bZik8g3WUYzGUxX1gGcvz8hjv0o\n8sWcCwoKtJZxZYxJcexHkd/W1oaWlhYAeiL5wFlfvl8Tb0nkm4VEPhEzforkNzU1yVKFtlTWEfjN\nrlNfXy+jVzZYdQTCsnPq1CnfbBJjq8j3UxlN9YbE5M7Lwpfvx2RIIfIHDBigfWxh2fGjXUeds66E\nbxL5RDKQyCdiRq01b7vIr6iokG2vRP6yZcsSOk6Nhvshkm9b0q1ATb49fPhw2M8SXRuvEdai3Nxc\nI1VhVExF8pNdG3WuquVIN0LkNzU1yeiuHwgEAlKsqgnEAq/PHRHJb2xs9E11MYEJkS+EcUNDA377\n299qGdNNSOSbhUQ+ETN5eXmyRvquXbtkDXob8bqyDgBs3rw5oeMyMzNlFFqt5W8rlZWVsm1DjXxB\nd2U0E10bL+GcS5E/fPhw45uzmfLkJ7s2tkTy/Zp8q/rxI4l8r88dVRyr5Sj9gMlIfkdHB9avX69l\nTDchkW8WEvlEXAhffkNDQ5g31jZUkT9hwgRPxnj66acTPlZYdhoaGqx/bK0+bVCtRqbproxmMmvj\nFfX19Thz5gyA8Lmbori4WPqxdYr8ZNfGFpHv1zKa6lwjiXyvzx0/l9FUr9W6dgpWvf9UXYeIFxL5\nRFz4xZevzk2dsy34KflWzRtQ522anspo2ob6tMEGkc8Yk9F8P3ny1bmSyI+fnkS+1/i5jKaJSL4q\n8v325AMgkW8aEvlEXPhN5DPGrEu8Bfwl8tX52STye9r11jbUGxEbRD5w1rJz8uRJtLe3G55NbFAk\nPznUuZpIvE2VSD6J/NggkW8WEvlEXPhB5HPO5dxGjx6NnJwcwzM6Fz9V2BEiPy8vz1jJwkj0tOut\nbdgo8lWRbLP9TkWI/Pz8/LDNgnSjinw/VdgxHclXRT5F8nuGRD6RDCTyibhQRb6ttfKPHDkivc+T\nJk3ybJzy8vKEj/VLJD8UCsnE2zFjxhhPFlUpKSlBbm4ugHNFfjJr4xXqHFWrkUlMVNhJdm3EPE1G\n8QH/RvLFbsFAZJHv9bmjimOK5PeMKvIfeeQRLWO6CYl8s5DIJ+Ji4MCBMtvf1ki+Lj/+fffdl/Cx\nfhH51dXV0sZhk1UHcKxYIiJ+6NChsCpFyayNV9geydfly09mbVpaWqRoMFk+E/BvdZ2eIvlenztk\n14kPVeRfeumlWsZ0ExL5ZiGRT8QFY0wK54MHD1q5CZEukT9v3ryEj+3bt6/8kLBZ5NvqxxcIsXzm\nzJmwR9nJrI1X2CjyTZTRTGZtbPHjA/6N5Pck8r0+dyjxNj5UkW/6bz4RhMjPzMy00jqb6pDIJ+JG\nWGBU77tN2F5ZRyBE86FDh6xNevSLyAfs9+WL5OCioiKjXnIVUxtiJYpNIj9VI/lekwqR/IyMDBQU\nFGgZM1U8+UVFRVbZPXsLJPKJuDn//PNl+7PPPjM4k8j4TeSHQqGwXWVtwnaR75cymqFQSO7Ka0sU\nHyCRnwzZ2dnSuuhHkZ+fn4+8vDzt46dCJL9fv37aBGsqiXxCPyTyibiZMmWKbO/YscPgTCIjRH5J\nSUlYtM1tVq5cmdTxaoUdWy07auUfmzbCEkQro5ns2rjNiRMn5NMam0S+atfR5clPZm1sqZEvEJFw\nP1XXEYm30aL4Xp87qRDJ12XVAcJFvo1Bte7gnEuRL26ICb2QyCfiRhX5tl10GhsbZcTU6yj+8uXL\nkzpejYzbWkZTvfkYNWqUuYlEIZpdJ9m1cRsbK+sATiK9iEjqiuQnszY2RfKBs5ad2tpaBAIBw7Pp\nmWAwKIVqNJHv9bmTlZWF/Px8AP6K5AcCATQ0NAAwJ/Jt/ZyIRnNzM4LBIACK5JuCRD4RN8OHD5ee\nYttEvlrW02uR/8ILLyR1vB8q7Ih5DR061MqkqWh2nWTXxm1sTLoFHG+xEHu6RH4ya2ObyFeF8qlT\npwzOJDZOnTolq1BFE/k6zh0RzfdTJF+dq06RX1hYKG/EbQoQxAJV1jEPiXwibhhjmDx5MgDgwIED\nsia9DfjFjw/Yb9dpbGyU/l0b/fiAfxJvbRX5wFmxXFNTg1AoZHg23aOKfNMlNIHwHWPV+vO2Yjrp\nViBEvp8i+SYq6wBAWlqaFMh+8+STyDcPiXwiIVTLzueff25wJuGoIt/LjbDcYNiwYcjIyABg52NY\nsQkWYK/ILygokI+zVU++bahzs03kC7EcCASsj0YLkZ+RkYGSkhLDs0HYDtB+2DFYFfnqDYpuhEhu\na2tDS0uLsXnEgymRD5y17JDIJ+KFRD6RELb68v0UyU9PT5c+9/3794dt5mQDtifdCoRoPnz4sLWR\naJsj+UOHDpXtI0eOGJxJzwiRP2jQIKSlmf/48pvI72m3W134MfnWFpFv2+dEd5DIN4/5qyThS2wt\noylEflZWlueJonfddVfSfQjxfObMGesqdNhePlMgfKqBQECKGDfWxk1UkT9s2DCDMzkXVeRXV1d7\nPl6ia9PR0SEj0Tb48QH/ifxY7Do6zh0/ltG0QeQHAgHfPPkASOTbAIl8IiFsjOQHAgHs3bsXADB+\n/Hikp6d7Op4bO0PaXGHHLyI/UhlN23a8FSJ/wIAB1iUwqzcdojKVlyS6NjU1NTKKaaPI11WCNBli\nEfk6zh3VamW7RUxgg8gH/GXZIZFvHhL5REIMGTJEnrS21MqvqKiQtcjVJw1esXDhwqT7GDdunGzv\n2bMn6f7cRL3p8IvIF2LajbVxi46ODmmDsc2qA4RH8nWI/ETXxrYa+UB48m+qRPJ1nDvq/iW2PcGM\nBon8+CGRbx4S+URCMMZkNP/QoUOyfrBJ1JsNHSLfDSZOnCjbavlPG6ioqADg7IxpMkmvJ9SycjYm\n3x49elTmCtgo8tVIvg67TqLYVj4T8Lddx+Q5TSI/PkjkE4lCIp9IGNWys3PnToMzcVBtQ+rcbMZW\nkd/e3o4DBw4AcKxPurZwT4SRI0fKtpizTdhcWQfQH8lPFNvKZwJOAmlmZiYA/4l8k4m3JPLjg0Q+\nkSgk8omEsc2XrzuSv3bt2qT7GDVqlBQJNtl1Kisr5U6FEyZMMDyb7hk9erRsi7KfbqyNWxw8eFC2\n1RsSWygpKUF2djYAPZH8RNfGxkg+Y0xGxP3gyReJ6bm5uXLX2a7oOHdI5McHiXwiUUjkEwmjCmkb\nfPliDjk5OVo85E899VTSfWRkZMgKO3v37rWmBKRIYAacSL7NDBkyBFlZWQDOinw31sYt1KcLXld8\nSgTGmIzm64jkJ7o2Nop84OxThRMnTsgbY1sRkfzuovg6zh0/i3x1cypd+FXkqzZeEvlmIJFPJIwq\n8j/99FODMwFaW1ulMJ08ebLnlXUAYMWKFa70Iyw7ra2t1njK/STy09LSZIS8srISnHPX1sYNbBf5\nwFlffn19vec7WCe6NupThiFDhrg1naQRvvxQKGR1pRh1ft2JfB3njlpdx28iv7i4WPseDX4V+RTJ\nNw+JfCJhBg4cKD/gtm7danSTjl27dskouC4/fl5eniv92OjLV0W+7XYd4Gz1n6amJpw4ccK1tXED\nP4l8wHvLTqJrI+aVnp5ujScf8E/y7enTp+U1sjuRr+Pc6du3rxTKfhP5uq06gP9Ffnp6ulXX5N4E\niXwiKaZNmwbAqXVscrdMNSfAL5V1BKrIt8WXr87D9kg+ENmXbwvCk19QUGBEIMSC7g2xEkHMa9Cg\nQVqe1MWKesNhsy/flqRbwBF94lzwg8gPBoNSXJPIjx0h8ouKiqwu3pDKkMgnkkKIfADYtm2bsXn4\nsXymQI2U2xbJ79u3b9ijdVuxVeSHQiEp8keOHGntB53uDbHiRd3NWL0hsQG/RPLVualzNoXw5dts\ncRLU19fLJ9Uk8mNHFfmEGUjkE0lho8jXZddZvHixK/3YZtdpaWmRm0pNmDDBWmGq0lXku7U2yVJT\nU4O2tjYA9lp1AL2R/ETW5ujRo1JkkchPDPUpQ3ciX9e5I0R+Y2OjPEdsxWRlHcCfIp9zTiLfAkjk\nE0lhm8gvKCgI2xzJS9wap3///iguLgZgh8jft2+fFFR+sOoA54p8XX8DPeEHPz6gN5KfyNqoc7JZ\n5Nts11FvQLrLadB17qgVdmyP5psW+YWFhTLY4heR39raikAgAIBEvklI5BNJMXHiRFm+0JTIr6ur\nk2Lq/PPP1xZ5vv/++13phzEmo/mHDh1Cc3OzK/0mip8q6wi6iny31iZZ/CLydUbyE1kbdU62iXxV\nMNscyY/VrqPr3PFTGU31JsSEyFfLdvpF5NfW1sq2+iSC0AuJfCIpMjMzpT1mz549aGlp0T6H7du3\ny3ZZWZn28d1A9eWrItsEfqusAzgfvIWFhQDs8uSrIt/GjbAEgwYNktVObPTkqyJffepgA36x69jq\nyQfsF/lqJF88ddWNEMp+EfnqPE39zggS+YQLCMtOKBQysinWli1bZNuvIt8mX74fI/mMMRnNP3jw\noDWbEvklkp+RkSEj0raLfNsi+cXFxXLXaptFvmolsqEEqZ9Evjo/U5WJVJFvslx1rFAk3w5I5BNJ\nY9qXv3XrVtmePn26tnF37drlWl82iXx1fL+IfOBsrfyOjg6sWbPG7GQ6EZV1ALtFPnA2Qn78+HG0\nt7d7Nk4i543NIp8xJiPjfvDkp6WldVsxy83rWnf4VeSr89aJEMqBQMDIE/N4UUU+RfLNQSKfSBpV\nWKuCWxdizLS0NK3lMx966CHX+rJJ5H/++ecAgMGDB/sqYUr15T/66KMGZ3IWEcnPy8szJg5iRYh8\nzjmOHj3q2TiJnDc2i3zgrP3lxIkT1jxF6ooQ+aWlpd3uM+Dmda07SOTHh98q7JBdxw5I5BNJo4r8\nTZs2aR27vb1dboR13nnnITc3V9vYS5cuda2vcePGyYRhkyL/5MmT8gNt0qRJxuaRCKrIv+mmmwzO\nxIFzLiP5o0aNsr4Uqa7k20TOG2EhKioqQn5+vttTShoh8kOhkJWVYjjnUuT35Md387rWHSTy48Nv\nIp8i+XZAIp9Imr59+2LcuHEAnKi6KJulg88//1yOp9uP72apuZycHClSd+3aZcxzKaL4gL9FfkND\ng8GZONTU1KC1tRWA3Um3Al1lNOM9bzjn8qbDtqRbge3Jt7W1tfI62ZMf30QJTRL5PeNnkU+efHOQ\nyCdcYebMmQCc2rg7d+7UNq6adKvTj+8FkydPBgCcOXMGVVVVRuaQKiLfhgo76hxs9+MDestoxsPp\n06flZkk2WnWAcOFsoy/ftso6gD9Ffm5uLvLy8ozMQY2Gq9V+bIXsOnZAIp9wBSHyAWDjxo3axjWV\ndOsF6k69woKkGz+LfFVI79+/39xEOtm3b59sjx071uBMYkPnhljxYLsfH7A/km+jyO/Tpw8yMjIA\n+Efkm8yrUYWyGiW3FbLr2AGJfMIVeqPIf/LJJ13tj0R+cuTn52PAgAEAgE8//dTwbPwt8g8dOuTZ\nOPGeNyTykyee8pluX9eiwRiTVX5sFvmccytEvroJl99EPtl1zEEin3CFsrIymVioS+SHQiEp8ocO\nHar9Auz2zrRqZSDTIr+oqMiKWtrxIspoNjY2Gi8zRyI/MvGeN+pTBVtFfirZdXTuuC2u2TaL/IaG\nBnR0dACwR+STXYeIFRL5hCv06dNHloHctm2b9NB6yZ49e1BfXw8g/EmCLpYsWeJqf+edd57cddSE\nyFdzASZNmmR9NZhIqGLatGVHFfni5sNmsrOzpVhV6/u7TbznDUXykyceke/2da07hGhuaWnRenMR\nDzYk3QL+8+SLSH52drbWqndEOCTyCdcQQjsQCGjZ+faTTz6R7Ysvvtjz8bwmNzdXisGdO3ciFApp\nHV8t3ek3q45A3bxL3bnXBELkDxo0yMqyj5EQlVWOHj2q5UY9FtRIvq3VdQYPHizbXu4xkCi27XYr\n8EPyrS0i3692HbLqmIVEPuEaun3569evl+2LLrrI8/F0IHz5zc3NciMlXfjZjy8QpVwBsyL/zJkz\nMnrqB6uOQC31aUuFHbXSlK2lSIuKimS08siRI4Zncy42Jt4CJPLjwa92HbLqmIVEPuEaqsjfsGGD\n5+OJSD5jDLNmzfJ8vK548aFkMvk2FUS+LZF81SrkJ5Gv1kj3yrIT73kjRH5+fr61goHJpmvNAAAg\nAElEQVQxhiFDhgCwW+SnpaXJZNdo6BTbJPJjR42I2y7yOzo60NjYCIBEvmlI5BOuUVZWJkuiffjh\nh56O1dLSgm3btgFwBGmfPn08HS8SixYtcr1PEvnJYYvI91vSrUAV+V7t1RDPecM5l/MYMWKE1Xki\nwrJTV1dnPOm7K0Lkl5aWIj09vdvXenFdiwaJ/NjJyMiQn6+2i3w16ZbsOmYhkU+4Rl5eHmbMmAHA\nEYxeXoi2bt0qKx6Y8uM//vjjrvdpUuSLPIqcnBxfbN4UieLiYhmpJJEfP6odxiuRH895c+rUKSmY\nde3Emigikg/Y5cvnnEuRH4sf34vrWjRI5MdHaWkpAPs9+VRZxx5I5BOuMmfOHNn2MpqvJt2a8uOL\nGxo3mThxopEKO01NTaioqADglPLsKdpnMyKaX11dbaxih19Fvg67TjznjXqjYbvIV5NvbbLs1NbW\nIhAIAIjNj+/FdS0aqmg+deqUtnHjwSaRL27STp8+Dc650bl0B22EZQ8k8glXUUX+unXrPBsn1Srr\nCHJycjBhwgQAToUd8eHsNTt27JAfGtOmTdMypleolh1VbOvEryJfRyQ/Hvwk8m2N5KtzUW9EbEAV\nzSdOnDA4k+jYJPJF8m0wGJSedxshkW8PJPIJV9El8kVlndzcXEydOtWzcUwgdu5ta2vDrl27tIy5\nfft22b7gggu0jOkVNvjyhcgvLCw0Lgziobi4WJb7JJEfH6rItymSr85FnaMN+E3k95S07DV+KaNJ\nnnx7IJFPuMqgQYNkrfcNGzagvb3d9TGOHTsmq5dceOGFMhlJN8uWLfOkXyHyAcgdfb2GRL57BAIB\naXUZO3as1cmiXWGMSTFdVVXliSUgnvPGTyLf1lr58UbyvbquRWLAgAGyffz4cW3jxoMQ+YWFhcjO\nzjY6F7UUqs3JtxTJtwcS+YTriGh+a2srNm/e7Hr/H3zwgWxfdtllrvcfK168N8CMyBeVigD/i3zT\ntfKrqqoQDAYB+MuqIxCWnZaWFk+SIeM5b/wk8lMlku/VdS0SeXl5KCgoAGC/yLfhidyZM2dkm0Q+\nEQsk8gnX8dqy87e//U22586d63r/sfL000970q8q8rds2eLJGCqccxnJHzZsWNgjYT9iOpK/Z88e\n2VZvOPyC12U04zlvxPiMMQwdOtT1ubhJqoh8r65r0RDRfBtFfjAYlGLaBpF/++23yzbZdYhYIJFP\nuI4q8tWou1sIkZ+WloZLL73U9f5NM3DgQPlYfevWrZ5XUaiqqkJ9fT0A/yfdAs7uo6LUnAmRv3v3\nbtk+77zztI+fLDpq5ceKGH/QoEHGrRI90adPH7nrrU12HZs9+cBZkX/69GlthQZipa6uDqFQCIAd\nIl+NilMkn4gFEvmE60yePFleENesWSOtC25w+vRpfPrppwCciHdRUZFrfdtEWVkZAOdieejQIU/H\nSiU/vkBE848ePRr2iFsHarL0xIkTtY7tBmqFHa/KaMZCW1ubFMu2W3UAe3e9VecSS5183ai+fNuS\nb21KugXCE29J5BOxQCKfcJ20tDRcddVVAID6+nps2rTJtb7Xrl0rI9smrTpeo9Oyo4r8VIjkA+Hi\nWo2s60Adz48i35ZIfnV1tWz7QeQDZyPlNu16K26USkpKrHwaotbut82yo9502BDJp+o6RLyQyCc8\n4dprr5Xtd99917V+1b5Mi/zy8nLP+taZfJtKSbeCjz/+WLY///xzrWOLSH5paakv8xvUSH5lZaXr\n/cd63vgp6VZgW4UdzrmM5Mdq1fHyuhYJmyvsqCJfnacp1N2I/RDJT0tLQ2FhoeHZ9G5I5BOecM01\n18j2X//6V9f6ffvttwEA6enp8mmBKe677z7P+hZ2HcB7kS/6z87ODkta9TMLFy6UbZ0iv76+HseO\nHQPgTz8+4CRfi7K0Xoj8WM8bP4p825JvT58+LcsYxyryvbyuRcJmka+WrLRB5P/TP/2TbPtB5Pft\n21fu4E6YgX77hCeMGTNGRgTXrl2L5ubmpPusqqqSUdKLL77Y+GPAefPmedb3mDFjZATES7tOXV2d\nTE6dPn26sT0H3ObOO++U7Z07d2ob1+9WHcC5gRbnbmVlpeuJ37GeNyTykyeRpFsvr2uRsFnkq/NR\nbUWmuPHGG2XbZpEv5ubHJ5mpBol8whMYY7juuusAAO3t7Vi9enXSfb7zzjuyff311yfdn82kpaVJ\ny87Bgwc9+/BTa2LPnDnTkzFMMHLkSOTk5ADQG8n3e2UdgdjQrqGhwZiYOHDggGz7ReTbZteJdyMs\nE/hF5NsQyc/Ly0NmZiYAez35wWBQevJtSFbu7ZDIJzxj/vz5sv36668n3d9bb70l27qjTSa45JJL\nZPuTTz7xZIyNGzfK9qxZszwZwwTp6elSZFdUVHiy83Ik/F5ZRyBEPgC5u7Ru1HHV+dhMKkTydaNG\nyFV7jA3YZtdhjMnouK2R/NraWvn0jyL55iGRT3jGddddJ6s5vPHGG0k99m9vb5d+/L59+1oRdV65\ncqWn/asiX00kdZMNGzbItg2/U7dYuXIlJk2aBMCJLOmql59qkXzAfZEf63kjxi0uLjZuzYsVVUir\n1YFMkYjI9/q61hWK5MfOypUrrRf5p06dkm2K5JuHRD7hGfn5+bj66qsBOB94ySSQrl69Wm7YNH/+\nfCu848uXL/e0f1Xkf/TRR56MISL5+fn5vhalXVm+fLkU+YA+y46I5GdmZmLUqFFaxvQCL0V+LOdN\nIBCQ+0P4JYoPOEnLgsOHDxuciUMiIt/r61pX+vXrJ5MzbRX5BQUFyMvLMzwbZ21E3fmmpiZtTyjj\nQb35IJFvHhL5hKcsWLBAtl999dWE+3nllVdk+6abbkpqTm7xwgsveNr/kCFDMHz4cADA+vXrXd1U\nDHDKwwnf84wZM5Cenu5q/yZ54YUXMHnyZPm1DpGvPjEYP368FTeiiTJ69GjZdrvCTiznTVVVldxp\n1E8iv6CgQD518HoTu1hIxJPv9XWtK+np6bIGva0i34YoPuCsje0bYlEk3y5I5BOesmDBAjDGAAAr\nVqxIyLITCoXkDUJOTg6+8IUvuDpHmxHR/KamJnz22Weu9p2qVh2BGsnXUWHnwIEDMrLmZz8+YN6T\n70c/vkBE8w8fPux6ZaJ4sX23W4EQ0cePHzf+OxMEAgEpom0R+UC4cLZd5JMn3zwk8glPGTZsGC6/\n/HIAjl85EcvOhx9+KGuPz5s3D/n5+a7O0Wa89OWvW7dOtmfPnu1q3zYwbtw4+XRCRyQ/VZJugXAf\nvGmRrz5V8APi6Vt7e3vYZkomECK/tLQUWVlZRufSHSL5trW1FWfOnDE8Gwd17WwonylQd949efKk\nwZlEhuw6dkEin/CcO+64Q7aff/75uI//7//+b9m+5ZZbXJmTX9Al8ufMmeNq3zaQlZUlN/favXu3\n63anruzYsUO2p0yZ4ulYOhAR9KqqKgQCAa1jp0IkHzDry+ecS7uOrZV1BGqk3JYKO7Yl3QpsF/lk\n17ELEvmE59xyyy3Sn7x8+fK4xFZzczNWrFgBwPG73nzzzZ7MMRHuuusuz8eYMWOGrIvspshvb2/H\n+vXrAQCjRo2yXgTEi1gbYdlpbW0Nq7vuBarIP//88z0dSwcigh4MBl31l8dy3vhZ5ItIPmDWl3/q\n1Cl5cxZPjXwd17Wu2Fhhx7bymYCzNqpwVgW1LZBdxy56lchnjA1jjC1ljFUwxloZYycYY6sYYzd0\nc0w/xtiPGGPbGWNnGGNtjLFDjLEXGWOX9zDeDMbYnxhjxxhjLYyx/YyxXzDGSt1/d/ZSUlIiffTV\n1dVx1cx/5ZVX0NjYCAC49dZbrbLq6KjVn5OTg7KyMgCO5cQtD+aWLVvQ0tICIDWj+GJtVLG9fft2\nT8f89NNPATiJhGo+gF9RxbWbybexnDdC5KelpflmIyyBLZF89QZj6NChMR9nYg8SG0W+bbvdAs7a\n2B7JJ7uOXfQakc8YmwVgK4B7AOQA+DOAnQCuBPAGY+yxCMeMAfApgO8AGARgNYCVAOoB/B8A7zPG\nHogy3i0APgZwM4ADnccFAdwHYHtn372Gb37zm7K9dOnSmI/7zW9+I9smIkzdsXDhQi3jqCL8b3/7\nmyt9prpVR6yN2DUYQFIlXHsiEAhI3/+ECRPk/hB+xqvk21jOG3FTMWLECPkkyy/YEslXx47nRknX\ndU3FdpFvSyR/4cKF1ot8suvYRa8Q+YyxbAAvASgGsALAWM75zZzzKwDMAXAKwKOMsWu6HPpzOOL+\ndQAjOecLOOe3cc7PB/DPna95kjEW5nVgjA0G8AcA6QC+zjm/hHO+EMAEAP8XwEAA8ZvTfcz111+P\ncePGAQDefffdmKqdfPjhh/jggw8AOLaLVBSjsXDVVVfJ9urVq13pc+3atbKdyr9XXSJf3VU3Faw6\ngLkKO7W1taitrT1nDn7Blkh+VVWVbKs3HjZio8i30a4DwDd2nYyMDBQUFBieDdErRD6AmwAMA1AH\n4B7OeZv4Aed8E4B/B8AAPNrlOKGu/p1z3qL+gHP+WwB7AWQAmNXluAcB5AF4h3O+TDmGA/gmnCcB\nsxhj1yX5vnxDWloa7r33Xvn197///R6P+fGPfyzbDz30kCzF2duYO3eu3CzmvffeS7q/YDCINWvW\nAHCqqKRCkmg0Ro0ahT59+gDwVuQLqw4ATJ061bNxdKIK7H379mkbV7UG+V3k2xLJt13kq3YYGxNv\nbbHrAP5JvC0pKem1n9k20VtEvhDhmzjnDRF+/tfO/+cwxtRb9tYY++96pt0IgAM4Z+tAznkTgNc6\nv7Qni1QDd999N0pLnXSEFStWYNOmTVFfu379eundHzZsWFiFHltQo+FeUlRUhAsvvBCAk9yZbKRr\ny5YtMlJ69dVXp9QmWAKxNmlpabjgggsAOJFNr+pKqyI/VSL5I0aMkH8bFRUVrvXb03nj5/KZQPiG\nWLZ48uMR+bquayqqiBblkk1jo11n7dq1YcmsNop8cY0lq44d9BaRL54ZRXu2Jc4UBmCG8v2/dH7v\nMcZYrnoAY+yfAIwHsB3AR8r3CwCM6/xyY5TxNnb2Wxbj/FOCwsJCPPLII/LrBx98MGKlnY6ODnz9\n61+XXz/00ENW1nh+6qmntI119dVXy7aIwifKX//6V9m+9tprk+rLVtS1US0727Zt82S8VIzkZ2Vl\nSZG9Z88e1zYp6um88XNlHYEQ1YcPH5Y79+omUZGv87omUDfqUnfpNYkQ+enp6dZUiXnqqaeQkZEh\nbyJts+u0tbWhqakJAFXWsYXeIvLFLXm0Twz1+2roaDEcQT4fQBVj7HXG2AuMsR0Afg3Hq/8Fzrl6\nFR+ltKsQGXH19V+YKkn++Z//WX5wf/DBB3jiiSfOec1TTz0lxdi0adPwjW98Q+scY0WU9tSB6st/\n5513kuqrN4h8dW10+PJFv/n5+b6MPkdDbOrV1NQUtntqMvR03vjdrgOctey0t7cbi7YKkV9SUoK8\nvLyYj9N5XRPk5OSguLgYgD0iX9iGSktLpV3SNGJthGXHtkg+Jd3ahx1/ud4jjMwXMsamRfj5PUq7\nj2hwzo/D8eU/B6AfgBsA3AJgEoDDcKrtdD3LCpV2U5T5iC39+kT5ecqSlZWF3/3ud/Ki+fjjj4dt\nkPXHP/4R3/ve9wAAjDH85je/sba6RjwfnMkyd+5c5OY6D5PefPPNhKODra2tsrLOyJEjMXbsWNfm\naBPq2ngdyT916hQOHjwox0ol+9OECRNke/fu3a702dN5o1qD/CryTVfYCQaD0ioUrx9f53VNRdTy\nP3r0qGtPjRKFcy4j+bZYdYCzayNEfl1dnfaN6rqDymfaR68Q+Zzz1QD+Buf9vs4Y+xJjrA9jbDRj\n7CcA/gFAe+fLpXpijJ0Hp+zml+DcCAwHUASn7GYNgJ8BeJNRdklcXHHFFViyZAkAIBQK4c4778RV\nV12FK6+8El/72tfkBf6RRx7BxRdfbHKq1pCbm4trrnGKPx09ehRbtmxJqJ/33nsPra1Oqsm1117b\n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\n8VBdkh3KTXYpN9mm/GRXObkp3A0YoiK/vVTkVzYV+SJlGj486TYIkjblJruUm2xTfrKrnNwceeSR\n9OvXD+hYkd+/f3+NrFOBeszoOpVGo+uIiIhIRx133HEsW7YMgI0bNzJ06NA2xW3ZsoUhQ4YAMHny\n5Kb3kOY0uo6IiIiIdLv4KTsrV65sc1xNTU3Tc52qU5lU5IuIiIjkVLnn5et8/MqnIl+kTGvWrEm7\nCZJAucku5SbblJ/sKjc35Rb5jz/+eNNzFfmVSUW+SJlmzpyZdhMkgXKTXcpNtik/2VVuboYPH87+\n++8PwB/+8Afq6upajamrq2sq8g844AAOPfTQsrYt6VKRL1KmG264Ie0mSALlJruUm2xTfrKr3NyY\nGccffzwQ3cE2fhpOktraWrZu3QrAlClTMLOyti3pUpEvUiYNNZddyk12KTfZpvxkV0dyM3Xq1Kbn\nDz3U+n1BH3744abnU6ZMKXu7ki4V+SIiIiI5duKJJzY9f+CBB1pdf8mSJU3P418QpLKoyBcRERHJ\nsREjRjB69GgAli9fzsaNGxPXfeutt1i+fDkAhx12GCNHjuyWNkrnU5EvUqbZs2en3QRJoNxkl3KT\nbcpPdnU0N9XV1QC4O4sXL05cb8mSJTQ2NgJwyimndGibki4V+SJl2r59e9pNkATKTXYpN9mm/GRX\nR3NTKPIBFixYkLje/Pnzm57PmDGjQ9uUdJm7p90GKcHMxgM1NTU1jB8/Pu3miIiISAVrbGxk5MiR\nvPbaa1RVVbFu3TqGDRvWbJ1NmzYxbNgw6uvrOeigg1i7di1VVToe3JLa2lomTJgAMMHda9NuT5wy\nJyIiIpJzVVVVnHPOOUBU8N922227rXPzzTdTX18PwBlnnKECv8IpeyIiIiI9wLnnnttUuM+dO5ed\nO3c2Lfvwww/52c9+BkRj619wwQWptFE6j4p8kTJt3rw57SZIAuUmu5SbbFN+sqszcjNy5Eg+//nP\nA7Bx40bmzJnTtGzu3LmsX78egOnTp2tUnRxQkS9SpvPOOy/tJkgC5Sa7lJtsU36yq7Nyc+WVVzYd\nzf/+97/PihUrWLVqFbNmzQKio/hXXXVVp2xL0qUiX6RM+iOYXcpNdik32ab8ZFdn5Wbs2LFcfPHF\nAOzcuZNjjz2Wo48+umn0ngsuuIBx48Z1yrYkXRpdJ6M0uo6IiIh0hR07djBt2jQeffTRZvMnTZrE\n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\nbaq84r/f6wAAAABJRU5ErkJggg==\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -289,7 +325,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 92, "metadata": { "collapsed": true }, @@ -318,7 +354,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 93, "metadata": { "collapsed": true }, @@ -355,7 +391,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 94, "metadata": { "collapsed": false }, @@ -383,10 +419,10 @@ "evalue": "operands could not be broadcast together with shapes (100001,) (50001,) ", "output_type": "error", "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;31m### call the function get_diffgrid() ###\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mdiffgrid\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_diffgrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mu_values\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mu_values\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m\u001b[0m in \u001b[0;36mget_diffgrid\u001b[0;34m(u_current, u_fine, dt)\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0mgrid_size_ratio\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mceil\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mN_fine\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mN_current\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 24\u001b[0;31m \u001b[0mdiffgrid\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdt\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mu_current\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m-\u001b[0m \u001b[0mu_fine\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mgrid_size_ratio\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 25\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mdiffgrid\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31m--------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;31m### call the function get_diffgrid() ###\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mdiffgrid\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_diffgrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mu_values\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mu_values\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36mget_diffgrid\u001b[0;34m(u_current, u_fine, dt)\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0mgrid_size_ratio\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mceil\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mN_fine\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mN_current\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 24\u001b[0;31m \u001b[0mdiffgrid\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdt\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mu_current\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m-\u001b[0m \u001b[0mu_fine\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mgrid_size_ratio\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 25\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mdiffgrid\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mValueError\u001b[0m: operands could not be broadcast together with shapes (100001,) (50001,) " ] } @@ -404,16 +440,16 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 95, "metadata": { "collapsed": false }, "outputs": [ { "data": { - "image/png": "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\nhZIkSVIT/x+GWag0SZz7DQAAAABJRU5ErkJggg==\n", + "image/png": "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\nDFN3QvMo/QcYWWBfYW5iH2rnCK1BJyIiEewf//gHffr0yd9+7LHH+P3vf+8xkYgfRS2YFhAqdr49\nyj4RkaiVnp5O27ZtfceIKJ9++ik33XQTOTk5APTr14++fft6TiXihzmnWqcsmFkcsL5169bUqVOH\npKQkkpKSfMcSkbCOHTuSlpbmO0bE2LFjBy1btuSDDz4A4Pe//z1/+ctfqFw50IerRY4rNTWV1NRU\nsrOzWbt2LUBz55yXdYxUMJWRQwXT+vXriYuL8x1HROSYcnNziY+P569//SsA55xzDv/85z+pW7eu\n52RSUWVlZdG8eXPwWDCV+FcFM2sd/vJfzrntJT2fiIj4NWTIkPxiqV69eqxatUrFklR4QVxbfQnI\n5X8ze4uISJSaPXs2jz76KACVK1dm+fLl/OxnP/OcSsS/IAqmbCDXObctgHOJiIgnL774Iv369cvf\nnjlzJldddZXHRCKRI4iJK/8L1DKzqgGcS0TEix49eviO4NWGDRu4+eabOXjwIACDBg3i9ttv95xK\nJHIEUTAtBmKBDgGcS0TEi4o80/f27duJj49n27bQjYIbbriBhx56yHMqkcgSRME0DXgNmG5mNwRw\nPhGRMldRp/k4ePAgHTp04D//+Q8A5513HqmpqVSqVMlzMpHIEsQYphHAWuACINPM3gdeAb4nNBj8\nqJxz9wfQt4iIlMD//d//8dxzzwFw6qmnsmrVKmrXru05lUjkCaJgGsuRS6OcD/yyEMepYBIR8WjG\njBnMmDEDgNjYWFasWMHZZ5/tOZVIZAqiYFqLlkYRkSi3bt06WrVq5TtGmXnuuecYOHBg/vbs2bMr\n1PcvUlQlLpicc1cGkENExKvJkydXmILho48+on379uTmhkZNDBs2jO7du/sNJRLhghj0LSIS9RYv\nXuw7Qpn44YcfuPHGG8nOzgYgISGBiRMnek4lEvlUMImIADVq1PAdodQdOHCAW265hU8++QSACy+8\nkIULF+qJOJFCCGItublFPGQfsB14H3jeOfddSTOIiMjxOefo378/L730EgANGjQgMzOTk046yW8w\nkSgRxKDv7hRt0Lcd1v6gmaUAdzvndgWQRUREjmLatGnMmTMHgKpVq5Kenk6TJk08pxKJHkHcklsQ\nfm0nVAztBdYBaeHXuvA+A7aF22YCXxOaIbwXofmbdE1YRLwZOnSo7wil5i9/+QuDBw/O305OTqZl\n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\ngUmSJKmG/w8oV6sCANpbvgAAAABJRU5ErkJggg==\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -448,7 +484,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 96, "metadata": { "collapsed": true }, @@ -469,7 +505,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 97, "metadata": { "collapsed": true }, @@ -505,7 +541,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 98, "metadata": { "collapsed": true }, @@ -536,7 +572,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 99, "metadata": { "collapsed": true }, @@ -557,7 +593,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 100, "metadata": { "collapsed": true }, @@ -588,16 +624,16 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 101, "metadata": { "collapsed": false }, "outputs": [ { "data": { - "image/png": "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\nysrK8mRcrwQtrzGGnJwc3n33XddRRESkkKCdU6JJtSmal3XJy8tj4MCB1KpVi/vvv9+z1/FKPM+Z\n8847j+7duzN69Gj2798f8fGNDfc6KfmdMaYlkJmZmUnLli2PuH92djbfffcdv/zyCxUqVKBu3brU\nrFlTH1+MIXl5eRx//PEMHDiQe++913UcsrKyaNWqFSWdoyIulGae/vYcoJW1Nn5/SihCuOcmEXFj\nypQpDBo0iLWDBtG0fn1fr9goh/v4448566yzePLJJxk4cCAQuXNTUN5BiwlVq1alcePGnHXWWTRv\n3pxjjz1WzVmMSUhIoGPHjrz55puuo4iIiIhPffPNN4wYMYJ7Lr+cplOnwu4j3nZXfKZFixZcccUV\njBs3LuLvopWP6GgiQlJSEjNmzGDHjh3UqlXLdRwAPv/8c9cRRELS/BSReGKtZfDgwdSuWpU7PvsM\nTj8dxo1zHUuOZOZMqFQJLr/890133XUXZ511Fi+88AL9+/eP2EupQROJsKSkJKy1LF68mF69eh35\nCR6qXbs2VatWpV+/fk5ziBxJ1apVqV27tusYIiKemzVrFq+++ipfdu5MuRUrICsLKlZ0HUuO5KWX\nYOVK6NIFKlcG8t9Fu/zyyxk7dmxEf9ZSgxZnkpOTmTdvnusYJRbUvNeceCJfPv88OG7QGjRowOef\nf8727duLfHzYsGE89NBDUU5VesrrLZd5a9euTYMGDZy8tsSPoJ1Tokm1KVqk67Jjxw5uuukmxl14\nIQ0XLoTJk6FZs4iNH01xN2f++U847TSYNAmGD/9986hRo2jZsiXTp0+nefPmEXkpNWhxZujQoa4j\nhCWoef+Rl8dXixdjrXV+nWGDBg1C/uB75513BmoRAeX1VtDyioQraOeUaFJtihbpugwfPpyj9u7l\n9nXr8t+JueGGiI4fTXE3Z5o2zf9+jRsHAwbAsfkLzJ999tl0796dsWPHMm3atIi8lFZxLAOtlCWh\nrO7fnwbPPsvWTz+lcYR+myIif9AqjqHp3CTiT0uWLKFDhw6sb9OGxuvXw6efQr16rmNJOL7/Hho3\nhkGD4JBbI6xcuZI2bdpw33338fe//x20iqOI/5x0/fUcBax+/HHXUURERMSxX3/9lUGDBtGuXTsa\nTZwIzz+v5iyI6tSB1FR4+GHYtOn3za1bt6ZDhw48/fTTEXkZNWgiHqjWti3bK1Yk7/XXXUcRERER\n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\nAABJRU5ErkJggg==\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2YAAAI0CAYAAAB25Dq2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XmcTfX/wPHXe4bBZF9SlKWUpahI0pcUslQzihDG2iJb\nVPZkifoiFUkhsmTfEkpjKaREhm9KKIR+pMa+jHXm8/vj3GGWe+7cuXPv3Htn3s/H4zzuzD3n8znv\n854z59zPPed8PmKMQSmllFJKKaWU/4T4OwCllFJKKaWUyu60YaaUUkoppZRSfqYNM6WUUkoppZTy\nM22YKaWUUkoppZSfacNMKaWUUkoppfxMG2ZKKaWUUkop5WfaMFNKKaWUUkopP9OGmVJKKaWUUkr5\nmTbMlFJKKaWUUsrPtGHmRyJyQEQSRGSwk3nTHPO+8UdsSnlCRIY49tv9foyhtCOGBBF52IfrKSsi\nLUXkXRH5TkTOe2O9IlJURI4lqevTDMa5LkldrqYP0ojpcREZKiJfiUhsknKpjl9uxFRWRP4rIttF\n5IQjd/tFZKWI9BORwhnZZqWUUioY5fB3ANmccUyZQkTaA9MAY4wJzaz1ZkWay6Dg6/+tfU7W5Y11\njgMKe6kucP8442qZRUDSxqbHxy4R6Qm8DeRJUUdpx9QA2ARs8KR+pZRSKlhpwyywZWrDTSmVbgaI\nBX5y/P4EGfifFZFGQCusRt/tGanLidnASy7mX3YxL/FYdB7YBvwBPEc64xOR/liNMgOsAz7Ayt15\n4GagDhCV3nqVUkqprEAbZgHKGNMR6OjvOJRStpoDPxljDsG1q6hPeFqZiIQDE7EaJV2BaG8EmcRV\nY0ych2VHAEeB34wxRkRKYzXM3CYiDzrqMcBHxpgeKRY5BezCyoFSSimV7WjDTCmlPGCMWezlKt8C\nSgFzjTGrRcTL1XvOGLPWC9W8i/Vc8y6glxfqU0oppbIU7fzDh0SkvIjMFJH/E5GLInJIRKaLyF1u\nlJ3uqvMPESkiIsNFZKuInBKRyyJyVER+cayzjYiEOJYtLSIJWM9EOd5K/fB/ivrzikgzRyckv4nI\nORG5JCJHRGS5iDRPI/7EDgc+dfxeW0SWisjfjlzsF5EPRORGN3JR1NHpwCZHpwMXReSgiHwrIq+J\nyC0uytYRkc8c64sTkdOODgeGiUjBtNbtpD5Pcpn4fjuxvCQiG0TkXxGJT9p5gqd5F5E7kqyngxvb\nkdjxzFyb+cVF5C3H/nUiSc4/E5HqbifMfv33iMhkEdkjImcd27lTrI40SrhRvpFYnVAcE6vjiN1i\ndSZRKKOx+YMjpz2wrhq94udwvM5xzKuJdbXsQ2NMvJ9DUkoppQKPMUYnH0xAE+ACkADEp5jOAY8D\nfzp+H+yk/DTHvG+czKsE/GNTd3yS9ws7li+dYp6zcldTrONzF/Un1rMUyGGz/d86lvsU69vxqzZ1\n/Anc7CKPLYAzaWzrp07KhQEz0yj3N1AtnX9XT3KZuMyLwFonZQZ7I+9YHSbEA2vS2IaHk6yjkZP5\nzYGzNnEkbvPrNnUPcczf72L9o9LYvjPO4kpSfqRN7hOAA1jPKSXOe9hJ+TpJyqf638vA/3x7V+t1\nUS4U+J+jXGcn+02q/TudcX2btB7H+iSDdZZOEl+aOQT6JFn+9hTznB5DdNJJJ5100im7TXrFzAdE\npDwwD6txEAu8ANwK3AS0xHpW4zOgQFpV2bw/CSiG9cD8a1gNtSJAcaAG8CoQk7iwMeYgkA/okvgW\nkNfxXuKUP8U6jmI9mN8UqIr1YH5J4EHgfSAOiACGpbENdbBuYVoK1AKKArcBwx1xlALecbrxIpHA\nXOAG4AjWFYUKWD3WlXXENhO46KT4TKxOBK4AY7HyUhQogdXY24WVr+XuXLVL5GEuEw3CahS9C9zr\niOce4Msky2Qk759h7TN10rjqFOV4jQVWJZ0hIo9j7bvhWL3iPY217xYBHnCswwBvivVMVbqIyEis\nD+kGmIG1f9zomB4HfsTK50IRqeikfEegr6P8dqCxo+xtWP8LhbG+DHBHoHQw0ReoAvxojJnko3UI\n0FBEDmJ18nHVcfV6iYhE+GidSSVeZb1sjNknIvVEJFpEzgGXReS4iHwhIvUyIRallFIqMPm7ZZgV\nJ2AZ1rfD54EKTubfjHW1xvYbZ6wrZgmkuGKG9cE/sVy3dMZ17Rt9L2xjQ0ddp4EbnMz/NkmcH9vU\nMc6xzAUgb4p5eYB/HeV/B250EUtIit+fctR7BXjMpkx+YI+j/nEebL/buST5lZ0XfZV3rMbTJcd6\n+tiUDwNOOpZ5L8W8XFgNw3hghosYEq9Y/Q2EpZhne8UMuC9JHjrZ1J0Dq0EYD3zhJPbEfeIXm/2u\nHsmvGttdMUt1tdIL/xPpvmIGlMNqbF8C7rbZb7x1xczuCmUC1pcDBdJRZ3qvmP2YZJ/pnUYso731\nN9FJJ5100kmnYJr0ipmXiUgxrG/+E3se251yGWPM31gP+nsi6ZhZf3tYR4YZY6KxrrjkxXp2xE4c\n0M9mXuJzWmFYV46SisK6ogTwkjHmXxexJKR4qxdW/ucYY1bblDmD9TcQoLVt9N61yxgzOSMVuMq7\nMeY4sBJrm6JSlwasq22JV2o/SzHvWayrT3FANxdhDMP60uFGrDGn3NXTEdtGY4zTq1rGmKtYVxYF\neFxEkl59jOD6PtHfGHPeSfm1WLeD2jLGrDfGhDqmN9MRvy9MxmoQjzXG/OqjdewHhgK1sa5Q58K6\net8c2Ir1v9IY8HZnJkkVcKynMNatrH851l8Q64p4IyBx+18TkRd9GItSSikVkLRh5n0PcT2vrj4g\nevQhyBhzCjiE9cH1LRGp5Uk97hCRkiLypoh87+hk4XKKDi6KORYt76KaHx2NIGf2JPn5phTz6jte\nDxtjnHaAYhNzHq43WL4RkRvsJuA3x3KFRaSsu+vIgK/cWSiDeU9sbN0tIlWczG/reN1ljNmeYl5i\nzjcBxkXeQoHELxzS0xFIPawP52vS+LvsciwfAlRLUj5xX78IfO1iPb5sYHiNiDwHPAIcxGo4+YQx\n5jljzHBjzA/GmMPGmKvGmFhjzBKs/5UvHIs+KiK++pIi8ZiYE6tR/4gxZokx5qwx5qLjC5Q6wGGs\nY9swEcnpo1iUUkqpgKQNM+8rk+TnXXYLOa6anfZwHa9h3fJzJ7BBRA6LyBwR6SIi5TysMxkRaYIV\n/yCs55sKYX0gNykmsH9WzmA9G+Z8pjEXkvwanmJ24uC6P6cz9NuwPvyBdUXurItpS5JyxfC9/Wkt\n4IW8L8fq2Q9SXDVz9FjY2FF+ppOyFRyv9XGdtzNYDSbBzbw5GlwlHb8OS6P+f5IUTVp/GcfrXuO6\nV7/fXMwLCI7nGkdj/S16pPhfyDSOPL6AdTsx2F9pzahzWPuLwbpN9oCTWE5iPUcJ1tXYh3wUi1JK\nKRWQtGHmfXmT/HwujWXTmu+UscZPqofVw1881zsVmQD87rjS8qAndYPVJTzXO934E6vTjfuxno0r\nwPVOLg47irgaD8/dbrFTdnSSeAvbWTfLJ0raWEnZmHE15U7nejzhcnBfb+TdGHMZWIiVz1YpZrfE\narQaYLaTEBJvN0vPlMvVNqWo+1qYbk6Q/O+S+L/lk/+rTDYSq9G91BjzZVoL+5LjFtjvsfaZqj5a\n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\nHqPtaW6c07zYSys3Fy9e5LfffmPt2rUsXbqUWbNmMW/ePJYtW8a6des4cOCA3hJvQxtm2cS2bds8\nK5iQwPFmzfgzJISay5Z5NygXPI7XEzVqwHffEVq/vse3M2ZqvEoppdJFj9H2NDfOaV7sJc1NQkIC\nMTExjB07lmeeeYYyZcoQHh7OXXfdRf369Xn66adp27YtrVq1okmTJjz66KOULVuWPHnyULlyZTp3\n7szMmTM5evSoH7cocGjnH9mEp4Mo75g1i3L//suqXr14qnRpL0dlL1MHfRaBWrXo0KkTrVu35o8/\n/uCOO+5IVxU6SLVSSgUuPUbb09w4p3mx9+GHH/L9998zf/58lixZwuHDh8mdOzcPPPAALVu2pHz5\n8txxxx2UKFGC/PnzkzdvXq5evUpcXBynTp3iwIED7Nu3j59//pmNGzcyefJkRIRatWrRvHlzoqKi\nKFSokL830y+0YaZsxcfH03HcOApWrsyqMWP8HY7PPfXUU+TLl485c+YwZMgQf4ejlFJKKRUwzpw5\nw8yZM5k4cSI7d+7klltuoVmzZjz99NPUrFmTXGn0QZAvXz6KFy9O+fLlk71/7Ngxli9fzuLFi3nt\ntdfo168fUVFR9OzZk7vuusuXmxRw9FZGZWvy5Mls27aNtz/5hNDQUH+H43N58uShadOmzJkzJ0Nj\nmimllFJKZRWnTp3izTffpHTp0vTq1Yvy5cuzevVqDh48yLhx43jkkUfSbJS5UrRoUTp27MiKFSv4\n66+/GDhwIF9++SWVK1emTZs27N2714tbE9i0Yaacio2NZeDAgTz//PPUqFHD3+FkmtatW/P777/r\nveVKKaWUytYuXbrEO++8Q5kyZXj77bdp27YtBw4cYPHixdSvX5+QEO83I4oXL86gQYM4cOAAEydO\nZP369VSoUIGePXty5swZr68v0GjDLJuIjIxM1/L9+/dHRPjvf//ro4hcS2+83lK3bl2KFy/OnDlz\n0lXOX/EqpZRKmx6j7WlunMvueVm+fDl33303AwYMICoqij///JMPPviAW265JVNykzNnTl588UX+\n+OMP3nrrLaZMmUKlSpVYsmSJz9ftT9owyya6d+/u9rKbNm3i008/5e2336Zo0aI+jMpeeuL1phw5\nctCyZUvmzZuXrq5c/RWvUkqptOkx2p7mxrnsmpd//vmH5s2bExkZSdmyZfn555/58MMPufnmm68t\n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\nacMLL7zA6NGj6dChQ8HMOyBa/6NTXWJTbfyjjlma6N69e9AR4qK8/kpE3n/961+sXbuWcdOmQfv2\n8MwzsCW3nQKxqb7+Sra8YWNmg4H2wC9AY+fcN3G8fHPkPreLSJeO3P+elxnu2bkzjj+fHgpqGd/w\n++9c2KQJU6ZMYfz48bRpE8/gm+Gk9T861SU21cZHzjnd4rwBNQGXmZnpksXq1auDjhAX5fVXovI2\nbNjQnXfeec6tWuVckSLODRqUr/movv5KpryZmZkO7xyumi4c7cHjeMPZbwDOzMfrq0Zevxs45AB/\n440DzKsm4MoWKuQuu+QS17x5879uZ599ths3btw+tZwyZYpr3rz5fjW+/fbb3YgRI/are/Pmzd3P\nP/+8z+P333+/69+//z6PrV692jVv3twtXbp0n8efeuop17Vr130e27Jli2vevLmbOXPmPo+/9tpr\nrm3btvtlu/LKK/P1PrKW8YN5H19//bWrXLmyK126tLv22msDeR9ZCvL/kX39T+b3kV1BvI+XX345\nJd6HH/+P1atXp8T7yHov8b6P3r177/P5WrNmTVe+fPkCaZs0KmM+aOQrkbwZN24cl19+OfPmzaPO\n00/DrFmwYgUU0s56yZ8wjcpoZgOBrsCveHvK4s4TGS7/V6Ak0Mg5NyPKNDOAesC9zrkBucyrJpA5\nEziqbFlOXLyY4sccE28kiWLu3LlkZGRw+OGHM2nSJE4++eSgI4lIiGhURhEJvYyMDE488UQGDx4M\nffvC9OnqlElKMLP+HGSnDMA5txOYgHdR6tZR/s4JwLmRX8flZZ7L7rqLwzdu5OdTTmHbl1/mJ1b6\n2rMH3njDu48YNWoUDRs2pHLlynzyySfqlImIb7SFJCK+KVy4MJ07d2bs2LF8X6QIHJena+6KhJqZ\nPQR0x+uUNclLp8zMOprZUjN7McrT/fEOgWlnZk2zvaYkMBKvrX7LObc8L/lqXncd3778Mn9u28a2\nGjXY9M47eXmZ/PIL/OMfcPXVMH06O3fupHPnzrRv354bbriBadOmceSRRwadUkRSmDpmaWLAgJhH\nv4SS8vorkXnbt29PiRIleOqpp/I9D9XXX8mWN0hm1hy4F68j9TXQycxGRbk9muOlRwJVgONzztM5\ntwjoAhQGJprZNDN7PTL/C4BlQFxD/51z3XVsmjCBL4DSLVqw8rXX4nynqeWAy/icOXDmmfDJJzBh\n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\ns7Ps1oEAAAAASUVORK5CYII=\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -636,7 +672,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 102, "metadata": { "collapsed": false }, @@ -653,10 +689,10 @@ "evalue": "operands could not be broadcast together with shapes (15001,) (7501,) ", "output_type": "error", "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 27\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdt\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdt_values\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 28\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 29\u001b[0;31m \u001b[0mdiffgrid\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_diffgrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mu_values\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mu_values\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m\u001b[0m in \u001b[0;36mget_diffgrid\u001b[0;34m(u_current, u_fine, dt)\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0mgrid_size_ratio\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mceil\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mN_fine\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mN_current\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 24\u001b[0;31m \u001b[0mdiffgrid\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdt\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mu_current\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m-\u001b[0m \u001b[0mu_fine\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mgrid_size_ratio\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 25\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mdiffgrid\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31m--------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 27\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdt\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdt_values\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 28\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 29\u001b[0;31m \u001b[0mdiffgrid\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_diffgrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mu_values\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mu_values\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36mget_diffgrid\u001b[0;34m(u_current, u_fine, dt)\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0mgrid_size_ratio\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mceil\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mN_fine\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mN_current\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 24\u001b[0;31m \u001b[0mdiffgrid\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdt\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mu_current\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m-\u001b[0m \u001b[0mu_fine\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mgrid_size_ratio\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 25\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mdiffgrid\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mValueError\u001b[0m: operands could not be broadcast together with shapes (15001,) (7501,) " ] } @@ -695,7 +731,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 103, "metadata": { "collapsed": false }, @@ -703,18 +739,18 @@ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 76, + "execution_count": 103, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAIxCAYAAACvuKkAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XucjnX+x/HX92bISFM5jRVmlDbbaWORFKkcOpgOOo3s\nblS2lmSUs5wJrWSj33awKmqyrWh0klKkVJopYYcUYSXrUBoUY+b7++OaGac53DP3fd3XfXg/H4/7\nMffhe13fz9TH7eO6vgdjrUVEREQk2vi8DkBERETEDSpyREREJCqpyBEREZGopCJHREREopKKHBER\nEYlKKnJEREQkKqnIERERkaikIkdERESikoocERERiUoqcgJkjKlnjHnFGJNtjFlnjHnaGFPD67hE\nRERinYqcABhjqgLvAXustU2B84CGwDxPAxMRERGM9q6qOGNMb2AqkGit3VPw3kVAJtDJWrvYy/hE\nRERima7kBOZ6YG1hgQNgrf0C+Bm4ybOoREREJHqLHGPMJcaY9caYfGNMQ5e6OQ/YVMz7m4HzXepT\nRERE/BB1RY4x5iRjzBRgKdAE8Pt+nDGmszHmHWPMbmPMPmNMpjGmtzHGlHBITSCnmPd/LvhMRERE\nPBJVRY4xpjHwJXAj0Lmcxw4C3gQOAFcCvwfeAZ4A5htjouq/lYiISLSr7HUAQXYu8C4wwFr7S8kX\nYI5ljLkMeARYA3S11uYVfDTEGHM6cA8wqKDN0fYAxU0XrwHsLn/4IiIiEizRdnXidWttH2vtL+U8\nbhTOba0njipwCk0p+DmwYMr40VYDScWcr1HBZyIiIuKRqCpybAXmwxtjagHtCl4uKeacXwP/BU4B\nrj7u4wXAuQVXewrPdxGQgNbKERER8VRUFTkV9Aec/w651tpvS2izruBni+Penwl8A0wwjirAeOAd\na+27rkQrIiIifom2MTkVcWbBz52ltNkOmKPaAmCtPWiMuQr4O/CfgjZLgYdK69AYUxPoBHwH/Fqh\nqEVERGLTSThDRRZZa0sd/6oix7kNBVDaOJ4DBT8Tjv/AWrsduKWcfXYCXiznMSIiInLEHcBLpTVQ\nkeON7wDmzJlD06ZNK3SCtLQ0pk6dGpJjy9Pen7ZltSnt80B+by+FOu5g9qdciyzKteC3D3au3dSi\nBfPy8ymc/5uGsz8QODNguvp8vLpypV+xecmrXMvOzqZ79+5Q8HdpaVTkOAv3AVQrpU18wc+9Qerz\nV4CmTZvSrFmzCp0gISEhZMeWp70/bctqU9rngfzeXgp13MHsT7kWWZRrwW8f7FxrU7s2O3fsKFrM\nLQEoPHIhkHT++RGRe2GQa2UO91CRA4WDjWuX0qYeToFd0sDkkEtNTQ3ZseVp70/bstqU9vlnn33m\ndyzhJJD/X173p1yLLMq14LcPaq6tXcv0nTu5DcjHmbL7Gc5fMK8DfatW5aM33/Q7Ni9FQq5F9S7k\nxph8nNxJttZuKaFNbY4MLD67uBlWxpgtQH2chQIXBCGuZkBmZmZmRFTr4aR169asWLHC6zAkBijX\nJOhyc8lt0YK4VavIAboBGypV4r95eZxRuTKJ557LS2++yW9+8xuvIw1rWVlZNG/eHKC5tTartLYx\nP4XcWrsTZ0YUONs5HMMYczZwBs4eVW+HMDQpRu3apV1wEwke5ZoE3cSJxK1aBcBWoHGvXqw7fJj2\n113HutxcPvjySxU4QRbzRU6B0ThXcvoUs0fVQzhXgyZbazXd22OhvjwqsUu5JkG1bx9506YBcBi4\nJy6OgSNGANCtWzcPA4tuUVfkGGNqGWPqGmMSj3q7TsF7dYs7xlq7DBiGs/fVAmPMRcaYJsaYicDd\nwBvARNeDlzLpLx4JFeWaBNXJJ/P966+TWacOE4GWvXtTv359QLnmpqgrcoCVwPfANpwrMACf4oy7\n+b6kg6y1jwDX4Cwy9B6QBXQA7geut9bmBzvQtLQ0UlJSSE9PD/apo9aCBQEPiRLxi3JNgq3BxRfT\n/Icf6LxiBUOGDCl6X7nmn/T0dFJSUkhLS/P7mKgeeByuNPC44m677Tbmzp3rdRgSA5RrEirKtfLR\nwGOJWvoikFBRrkmoKNfcoyJHREREopKKHBEREYlKWvE4gmzZsoVdu3Z5HYZIqWrVqkXDhg29DkPE\nO/v3w8cfQ4cOXkcS81TkRIgtW7bQtGlTDhw4UHZjEQ/Fx8eTnZ0d8YVOjx49mDVrltdhSCQaMgSe\neIL9t99O7qRJnFrGnwXlmntU5HgoLS2NhIQEUlNTy1wnYdeuXRw4cCCgnctF3Fa4O/CuXbsivsjp\n2LGj1yFIJHr/fXjiCQDiXnmFdq+/zvUDB9K/f3+qV69e7CHKNf+kp6eTnp7O3r3+75WtKeQeqMgU\n8sIpc5p2LuFMeSoxLScHLrgAvvsOgH7ANJwtQjZu3MjJJ5/sZXRRQ1PIRUREQu2hh4oKnLU1a/L3\ngrcHDx6sAscjKnJEREQCtWgRPP00AHnVqtFl924sUK9ePe677z5vY4thKnJERIqxfPlyr0OQSPHT\nT3DXXUUv/3HmmWwqeD506FCqVatW6uHKNfeoyBERKcbkyZO9DkEixZdfQsFg2J9atKDPmjUANGjQ\ngHvuuafMw5Vr7lGRIyJSjJdfftnrECRSXH45rF4N119P76pVi94ePnw4VY96XRLlmns0hVxEpBjx\n8fFehyCRJCkJO38+XefP56uffmL//v306NHDr0OVa+5RkSMiIhIExhhuuukmbrjhBrZs2UJcXJzX\nIcU8FTkeKs9igCIiEhl8Ph9JSUlehxF1KrIYoMbkeGjq1KlkZGSowAkDo0ePxufzlfmIi4ujXr16\nXHfddbz66qvFnuv5558v8fhKlSqxbNmyY9qX1HbMmDHHtNu2bRuPPvoonTp1IjExkapVq3LaaafR\nsmVLhg8fzvfff+/af59YNGDAAK9DkBihXPNPamoqGRkZTJ061e9jdCVHBOjatStNmjQBoHv37hhj\nuOyyy+jVq1dRm7y8PL7//nteeeUV3nzzTd58803uuOMOZs+efcy52rVrx5w5cwDo168fu3fv5pxz\nzmHYsGEAJ2zLMWfOHDZs2MCYMWM47bTTmDRpEtWqVeOCCy4oatOzZ0/mzJnD4cOHOe+88+jVqxdJ\nSUns2LGD2bNnM2HCBJ544gmee+45brzxRlf+G8WaSN+WQiKHcs1F1lo9QvwAmgE2MzPT+iszM9OW\n9xipGGOM9fl8tkePHiW26datW1G7yZMnl9guKSnJ+nw+2759+xLbZGdn29/85je2Tp06dtWqVcW2\nqVy5svX5fLZXr142Ly/vmM8OHTpkr776amuMsVWrVrUrV64s4zd0j/JUot6CBda+957XUcS0wu8Z\noJkt4+9b3a4SqYDHHnuMSpUqAZTr0unxVq1aRdu2bQH44IMPjrl6c7y6devy+OOP4/Md+8c2Li6O\nmTNnEhcXR25uLkOHDq1wPCJSiu+/hx494MoroU8fyMvzOiIpg4ockQqoW7cuTZo0wVrLjh07+Pbb\nb8t9jpUrV9K+fXuqVavG0qVLy9xd/sorryxx5dR69erRsmVLrLUsXbqUX3/9tdzxiEgprIVeveDH\nH53Xe/aQbwzz5s3j8OHD3sYmJVKRI1JBNWvWLHq+c+fOch27fPlyOnTowGmnncayZcs466yzSm2/\n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\noIIt7U9vzPAAAAAASUVORK5CYII=\n", + "image/png": "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\nC/0/o8Jji7c0W23ky8nJYdzQoXRr2ZKrmzalW8uWjBs6tOh2VGl+/PFHnvT34alRowajRo0KR7il\nUq65R7euRMqwaNEiOnXqVOY2bhQ6EhnUby6y5eTkcF3HjtydlUVaQQEGsMB76elct3Qp81avJikp\nqcR9f/rpJ0477TT+7//+jzvvvJNTTz01rLEfT7nmHhU6ImWoUaMGiYmJXochIiV4dPRo7s7K4opi\nfXAMcEVBATYri8fGjCGtlOUe2rdvz5dffsncuXPp1q1bmCIWL+hPURERiUqrFi6kRykdja8oKGDV\nggVl7p+QkECfPn1o0KCBG+FJhFChE8dK7LgXASI1rkAF0pH4u+++K+rM/OGHH1aqnYKCAl566SWu\nuuoqGjVqRPXq1alXrx5dunThueeeK3VK+xUrVuDz+UhISGDbtm3s3buXsWPH0rZtW2rXrh1UTLFm\n5cqVXocgpbDWUjMvj9J6shkgMS8vas4nyjX3qNCJM5XtuBevcVVGRToSV7bD8fbt27ngggv4y1/+\nwqJFi9ixYwdHjhxhz549fPjhhwwaNIhOnTqxe/fuMo+zZcsW2rZty4MPPsiGDRvYv3+/+hwV8/DD\nD3sdgpTCGENu1aqUVsZYILdq1ajp1K9cc4/OaHGksONex/R03v/2W97avp33v/2WjunpXNexo2dF\nRaTGFalycnLo0qUL69ato379+kyZMoUNGzawe/dutmzZwvTp06lTpw6ffPIJN954Y5nH6tevH7m5\nuUyfPp0tW7awa9culi9fzmmnnRambxPZ5syZ43UIUoaLmjThvVI+e9fno1NycljjCYZyzT3qjBxH\ngum4F49xARw8eJDc3Nwyt6lWrRpVq1YNU0QwduxYNm/eTKNGjfj4449p0qRJ0We1a9dmyJAhXHzx\nxfzhD39g2bJlvPnmm1xzzTUnHMday65du/j000/5/e9/X/R+eaPM4ok6okewt9/m7ytXch3O1Zsr\noGjU1bs+H1PbtGHexImehlgRyjX36IpOHCm34156OjRpcvTRtWv5B+3a9dh9jn9MmVL2/ps2serJ\nJ4PqUOimK6+8kqSkpDIfDz30UNjiOXDgADNnzsQYw4QJE44pcopr164dKSkpWGuZPXt2idsYYxg4\ncOAxRY5IVFi/HlJSSALmAZ/8z//QvUULejduTPcWLfhkyJAThpbv2bOn1H5rEtt0RSdOBNRxLz8f\n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\n", "text/plain": [ - "" + "" ] }, "metadata": {},