From 2fa29f958529aad97d563fe2ba14ec012a516e8d Mon Sep 17 00:00:00 2001
From: rch <rostislav.chudoba@rwth-aachen.de>
Date: Tue, 5 May 2020 12:41:40 +0200
Subject: [PATCH] Lecture 5

---
 bmcs_course/2_2_PO_LF_LM_EL.ipynb             | 1112 ++-
 bmcs_course/3_1_PO_LF_LM_EL_FE_CB.ipynb       |    2 +-
 bmcs_course/4_1_Pullout_with_unloading.ipynb  |  165 +-
 bmcs_course/4_2_BS_elastic_plastic_slip.ipynb |  678 ++
 ...tropic_kinematic_hardening_softening.ipynb | 6022 +++++++++++++++++
 ...ond_behavior_governed_by_plasticity.ipynb} |   65 +-
 .../5_1_Damage.ipynb                          |   13 +
 ..._2_Bond_behavior_governed_by-damage.ipynb} |   13 +
 8 files changed, 7904 insertions(+), 166 deletions(-)
 create mode 100644 bmcs_course/4_2_BS_elastic_plastic_slip.ipynb
 create mode 100644 bmcs_course/4_3_BS_isotropic_kinematic_hardening_softening.ipynb
 rename bmcs_course/{4_3_Bond_behavior_governed_by_plasticity.ipynb => 4_4_Bond_behavior_governed_by_plasticity.ipynb} (98%)
 rename "bmcs_course/4_1_ElastoPlastizit\303\244t.ipynb" => bmcs_course/5_1_Damage.ipynb (99%)
 rename bmcs_course/{4_2_Bond_behavior_governed_by-damage.ipynb => 5_2_Bond_behavior_governed_by-damage.ipynb} (99%)

diff --git a/bmcs_course/2_2_PO_LF_LM_EL.ipynb b/bmcs_course/2_2_PO_LF_LM_EL.ipynb
index a9253e9..03cccc8 100644
--- a/bmcs_course/2_2_PO_LF_LM_EL.ipynb
+++ b/bmcs_course/2_2_PO_LF_LM_EL.ipynb
@@ -200,7 +200,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 1,
    "metadata": {
     "slideshow": {
      "slide_type": "fragment"
@@ -230,7 +230,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 2,
    "metadata": {
     "slideshow": {
      "slide_type": "fragment"
@@ -288,13 +288,30 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 3,
    "metadata": {
     "slideshow": {
      "slide_type": "fragment"
     }
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\left( \\frac{\\bar{\\tau} p}{A_\\mathrm{f}}, \\  - \\frac{\\bar{\\tau} p}{A_\\mathrm{m}}\\right)$"
+      ],
+      "text/plain": [
+       "⎛\\bar{\\tau}⋅p  -\\bar{\\tau}⋅p ⎞\n",
+       "⎜────────────, ──────────────⎟\n",
+       "⎝A_\\mathrm{f}   A_\\mathrm{m} ⎠"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "d_sig_f = p * tau / A_f\n",
     "d_sig_m = -p * tau / A_m\n",
@@ -329,13 +346,30 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 4,
    "metadata": {
     "slideshow": {
      "slide_type": "fragment"
     }
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\left( C + \\frac{\\bar{\\tau} p x}{A_\\mathrm{f}}, \\  D - \\frac{\\bar{\\tau} p x}{A_\\mathrm{m}}\\right)$"
+      ],
+      "text/plain": [
+       "⎛    \\bar{\\tau}⋅p⋅x      \\bar{\\tau}⋅p⋅x⎞\n",
+       "⎜C + ──────────────, D - ──────────────⎟\n",
+       "⎝     A_\\mathrm{f}        A_\\mathrm{m} ⎠"
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "sig_f = sp.integrate(d_sig_f, x) + C\n",
     "sig_m = sp.integrate(d_sig_m, x) + D\n",
@@ -360,13 +394,32 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 5,
    "metadata": {
     "slideshow": {
      "slide_type": "fragment"
     }
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\left( \\frac{C + \\frac{\\bar{\\tau} p x}{A_\\mathrm{f}}}{E_\\mathrm{f}}, \\  \\frac{D - \\frac{\\bar{\\tau} p x}{A_\\mathrm{m}}}{E_\\mathrm{m}}\\right)$"
+      ],
+      "text/plain": [
+       "⎛    \\bar{\\tau}⋅p⋅x      \\bar{\\tau}⋅p⋅x⎞\n",
+       "⎜C + ──────────────  D - ──────────────⎟\n",
+       "⎜     A_\\mathrm{f}        A_\\mathrm{m} ⎟\n",
+       "⎜──────────────────, ──────────────────⎟\n",
+       "⎝   E_\\mathrm{f}        E_\\mathrm{m}   ⎠"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "eps_f = sig_f / E_f\n",
     "eps_m = sig_m / E_m\n",
@@ -405,13 +458,36 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 6,
    "metadata": {
     "slideshow": {
      "slide_type": "fragment"
     }
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\left( \\frac{C x}{E_\\mathrm{f}} + E + \\frac{\\bar{\\tau} p x^{2}}{2 A_\\mathrm{f} E_\\mathrm{f}}, \\  \\frac{D x}{E_\\mathrm{m}} + F - \\frac{\\bar{\\tau} p x^{2}}{2 A_\\mathrm{m} E_\\mathrm{m}}\\right)$"
+      ],
+      "text/plain": [
+       "⎛                                       2                                     \n",
+       "⎜    C⋅x                  \\bar{\\tau}⋅p⋅x             D⋅x                  \\bar\n",
+       "⎜──────────── + E + ───────────────────────────, ──────────── + F - ──────────\n",
+       "⎝E_\\mathrm{f}       2⋅A_\\mathrm{f}⋅E_\\mathrm{f}  E_\\mathrm{m}       2⋅A_\\mathr\n",
+       "\n",
+       "          2      ⎞\n",
+       "{\\tau}⋅p⋅x       ⎟\n",
+       "─────────────────⎟\n",
+       "m{m}⋅E_\\mathrm{m}⎠"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "u_f = sp.integrate(eps_f, x) + E\n",
     "u_m = sp.integrate(eps_m, x) + F\n",
@@ -457,13 +533,30 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 7,
    "metadata": {
     "slideshow": {
      "slide_type": "slide"
     }
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\left( \\left\\{ C : \\frac{P}{A_\\mathrm{f}}\\right\\}, \\  \\left\\{ D : - \\frac{P}{A_\\mathrm{m}}\\right\\}\\right)$"
+      ],
+      "text/plain": [
+       "⎛⎧        P      ⎫  ⎧       -P      ⎫⎞\n",
+       "⎜⎨C: ────────────⎬, ⎨D: ────────────⎬⎟\n",
+       "⎝⎩   A_\\mathrm{f}⎭  ⎩   A_\\mathrm{m}⎭⎠"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "eq_C = {P - sig_f.subs({x:0}) * A_f}\n",
     "C_subs = sp.solve(eq_C,C)   \n",
@@ -515,9 +608,24 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 8,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAD4AAAAVCAYAAAAeql2xAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADIElEQVRYCd2Y3VEUQRCAD4oAUDOADA6MAMjAnwiUDKR8482CDA4jQMxAjEAhA8lAJAP8vqmdqZ3Znd3j7nw4u6qZme6env6d2WPj8fFxUsLp6el7aHvgDfOLkr8Oa+yeYucx+Au8YP3Qtnuj7TjMbZjfwWvmJ23BdZ3jxyG2X4EHzG+jH1tx0oxvGKcImO0qwP8A8whUqXAN3oXZZPKc0QDuN+MJ8ucNb2UDOs9Q9hs0k7vgJbTkGOsA0EziFxafweRX6bgKogNhY98fFOnIOaN9cstoEDoA/RvErMQ6QgsQ0HvDtk+MX93OaKBtyyOwz35tUCbBZpo9ccIB9pBgtmtgifUZUpMfpXOu988OY3DaDcx1zLXnzQULO472WOZmtQb3MMRVwmuU9QX7B3TbNMts7eBlHH/bKP3ZVs7BO+0185VmHH0x4MUxqaVq/Ey+7PGMObKw1O+aMguijdMeHJ5A1qkch3Qh55PjXWE2qwA/ZnOoisrAR31eugnKjLvJfhkEDIhRLUvOm7akjenSGY2qGdzeH43vs3EoGAY2Bi3oSxnHmVdQdOggcIb/xFt8n30zRDUoBIP1k0obeZ14Nnxch5s5UXBfFOsJZ/gBcwzOHOVvMZkymikjvsd6HsNjxv0oCNFn1Bjfyn8JQ1mN1eDb3gHs07cr0OzPNpnEd9hI+BYaiDFQJuvvZsPl2MZl+NgWgoyO6GRbXayC3sSx17d/wrgLnqceZ2Fvima/CsjFbGcXF/QHMKNVlSzH0MboZFtTDEbnjsEu336funR5JscbDUZr7JKJ/T30frcNWvXcjxQ/h0vwq9PqjVXR5svL6KXjbeHa3EtwwgGdyNY2DNHRsw3+AUMpDsnKQ86n8p4x2NHQrACz+s51BbL7YasilJE5RMW2gJEOFQHNyKvsjHlvX8EbBfbaIup5ig5/bHxkX6zOl6yzX19jB8/ruGUSnoExhYvwccBSnBsMFsJL/WzuK/V4ScxtyDoKlo53vnDW0akem21VqyRB5jgl5MXhzTj4pKXdazDBF59f/8GStUb2r6foB8LemD5b/+3/3P4Chn8OBSzvxOwAAAAASUVORK5CYII=\n",
+      "text/latex": [
+       "$\\displaystyle \\left\\{ F : 0\\right\\}$"
+      ],
+      "text/plain": [
+       "{F: 0}"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "F_subs = sp.solve({u_m.subs(x,0) - 0}, F)\n",
     "F_subs"
@@ -536,13 +644,38 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 9,
    "metadata": {
     "slideshow": {
      "slide_type": "fragment"
     }
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\left\\{ E : - \\frac{P a}{A_\\mathrm{m} E_\\mathrm{m}} - \\frac{\\bar{\\tau} a^{2} p}{2 A_\\mathrm{m} E_\\mathrm{m}} - \\frac{P a}{A_\\mathrm{f} E_\\mathrm{f}} - \\frac{\\bar{\\tau} a^{2} p}{2 A_\\mathrm{f} E_\\mathrm{f}}\\right\\}$"
+      ],
+      "text/plain": [
+       "⎧                                                   2                         \n",
+       "⎪                P⋅a                    \\bar{\\tau}⋅a ⋅p                    P⋅a\n",
+       "⎨E: - ───────────────────────── - ─────────────────────────── - ──────────────\n",
+       "⎪     A_\\mathrm{m}⋅E_\\mathrm{m}   2⋅A_\\mathrm{m}⋅E_\\mathrm{m}   A_\\mathrm{f}⋅E\n",
+       "⎩                                                                             \n",
+       "\n",
+       "                                2        ⎫\n",
+       "                    \\bar{\\tau}⋅a ⋅p      ⎪\n",
+       "─────────── - ───────────────────────────⎬\n",
+       "_\\mathrm{f}   2⋅A_\\mathrm{f}⋅E_\\mathrm{f}⎪\n",
+       "                                         ⎭"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "eqns_u_equal = {u_f.subs(C_subs).subs(x,a) - u_m.subs(D_subs).subs(F_subs).subs(x,a)}\n",
     "E_subs = sp.solve(eqns_u_equal,E)\n",
@@ -562,13 +695,32 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 10,
    "metadata": {
     "slideshow": {
      "slide_type": "fragment"
     }
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQkAAAA/CAYAAADzPD1gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAALrklEQVR4Ae2d65EUNxDH9ygCOHAGOAMDERgyMDiCwxlA+RN8u7IzwEQAJgNwBMbOwHYEhy8D/P/Nqcfz0Lz25nYlTXeVVhqNZkbdLbW6W489+fLly24KXr169Y3K/KTwWun3U+VTvy8cHqmOLxSIwedvhVOFewqXCmcqQ5wkqG7PVbGvu5VT/g/dvNKvc+Tlsfmn79POf1V4ofTHqTZyMiUkAkIIiPdKP5l6YS73hcsz1fUnxXeaddY1uH6nuNcJm+U8nQ4FnJfLeRHaOYPNL0qPDi63xl4fXkSn+VnpYgREwPmx4pgUvVA+ktYhHwo4LxfySv0ZTZo+/UzpP8Yevz10Uw+iiiNp0CB4YWlgJlQXr6EG1y13lGvxAgH2QSEmyB7rfi34lMaEQsj/pfAwPIMp9afSO8VoU/cVrJFQnnLnVkbpHCAbXoqus/incjfOO33D+jYaNSHaz6NCIlQQmwU4u4rK+Q34way6Q4Gd8hGK5NNxUgUYiSD7rPBGdY5qeAFHOv8Tpf9UoCNxjf+lCfAZoXO/UY68LMytgGdOvJzkX8DpILzTt7ASvhe/nyt+q1ANILquISokdPepApIMe+WyLl1O4kFA5Qfhd6H0V+H6d10n2zlUt1OF2n7keoQlaBAfVabJ9L91XfFTMR3rnQLaBCOKleM+93KBbHgpGs/l36F5dy5mMzD8qNAbdIaEhBU0bSKXBjO3nozEjK5R9WruSw5dTvWtBbbSmIPWsWNVQdA3tcBWeT1faRSKMS9+b7wAjaP+TiM/1WQ2vFzAv4PyTvVikIC/38WYfCuWqTwbST4P3M89m47wKXMkEOT4Gnoghp8qk9AUInSmD9wL9+05hEfT7EL1RMPIBQ7GS9GNWS9M0jUgyr/Am2PwrhoYOm2jwnNISBgRqgftoqCYjoEdnjOAQ1TQidHwreadrulIlEd7eBru7xQzGJwqVGVDOcrmpGHlysso/wJvjsG7QYXgthrEpiB0BHBujrJZ0kC4jOHASIXHGlMC4UDHJw+HmAECgXcwQpKHPwYHZt1IyUwVVE/qD4zR4apEgr+q/1C9k+LdlJD4nCBt966SmIKqiDoNsNqMTtT19l/dTfxX9R51sOo+JkTTjIhhhAmCc/Pn2M2U81TnrHk5xr/UeDclJFJuJ4vrFjpDdh1iMaLzH3ikojmZFjVmzsvKfDwI76Z8EjVTPFEWBdTJXgsjfBLfK41fwiETChyad8loEqGh/raQT/XqQXtO75nesWaF94z1jZOxR9fCpfuNG8KNaS/zSdSfnMKxLniAxJp4z8FLZVingJbVBYTpXd03k7V5nzUo+BIGQffXbptR3lEBfWu0jQ5WMnIjusFLH2BqjVHmjtJZOLEiuHmWU2BVCqgv0CnvKS7OZB3r85szN0QM1gogAIuE0vGLMa1UnFPBa1NCQkRnCTJqZJFConT8BgREkTxNiZebERIiOvakbdwqTkiUjt+AgCiSp6nxcjNCQo2MzStMGbEuwoSFksVA6fjFGFUqzknhtQkhIcnMyrwLxThhERJFaRKl4xeTDqXinCJeyUyBxhrCink/ivg2PYWQiE1vrfi5g7+qdPxiBJ3EWTy3zVhfK11vsY+9bGbe1ArWma8ZLXYMvEYrVLwmocaBY+ttgwo2vdvIyjdZOn4xzszBWWXQHh8qZrpylSMP9K5LQqxOa+Tp3ZNtVWVWx2uq7kPrJP7VgziFsl4nIYKCAwu02C1pzIXIaBJZ46b670rHDxy7MBdnlYPHHOd3kKXL3XouvT42Xvq+DZ69fjFkbtC5SgBWzn0rApiA2CmNP8IIwsEzJkgwQ2z7eLULT9eUxcn5h8r9ojg1KB2/GL3n4AzfMC9Y+MSxbDksfkoFr7uiW91fYMCYuXGjqhUfv0lQw2AkoXO3ENY1wgB4wE+4z2hDg+K4PhMGHM5CGuatYc/qNeuB6pY8fqrjmoe07BbgDI9fK3zSM8kLiETwsn7BoNmCnpBQhZHCQPRAk6tbaf8KBzQCgjkrqwqDW7jHNVvFsQENjEjda7bL9whnhY4Rl45fjKZ74hx7VVJ5CeFlZ1v09qXEzA0bNVdx9hyDIyI85yT0QPkIgug95Wdzdkbp+PUYp4w9cY69Kqm8hPBC82I2CA21BS1NQhVmxGR0ZUebqd2tB0q7CDgjGB8p/Y0CRMIUYUELQIwGwuae7KB0/EYYYjzNkm+HxkvthAH0vYL1gboKrdkNFURFp5NU/8FQl/KEU2APCgTBioBN3i+wB3pFPiJe4dTfKa5PPqs1CWXioENAMG1k9gnlHZwCToHtUABznDMzbKZvV2kSysD/wPqB6t+eltBDz2KisBZhCfQOi1nysJdNiwJqAzbAdCtG22BKresUptzkIS0Ucjg8BUKffqMvIxMen7x8+RJGsniKf7M6ih9C3137xB6h47AWBcSfvU450nP4A/Y2N7xdrMPBffinZ7AqUB7OTJNg2hP1AjODUf5SsYNT4FoUUDu6lpC41sf94b0pIL6hGTLTgWXxvvJJKIE6yMpCpMdS00GPODgFnAIlUKAhIPBNMtvx/4pLZaA9sPiIKRDmTB2cAk6BDVFA/R7NDw2Cfxqvd7zWsxvQItzg5jOlMUEcnAJOge1QAGcl2zFam+JaQiLQwrQI7BIHp4BTYAMUkGBAi2ASozd5cTuCv6kZ+CccAgVERNQw5pCNLtDJpvaY5gOYMkIDY3dpiUfkgeMSsLa05Jmkym6I77ZdoV4fYYxorbi0TBGmiPMkDJ81Y9GG6dpBIaD7LGvHK2xEX/Pz/q4jUaB0vgs//kiaQa632jpmbsCGbDY7UdlDgQhpWsTbkW++0z3TMEaK+a1cKLARvmNqAL3lD0NC4qq4/3YpYNrBlBpdrX/vPuzX2VJgS3zvKQguJJa120qT0MjS2tui69rJqzSSuJpfXvZqL50wBTbNdxcSy1omNltLi5BQwAfR0hyU5+bGMrqmXnrTfL+dOndSqZ86vvkj2CHHNPFdBfKw5epttUo7FESBffiuZxAqnEOC6p7q+aizueRCYjap6hOtWjtY1SBoBK45zKdjbiXNH7GE72yMYgr8gQICI2twc2M++ypNQgKh5Y/Q413zI/tGMZ8kmyi5iO9qH2iW7Hxl5eJHhewP3HEhMb+d0/lbAiE8em6vCA2kalSW53H2FNiH771pxJyp4ObGDO6p81vH761G071mg8AOPVfePcWonMTfKtjzD5U+U3iqAFT/76HyMeFzVcJ/j0aBPfiOQOFsTf6OgRmvC8XZaxIuJOY1QbNLBzuzGgMNpFIzFaNqIgCY9agPXVEeq9p+VVy9TzGOLZyg7vgUERKEpXxnJS6bo56FOEGUllfJhcQ8mrH5ZSfGd/0R1dPKR1NAc0BrMEAAAE3BgoOz6eQkfZdCDklSYB++J4nIdSrlQmKAeur4OKDYOovJQEBIIAis89O5KyeVYu4zivSEiPKa5oiK7S74cUiTAuLXKnxPE7v9auVCYoBuoXNjMjhsiALO9z6zb/WzPGclCsw1Ixi5HJwCyVLAhcQNsCaorDgkd0pjohCzfBvfBaeS80e6mCjVng+lq7K6dsiYAuKjmSo7pXFQ48zOBQYHtSlzgwe7NnUuSB+tnmoc0Mw841U9lMeJP91Tf1pljlZh//AqFAh8z9VEHdRohzQJEwyDD65CVX+JU8ApkBQFgqBr1WlISHwKpXp/Q9562i+cAk6B7CkgwYDpC/Rm58gcEhJ2PkI1T0xBB6eAU6BYCrBKFHh7FbV/o2dcUkTSBYcbQqL6Fx/yHJwCToGyKKB+jkuBM235b9boyt8hTQIhgQOGFYF4aU0d0aWDU8ApUBAF7B/7Bh2ug0IiEAHvO3YKZybkNJ1TEA8dFafA+hRg4FewE7L5S7+oP4IvD5obzWrpBfgo6j8Qbd7ztFPAKZAXBdSfMTH+UcBSwJ3Q3E/UQ2aWkOApvQiT47Nimx7tvcwznAJOgTwooH7Mf/4Oag9NLP4DHXsnQ1pwLF0AAAAASUVORK5CYII=\n",
+      "text/latex": [
+       "$\\displaystyle \\left\\{- \\frac{- \\frac{P}{A_\\mathrm{m}} - \\frac{\\bar{\\tau} a p}{A_\\mathrm{m}}}{E_\\mathrm{m}} + \\frac{\\frac{P}{A_\\mathrm{f}} + \\frac{\\bar{\\tau} a p}{A_\\mathrm{f}}}{E_\\mathrm{f}}\\right\\}$"
+      ],
+      "text/plain": [
+       "⎧         P         \\bar{\\tau}⋅a⋅p        P         \\bar{\\tau}⋅a⋅p⎫\n",
+       "⎪  - ──────────── - ──────────────   ──────────── + ──────────────⎪\n",
+       "⎨    A_\\mathrm{m}    A_\\mathrm{m}    A_\\mathrm{f}    A_\\mathrm{f} ⎬\n",
+       "⎪- ─────────────────────────────── + ─────────────────────────────⎪\n",
+       "⎩            E_\\mathrm{m}                     E_\\mathrm{f}        ⎭"
+      ]
+     },
+     "execution_count": 10,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "eqns_eps_equal = {eps_f.subs(C_subs).subs(x,a) - eps_m.subs(D_subs).subs(x,a)}\n",
     "eqns_eps_equal"
@@ -576,9 +728,26 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 11,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\left\\{ a : - \\frac{P}{\\bar{\\tau} p}\\right\\}$"
+      ],
+      "text/plain": [
+       "⎧       -P      ⎫\n",
+       "⎨a: ────────────⎬\n",
+       "⎩   \\bar{\\tau}⋅p⎭"
+      ]
+     },
+     "execution_count": 11,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "a_subs = sp.solve(eqns_eps_equal,a)\n",
     "a_subs"
@@ -599,13 +768,44 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 12,
    "metadata": {
     "slideshow": {
      "slide_type": "fragment"
     }
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\left\\{ C : \\frac{P}{A_\\mathrm{f}}, \\  D : - \\frac{P}{A_\\mathrm{m}}, \\  E : - \\frac{P a}{A_\\mathrm{m} E_\\mathrm{m}} - \\frac{\\bar{\\tau} a^{2} p}{2 A_\\mathrm{m} E_\\mathrm{m}} - \\frac{P a}{A_\\mathrm{f} E_\\mathrm{f}} - \\frac{\\bar{\\tau} a^{2} p}{2 A_\\mathrm{f} E_\\mathrm{f}}, \\  F : 0, \\  a : - \\frac{P}{\\bar{\\tau} p}\\right\\}$"
+      ],
+      "text/plain": [
+       "⎧                                                                             \n",
+       "⎪        P               -P                        P⋅a                    \\bar\n",
+       "⎨C: ────────────, D: ────────────, E: - ───────────────────────── - ──────────\n",
+       "⎪   A_\\mathrm{f}     A_\\mathrm{m}       A_\\mathrm{m}⋅E_\\mathrm{m}   2⋅A_\\mathr\n",
+       "⎩                                                                             \n",
+       "\n",
+       "        2                                                         2           \n",
+       "{\\tau}â‹…a â‹…p                    Pâ‹…a                    \\bar{\\tau}â‹…a â‹…p         \n",
+       "───────────────── - ───────────────────────── - ───────────────────────────, F\n",
+       "m{m}â‹…E_\\mathrm{m}   A_\\mathrm{f}â‹…E_\\mathrm{f}   2â‹…A_\\mathrm{f}â‹…E_\\mathrm{f}   \n",
+       "                                                                              \n",
+       "\n",
+       "                    ⎫\n",
+       "            -P      ⎪\n",
+       ": 0, a: ────────────⎬\n",
+       "        \\bar{\\tau}⋅p⎪\n",
+       "                    ⎭"
+      ]
+     },
+     "execution_count": 12,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "var_subs = {}\n",
     "[var_subs.update(var) for var in [C_subs,D_subs,F_subs,E_subs,a_subs]]\n",
@@ -625,13 +825,41 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 13,
    "metadata": {
     "slideshow": {
      "slide_type": "fragment"
     }
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\left( \\frac{P^{2}}{2 A_\\mathrm{m} E_\\mathrm{m} \\bar{\\tau} p} + \\frac{P^{2}}{2 A_\\mathrm{f} E_\\mathrm{f} \\bar{\\tau} p} + \\frac{P x}{A_\\mathrm{f} E_\\mathrm{f}} + \\frac{\\bar{\\tau} p x^{2}}{2 A_\\mathrm{f} E_\\mathrm{f}}, \\  - \\frac{P x}{A_\\mathrm{m} E_\\mathrm{m}} - \\frac{\\bar{\\tau} p x^{2}}{2 A_\\mathrm{m} E_\\mathrm{m}}\\right)$"
+      ],
+      "text/plain": [
+       "⎛                    2                                          2             \n",
+       "⎜                   P                                          P              \n",
+       "⎜──────────────────────────────────────── + ──────────────────────────────────\n",
+       "⎝2⋅A_\\mathrm{m}⋅E_\\mathrm{m}⋅\\bar{\\tau}⋅p   2⋅A_\\mathrm{f}⋅E_\\mathrm{f}⋅\\bar{\\\n",
+       "\n",
+       "                                                         2                    \n",
+       "                    Pâ‹…x                    \\bar{\\tau}â‹…pâ‹…x                     \n",
+       "────── + ───────────────────────── + ───────────────────────────, - ──────────\n",
+       "tau}â‹…p   A_\\mathrm{f}â‹…E_\\mathrm{f}   2â‹…A_\\mathrm{f}â‹…E_\\mathrm{f}    A_\\mathrm{\n",
+       "\n",
+       "                                      2      ⎞\n",
+       " P⋅x                    \\bar{\\tau}⋅p⋅x       ⎟\n",
+       "─────────────── - ───────────────────────────⎟\n",
+       "m}⋅E_\\mathrm{m}   2⋅A_\\mathrm{m}⋅E_\\mathrm{m}⎠"
+      ]
+     },
+     "execution_count": 13,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "u_f_x = u_f.subs(var_subs)\n",
     "u_m_x = u_m.subs(var_subs)\n",
@@ -654,13 +882,31 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 14,
    "metadata": {
     "slideshow": {
      "slide_type": "fragment"
     }
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\left( P^{2} + P x + \\frac{x^{2}}{2}, \\  - P x - \\frac{x^{2}}{2}\\right)$"
+      ],
+      "text/plain": [
+       "⎛            2          2⎞\n",
+       "⎜ 2         x          x ⎟\n",
+       "⎜P  + P⋅x + ──, -P⋅x - ──⎟\n",
+       "⎝           2          2 ⎠"
+      ]
+     },
+     "execution_count": 14,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "data_f = {L_b:1, p:1, E_f:1, A_f:1, tau:1, E_m:1, A_m:1}\n",
     "u_f_x.subs(data_f), u_m_x.subs(data_f)"
@@ -679,13 +925,27 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 15,
    "metadata": {
     "slideshow": {
      "slide_type": "fragment"
     }
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(array([0.5  , 0.505, 0.52 , 0.545, 0.58 , 0.625, 0.68 , 0.745, 0.82 ,\n",
+       "        0.905, 1.   ]),\n",
+       " array([ 0.5  ,  0.495,  0.48 ,  0.455,  0.42 ,  0.375,  0.32 ,  0.255,\n",
+       "         0.18 ,  0.095, -0.   ]))"
+      ]
+     },
+     "execution_count": 15,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "get_u_f_x = sp.lambdify((x, P), u_f_x.subs(data_f))\n",
     "get_u_m_x = sp.lambdify((x, P), u_m_x.subs(data_f))\n",
@@ -706,7 +966,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 16,
    "metadata": {
     "slideshow": {
      "slide_type": "slide"
@@ -749,13 +1009,803 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 17,
    "metadata": {
     "slideshow": {
      "slide_type": "slide"
     }
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "\n",
+       "mpl.get_websocket_type = function() {\n",
+       "    if (typeof(WebSocket) !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert('Your browser does not have WebSocket support. ' +\n",
+       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "              'Firefox 4 and 5 are also supported but you ' +\n",
+       "              'have to enable WebSockets in about:config.');\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent = (\n",
+       "                \"This browser does not support binary websocket messages. \" +\n",
+       "                    \"Performance may be slow.\");\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = $('<div/>');\n",
+       "    this._root_extra_style(this.root)\n",
+       "    this.root.attr('style', 'display: inline-block');\n",
+       "\n",
+       "    $(parent_element).append(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen =  function () {\n",
+       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
+       "            fig.send_message(\"send_image_mode\", {});\n",
+       "            if (mpl.ratio != 1) {\n",
+       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
+       "            }\n",
+       "            fig.send_message(\"refresh\", {});\n",
+       "        }\n",
+       "\n",
+       "    this.imageObj.onload = function() {\n",
+       "            if (fig.image_mode == 'full') {\n",
+       "                // Full images could contain transparency (where diff images\n",
+       "                // almost always do), so we need to clear the canvas so that\n",
+       "                // there is no ghosting.\n",
+       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "            }\n",
+       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "        };\n",
+       "\n",
+       "    this.imageObj.onunload = function() {\n",
+       "        fig.ws.close();\n",
+       "    }\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function() {\n",
+       "    var titlebar = $(\n",
+       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
+       "        'ui-helper-clearfix\"/>');\n",
+       "    var titletext = $(\n",
+       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
+       "        'text-align: center; padding: 3px;\"/>');\n",
+       "    titlebar.append(titletext)\n",
+       "    this.root.append(titlebar);\n",
+       "    this.header = titletext[0];\n",
+       "}\n",
+       "\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = $('<div/>');\n",
+       "\n",
+       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
+       "\n",
+       "    function canvas_keyboard_event(event) {\n",
+       "        return fig.key_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
+       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
+       "    this.canvas_div = canvas_div\n",
+       "    this._canvas_extra_style(canvas_div)\n",
+       "    this.root.append(canvas_div);\n",
+       "\n",
+       "    var canvas = $('<canvas/>');\n",
+       "    canvas.addClass('mpl-canvas');\n",
+       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
+       "\n",
+       "    this.canvas = canvas[0];\n",
+       "    this.context = canvas[0].getContext(\"2d\");\n",
+       "\n",
+       "    var backingStore = this.context.backingStorePixelRatio ||\n",
+       "\tthis.context.webkitBackingStorePixelRatio ||\n",
+       "\tthis.context.mozBackingStorePixelRatio ||\n",
+       "\tthis.context.msBackingStorePixelRatio ||\n",
+       "\tthis.context.oBackingStorePixelRatio ||\n",
+       "\tthis.context.backingStorePixelRatio || 1;\n",
+       "\n",
+       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband = $('<canvas/>');\n",
+       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
+       "\n",
+       "    var pass_mouse_events = true;\n",
+       "\n",
+       "    canvas_div.resizable({\n",
+       "        start: function(event, ui) {\n",
+       "            pass_mouse_events = false;\n",
+       "        },\n",
+       "        resize: function(event, ui) {\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "        stop: function(event, ui) {\n",
+       "            pass_mouse_events = true;\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "    });\n",
+       "\n",
+       "    function mouse_event_fn(event) {\n",
+       "        if (pass_mouse_events)\n",
+       "            return fig.mouse_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
+       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
+       "\n",
+       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
+       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
+       "\n",
+       "    canvas_div.on(\"wheel\", function (event) {\n",
+       "        event = event.originalEvent;\n",
+       "        event['data'] = 'scroll'\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        mouse_event_fn(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.append(canvas);\n",
+       "    canvas_div.append(rubberband);\n",
+       "\n",
+       "    this.rubberband = rubberband;\n",
+       "    this.rubberband_canvas = rubberband[0];\n",
+       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
+       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
+       "\n",
+       "    this._resize_canvas = function(width, height) {\n",
+       "        // Keep the size of the canvas, canvas container, and rubber band\n",
+       "        // canvas in synch.\n",
+       "        canvas_div.css('width', width)\n",
+       "        canvas_div.css('height', height)\n",
+       "\n",
+       "        canvas.attr('width', width * mpl.ratio);\n",
+       "        canvas.attr('height', height * mpl.ratio);\n",
+       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
+       "\n",
+       "        rubberband.attr('width', width);\n",
+       "        rubberband.attr('height', height);\n",
+       "    }\n",
+       "\n",
+       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
+       "    // upon first draw.\n",
+       "    this._resize_canvas(600, 600);\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus () {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>');\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            // put a spacer in here.\n",
+       "            continue;\n",
+       "        }\n",
+       "        var button = $('<button/>');\n",
+       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+       "                        'ui-button-icon-only');\n",
+       "        button.attr('role', 'button');\n",
+       "        button.attr('aria-disabled', 'false');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "\n",
+       "        var icon_img = $('<span/>');\n",
+       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+       "        icon_img.addClass(image);\n",
+       "        icon_img.addClass('ui-corner-all');\n",
+       "\n",
+       "        var tooltip_span = $('<span/>');\n",
+       "        tooltip_span.addClass('ui-button-text');\n",
+       "        tooltip_span.html(tooltip);\n",
+       "\n",
+       "        button.append(icon_img);\n",
+       "        button.append(tooltip_span);\n",
+       "\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker_span = $('<span/>');\n",
+       "\n",
+       "    var fmt_picker = $('<select/>');\n",
+       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+       "    fmt_picker_span.append(fmt_picker);\n",
+       "    nav_element.append(fmt_picker_span);\n",
+       "    this.format_dropdown = fmt_picker[0];\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = $(\n",
+       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+       "        fmt_picker.append(option);\n",
+       "    }\n",
+       "\n",
+       "    // Add hover states to the ui-buttons\n",
+       "    $( \".ui-button\" ).hover(\n",
+       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
+       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
+       "    );\n",
+       "\n",
+       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function(type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function() {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1]);\n",
+       "        fig.send_message(\"refresh\", {});\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+       "    var x0 = msg['x0'] / mpl.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+       "    var x1 = msg['x1'] / mpl.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0, 0, fig.canvas.width / mpl.ratio, fig.canvas.height / mpl.ratio);\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+       "    var cursor = msg['cursor'];\n",
+       "    switch(cursor)\n",
+       "    {\n",
+       "    case 0:\n",
+       "        cursor = 'pointer';\n",
+       "        break;\n",
+       "    case 1:\n",
+       "        cursor = 'default';\n",
+       "        break;\n",
+       "    case 2:\n",
+       "        cursor = 'crosshair';\n",
+       "        break;\n",
+       "    case 3:\n",
+       "        cursor = 'move';\n",
+       "        break;\n",
+       "    }\n",
+       "    fig.rubberband_canvas.style.cursor = cursor;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message(\"ack\", {});\n",
+       "}\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            /* FIXME: We get \"Resource interpreted as Image but\n",
+       "             * transferred with MIME type text/plain:\" errors on\n",
+       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "             * to be part of the websocket stream */\n",
+       "            evt.data.type = \"image/png\";\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src);\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                evt.data);\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig[\"handle_\" + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function(e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e)\n",
+       "        e = window.event;\n",
+       "    if (e.target)\n",
+       "        targ = e.target;\n",
+       "    else if (e.srcElement)\n",
+       "        targ = e.srcElement;\n",
+       "    if (targ.nodeType == 3) // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "\n",
+       "    // jQuery normalizes the pageX and pageY\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    // offset() returns the position of the element relative to the document\n",
+       "    var x = e.pageX - $(targ).offset().left;\n",
+       "    var y = e.pageY - $(targ).offset().top;\n",
+       "\n",
+       "    return {\"x\": x, \"y\": y};\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * http://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys (original) {\n",
+       "  return Object.keys(original).reduce(function (obj, key) {\n",
+       "    if (typeof original[key] !== 'object')\n",
+       "        obj[key] = original[key]\n",
+       "    return obj;\n",
+       "  }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event)\n",
+       "\n",
+       "    if (name === 'button_press')\n",
+       "    {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * mpl.ratio;\n",
+       "    var y = canvas_pos.y * mpl.ratio;\n",
+       "\n",
+       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
+       "                             step: event.step,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function(event, name) {\n",
+       "\n",
+       "    // Prevent repeat events\n",
+       "    if (name == 'key_press')\n",
+       "    {\n",
+       "        if (event.which === this._key)\n",
+       "            return;\n",
+       "        else\n",
+       "            this._key = event.which;\n",
+       "    }\n",
+       "    if (name == 'key_release')\n",
+       "        this._key = null;\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.which != 17)\n",
+       "        value += \"ctrl+\";\n",
+       "    if (event.altKey && event.which != 18)\n",
+       "        value += \"alt+\";\n",
+       "    if (event.shiftKey && event.which != 16)\n",
+       "        value += \"shift+\";\n",
+       "\n",
+       "    value += 'k';\n",
+       "    value += event.which.toString();\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, {key: value,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+       "    if (name == 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message(\"toolbar_button\", {name: name});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.close = function() {\n",
+       "        comm.close()\n",
+       "    };\n",
+       "    ws.send = function(m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function(msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(msg['content']['data'])\n",
+       "    });\n",
+       "    return ws;\n",
+       "}\n",
+       "\n",
+       "mpl.mpl_figure_comm = function(comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = $(\"#\" + id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm)\n",
+       "\n",
+       "    function ondownload(figure, format) {\n",
+       "        window.open(figure.imageObj.src);\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy,\n",
+       "                           ondownload,\n",
+       "                           element.get(0));\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element.get(0);\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "\n",
+       "    var output_index = fig.cell_info[2]\n",
+       "    var cell = fig.cell_info[0];\n",
+       "\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+       "    var width = fig.canvas.width/mpl.ratio\n",
+       "    fig.root.unbind('remove')\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable()\n",
+       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
+       "    fig.close_ws(fig, msg);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width/mpl.ratio\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message(\"ack\", {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>');\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items){\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) { continue; };\n",
+       "\n",
+       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
+       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
+       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+       "    buttongrp.append(button);\n",
+       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+       "    titlebar.prepend(buttongrp);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(el){\n",
+       "    var fig = this\n",
+       "    el.on(\"remove\", function(){\n",
+       "\tfig.close_ws(fig, {});\n",
+       "    });\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.attr('tabindex', 0)\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "    else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    var manager = IPython.notebook.keyboard_manager;\n",
+       "    if (!manager)\n",
+       "        manager = IPython.keyboard_manager;\n",
+       "\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which == 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.find_output_cell = function(html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i=0; i<ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code'){\n",
+       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] == html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel != null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4QAAAHCCAYAAAC30AdjAAAgAElEQVR4nOzdZ1hU1+I18D1DVVRsgJggiYrdqNixhRhL7IolMRpC1KixxfrqVREVYq/EFgtYEhUlolixF4wiolhQqiDDtdwkotGgUtb7IZF/JjMgZWAPM+v3POuDHJ05cubssxfM7CNARERERERERknI3gEiIiIiIiKSg4WQiIiIiIjISLEQEhERERERGSkWQiIiIiIiIiPFQkhERERERGSkWAiJiIiIiIiMFAshERERERGRkWIhJCIiIiIiMlIshEREREREREaKhZCIiIiIiMhIsRASEREREREZKRZCIiIiIiIiI8VCSEREREREZKRYCImIiIiIiIwUCyEREREREZGRYiEkIiIiIiIyUiyERERERERERoqFkIiIiIiIyEixEBIRERERERkpFkIiIiIiIiIjxUJIRERERERkpFgI9ZCdnR3KlCmDevXqMQzDMAzDMAxjxClTpgzKlCmDnj17Fkn3YCHUQ2XKlIGFhYX0Fx/DMAzDMAzDMHJjYWEBCwsLFkJj8ubgExERERGRcSvqbsBCqIdYCImIiIiICGAhNEoshEREREREBLAQGiUWQiIiIiIiAlgIjRILIRERERERASyERomFkIiIiIiIABbCQgsPD8eCBQvQt29fVK1aFUIIWFhYFPjxnjx5ggkTJqBatWowNzdHtWrVMH78eDx58kRn+8xCSEREREREAAthofXu3RtCCLUUtBD++uuvcHJyghAC1atXx8CBA1G/fn0IIVCzZk38+uuvOtlnFkIiIt3IyspCZmYmIylZWVmyXwJERCUeC2EhLVy4EJ6enggODsbDhw8LVQiHDh0KIQT69euH9PT07K+PGzcOQgh88cUXOtlnFkIiooLLyMjAo0ePEBcXh6ioKEZy4uLi8OjRI2RkZMh+aRARlUgshDpW0EL44MEDKJVKmJmZ4eHDh2rbXr58CRsbG5iYmGhsKwgWQiKigsnIyEBCQoL0EsRoJiEhgaWQiKgAWAh1rKCFcMuWLRBCoGPHjlq3f/XVVxBCwM/Pr5B7yEJIRFRQjx49QlRUFKKjo5Gamor09HTpb5s05qSnpyM1NRXR0dGIiorCo0ePZL9EiIhKHBZCHStoIZwwYQKEEJg6darW7d9//z2EEPj2228Lu4t6VQhfvnwpexeI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\" width=\"600\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
    "source": [
     "fig, ax_u1 = plt.subplots(1,1, figsize=(6,3), tight_layout=True)\n",
     "ax_u1.plot(x_range, u_f_x_range, color='black', label=r'$u_\\mathrm{f}$');\n",
diff --git a/bmcs_course/3_1_PO_LF_LM_EL_FE_CB.ipynb b/bmcs_course/3_1_PO_LF_LM_EL_FE_CB.ipynb
index eb87892..627e8f7 100644
--- a/bmcs_course/3_1_PO_LF_LM_EL_FE_CB.ipynb
+++ b/bmcs_course/3_1_PO_LF_LM_EL_FE_CB.ipynb
@@ -3990,7 +3990,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.8.2"
+   "version": "3.7.6"
   },
   "toc": {
    "base_numbering": 1,
diff --git a/bmcs_course/4_1_Pullout_with_unloading.ipynb b/bmcs_course/4_1_Pullout_with_unloading.ipynb
index 763816b..c403cab 100644
--- a/bmcs_course/4_1_Pullout_with_unloading.ipynb
+++ b/bmcs_course/4_1_Pullout_with_unloading.ipynb
@@ -9,7 +9,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 7,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -29,7 +29,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 8,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -51,7 +51,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 9,
    "metadata": {},
    "outputs": [
     {
@@ -76,10 +76,10 @@
        "        "
       ],
       "text/plain": [
-       "<bmcs.pullout.pullout_sim.PullOutModel at 0x7f4042acf7d0>"
+       "<bmcs.pullout.pullout_sim.PullOutModel at 0x7f05d5785530>"
       ]
      },
-     "execution_count": 3,
+     "execution_count": 9,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -90,14 +90,14 @@
     "pm.sim.tline.step = 0.001\n",
     "pm.mats_eval.s_tau_table = [[0, 0.1, 0.4, 4],\n",
     "                            [0, 800, 0, 0]]\n",
-    "#w = pm.get_window()\n",
-    "#w.configure_traits()\n",
+    "# w = pm.get_window()\n",
+    "# w.configure_traits()\n",
     "pm"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 10,
    "metadata": {},
    "outputs": [
     {
@@ -118,10 +118,10 @@
        "        "
       ],
       "text/plain": [
-       "<bmcs.time_functions.loading_scenario.LoadingScenario at 0x7f403feab050>"
+       "<bmcs.time_functions.loading_scenario.LoadingScenario at 0x7f0590610e90>"
       ]
      },
-     "execution_count": 4,
+     "execution_count": 10,
      "metadata": {},
      "output_type": "execute_result"
     },
@@ -145,7 +145,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [
     {
@@ -166,10 +166,10 @@
        "        "
       ],
       "text/plain": [
-       "<bmcs.time_functions.loading_scenario.LoadingScenario at 0x7f403feab050>"
+       "<bmcs.time_functions.loading_scenario.LoadingScenario at 0x7f0590610e90>"
       ]
      },
-     "execution_count": 5,
+     "execution_count": 11,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -185,7 +185,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [
     {
@@ -207,7 +207,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [
     {
@@ -224,10 +224,10 @@
        "        "
       ],
       "text/plain": [
-       "<bmcs.pullout.pullout_sim.CrossSection at 0x7f403f7cd230>"
+       "<bmcs.pullout.pullout_sim.CrossSection at 0x7f058b14fa70>"
       ]
      },
-     "execution_count": 7,
+     "execution_count": 13,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -239,7 +239,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [
     {
@@ -254,10 +254,10 @@
        "        "
       ],
       "text/plain": [
-       "<bmcs.pullout.pullout_sim.Geometry at 0x7f403f7cd170>"
+       "<bmcs.pullout.pullout_sim.Geometry at 0x7f058b14f9b0>"
       ]
      },
-     "execution_count": 8,
+     "execution_count": 14,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -275,7 +275,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 15,
    "metadata": {},
    "outputs": [
     {
@@ -293,10 +293,10 @@
        "        "
       ],
       "text/plain": [
-       "<ibvpy.mats.mats1D5.vmats1D5_bondslip1D.MATSBondSlipMultiLinear at 0x7f403f78df50>"
+       "<ibvpy.mats.mats1D5.vmats1D5_bondslip1D.MATSBondSlipMultiLinear at 0x7f058b08e8f0>"
       ]
      },
-     "execution_count": 9,
+     "execution_count": 15,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -307,29 +307,16 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "pm.mats_eval.bs_law.plot(plt, color='green')"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": null,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -340,45 +327,19 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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HTviCXLmzJmMHj16v9f8+fPTxjZq1CjeeOONrJynWpKpJHkEJLGr9YgjjshjMCIiLbWlxZdNX331FaNHjwZiLcnZs2ezbds2DjrooPg6EyZM4Le//S3r1q3j2GOPZceOHWzevJkVK1Zwxx137LfPs88+m4ceeohrrrmGt956K17f3i7Trl27UlpaSl1dHX369GnXPpopSaaSpCX53HPPxctnnHFG/mIRESkQzdckW9clPns4dOhQduzYwWOPPcbEiRPZvn07ixYtonfv3kmTVlNTE+vXr6dHjx5s376diorYsNwzZ87kvffe22/96667jssvvzxtnLt376asrKw9p9iCkmQqSW7Q2rBhQ7zcpYt6qkVEAPr3709jYyP19fXxxDRu3Dh++9vf8swzz1BbW8uMGTOYMWNGfJszzzyT+fPnM3ToUH7zm99wzDHH8K//+q9cddVVrFixgpKSkna3JGtraxk4cGDooefS0Td9Kq26W2PzOsccfvjheQ5GRKSwffOb3+Sll16Kv58wYQINDQ2MGDGCr3/962zfvj1+PbKpqYkNGzYwYMAA3n//fe666y5uu+02JkyYwMSJE7n55ptDH/fmm2+moqIi/gJ49tlnmTp1albOyxK//ItBZWWlr1y5MvOKrwJrgKDb/4UXXuDdd2PTXl599dVqSYpI3q1fv75gHz1btWoVt99+O/fdd1/GddeuXcu8efO4/fbbcxLLRRddxC9/+UuOOuqopMuT/R7N7E13r2y9rr7pU2l1TbI5QYK6WkVEWjvppJM444wzQg0mMGrUqJwlyD179jB9+vSUCbKtdE0ylRSPgAwZMiS/cYiIdBBXXXVV1CFQWlqa8aaetlCTKJWEJPnqq6/Gy+eee24EwYiISBSUJFNJSJLNI0oAdOumxreISLFQkkwlSXdreXl5/uMQEZHIKEmmEiTJN998M151/vnnRxSMiIhEQUkylSRJMhsPpoqIdGSFNFXW7t27mTlzJiNGjODUU09l06ZNANTU1DBlypSsHENJMpVW3a39+vWLJg4RkQJSSFNl3X333fTv358NGzbw05/+lBtuuAGAgQMHMmTIEF5++eUDPoaSZCoNUFVVFX87ffr0CIMRESk8EyZMiA/Xef/99zNt2jQgNlXW0qVLAbjwwgvjj4bcfffd/NM//RMAU6dOpbq6mp07d3LUUUfFx2i9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\n",
-      "text/plain": [
-       "<Figure size 504x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "fig, ax = plt.subplots(1,1,figsize=(7,4))\n",
-    "pm.hist.plot_Pw(ax,1)"
+    "pm.hist.plot_Pw(ax,0.68)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "ax = plt.axes()\n",
     "for t in np.linspace(0.,0.62,4):\n",
@@ -388,22 +349,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEGCAYAAAB/+QKOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdd3xUZf73/9c1M+m9EEIKoYUUugQIBOyyWAklKNjW1VVXZRcrCL/b3fu7i3V19VZcRVddd1UISgQRRQSRXgSkhZaEQBrpPZl+/f6YkG/EICAzOcnkej4e80jmnDOZd4ZwPudc5zrXJaSUKIqiKMrZdFoHUBRFUTonVSAURVGUdqkCoSiKorRLFQhFURSlXapAKIqiKO0yaB3AmcLDw2WfPn20jqEoitJl7N69u0JK2aO9dW5VIPr06cMPP/ygdQxFUZQuQwhx8lzrVBOToiiK0i5VIBRFUZR2qQKhKIqitEsVCEVRFKVdqkAoiqIo7XJZLyYhxHvATUCZlHJwO+ufBG5vkyMJ6CGlrBJC5AP1gA2wSilTXJVTURRFaZ8rzyA+ACada6WU8iUp5XAp5XDgaeB7KWVVm02ualmvioOiKMovMFqNLvm5LisQUsqNQNV5N3SYCXziqiyKoijuyGa3sWDdAtLeS6PJ0uT0n6/5NQghhC+OM43P2iyWwDdCiN1CiPvP8/r7hRA/CCF+KC8vd2VURVGUTqPGWMPkJZN5dvOz/Hj6R77P/97p79EZ7qS+GdhyVvNSmpSyWAgRAawVQhxpOSP5GSnlYmAxQEpKipr9SFEUt3e4/DCTl0zmeNVxAjwD+GjqR1wff73T30fzMwjgNs5qXpJSFrd8LQOygNEa5FIURel0VhxZwZh3x3C86jh9gvvw8sSXuarvVS55L00LhBAiCLgCWNFmmZ8QIuDM98BE4KA2CRVFUToHu7Tzfzf8X9KXplNvrmd87HhevPZFIv0jXfaeruzm+glwJRAuhCgE/gx4AEgp32rZbArwjZSysc1LewJZQogz+T6WUn7tqpyKoiidXZ2pjruy7mLF0RUIBHcNu4upiVNp2U+6jMsKhJRy5gVs8wGO7rBtl+UBw1yTSlEUpWs5VnmM9CXpHK44jJ+HH0+Me4KRvUZ2yHt3hovUiqIoSjtWH1/NrM9mUWuqpXdQb+aPn09UQFSHvb8qEIqiKJ2MlJIXtrzA/HXzkUhSY1KZM2YOvh6+HZpDFQhFUZROpNHcyD0r7mFZ9jIAbh9yOxnJGehEx/cpUgVCURSlk8irziN9SToHyg7gY/Dh8bGPMzpau17+qkAoiqJ0Amtz13Lrp7dSbawmOiCaBRMWEBMYo2kmVSAURVE0JKXklW2v8NS3T2GXdlKiUng89XH8PP20jqYKhKIoilaaLE38/ovf8/GBjwGYkTyDWUNmaXK9oT2qQCiKomjgZM1Jpiydwt7Te/E2eDNnzBzGxY7TOtZPqAKhKIrSwTbkbyBjWQYVTRVE+keyYPwC4oLjtI71M6pAKIqidBApJa/vfJ3H1jyGTdoYETmCJ8c9ib+nv9bR2qUKhKIoSgcwWo08uOpB/r3v3wBMS5rGHUPuQK/Ta5zs3FSBUBRFcbHCukKmLp3KruJdeOm9+OOYPzKh9wStY52XKhCKoigutPnUZqZlTqOssYwIvwgWjF9A35C+Wse6IKpAKIqiuICUkrd3v83sr2ZjtVsZGjGUp9KeItArUOtoF0wVCEVRFCczWU3M/mo27+x5B4DJCZP57bDfdurrDe1RBUJRFMWJSupLmJY5jW2F2/DUe/LwqIe5qo9rpgR1NVUgFEVRnGR74XamLp1KSUMJ4b7hzB8/nwGhA7SO9aupAqEoiuIE/9rzLx5a/RBmm5lBPQYxN20uwd7BWse6JKpAKIqiXAKzzcyjXz/Kmz+8CcCN8Tdy74h7Mei6/u7VZSNCCSHeE0KUCSEOnmP9lUKIWiHEjy2PZ9qsmySEOCqEyBFCzHNVRkVRlEtR1ljGtR9ey5s/vIlBZ2D26Nk8MPIBtygO4NoziA+AN4APf2GbTVLKm9ouEELogUXAdUAhsEsIsVJKme2qoIqiKBdrd/Fu0pemU1hXSKhPKE+Pf5qEsAStYzmVy84gpJQbgapf8dLRQI6UMk9KaQaWAJOdGk5RFOUS/Gfffxj//ngK6wpJDEvklYmvuF1xABcWiAs0VgixTwjxlRBiUMuyaKCgzTaFLcvaJYS4XwjxgxDih/LycldmVRSlm7ParTy25jHu+vwujFYjE/tNZOHVCwn1CdU6mkto2VC2B4iTUjYIIW4APgfiAdHOtvJcP0RKuRhYDJCSknLO7RRFUS5FRVMFt356K+tPrMegM3D/ZfczacAkrWO5lGYFQkpZ1+b71UKIN4UQ4TjOGGLbbBoDFHd0PkVRlDP2nd5H+tJ08mvyCfYOZl7aPJJ7JGsdy+U0KxBCiEigVEophRCjcTR3VQI1QLwQoi9QBNwGzNIqp6Io3duSg0v43Yrf0WxtJj40nqfHP024b7jWsTqEywqEEOIT4EogXAhRCPwZ8ACQUr4FTAf+IISwAs3AbVJKCViFEI8AawA98J6U8pCrciqKorTHZrcxf918Xtz6IgDX9L2GP6T8AU+9p8bJOo7LCoSUcuZ51r+Boxtse+tWA6tdkUtRFOV8qpurmfnZTNbkrkEndNw34j5ujL8RIdq7ROq+3ONuDkVRFCc5WHaQ9CXp5FbnEugVyNxxcxnSc4jWsTShCoSiKEqL5YeXc1fWXTRaGukX0o/54+cT4RehdSzNqAKhKEq3Z5d2nvnuGRZuWgjAFXFX8MioR/AyeGmcTFuqQCiK0q3VGmu5ffntfHn8S3RCx2+H/ZbJCZO73fWG9qgCoShKt3Wk4giTl0zmWOUxAjwDeHLckwyPHK51rE5DFQhFUbqlL45+we3Lb6feXE9cUBwLJiwg0j9S61idiioQiqJ0K3ZpZ+HGhTyzwTHDQFpsGn8c/Ud8PHw0Ttb5qAKhKEq3UW+q5+7P7ybrSBYCwV3D7mJq4lR1veEcVIFQFKVbyKnKYfKSyWSXZ+Pn4ccTY59gZNRIrWM5hWMQCufTerhvRVEUl/s652tGvTOK7PJsYgNjeXniy25THNbkriFjWQZWu9XpP1udQSiK4raklLyw5QXmr5uPRJIancqc1Dn4evhqHe2SWe1W3t3zLqtzHKMSrTq2ivTEdKe+hyoQiqK4pUZzI79b+TsyD2UCMGvwLGYMmoFOdP2Gk1pjLc9veZ5D5YfQCz0vT3zZ6cUBVIFQFMUN5VXnkb4knQNlB/Ax+PDY2McYEz1G61hOkVedx7ObnqWsqQx/T38ykjK4dfCtLnkvVSAURXEr3+Z9y62f3kpVcxXRAdEsmLCAmMAYrWM5xeZTm3ltx2uYbCaiAqLISMogwCvAZe+nCoSiKG5BSskr217hqW+fwi7tpESl8Hjq4/h5+mkd7ZLZpZ2PD3xMZrajuWxIxBBujL8Rg861u3BVIBRF6fKaLE38/ovf8/GBjwGYkTyDWUNmucX1hiZLE69se4WdxTsRCK7tdy2jo0Z3yL0bqkAoitKlnaw5yZSlU9h7ei/eBm/mjJnDuNhxWsdyiuL6YhZuWkhBXQHeBm+mJk6lX0i/Dnt/VSAURemyNuRvIGNZBhVNFUT6RbJgwgLiguO0juUUe0v28uLWF2m0NBLuG86M5BmE+oR2aAZVIBRF6XKklCzatYg5X8/BJm2MiBzBE2OfcOkF244ipWTlsZW8v/d97NgZGDaQyQMnazI3hSoQiqJ0KUarkYe+fIj3f3wfgKmJU7lz6J3odXqNk106s83Mol2L+C7/OwDGx47nirgrNBsrymUFQgjxHnATUCalHNzO+tuBuS1PG4A/SCn3tazLB+oBG2CVUqa4KqeiKF1HYV0h0zKnsbNoJ156L2aPns3lcZdrHcspKpsqeW7zcxyrOoaHzoNbBt5CUo8kTTO58gziA+AN4MNzrD8BXCGlrBZCXA8sBtreyXKVlLLChfkURelCtpzawrTMaZQ2lhLhG8H8CfM79IKtKx2pOMJzm5+j2lhNkFcQM5Jn0NO/p9axXFcgpJQbhRB9fmH91jZPtwPucSeLoihO9/YPbzP7q9lY7BaGRgzlqbSnCPQK1DqWU6zLW8eiHxZhtVuJC4pjauLUTnPvRme5BnEv8FWb5xL4RgghgbellIvP9UIhxP3A/QC9e/d2aUhFUTqWyWrij1/9kcV7HLuAyQmT+e2w37rF9Qab3cZ7P77HF8e+ACClVwrX9buuU/1umhcIIcRVOArE+DaL06SUxUKICGCtEOKIlHJje69vKR6LAVJSUlwzKLqiKB2upL6E6cums7VgK556Tx5OeZir+l6ldSynqDfV8+LWF9lXug+d0DGp/yQu63WZ1rF+RtMCIYQYCrwLXC+lrDyzXEpZ3PK1TAiRBYwG2i0QiqK4nx2FO5iaOZXi+mLCfcKZP2E+A0IHaB3LKU7WnGThpoWcbjyNn4cf05Km0Tuoc7Z+aFYghBC9geXAnVLKY22W+wE6KWV9y/cTgf/RKKaiKB3s/b3v8+CXD2K2mRnUYxBz0+YS7B2sdSyn2F64nVe2v4LRaiTSP5KM5AyCvIK0jnVOruzm+glwJRAuhCgE/gx4AEgp3wKeAcKAN1v6+J7pztoTyGpZZgA+llJ+7aqciqJ0DhabhUfXPMqiXYsAuCH+Bu4bcZ/LB6TrCHZpJ/NQJh8fdIwVNajHIG6KvwkPvYfGyX6ZK3sxzTzP+vuA+9pZngcMc1UuRVE6n7LGMjKWZbDx5EYMOgMPjnyQif0nah3LKZotzby641W2FW5DILi679WkRqdqdvPbxej6pVlRlC5td/FupiydQkFdAaHeocwbP4/E8EStYznF6YbTLNy0kJO1J/HSezElcUqXupaiCoSiKJr5z77/cP+q+zFajSSEJfD0+Kc7fEA6V9lXuo8Xt7xIvbmeMJ8wZiTPIMw3TOtYF0UVCEVROpzVbuWptU/xj+3/AGBiv4k8MPKBTt8mfyGklHx5/Eve3fsudmlnQMgA0hPT8TZ4ax3toqkCoShKh6poquDWT29l/Yn16IWeB0Y+wKQBk7SO5RQWm4W3dr/F2ry1AIyLGceVfa7sshMXqQKhKEqH2Xd6H+lL08mvySfYO5h5afNI7pGsdSynqG6u5rnNz3Gk8ggGnYGb4m9icMTPxintUlSBUBSlQyw9uJR7VtxDs7WZ+NB4nh7/NOG+4VrHcorjVcd5dtOzVDZXEuAZwIxBM+jl30vrWJdMFQhFUVzKZrcxf918Xtz6IgBX97mah0Y9hKfeU+NkzvFd/ncs2rUIs81MbGAs05Km4e/pr3Usp1AFQlEUl6lurmbmZzNZk7sGndBx34j7uDH+xi5xD8D52Ow2Ptz/IVlHsgAYETmCSf0ndarB9i6VKhCKorjEobJDTF4ymdzqXAK9Apk7bi5Deg7ROpZTNJgb+Pu2v7OnZA86oeM3/X7DyKiRWsdyOlUgFEVxuqzDWdyZdSeNlkb6hfRj/vj5RPhFaB3LKQrrCvnbpr9RXF+Mr4cv0xKnERccp3Usl1AFQlEUp7FLO3/Z8Bf+uvGvAFwRdwWPjHoEL4OXxsmcY1fRLl7e/jJNliZ6+vUkIznDbQYSbI8qEIqiOEWtsZY7su5g1bFV6ISOu4fdTXpCultcb5BS8unhT/nv/v8ikSSFJ3HzwJvd5kL7uagCoSjKJTtScYT0JekcrTxKgGcAT4x7ghGRI7SO5RRGq5HXd77OplObALgy7krSYtPcovCdjyoQiqJcki+OfsHty2+n3lxPXFAcCyYsINI/UutYTlHeWM7fNv2NEzUn8NR7kp6QzsCwgVrH6jCqQCiK8qvYpZ2FGxfyzIZnAEiLTeNPY/7UJcccas/BsoO8sOUFak21hHiHMCN5Bj38emgdq0OpAqEoykWrN9Vz9+d3k3UkC4HgzqF3Mi1pmts0u3yV8xWLdy/GJm30De7L1MSp+Hj4aB2rw6kCoSjKRcmpymHykslkl2fj5+HHE2OfcJt7ACw2C+/seYevcx2TWI6JHsM1fa/psoPtXSpVIBRFuWBf53zNzM9mUmOsITYwlgUTFhAVEKV1LKeoMdbw/JbnyS7PRi/03Bh/I0N7DtU6lqZUgVAU5byklLyw5QXmr5uPRJIancqc1Dn4evhqHc0p8qrzWLhpIeVN5fh7+pORnEF0QLTWsTTnsgIhhHgPuAkok1L+bMxb4WisfA24AWgCfiul3NOyblLLOj3wrpTyeVflVBTllzWaG/ndyt+ReSgTgFmDZzFj0Ay3aXbZfGozr+54FbPNTHRANNOTphPgFaB1rE7BlWcQHwBvAB+eY/31QHzLYwzwT2CMEEIPLAKuAwqBXUKIlVLKbBdmVRSlHSeqT5C+NJ39pfvxMfjw2NjHGBM9RutYTmGXdj4+8DGZ2Y7CN7TnUG4YcAMGnWpYOcNln4SUcqMQos8vbDIZ+FBKKYHtQohgIUQvoA+QI6XMAxBCLGnZVhUIRelA6/LWMePTGVQ1VxEVEMWC8QuIDYrVOpZTNFmaeGXbK+ws3olAcG2/axkdNdptemE5i5alMhooaPO8sGVZe8vPecgihLgfuB+gd+/ezk+pKN2MlJJ/bP8HT659Eru0kxKVwmOpj7nNHAfF9cUs3LSQgroCvA3eTE2cSr+QflrH6pS0LBDtlWr5C8vbJaVcDCwGSElJOed2iqKcX7Olmd9/8Xs+OvARADOSZzBryCy3ud6wp2QPL219iUZLIz18e5CRnEGoT6jWsTotLQtEIdD2fDUGKAY8z7FcURQXOlV7iilLp7CnZA/eBm/mjJnDuNhxWsdyCiklnx/9nH//+G/s2EkIS+CWgbe4zSizrqJlgVgJPNJyjWEMUCulLBFClAPxQoi+QBFwGzBLw5yK4va+z/+ejGUZlDeVE+kXyYIJC9xmjgOT1cSiXYvYcHIDABN6T+Dy3per6w0XwJXdXD8BrgTChRCFwJ8BDwAp5VvAahxdXHNwdHO9p2WdVQjxCLAGRzfX96SUh1yVU1G6Mykli3YtYs7Xc7BJGyMiR/DE2CfcpptnRVMFz25+lpyqHDx0HtyScAtJ4Ulax+oyXNmLaeZ51kvg4XOsW42jgCiK4iJGq5GHvnyI9398H4BpSdO4Y8gdbjOn8uGKwzy3+TlqjDUEeQUxY9AMevr11DpWl6I6/CpKN1RUV8TUzKnsLNqJl96L2aNnc3nc5VrHcpq1eWv55w//xGq3EhcUx7SkaW5z13dHUgVCUbqZLae2MC1zGqWNpUT4RjB/wny36eZptVt5b+97rDq+CoBRUaO4tu+1bnNW1NFUgVCUbuTtH95m9lezsdgtDIkYwty0uQR6BWodyynqTHW8uOVF9pftRyd0XD/gereZ1U4rF1QghBDewEPAeBz3JGwG/imlNLowm6IoTmK2mZm9ejaL9ywG4JaBt3DP8Hvc5sg6vyafhZsWUtpYip+HH9OTpxMb6B53fWvpQs8gPgTqgddbns8E/gNkuCKUoijOU1JfwvRl09lasBUPnQcPj3qYq/terXUsp9lasJVXd7yK0Wqkl38vMpIz3OasSGsXWiASpJTD2jz/TgixzxWBFEVxnh2FO5iaOZXi+mLCfcJ5esLTxIfGax3LKezSzpKDS1hyaAkAgyMGc+OAG/HQe2iczH1caIHYK4RIlVJuBxBCjAG2uC6WoiiX6v297/Pglw9itplJ7pHM3LS5hHiHaB3LKZosTby641W2F25HILi679WkRqeqm9+c7EILxBjgLiHEqZbnvYHDQogDOG5p6N7TLilKJ2KxWXhszWO8sesNAG4YcAP3jrjXbY6sTzecZuGmhZysPYmX3oupiVPpH9pf61iaOVh2kAe+eICs27KcPmbWhRaISU59V0VRXKKssYyMZRlsPLkRg87AgyMfZGL/iVrHcpp9p/fx4tYXqTfXE+YTxozkGYT5hmkdSxN2aWdD/ga2Fm4FYMWRFUxJmuLU9/jFAiGECJRS1uG4QP0zUsoqp6ZRFOVX2128mylLp1BQV0Codyjzxs8jMTxR61hOIaVk1fFV/Gvvv7BLOwNCB5CekI63wVvraJowWo18fvRzcqpyEAieueIZ0hPTnf4+5zuD+BjHtKG7+flQ3BJwj7trFKWL+2j/R9z3xX0YrUYSwxKZN36e2wxjbbFZePOHN1l3Yh0A42LHcWXclW4zBPnFqmyqJDM7k8rmSjz1noyLGcedQ+90yfWXXywQUsqbWr72dfo7K4pyyax2K3PXzuWV7a8AMLHfRB4Y+YDbXG+oaq7iuc3PcbTyKAadgZsH3sygHoO0jqWZ3Kpclh9ZjslmIsgriLTYNJdO5HS+JqbLfmm9lHKPc+MoinKhKpsqufXTW1l3Yh16oef+kfczqf8kt+nJc6zyGM9ufpaq5ioCvQKZkTyDSP9IrWNpQkrJ9qLtrD+xHokkOiCa0dGj8dC59kDgfE1ML7ezrO2sbe5zt42idCH7Tu8jfWk6+TX5BHsHMy9tHsk9krWO5TTrT6xn0a5FWOwWYgNjmZ40HT9PP61jacJis/BlzpccLDsIQHJ4MoN6DOqQA4HzNTFdBSCEmAF8LaWsE0L8H+Ay4K8uT6coys8sPbiUe1bcQ7O1mQGhA5g/fj7hvuFax3IKm93GB/s+YMXRFQBcFnkZv+n/G7cZEuRi1Znq+DT7U4obijHoDIyOGk1MYEyHvf+FdnP9/6SUmUKI8cB1OM4s/onj/ghFUTqAzW5jwfoFvLDlBQCu7nM1D416CE+9p8bJnKPB3MBLW19i7+m96ISO3/T/DSN7jdQ6lmYK6wpZlr2MRksjfh5+pMWmEewd3KEZLrRA2Fq+3gi8JaVcIYT4i2siKYpyturmamZ+NpM1uWvQCR33jbiPG+NvdJvrDadqT7Fw00JKGkrw9fBlWtI04oLcY8rTX2Nf6T5WH1+NTdro4duDcTHjNJk/+0ILRJEQ4m3gWuAFIYQX0D37mClKBztUdojJSyaTW51LoFcgc8fNZUjPIVrHcpqdRTt5edvLNFub6enXk4zkjA4/Uu4s7NLOt3nfsrN4JwADQgYwPHK4Zl16L7RAzMBxN/XfpZQ1QohewJOui6UoCsDyw8u5K+suGi2N9Avpx/zx84nwi9A6llNIKVmWvYyPDnyERJIcnsxNA29ymyazi9VsaWb5keWcqDmBTugYETmC/iHaDiFyQQVCStkELG/zvAQoOd/rhBCTgNcAPfCulPL5s9Y/CdzeJksS0ENKWSWEyMdxB7cNsEopUy4kq6K4A7u085cNf+GvGx19QS7vfTmzR8/WpJnBFYxWI6/teI0tBVsQCK7qcxXjYsa5TZPZxSpvLCczO5NqYzVeei/GxY6jh28PrWO5bkY5IYQeWITjonYhsEsIsVJKmX1mGynlS8BLLdvfDDx61vAdV0kpK1yVUVE6o1pjLXdk3cGqY6vQCR13D7ub9IR0t9l5ljWWsXDTQk7UnMBT78mUhCnEh7nHEOS/xtHKo6w4ugKzzUywdzBpsWn4eXSOLr2unHJ0NJAjpcwDEEIsASYD2efYfibwiQvzKEqnd6TiCOlL0jlaeRR/T3+eHPskI3q5z7SZB8sO8vyW56kz1RHiHcKtg251my66F0tKyeaCzXx/8nsAYgNjGRU1CoOu88wE7cok0UBBm+eFnKNbrBDCF8c1jkfaLJbAN0IICbwtpVx8jtfeD9wP0Lt3byfEVhRtfHH0C25ffjv15nriguKYP34+vQJ6aR3LaVYfX807e97BJm30C+nHlIQp+Hj4aB1LE2abmS+OfcHhisMADIkYQmJYYqc7S3RlgWjvN5XtLAO4GdhyVvNSmpSyWAgRAawVQhyRUm782Q90FI7FACkpKef6+YrSadmlnYUbF/LMhmcAx2B0fxr9J7fZeVpsFt7Z8w5f534NQGp0Klf3vbrbDrZXY6xhWfYyShtLMegMpEanEhUQpXWsdrmyQBQCbWcNjwGKz7HtbZzVvCSlLG75WiaEyMLRZPWzAqEoXVm9qZ67P7+brCNZCAR3DL2D6UnTO92R5K9VY6zh+c3Pk12RjV7ouWngTQyJcJ8uuhfrZO1JPjv8GU2WJvw9/RkfO75Tz5/tygKxC4gXQvQFinAUgVlnbySECAKuAO5os8wP0Ekp61u+nwj8jwuzKkqHO155nPSl6WSXZ+Pn4ccTY59gZJT73DmcW5XLws0LqWiqIMAzgIzkjE57pNwRdpfsZk3uGuzSTk+/noyNGdvpu/S6rEBIKa1CiEeANTi6ub4npTwkhHiwZf1bLZtOAb6RUja2eXlPIKvlKMoAfCyl/NpVWRWlo311/CtmfjaTWlMtsYGxLJiwwK12nhtPbuT/7fx/mG1mYgJimJY8jQDPAK1jacJmt7Emdw17TjsGvx4YOpChPYd2iSY2l14ul1KuBlafteyts55/AHxw1rI8YJgrsymKFqSUvLDlBeavm49EMiZ6DI+mPoqvh6/W0ZzCZrfx3wP/5bPDnwEwrOcwrh9wfafqmdORGs2NfHb4M07VnUIndKT0SqFPcB+tY12w7vmvpigaaDQ38ruVvyPzUCYAswbPYsagGV3iSPJCNJobeXnby/xQ8gMCwXX9rmNU1Ci3uZ5ysUobSsnMzqTWVIu3wZu0mLQuN3+2KhCK0gFOVJ8gfWk6+0v342Pw4bGxjzEm2n0GQy6qK+Jvm/5GUX0RPgYfpiZNpW9w952I8nD5YVYeW4nFbiHUO5S02LQu2StNFQhFcbF1eeuY8ekMqpqriAqIYsH4BcQGxZ7/hV3E7uLdvLTtJZosTUT4RpCRnEGIT4jWsTQhpeT7k9+zuWAzAHFBcaT0Sumy81moAqEoLiKl5NXtr/LE2iewSzspvVJ4bOxjLp1DuCNJKck6ksW/9/0biSQhLIHJCZM7fc8cVzFZTaw4toJjlccQCIb2HMrA0IFduolNFQhFcYFmSzO//+L3fHTgIwAykjOYNXhWlz2SPJvJauKNXW+0DhNxee/LmdB7QpfeGV6KquYqlmUvo7ypHA+dB2NjxrrF/NmqQCiKk52qPcWUpVPYU7IHb4M3f3kiTSUAACAASURBVBrzJ9Ji07SO5TTljeU8t/k5cqpz8NB5MDlhMonhiVrH0kxedR7LjyzHaDUS6BlIWmwaAV7u0aVXFQhFcaLv878nY1kG5U3lRPpFMn/C/C7VrfF8ssuzeX7L89QYawj2DmZG8gy3mZ/iYkkp2VW8i7V5a5FIevn3IjU6FQ+9h9bRnEYVCEVxAikli3Yt4tE1j2K1WxneczhPjnvSbY4kAb7J/Ya3dr+F1W6lT3AfpiZOdZv7Ny6W1W7lq5yv2Fe6D4Ck8CQG9xjsdk1sqkAoyiUyWo089OVDvP/j+wBMSZzCXUPvcpvrDVa7lXf3vsvq4457XkdHjebafte6zf0bF6veXM+n2Z9SVF+EXugZFTWK3kHuOZK0KhCKcgmK6oqYmjmVnUU78dJ78cjoR7gi7gqtYzlNnamOF7a8wIGyA+iFnusHXM/wyOFax9JMcX0xy7KXUW+ux9fgS1psmlt36VUFQlF+pS2ntjAtcxqljaVE+EYwf8J8+oX00zqW05yoPsHCzQspayzD39Of6UnTiQmM0TqWZg6UHWDVsVXYpI1wn3DGxY7D2+CtdSyXUgVCUX6Ft394m9lfzcZitzAkYghz0+Z26mGbL9bWgq38Y/s/MNlMRPlHMT15ulv9fhfDLu18l/8d2wq3AdAvuB8jeo1AL9yjCfGXqAKhKBfBbDMze/VsFu9xTHB4y8BbuGf4PW5zvcEu7Xxy8BOWHloKOGY6uzH+xm472J7RaiTrSBa51bkIBCMiR9A/pL/bXYw+l+75r64ov0JJfQnTl01na8FWPHQePDzqYa7ue7XWsZymydLEP7b/gx1FOxAIrul7DWOix3SbneHZKpsqWZq9lKrmKjz1noyLGdftuvSqAqEoF2BH4Q6mZk6luL6YcJ9wnh7/NPFh8VrHcpqS+hL+tulvFNQV4G3wZkriFPqH9Nc6lmZyqnLIOpKFyWYiyCuI8bHj8fP00zpWh1MFQlHO4/297/Pglw9itplJ7pHM3LS5hHi7T8+Vvaf38tLWl2gwNxDuE86MQTMI9QnVOpYmpJRsK9zG+vz1AMQExDAqehQeOve5+e1iqAKhKOdgsVl4bM1jvLHrDQBuiL+Be4ff6zZ3ykopWXlsJe//+D52aSc+NJ70hHS8DF5aR9OExWZh1fFVHCo/BMCgHoNIDk/utk1soAqEorSrrLGMGctm8P3J7zHoDDw48kEm9p+odSynMdvMvLnrzdYj5bTYNK6Mu7Lb7gzrTHUsy15GSUMJBp2BMVFjiA6M1jqW5lSBUJSz7C7ezZSlUyioKyDUJ5R5afPcajC6yuZKntv8HMcqj+Gh8+DmgTeT3CNZ61iaKagr4NPsT2m0NOLn4cf42PEEeQdpHatTcOm98kKISUKIo0KIHCHEvHbWXymEqBVC/NjyeOZCX6sorvDf/f9l/PvjKagrIDEskZcnvuxWxeFo5VEeX/M4xyqPEegVyN3D7u7WxeHH0z/y3/3/pdHSSIRvBNf2vVYVhzZcdgYhhNADi4DrgEJglxBipZQy+6xNN0kpb/qVr1UUp7DarcxdO5dXtr8CwMR+E3lg5ANuc70BYN2JdSzatQir3UrvwN5MS5rWLXvmgON+j7V5a9lVvAuA+NB4hvUc1m3HlzoXVzYxjQZypJR5AEKIJcBk4EJ28pfyWkW5KJVNldz66a2sO7EOvdBz/8j7mdR/ktu0x9vsNj7Y9wErjq4AYGSvkUzsN9Ftbu67WE2WJpYfXk5+bT46oeOyyMvcaogUZ3JlgYgGCto8LwTam6V9rBBiH1AMPCGlPHQRr0UIcT9wP0Dv3u45oqLiOvtL95O+JJ0TNScI9gpmbtpcBkUM0jqW09Sb6nlp60v8WPojOqHjN/1/w8heI7WOpZmyxjIyszOpMdbgrfdmXOw4wn3DtY7VabmyQLR3+CXPer4HiJNSNgghbgA+B+Iv8LWOhVIuBhYDpKSktLuNorQn81Am96y4hyZLEwNCB/B02tP08OuhdSynOVV7ir9t+hunG07j6+HL9KTpbjss9YU4WnGUFcdWYLaZCfEOIS02rdvOZ3GhXFkgCoHYNs9jcJwltJJS1rX5frUQ4k0hRPiFvFZRfi2b3caC9Qt4YcsLAFzV5yoeSnnIrfr/7yjawcvbXsZoNRLpF0lGcka3vfgqpWRzwebW+bN7B/YmJSql244vdTFc+QntAuKFEH2BIuA2YFbbDYQQkUCplFIKIUbj6FVVCdSc77WK8mtUN1cz87OZrMldg07ouHfEvdwUf5PbXG+QUpKZnclHBz4CIDk8mZsH3uxWF9svhtlmZuXRlRypPALA0IihJIQluM2/t6u5rEBIKa1CiEeANYAeeE9KeUgI8WDL+reA6cAfhBBWoBm4TUopgXZf66qsSvdwqOwQk5dMJrc6l0CvQJ4a9xRDew7VOpbTGK1GXt3xKlsLtiIQXNnnSsbFjOu2O8MaYw2Z2ZmUNZbhofMgNTqVXgG9tI7Vpbj0HEtKuRpYfdayt9p8/wbwxoW+VlF+razDWdyZdSeNlkb6hfRj/vj5bjUyZ2lDKQs3LyS/Jh8vvRfpienEh7rPYIIXK78mn88Of0aztZkAzwDSYtO67XwWl0I1wiluzS7t/GXDX/jrxr8CcHnvy5k9erZbXW84UHqA57c8T725nlCfUGYkz+i2PXOklOwu2c03ed9gl3Yi/SJJjUnFU++pdbQuSRUIxW3VGmu5I+sOVh1bhU7ouHvY3aQnpLtNk4uUktU5q3lnzzvYpZ3+If2ZkjjF7afBPBeb3cbXuV+z9/ReABLCEhgSMUTd/HYJVIFQ3NLRiqNMXjKZo5VH8ff058lxTzIicoTWsZzGYrPw9u63+SbvGwBSo1O5uu/V3XZn2Ghu5NPDn1JQV4BO6BjVaxRxwXFax+ryVIFQ3M6qY6u4ffnt1JnqiAuKY8GEBUT6R2ody2mqjdU8v/l5DlccxqAzcGP8jQyJGKJ1LM2cbjhNZnYmdaY6fAw+pMWmddv5LJxNFQjFbdilnWc3Pcsz3z2DRDIudhx/Gv0nfDx8tI7mNDlVOTy76VkqmisI8AwgIzmDqIAorWNp5lD5Ib449gVWu5UwnzDGxYxzq39vrakCobiFelM9v13xW5YfXo5AcMeQO8hIznCb6w0A35/8ntd3vo7ZZiYmMIbpSdPx9/TXOpYmpJRsOLmBLQVbAOgT3IeRkSO77fhSrqIKhNLl5VTlkL4knUPlh/Dz8OPxsY+TEpWidSynsdlt/Gf/f1h+ZDkAwyOHM6n/pG57J7DJauLzo59zvOo4AsGwnsOID413q4OBzqJ7/oUpbuPrnK+Z+dlMaow1xAbGMn/8fLeaCazB3MDft/2dPSV7EAgm9p9ISq+UbrszrGquIvNQJhXNFXjqPRkbPZae/j21juW2VIFQuiQpJS9ueZGn1z2NRDImegyPpj7qVoOvFdQWsHDzQorri/Ex+DAtaRp9gvtoHUszudW5ZB3OwmgzEugVyPjY8d22ia2jqAKhdDkN5gbuXXkvmYcyAZg5eCa3DrrVrbp47iraxd+3/Z1mazMRfhHMSJ5BsHew1rE0IaVke9F21p9Yj0QSHRDN6KjR3XZ8qY6kCoTSpeRU5TBl6RQOlh3Ex+DDo6mPkhqTqnUsp5FSsix7GR8d+AiJJCk8iZsH3txt7wS22Cx8efxLDpYfBGBQj0Ekhyd32ya2jqYKhNJlfHnsS25ffju1plpiAmOYP34+MYExWsdymiZLE6/teI1thdscg+3FXUlabFq33RnWGmv59PCnlDSUYNAZGB012q3+vbsCVSCUTs8u7SzcuJA/b/gzEklqdCpzUue41fWG4vpiFm5aSEFdgWOwvYR04sO692B7yw8vp8nahJ+HH+Njx3fb+Sy0pAqE0qnVmeq4K+suVhxd0Xp/w/Tk6e51vaF4Fy9ve5kmSxPhvuFkJGUQ5humdSxNSCnZUbSDdSfWIZFE+kUyJmYMXnr3GVyxK1EFQum0DpQeYGrmVHKqcvDz8OOJsU8wMsp95lO2SzuZhzL55OAnSCSJYYncPPBmtxpp9mJYbBZWHV/FoXLH1C+JYYkMjhjsVgcDXY0qEEqn9O8f/80fvvwDzdZm+gT34em0p91qspcGcwOv7niVnUU71fUGHDP9LTu8jLLGMnW9oRNRBULpVIxWI3/66k8s3rMYgGv6XsODIx90q6PqvOo8nt/yPKcbTuNt8CY9IZ0BoQO0jqWZ41XHWXFkBUabEX9Pf9Ji0tT1hk5CFQil0zhRfYLpy6azp2QPHjoPHhj5ANf1u86tjqq/zfuWt3a/hdlmpqdfT6YlTeu2I4/apZ3vT37fOp5SlH8Uo6NHd9suvZ2RKhBKp7Dy6Eru/vxuaow19PTryby0efQP7a91LKcxWU0s3rOYtXlrAcd4Sr/p95tue7NXg7mBrCNZnKw9iUAwOGIwiWGJbnUw4A5UgVA0ZbKamPftPF7d8SoAo6NGMyd1jlsNoVBSX8LzW57nRM0JDDoDk/pPYnjkcK1jaeZU7SmWH1lOg7kBb703qTGpbjU/uDtxaYEQQkwCXgP0wLtSyufPWn87MLflaQPwBynlvpZ1+UA9YAOsUkr3GZ5TAeB45XFu++w29pTsQS/03Dn0TtIT092q18rmU5t5fefrNFubCfEOYVrSNLeavOhiSCnZVriN7/K/QyLp4duD1OhUNX/DJTJZTazNW+uSM26XFQghhB5YBFwHFAK7hBArpZTZbTY7AVwhpawWQlwPLAbGtFl/lZSywlUZFe38d/9/+cOXf6DB3ECEXwRPjnuShLAErWM5jclq4p0977ROCZoYlshNA2/qtvNFN5gbWHl0JXk1eYDqwuospY2l7CzayZc5X5ISleL0Ye5deQYxGsiRUuYBCCGWAJOB1gIhpdzaZvvtgOrX5uYazA08vPphPtz3IQATek/goZSH8PP00ziZ8+TX5PPS1pcoqCtAL/Rc1+86RvYa2W3b13Orcll5bCWNlkY89Z6MjhrdrWfBcwa7tHOw7CBHKo8AMLzncMJ9w53+Pq4sENFAQZvnhfz07OBs9wJftXkugW+EEBJ4W0q5uL0XCSHuB+4H6N279yUFVlxrW8E27sy6k9zqXLz0Xvz+st+7VS8lKSVf5XzFv/b+C4vdQrhPOFOSptDTr3vOV2C1W/ku/zt2FO0AIMI3gtHRo91qiBQtNJgb2F64nSpjFQCxgbH865Z/uWQoeFcWiPb+18t2NxTiKhwFYnybxWlSymIhRASwVghxREq58Wc/0FE4FgOkpKS0+/MVbZltZv6y4S+8sOUF7NJOpH8k88fPd6u5DWqNtby+63V2Fu0EYETkCK7rd1237bJZ2VRJ1tEsTjecbu2llBCWoJqULlF+TT57Tu/BarfipfdiYNhAgryCXDa7oCsLRCEQ2+Z5DFB89kZCiKHAu8D1UsrKM8ullMUtX8uEEFk4mqx+ViCUzm1/6X7uyrqLfaX7EAimJU1j1uBZbtW9c1vhNt7c9Sa1ploEgimJU0jukax1LE1IKdldsptvT3yL1W7Fz8OP1OjUbju2lLOYbCb2lOyhoM7RKBPuE86A0AEun3bWlT99FxAvhOgLFAG3AbPabiCE6A0sB+6UUh5rs9wP0Ekp61u+nwj8jwuzKk5ms9v4+9a/83+++z9Y7BYi/SOZM2aOW+04G8wNLN69mA0nNwAQFxTHzQNv7rYT+9QYa1h1bBX5tfmAuvHNWYrqi/ih+AdMNhMAA0IG0NOvZ4c0zbqsQEgprUKIR4A1OLq5vielPCSEeLBl/VvAM0AY8GbLL3umO2tPIKtlmQH4WEr5tauyKs51sOwgGcsyOFLhuIA2acAk7hl2j1t1Z9xdvJvXd71OVXMVBp2Ba/pe023nipZSsuf0HtadWIfZZsZL78VlvS4jNjD2/C9WzslkM7H39F5O1Z4CINArkPiQ+A79f+TS8xMp5Wpg9VnL3mrz/X3Afe28Lg8Y5spsivM1WZr46/d/5e/b/o7VbsXH4MNTaU8xspf7jMBaZ6rjX3v/xXf53wEQExDDLQm3dNvhMmqNtaw6vooTNScAx+dxWa/Lum13Xmdpe9agEzriguKI8o/q8AMQdSe14hRrctbw0OqHyKvOQyC4YcAN3Dn0Trfpviql5PuT3/P27rdptDQCcHWfq0mNSe2WF17t0s7Wgq1sOrUJm7ThqfdkZORIYoPUWcOlaLY280PxD5Q0lAAQ6BlIfGjHnjW0pQqEcklKG0p5dM2jfHLwE8DRDv/wqIdJDE/UOJnzFNYV8tYPb7G/bD/g6FZ4/YDru+3wEIV1hXyV8xWljaUARPhFkBqdqs4aLoFd2smpyuFg+UGsdisAfYP7anLW0JYqEMqvYrQaeW37a8xbNw8AL70Xtw2+jckJk13es6KjmKwmPj38KZ8d/qy1yeyavtcwrOewbnmtocnSxPoT6/mx9EcAfD18GRE5guiAaI2TdW0VTRXsKdlDjakGgBDvEPqF9MPHoP01O/f4n6x0GCklSw8tZd638zhZexKA5PBk5qTOcZsxhqSUrD+xno8OfkRFk2Okl2E9h3FN32u65U1edmlnb8leNpzcQLO1GZ3QkRCWQFJ4ktscDGjBaDWyv3R/a68vL70X/UL6Eeod2mkOQNS/rnLBtpzawuPfPN56Z2xcUBy/G/47RvQaoXEy5zlUdogP9n3A0cqjAAR4BjAlcQq9g7rfXfpSSo5XHeernK+oN9cDjuakyyIvI9ArUON0XZfFbuFY5bHWqVUFgpjAGGICYtDr9Bqn+ylVIJTz2l28m7nfzmXdiXWA4xT49iG3c03fazrdH/Svdar2FB/u+5CdxY47of08/Li89+UMjxzuNr/jxThVe4r1+esprCsEHM1JyeHJ9A3u22mObrsam91GbnUuhysOt97TEOAZwMDQgZ22C7gqEMo5bSvYxsJNC/ny+Jety24bdBtTEqd02j/oi3Wq9hRZR7L4Lv877NKOh86DsTFjSY1J7ZY3eJU1lvFd/nccrzoOOJo9ksKT6B/Sv1sWSmewSzunak9xsPwgTZYmwFEY4oLiOv1NlapAKD8hpWTdiXUs3LSQDfkbAMdOYtKASaQnpLvNkAm5VbksP7KcTac2tS4b2WskE3pPcKvJii6ElJLCukLW569vHcrBoDMwMHQgCWEJbjUsSkey2W3k1eRxpOIIzdZmAHwNvsQFx3Wq6wy/RBUIBYBGcyPv//g+b+x8o7X93c/Djxvjb+TmgTe7xSTyUkp+LP2R5YeXs690HwA6oWNwj8HdclYzu7RztOIo24u2U1RfBDg+j5jAGIb3HK66rf5KRquR3OpccqpyWpuS9EJP/5D+9PDt0SUKwxmqQHRzu4t3886ed/j4wMetFyIFgjuG3sENA25wixvdGswNrD6+mk2nNrX2vPLUezIicgSjo0cT5NX1i9/FaLI0cbDsIDuLd1JjdHSt9NR70j+kPwNCB3SK7pVdUa2xlmNVxzhZexK7tAOOg6zogGjCfcO75A2VqkB0QyX1JXx04CM+PvAxe0/vbV2eGJbIxP4TmdB7Al4GLw0TXjqb3ca+0n2sP7Ge7UXbMdvMgKP4XRF3BSN7jXSb6ygX4swF0gNlBzhccbh1uZ+HHwPDBtI3uK/qsvorGK1GTtWeIrc6t/UACyDUO5SogCiCvIK61BnD2dRfRDdxrPIYnx/5nM+PfM62wm2tywM8A7iqz1VM7D+xy3fllFJyqPwQu4p3sfHkRiqbW0ePp09QH4b2HEpSeFK3aVOXUlJUX8TBsoMcKj/U2g4Ojsl7egf1pk9wny55ZKslq91KUX0RJ2tOUtpYimyZ5kYv9AR7BxMXFOc298uoAuGmGs2NrDuxjnV561ibt/YnR40eOg+GRQ4jpVcK1/a7tkv31jFZTewv3c/O4p3sKt5FVXNV67oQ7xCG9hzKkIghnb63iLOYbWZO1JwgpyrnJ2eH4BgNNC4ozq12YB2l0dxISUMJ+bX5P/kbEwhCvUPp4deDUO9Qt+vppQqEm6gz1bHl1BY2ntzI9ye/Z1fxrtYxXcDRlDAqahSpMamMiBzRZZtXbHYb+TX5bC7YzMnak+wv3d/afASOM6IBoQNICEugf0j/Ln16fyGklBTXF1NYX0hOVQ6nak9hk7bW9V56LyL9IxkYOpBg72C3/zycxWq3Ut5YTmljKacbTlNnrvvJei+9FzGBMYT7hLv1GakqEF1QVXMVe0v2sve04/H5kc9b+1efoRM6BoQMYFDEIJLCkxgdPbpLtjGbrCZyq3M5VH6I7PJsDlcc/tnv2su/F/Gh8QwMG9hhE6loxWq3UlxfTEFdAQW1BRTWF2K0Gn+yTZhPGL38e9HLv5cqCheo2dJMRXMFFU0VVDZVts73fMaZ5qMQ7xBCfELw0nfta3QXquvtMboJq93KyZqTHKs8xvGq4xyvPM7XuV/TYG7gdMPpdl8T7hPO5XGXMzhiMEnhSV2uB1KTpYm86jzyqvPIrc4lrzqvtddRW8HewfQO7E1UQBQDwwa67bAPJquJssYyx1Fs42myy7Ox2q2tPWTO8DX4EuwdTK+AXsQExHT5DgauJKWk2dpMjbGGGmMNxfXFNFubf3J95gw/Dz98PXyJ9IskwCugW16rUQWigxmtRiqbKqlsruRkzUkazA2UNJRQWFdIUX0RRXVFbCnYct6fkxCWQL+Qfo5HcD96B/XuEjsGKSWVzZUU1RVRVF/U+nuf3V5+hkDg5+lHn6A+DAgdQO+g3m5VEM7ssM78TVQ2V3K86jh2af9JW3dbfh5+RPpH0sO3B2G+Yfh5dK0DgY5gl3aaLE3Um+upN9VT2liKxW6hzlT3kybJtoK9ggn0CiTQKxB/T/8uecbtbN3+EzhScYTbl9+Or4cvPgYffD18Wx/eBm9O1Z4iMTwRndChF3r0Oj35Nfn0C+mH1W79yeNg2UHiguJotDQ6HmbH151FO4kOiKaquardI5Vz8TZ4MzB0IFEBUfQK6EVUQBRR/lFEBUR12othRquRquYqShpKaDA1UNZURlnj/z7O3JB1Lj18exATGEOkXyQ9/XvS069nl27jPVMA6k311JpqqTXWOr6aasmpykGv0/+siaitYO9gx8PL0bwR5B3UpTsVOItd2jFajTRZmmiyNNFoaaTJ0kRpYykCQaOl8WdnWmcYdAb8PPwcD0+/1u9VU9zPdfsCUd1czZ6SPb+4zRfHvrjk9zmzYzToDAR4BhDgFUCAZwBGq5GEsAR6+PUgzCeMcN9wQn1CCfMJ0/yMwGKztP7nqzXVYrQaqTPVUW+qp85UR52pjsMVh/Hz8KPaWH1RBTAmIIZw33DCfMMI83E8gr2DO23ha8tqt9JsaabJ6tg5NVuaabI0UdJQgkFnoMHcQIO5gXpzPY3mxp9cND6bxW752d9EgGcA/p7+BHkHoRed//NwBiklVrsVs82MyWbCZDNhtpmpMdYgEBhtRowWI0Zry8N27qJ6hqfeEx+Dj+Ph4YOX3osAzwA89Z6qGFwglxYIIcQk4DVAD7wrpXz+rPWiZf0NQBPwWynlngt5rbPkVudiEAaEEK1nCHqdHoPOgJQSu7QT5BWEh84Dg96Ah84DD70HtaZaovyjWp976D0w6Aw0WZqI9IvEx8MHb4N36x+nt96bQO9AfA2+6HQ6dEKHQJzzD/XMfxQpJXbsSClb/xNJHLlsdhs26XgYLUaEEFjsFqx2KxabBbPNTJ2pDk+9Z+vPM9vMNJobKW8qJ8AzgGZrc+t/uhpjDUX1RQR7BdNgaTjnqfgv0Qs9/p7+BHgGYLFb6Bvcl2DvYIK8ggjyDiLIK6jDCt+Zf78zZ3itn43dgsVmwWJ3fEb1pnr0Oj1mm7n10WRporKpEh8Pn9bPx2Q10WBpuOgcHjoPLHYLkf6Rre3aZ76eOXPtajssu7S3frZnvtrsNqzS8bXZ2oxA/Oyzr26uxtvD2/H52yyY7WYsNkvrkBQX68zn523wxkvvhZfBC0+9J74G3y5xsNHZuaxACCH0wCLgOqAQ2CWEWCmlzG6z2fVAfMtjDPBPYMwFvtYpssuysUorSLBggXYO9mpNte2+Nq86z9lxOoW2PTgMwoBBb2j9zx7sFfy/hVLngR073npvfDx88NR7otfpEQjqzfX4GnxBOIYgqDHWIGskdea61jbztsWv1lTbutwu7a1FsMZYg6+HLwLRulOySRvVzdX4ePigE7qfFMoGcwMCR7G3Smu7v5+z+Hv4Y9Ab8NR5th4gICHAKwAvvWNHdaY5SKfTgaT1pioAk82E1W6lzlTnWN6y3mJznFWc2VbiODgw2UwYdIbWz+LMOqPViF7o0Qld6+cmpWO5TujQ6/Sty+zYabY4dt4GnaH1Mz2z3C7teOo9sUlb6zqjxYjZbsZL7+X4nO22n/weF+0XTjI99Z6tf1tnPlO7tLce+XvoPVo/7+540bijufIMYjSQI6XMAxBCLAEmA2138pOBD6WUEtguhAgWQvQC+lzAa53ihvgbeG7Lc87+sW7DKq1Yrf+7oy1vLtcwzU81WZvaXS6RLi8OgONswuLyt+k0fu1R/sU4cwZ3tjPzXyv/f3v3H3tVXcdx/PmaJE2zH4g6UuALRpSbgfjN5QL+oZW4kn4tQCuylrNyC51bOFpqW1vaqrm58aPFYqnprFzf9RPHmmQbwRfip4CAsiAI0Ap0GQq+++N8bpzv9dzv93v5cs+5cF+P7e6e877n3Pve+5zv+dxz7vl+PsUmLZlE3D2ERruBVjbBlwJ7c/P7UmwwywxmXQAk3SKpV1Lv4cPNH7ymjp3a9DpmZp2glWcQRRdV65u4RssMZt0sGLEUWArQ3d19Sk1oK1peM7MzXSsbiH3A6Nz8ZcD+QS5z7iDWNTOzFmrlJaa1wARJ4ySdC8wBeuqW6QE+r8wHgCMRcWCQ65qZWQu17AwiIo5Lug34FQvUowAABxRJREFUA9mtqssiYqukW9Pri4Hfkt3iuovsNteb+1u3VbmamdkbKbuB6OzQ3d0dvb29VadhZnbGkLQuIrqLXvONxGZmVsgNhJmZFXIDYWZmhdxAmJlZobPqR2pJh4E3jjAzOCOBF05jOqeL82qO82qO82rO2ZjX2Ii4qOiFs6qBGApJvY1+ya+S82qO82qO82pOp+XlS0xmZlbIDYSZmRVyA3HS0qoTaMB5Ncd5Ncd5Naej8vJvEGZmVshnEGZmVsgNhJmZFer4BkLSdZJ2SNolaUGFeYyW9EdJ2yRtlfT1FL9H0t8lbUiP6yvIbY+kzenze1NshKQnJe1Mz+8oOaeJuZpskHRU0vyq6iVpmaRDkrbkYg1rJOmutM/tkPSRkvP6nqTtkjZJekLS21O8S9IrudotLjmvhtuu4no9lstpj6QNKV5Kvfo5NrR+/4qIjn2QdSW+GxhPNkjRRuCKinIZBUxJ0xcAzwJXAPcAd1Zcpz3AyLrY/cCCNL0AuK/i7fgPYGxV9QKmA1OALQPVKG3XjcBwYFzaB88pMa8PA8PS9H25vLryy1VQr8JtV3W96l7/PvCtMuvVz7Gh5ftXp59BXAPsiojnIuJV4FFgVhWJRMSBiFifpl8CttFgHO42MQtYnqaXAx+vMJcZwO6IONX/oh+yiFgF/LMu3KhGs4BHI+JYRDxPNh7KNWXlFRErIuJ4ml1NNmJjqRrUq5FK61UjScBngJ+14rP7yanRsaHl+1enNxCXAntz8/tog4OypC7gKuAvKXRbuhywrOxLOUkAKyStk3RLil0S2eh/pOeLK8irZg59/2irrldNoxq10373ReB3uflxkv4q6SlJ0yrIp2jbtUu9pgEHI2JnLlZqveqODS3fvzq9gVBBrNL7fiW9BfgFMD8ijgKLgMuBycABslPcsn0wIqYAM4GvSZpeQQ6FlA1JewPweAq1Q70G0hb7naSFwHHg4RQ6AIyJiKuAO4BHJL21xJQabbu2qBcwl75fREqtV8GxoeGiBbFTqlenNxD7gNG5+cuA/RXlgqQ3ke0AD0fELwEi4mBEnIiI14Ef0aJT6/5ExP70fAh4IuVwUNKolPco4FDZeSUzgfURcTDlWHm9chrVqPL9TtI84KPATZEuXKdLEi+m6XVk167fXVZO/Wy7dqjXMOCTwGO1WJn1Kjo2UML+1ekNxFpggqRx6ZvoHKCnikTS9c0fA9si4ge5+KjcYp8AttSv2+K8zpd0QW2a7AfOLWR1mpcWmwf8qsy8cvp8q6u6XnUa1agHmCNpuKRxwARgTVlJSboO+AZwQ0T8Jxe/SNI5aXp8yuu5EvNqtO0qrVfyIWB7ROyrBcqqV6NjA2XsX63+Bb7dH8D1ZHcF7AYWVpjHVLLTwE3AhvS4HvgpsDnFe4BRJec1nuyOiI3A1lqNgAuBlcDO9DyigpqdB7wIvC0Xq6ReZI3UAeA1sm9wX+qvRsDCtM/tAGaWnNcusmvUtf1scVr2U2kbbwTWAx8rOa+G267KeqX4T4Bb65YtpV79HBtavn+5qw0zMyvU6ZeYzMysATcQZmZWyA2EmZkVcgNhZmaF3ECYmVkhNxDWUVIPnC3534jU0+fIwcaH+Fldkm7MzX9B0oOn8zPM3ECYnZm6gBsHWshsKNxAWCcaJml56hTu55LOA5A0I3W8tjl1Fjc8xfdIulfS+vTae1L8Qkkr0jpLKO4Dpw9Jn5W0Jo0fsCT3n7gvS/qOpI2SVku6JMUvT/NrJX1b0svprb4LTEvvc3uKvVPS79P4APef3pJZJ3IDYZ1oIrA0It4HHAW+KunNZP8tOzsirgSGAV/JrfNCZB0WLgLuTLG7gacj66ytBxjT34dKei8wm6zzw8nACeCm9PL5wOqImASsAr6c4g8AD0TE++nbn84C4E8RMTkifphik9P7XwnMlpTvj8esaW4grBPtjYg/p+mHyLoymAg8HxHPpvhyssFjamodpK0ju7xDev0hgIj4DfCvAT53BnA1sFbZqGQzyLoyAXgV+HXBZ1zLyZ5qHxng/VdGxJGI+C/wDNkASmanbFjVCZhVoL5/mWDgy0PH0vMJ+v7dNNNXjYDlEXFXwWuvxcl+b+o/Y7CO5aZP9T3M/s9nENaJxki6Nk3PBZ4GtgNdkt6V4p8DnhrgfVaRLhFJmgkMNDjRSuDTki5O64yQNNC3/NVkncJB1ttwzUtkw0+atYwbCOtE24B5kjYBI4BF6bLMzcDjkjYDrwMDDUJ/LzBd0nqybtD/1t/CEfEM8E2y0fk2AU+SjTfcn/nAHZLWpGWPpPgm4Hj6Ufv2hmubDYF7czVrY+kOq1ciIiTNAeZGRCXjplvn8TVKs/Z2NfBgGjTm32RjSJuVwmcQZmZWyL9BmJlZITcQZmZWyA2EmZkVcgNhZmaF3ECYmVmh/wFD0ee/bS1+/QAAAABJRU5ErkJggg==\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "ax = plt.axes()\n",
     "for t in np.linspace(0.,.99,5):\n",
@@ -413,22 +361,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "ax = plt.axes()\n",
     "for t in np.linspace(0.,.99,5):\n",
@@ -438,22 +373,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "ax = plt.axes()\n",
     "for t in np.linspace(0.,.99,5):\n",
@@ -514,6 +436,19 @@
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
    "version": "3.7.6"
+  },
+  "toc": {
+   "base_numbering": 1,
+   "nav_menu": {},
+   "number_sections": true,
+   "sideBar": true,
+   "skip_h1_title": true,
+   "title_cell": "Table of Contents",
+   "title_sidebar": "Contents",
+   "toc_cell": false,
+   "toc_position": {},
+   "toc_section_display": true,
+   "toc_window_display": true
   }
  },
  "nbformat": 4,
diff --git a/bmcs_course/4_2_BS_elastic_plastic_slip.ipynb b/bmcs_course/4_2_BS_elastic_plastic_slip.ipynb
new file mode 100644
index 0000000..f12403d
--- /dev/null
+++ b/bmcs_course/4_2_BS_elastic_plastic_slip.ipynb
@@ -0,0 +1,678 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# 4.2 Bond behavior governed by plasticity\n",
+    "Define a bond-slip law governed yielding with hardening or softening."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%matplotlib inline\n",
+    "import matplotlib.pyplot as plt\n",
+    "import sympy as sp\n",
+    "sp.init_printing()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## The onset of inelasticity"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAADEAAAARCAYAAAB0MEQqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACsklEQVRIDcWX/1FTQRCAA5MCMHagHaB2gB2AHQgdyPhX8h+DHQgVKHYQ7ADoQDpQ6SB+387tm3sv7yVhQNiZZe9293Zvf90LW4vFYlTDbDb7xP49uFf4l9Dbsp4Uugt9Bd6g/6bwno8YRB9Op9MFeN0nk4fsEJwPyZ+Sv92XPrKbVfjWJy+879Cs0Aq1/y/qDQK3tpNgK62CX6uETyUbCiIqQUVu6ouwP8096zvWP3L/nHQ84NzBbVWBSx/Ca2Ue3i3ogO9AWwEP2G3Y6JuQ34VhQq7uayONLQWBoZyHCeuvKPoiydsBX4MNIDcAdd6CLxrBmgXnrlH5CI3AoXP2vnJHa46GGH3vcg7us97qa6ecB50cgQegF/Q5bQ1y2R+H5Q3/cMbAd6F15bSxsR3OWjmTF/dZqgSCqETHCeyl9upeRJ1N4I9K2P8L8YW7YN1qXeUbgMmOc32VWJqHYvAkDePUcmbbJXsjylmz6AWuQOdsDs92ui94T9ty1KoExvJiS0aL83T0mUUTlEzkXsjgBGfnuHNGnWwlX7XIIjx/IZwqA5t2Za0t/eTwj+B9YZ/gXWOGupXIeRgsL4bMgA7NaIIOL3VSHF2w/5nCispvnmn5RV/aDcDzJ0V+xvqd+gI873CXZ7pB7BeleuhkBXDI6MN4YTUkDcpgbRKcmaxs6jkPmajgoWMlukPty2NQH5BbYekBNEG7tmPAGKFZ9JClFkfwzFgMIHQCqpNyX6neINGpwUuEvYpp+X0WZVlJ7fqt6X40vaSv4lBHmIim5Q1CY3WUbB8FDKBpES3iy33d17L7IIKrBZz1g+pdBb9Lzly8kNvBeoQ/GGyyztoWsGJDmVznMdoxlbBjUHZLQv5CiHYdJ/eB1Ozu4UwzOnzJ+iH/Z9gZ8WJpUMBe3S1n7H0goqX+AWo4hU7cghCdAAAAAElFTkSuQmCC\n",
+      "text/latex": [
+       "$\\displaystyle E_\\mathrm{b} s_{el}$"
+      ],
+      "text/plain": [
+       "E_\\mathrm{b}â‹…sâ‚‘â‚—"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "s_el = sp.symbols('s_el')\n",
+    "E_b = sp.symbols('E_\\mathrm{b}', positive=True)\n",
+    "tau_ =  E_b * s_el\n",
+    "tau_"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGcAAAAVCAYAAABbq/AzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEdUlEQVRoBeWZ61EUQRCAD4oAUDPADFAzwAykjADIQMp//KMkAzUC1AzECFQyECNQyQC/b2pma/Yxw97eCSd01dI73TPdPf2a2WPt6upqtgpwdHS0hR074HerYM9N28C+X6DzHHyRdK91gwPzFcznPDtx0hk4LXgYadtgnamwJ5E2GSFjk8Ufweq9t8D+P7L5Q3Dw90bXEzBOoJ2ALSmdP+gw6Pvwd7vrJ46/LFHWRBNWYtkeVuiLkPDrQybh+FQ1p0P8SPsAThVVmVZnxSB/Ay8sq65p9bn44BIrz8B2r1mvcuIWUrXY0mrwo8YcyTtkXtI3csmdnnbM7n7ynAxWDoxQOUTwPHcD4zdpHKP8KY2nYGR4bs3A975qkv+iXy/AO6XK8cBvVQ2TPWNalQJNITp4E9wKZFJ2DfaG0tIzNB/ZJsWvyLP0bYNT9A2Jn4t2Q7bok91ecFAeqgbmQ97finmkeaN6zNMAfAPjnKc8DxrG+BfbmTeUIqDjO8w9cAgG+DNjD8yD4qJ/xFiGLcjQj+95XvC+VjDVIjgYamup/+uQA55dHh3fuoMrFLrtyDNjKhjc36XFyJe/Dc6rRH2L6Cypq9KXZQtyrHwTutbK9clmr3IghsrpOARyu/3A7zrNOfOCVamxJQiBQ9cfJng79Fuo2gbhm5leR+eBpjIri+a2pSLLAqjtw8BtDQWnd95EJd4iAkQHGMQ8oyN3eQg9lzxuxErxzNtn7FUzVXdPmWsgLvxh3BWs3Kh3tC1dGdlYH1fbuXNbwUF5qBro9vUWxE0n2mtemmBJhK/zzFrBs8kv3VpVOC+Ury9dYG1qad4IQ5ZB8/7/Rh5PrS10xS00HmsL8/SBieE5KeiPZzzH8PJE1s+1M9OOctE9c1JGFksOJUZd5+SO1wgz2l8W/IXBrBjTWnSwhgyBMpqruxOibPGNBSYaNo8tzvVM8UapL0xiaQGg6T+rsLYHE/OyGxyvtjMW5lGWFAC6EdfpraqRCa9RxrvB9UxKleiUIVBPqQVZVSlZwlrkWTk3fhlA57W2YJsO9VzU+Z8YJx+axPIS6JNvaVDA+uRsAyFmvVc7BQQh0Iy0BglmtnMS31tbUiy/BAYrN2ponu3TLBsCy97rpjw3qA1+Vy304auwCXCtLdgVkhNsG/ua6QiVko1NuN6xkfF99dNkz+C48WX9gKngBAamqaZEzDG6bYUznt4ZAs21toVbhzltsTLyzvKSsRWVQMd7Hg/edqGbhOGjfj2tWBQjtKkS3j0YrbDi2ZXp81y5jVaVmbCc1+gDnWvCzxhbNT75/oLjoRnEIfCyFbpJ7/85Q7NrtGiA2eFXraBxj6DnBgVG6Q9zLXM/eKuVVlq/KnTs98zWuafRpt6tlTk63uB95r2VvIz13RdwOIc3opDJCEGeP2POoJoO26rnXOsCUFuwojztD7fWkn34y/OrBPqgOWKW1tZK2sbQMdhMsnJsh/8z2Kryy8DovcS9t7rHwm1ttPY7PhHn2q5MLm+T/hxkwi0EfwHEAsoiJZo6qgAAAABJRU5ErkJggg==\n",
+      "text/latex": [
+       "$\\displaystyle E_\\mathrm{b} \\left(s - s_{pl}\\right)$"
+      ],
+      "text/plain": [
+       "E_\\mathrm{b}â‹…(s - sâ‚šâ‚—)"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "s, s_pl = sp.symbols('s, s_pl')\n",
+    "s_el_ = s - s_pl\n",
+    "tau_.subs(s_el, s_el_)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFoAAAAWCAYAAABAMosVAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC3UlEQVRYCe2Z0VEbMRCGMUMBTEqADqCEmA7IpIJAB2F4st8ypAPSQuggpIIwdBBKyKQD5/uE7rDlM9z51sHJ3M4cK+lWK+2v3dWeGc1ms52BnhCYTqcH9H4+jcS09mLU/FdarrDmBMBvI63ajVT2r+vK3nwQDbK4DB696B0XdD8tDrXvcUBGwz6P6eeB54Kx3/ABaEGQAESAxvDzNNDxD/ME+RouwDvwr7DvPMf2h9QhCo90CdOj16XTYqKRcQTgevcAtCAAht58Cr+x34MSqHl+Shm009iQox9R0ZsN/bWJQzosJh/l/p08BGgWMWxOsuIlxvvOeS/rtAL4vKQwcAD9lTeXQPVdxYOLvQzZrCHXN+z6Grbu/DMm9vLmcmHwUN/tvJOEeHS50Lb0MXTsXuDPfXyc8z7Mm9Hlwe3DF6I4BGiUfkS5ec4wbCJDaKMpoFx0bk+WW6nEWiFzXY5X/TkdrexC3oM9hCeQc/8X/L430Cipwu4ti3jT2re0sZ0ImVRbVv1Nc9bzpv+S17miP+Zp8uqV3ox8J7uQ9/JLttOuSj0Bf+c+egGdlf+A1/mZtmFzr/LXItavPhoEW+OtjxeARsYQb/Rm3glaV7v8ONHz/VCpCV3J4UaTycSXCnWhDyhYAjNv8BKeTrGNQmQFwpAryX294WmKhoe2ayAnmIJqSNe6aPsL3TE8AUF7JSEj8J3sKpXt5YUac1gp3KL/HplvLeRqEdZv/Bpj3PCLKO88SIF2nSp32r/JttN8kTrbVWrcLQd69gUnFeg99YRNB0y92NR2RtsokQTde6Qt9bYrDGiM8ALSA5dSSltrNihXgWr4C5o17ospw/0gF2JXGNDsSQPqHOgmt4UAy8P3MWVYhjamK8abKMSuSKAt+htv8abdv8KYXm3quGvrzXmPIXaNtvV/hoChJ0VchhmvlAa8qK2d/3rk9aqjaws201ioeyOWAOCVP3xF6H9Oxx9x6wELSe8rywAAAABJRU5ErkJggg==\n",
+      "text/latex": [
+       "$\\displaystyle - \\bar{\\tau} + \\sqrt{\\tau^{2}}$"
+      ],
+      "text/plain": [
+       "                 _______\n",
+       "                ╱     2 \n",
+       "-\\bar{\\tau} + ╲╱  \\tau  "
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "tau = sp.symbols(r'\\tau')\n",
+    "tau_bar = sp.symbols(r'\\bar{\\tau}')\n",
+    "f_tau = sp.sqrt( tau * tau ) - tau_bar\n",
+    "f_tau"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle E_\\mathrm{b} \\sqrt{\\left(s - s_{pl}\\right)^{2}} - \\bar{\\tau}$"
+      ],
+      "text/plain": [
+       "                ____________             \n",
+       "               ╱          2              \n",
+       "E_\\mathrm{b}⋅╲╱  (s - sₚₗ)   - \\bar{\\tau}"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "f_s = f_tau.subs(tau, tau_).subs(s_el, s_el_)\n",
+    "f_s"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The question is, how does the stress develop in the inelastic regime?\n",
+    "This means when $f = 0$?"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAD8AAAArCAYAAADPGFBSAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADMUlEQVRoBe2a7XETMRBA7UwKgNCB04GhA0IHyVAB0AEZftn/GOiAoQIIHSR0kKSDpAM+OjDvyZLG50R3ieNhTgc7I0un1Z31tKuVTvZ4sViMapT5fH5Iv1+U+o7+TUmX6se1wieAh+Q7D7m59nt3awXArd/S93ekRwWGY9p8LOhCdZXwQH2IUM/Jf5O8fh/LZKMRba5Doe3DOV9Tms1mU9Lhap+5Pl29vmu5Ostj0UuMaQrC9ZSC1r+3DCHgvYT69N7k3DAEeNf7803gq17ncfkJ0Ffk403ga7e8Vu+O6oWRqR1+H65PBbbO6qrdvpOuo0Htlu/Aa1f/h28fn+Fq/2nLN7a3rJe+IPyItnbLeE5d3koOzQcyPJAXwL1KsORuGZ+SOk9Eah2UAA/oBIBpAo8wx+QbbyBqGJBk+Z92FvhfZF9JJ5TPrCsJeg8Rvpf0hfrsWQV9qObZf+VgMW9y+MIDvllrmytn1BUPCJdN6v4ccxCQXP5bQgHaIyKD3z7lwbq+S91JBCVbCsDh7GvI4JIK73xvuHe0vFNg0JLc3ldDxbXdQHbNAORpoGKIkgNen+GiJ+qdORhTTrFoL/bdszzj1yXt3Z90ShXwiQIol8AiHPrX6I/IG9M43b+eO+erEICS1b+0dNg9SvKIlmZLVTXwdDdZs3XzRburTurYoCb4YHk8oPGixbX7kSCUDdh3DtQ1wRvQGlYH1jnesDR1rlQTku1bZbdV2xMlIGm+71H2wNIIb53LsoeYWQTnwjbPSI+z4pZCFfD0O833xosRoBekRoDzmuQGrfOlqxa3D5YHqjHfAVyfBp2uvuoAtcDfmO8Rwp+lgzAwToE0PWJte9Z7twcqAd34MRKd0T2Jf1TIg2ElegOig6IYG/zDQr6n9/B0OM33hotLkwQgPcMIn8G4FtoziRATyB1E40De+tbg9uGli86vz3c4gnUTVMPqUZeDIfc7eB7VJU8a9dLydFCrfSa5bJlG1Hnu4Ou34lJnm6R3v3/r4Nh4RRyM8Dzr+gqv+x7ZwS2L4Nkbdrb88F49Dm/IVqZs8NNDcuzopeW3NIIexR0A6+OcIk8o52Bn5R+8MaqBJpgVCAAAAABJRU5ErkJggg==\n",
+      "text/latex": [
+       "$\\displaystyle s - \\frac{\\bar{\\tau}}{E_\\mathrm{b}}$"
+      ],
+      "text/plain": [
+       "     \\bar{\\tau} \n",
+       "s - ────────────\n",
+       "    E_\\mathrm{b}"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "s_pl_f0 = sp.solve(f_s, s_pl)\n",
+    "s_pl_f0[0]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAMCAYAAAB8xa1IAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAvklEQVQ4EWP8//8/A6WgoaEhBGiGKy5zgPLpjNSwCJcFyOJMyBxaslmoYTgwaMqA5lQCsQAO88optghoSSfUcGcg/QGIQfx2KBtIMTAA1dxjAMURubi+vt4IiEOQ9QP5u5H5MDYL0DaQd/eCrSaeSAXqOwfCQC0gDAZAvhGQAfIVBgBZBJIwxpAhTyAcqG03Nq3UTnWg/HQGm0VUy0fAkFECWnAXSDNis4iaPgL55h42S0Bi1LRIGWjeTFwWAQALMXeXGKiinwAAAABJRU5ErkJggg==\n",
+      "text/latex": [
+       "$\\displaystyle - \\bar{\\tau}$"
+      ],
+      "text/plain": [
+       "-\\bar{\\tau}"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "tau_.subs(s_el, s_el_).subs(s_pl, s_pl_f0[1])"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "So far, so good. We obtained a trivial result telling us that the stress cannot grow over the \n",
+    "introduced elasticity limit. But in this case we can just reproduce the constant bond-slip \n",
+    "law - now extended with a elastic stiffness. How to provide a general framework suitable\n",
+    "for an algorithmic treatment? How to distinguish between loading and unloading?"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "So how much plastic deformation was consumed? What was the direction of flow? \n",
+    "There might be several different processes going on the material structure?\n",
+    "Let us postulate, that they can be clustered by a positive flow variable $\\lambda$. Then\n",
+    "we assume that the rate of change of all state variables representing yielding \n",
+    "can be related to the common positive parameter $\\lambda$ and that the yielding direction \n",
+    "is normal to the yield surface $f$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAADMAAAAvCAYAAABOtfLKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADoklEQVRoBe2a31EbMRDG7UwKoAbTgVNCoAMYOjAdhPETvDGkAyghoQOggmTSQVICSQfk+8laje6sO584nZ5OM7L+rVb77bdaYyXLt7e3Rc1yc3Oz0nlnqnelz/1YWuEAfYC4F6jlANkskapgPCsrtc9ZVnph7cMRR6qw+0f1SnP/1LpSFYxOvFK93R2d9+mBwCggFmq/q3lR/cSY8mHX7D4lcKS6UQV50YJuKTxR+/hOxdyzuOCUdWxrGwyUvar+ltBJvLNAfysdMDOmxE628ApzDTCc4j3n4nHMqfFe6YSVM687Xhrc195j1fiurf3mn6ZkD4xfuFdLSGBEiQIrpVMx+hoJoAuMxfVmLBLvEFh5GKvL9ksXQJ7VfrU52iQYCRFmv1QvERpZcEgxVmQb+khUe7b1pWZCjVTI94JLh21QmndJQm0cy22xS60ftydtrLUv6hOGXSFNKDkG1HIed8cB8eNXtTh+0Qfmm9YBxMa9LCQFZgRAQ65XPxQvg45k0box9lkCZCfGt76vxiUk50jJcuHduvqWprHtHDlKH5jVTmQBrQ0wUsaa3YE7jUkWKXY6WZE8xv1Qa/dzoT7h47zsz44bviBhjy/LUCSPE1xZpv7QlIB5gY149lRze8ZqDuV/VbmMp2pD0dhiu3FJg0CrI3nO3KoNnm6JHBzuJQCvFBDn6uN9kLsYbWvTOmvIwAxsxQU2jb14vqt/oYWnrsUh8w0wMogLBp0wYfRxdyxGUzot7kMoai+sPEY6Uvvac5wRvgDbi0PGAYwHgmdgJM5e7gJrLgnIyxL3G/UJOwrAuMiDivbBKlmz674M0uPASAmMAIQL27gb/gDAJUPNn2KGE/OA5g4Zs16kt2FP7MBe4a5FYwZPks+7Ypz11L1wej1gvEp4bVVDyDmBwx98D3Wm8MPbdxLJbDZ0cyznGSFxPKjfx2K8rWjfmBmtVAC4N4SoJYTROnMVFGMm9+Ap5IsxM4VxuTpnMLkeqyU/M1PL07nnLK+vr+u+z+ZamCE/p+YMZ1UVnRNAVXdnHDYzk+GsqqIzM1XdnXHYzEyGs6qK9r1ojjJEvzzt+dZebNr6whtye+G940nACIj9dD74hvxew5P7eJ4tWfWH61r1LNap8VM8nqpfnBmxwpNTeMzTmDfknDe0pNOHTNbIZhcyZNQb8hAgyNQAM/oNeSiYSX/PKMRWMoR/hi/+X0tSAKdmpsgbcsrw1NzUYIq8IacMT839B/4RvLoTtUcqAAAAAElFTkSuQmCC\n",
+      "text/latex": [
+       "$\\displaystyle \\frac{\\lambda \\sqrt{\\tau^{2}}}{\\tau}$"
+      ],
+      "text/plain": [
+       "           _______\n",
+       "          ╱     2 \n",
+       "\\lambda⋅╲╱  \\tau  \n",
+       "──────────────────\n",
+       "       \\tau       "
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "lambda_ = sp.symbols(r'\\lambda', nonnegative=True)\n",
+    "dot_s_pl_ = lambda_ * f_tau.diff(tau)\n",
+    "dot_s_pl_"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**Relate increment of yielding to the increment of primary kinematic state variables**"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "But what is the amount of yielding controlled now by $\\lambda$? Solving for $f = 0$ is not \n",
+    "of much help any more. Can the elastic range change during the yielding process? An abstract\n",
+    "distinction between elastic and inelastic loading processes can be provided by Kuhn-Tucker conditions\n",
+    "\\begin{align}\n",
+    "  \\lambda \\dot{f} = 0, \\; \\lambda > 0,\\; \\dot{f} \\le 0\n",
+    "\\end{align}"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGcAAAAWCAYAAADdP4KdAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEW0lEQVRoBe2Z61HcMBCAD4YCCOmAdEBSAukAJhUcdBAm//iXgQ5CKkigg0AFIXQAqSDkOiDfp5E8ts8y9p3vMUN2Rqy9D+1qpV2tj42np6fROsDp6ekufuyDL9bBn2X7wLoPsHkHfki2N+qbA/MjzPeM/Sh0DU4KO5G2BzaYTvY20mZGzLGN8iVYuy8WWP8liz8Bh3hv1SMB4xzaOdiUMviNAYN+BP+wrj/j+03bXNhy834zHnie+zDM6GNQW7AvY4wYi7DGzSZHcSBlzbcmfqR9B6eMahFrZ2HLTb4FZ+eCN0HmkZGVabcyHHeRvsS5r8FWr9FU5sRlpGyxpLXBfRuzI+8EuWQvq4LDb7LMJTMW7MtnlmOVOG/MHBghc3Dirrxu3s/SO8+e5qv0PgtmDu+tEXjlGTGL/4vQiXG1fO/nMscLv5I1CFt+KpkCzUkM8Da4spEdHbdDqdhp0mNuD8WfyPNQWAZnsdc0fS/aknwxJodTm4PxkDUwd3j+ImZI81KulBb4bowy7xivGH3BcmaHkgVs/II5BofNAP/g3QvzOKu0IMa8vqBvDL8yPMxtpdwkOG4qa0nJgBwzDhkGvtKD8z6CbjnyzpgV3NzHnDLzy98Dl7NEe/PYzJlrpQ/hC3OY9R7mlAA5m8ZkeypzkmItIE5SKT/w60FTpi+YlTqcg7Bx2PqLgN2h30IVP+qK8D2dtqN9oMjMFqXevmTmus3Qy2QP/W7T5kzdN1HLLiJADIC7Xz7RkTscws6EYSabKd55R7zbaqbsnjKmDsTBv4WcN9rt7MuUcz0Jlc3BuAEXrOsViItOtE88FJslEb7B89QK3k1+6bZlhXIhfX2oA7qppNkRhmyBZv9/Jo+xtA6viy9RxvvTGNjAGAOfrQ5m5nOxQKwAdR7qd046kdnSgREzy+CUjemEJ9pfFvyFQSe7lBYDrCNN4BxF665AnFu8tI2Jjj3rS/RpjLyHym7Sw2nT8pPRJRaIFeAck/rm2NqOmLSxXEE3szRUyZqoUwQMOTfXOylloiJNoJ1cCTKr0mEJusxn5iy9GcBmL1/ws4gfzx7WLrEIa4x/jMn1Fsqeets7d8sxguZJ0SHBk61M4tu1FcYVyICbFebL8CVbPu1emsBTd4AteWapPvhdNdeHr5PNAPP6ov/PxaLslp8mYzdHxaF+wCwb0Jkim8qM9IxtS+GIMXWHQFPXU7dyGMCXcLC6LARbyoaP+s0uCl1kDHCS49nmwAzL3l1JFuy9sopSVXJh2MdaLCzFXWOhIzZboZpM/T9Hbh/AERuED4z7qOfOv4beOeDIWt784G3NtDj/2qIYC3/RsAwKoWODHt7BxsYrxLv9ivdKxYr8G3C4h7cQmguYyPunyx3UZkcnvecqDUCbwjrziEnjf3OhT/C7siG1dRiDgj9YWasZ6fUanTZzLIcvEuLaK9Vj7rL2IiPZsGiC653rXeHnwwXvqbQ1SHcj/d+cbnFaidQ/7XrNcMLKob4AAAAASUVORK5CYII=\n",
+      "text/latex": [
+       "$\\displaystyle E_\\mathrm{b} \\left(\\dot{s} - \\dot{s}_\\mathrm{pl}\\right)$"
+      ],
+      "text/plain": [
+       "E_\\mathrm{b}â‹…(\\dot{s} - \\dot{s}_\\mathrm{pl})"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "dot_s, dot_s_pl = sp.symbols(r'\\dot{s}, \\dot{s}_\\mathrm{pl}')\n",
+    "dot_tau_ = E_b * (dot_s - dot_s_pl)\n",
+    "dot_tau_"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "dot_f = f_tau.diff(tau) * dot_tau_.subs(dot_s_pl, dot_s_pl_)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAACcAAAAvCAYAAABg8NNYAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADZElEQVRYCe2Y0U0cMRCGuSgFUAN0QEoI6YCICgIdBPEEb4h0ACUEOoBUEEgJpIKQdEC+z2dbu4fvdu07IYRuJK+99njm399jr+3J09PTxmuV9y3ATk9PN+n3m/RA+UOLjTF93o1RmtUB0D/qHkkPs22rfJ+85mFtYm6V7Cyy1Rpz5xj9Ew07xHcM9a/kiPJXysckY7MkR+h8KzV066rBYfQeA18SGPIb3p0UhxrmXeDKR5LAfT+LZbKgMypWq8DheAvbO+SZJd6PSMEZ9TuUf5JfkwehvDmjn5oG8ypwWHOGbuDsL9l30hXlW+sUyoLOwHkXrOw1SdWEwJmOPpHuSAekG+oc1nmyT8Oi9nn9Qv1o5gCRhtQhC2xRZ+Cf20YqxdEe7Z+Dp4ZHDXNXAun6AFCYcSVgAkZX0HmYu33HlGvAGW8OaRYcy5wToiSyVmKzpFusGz2s9Hap2AOQhoy9TZL/1jwzbejINuWLznt1cf37qqYsdqiJuVYfzf3W4FqpWzP3JpmbnJycvNrj13oRfpMxV/PjLxLAj3+LBncgve1UUbmycmlwEdQFICeVvgfVlwIXWXNDmc8Rgx47CvSTbbdesu/ezyOj27EgS4HDghtNj33VEoHJeDq5udP+Qcp3L82/L4z6xbvk8zabQ4CN0674kR47ZTFIMzh6e6Kft0WfWh9+ZiCopuHMdU3DGllzy94Mjr5u47viGVfx2BmklTlZW/XSob3ehKj+fUXW7gtfPv3chie2wqwl9xCVpYU5T/orYw1A2vM+pQdMhL2YQ2HXSvJF69Yh7bPxYrcgtI2+/kJXf9vkAVh8fyQPB/EMjopk1HUnrzVTl9Nn1Jl7FqU9MTp4/YWuE0D9M8ppWRFkvr4I4Gh0+l6SFO8+XL9K7M1lDf3a6y8XXNdKF98s2ElLykZvQtCgstdbt5Rnrx5SbAzeSOqJ/oI9Js9MWF8jvQmBIVHLoMzJZldc0xK73fp55X0amq+/NNoDF72kuMkLLEBl7TqCj2qDmXGUF9RB7YLCM3AAcEL4vzyg7DArAj0LpREP+sn6UtdfunkGLvpOQIwZGTAGc6BGnUWZfcJuY5HSUFsRHEBcZ0wOZ8sPfunrL4H3ZqsVSSJjTvNLymGRTG0vlReZ0zmAjDvXujRBrH5R+Q9l3C+DDXMFigAAAABJRU5ErkJggg==\n",
+      "text/latex": [
+       "$\\displaystyle \\frac{\\dot{s} \\tau}{\\sqrt{\\tau^{2}}}$"
+      ],
+      "text/plain": [
+       "\\dot{s}â‹…\\tau\n",
+       "────────────\n",
+       "    _______ \n",
+       "   ╱     2  \n",
+       " ╲╱  \\tau   "
+      ]
+     },
+     "execution_count": 11,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "lambda_solved = sp.solve( dot_f, lambda_)[0]\n",
+    "lambda_solved"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAYAAAASVl2WAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAvUlEQVQYGYWR0Q3CMAxEG8QAnQE2gBnYgBVgBPhMfmEUygZlhMIIYQIoG4R3aRIVPsDS9Wyf47NUE0KofsV0LDrnauo78ORLaRN9ctB8kT+Bzz3zz+JjQ3415u8bDoiPNCC7rljgf6WxgW8agFvIxw0UM4pFFjVA7MEwQKLL9aqHTqAhv6gXj6SQ3wp0YAtaerKojLU2rz+roUDcQTp4rg1NKqAhGDgqg70G5K/1JdIGHVks1knVLTXQv4iWb/y6SDi/G9jcAAAAAElFTkSuQmCC\n",
+      "text/latex": [
+       "$\\displaystyle \\dot{s}$"
+      ],
+      "text/plain": [
+       "\\dot{s}"
+      ]
+     },
+     "execution_count": 12,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "dot_s_pl_.subs(lambda_, lambda_solved)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA10lEQVQoFXVS2w3CMAxsKwZAsEHYgMcElA1gBNiBv/whVmADBCN0A0RH6Aat2CDcBV8VVdSSc/b5HKdJ8xBCJvPeXxG38A98Ab+Dq4FZLiGIN/IL8MkCcAogt0PcFEaegE4i47grmx7MoxB4gFckBvZCvuTuEpYDgVLuSisLOwuTjsuIOe44s6K6U23frNEs8ivHbE5h3/VHpWktz6iRIlO9pvzuERVejchUqOZKZ+SlrlOFxXzGmlOjEMENRAfcS4yYE/hiR3ITLmYr4BkCZ/kGuEUef4ovviBAXcWd104AAAAASUVORK5CYII=\n",
+      "text/latex": [
+       "$\\displaystyle 0$"
+      ],
+      "text/plain": [
+       "0"
+      ]
+     },
+     "execution_count": 13,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "dot_tau_.subs(dot_s_pl, dot_s_pl_).subs(lambda_, lambda_solved)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "[Convex mathematical programming literature]"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Can the elastic range expand?"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIMAAAAWCAYAAADjNi+WAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD7klEQVRoBe2a0VHcMBCGD4YCGEqADqCEQAcwqSDQQRie4C1DOoB0kNBBSAUh1wGUQNIB+T6P5LF9uovPls0w8c44K8m63dXur11ZZOPl5WU20dvywNXV1S4WP+a2eiu3wEneKB64RssRoLjPqW0zp7BJ1vAeCFlhNzcQtHzKDMPHL7eGcwR+6ioUEJlVtnksNU8854z9gU9g0AlvhQiaQTyEn3WxOQDhBi4IZvBvsB88B/anMqEX3g5dYKqZoSsdN35ohtkHFGaJ/JkBwb+RK4JNPQ+BP8MllR7yzJlXoNHBif7tAfylT4/hfcCgImNQZAa4MZKKsaxnBgw10Bp9QvtOLZHCYn7R14B3cXzirT1gVrDedyZisNf48X7ou2mzZ4YTZC4AISi0Nu3wHGBURGR4NTxDpynyaJkm3q9dh4NMT/afl8nNMY58N5hZoRnMvuIF12AHyB0MrmUErWXsO0wUCoSYonw1GgW7FmwbzYB+ik75ea+s0FSPP5R3Dy+BnLVMIHzhkwdlN4xbPrwkmcMnqngAn+ibGXzVBdIZ77NlBWQJrm14LRtmBQPCa8GmL/pU7GJWLZYpwxL6P6LBumvKTZHpstwlqQm5xyo2mS2TB+owxw2VpIqMVutivuDbgxdACP1n+DwrGKrWIlwQGACdfFt9N3Yb/THFenD1vGLfLGa7IOaMWr7Q5wk++uWa/iFPasMszQrMX2tdzLdUF2unHT8zBYVnvewHSGXOgiLRfEt71N1WGFD5B/064Ce8PC/QNkXWsljlJ6M00V+ADy4gDJCfjDUw8M4NlcwKvOuyLg/xZhAvm0pCVrEpNi4vL33ppHXoAwKSzmTcNOSB8Y52gbgomL4n75U7kPdZ7Ym6I0e+TryA12yL71OcuQbLdTVJW3d4Umt6aquDeQbcwJu+S1m0Hxlr9fXF3LXXhewabSFEVCTrVW1mi04wSCB4qZRytuivHVqaYnPa05Qd+u/h2tiasCl50cO4qTbHp6VgEwylf5Bt3w1lfNrQ2utqCt1sDnTtY7Q10AzjjlgAF2PuLC+dXpsMYHHJ8tqGRP34xmxgGTulbbaRBIbnmrbUe11ZwBAWEHfbAhDCakyFX9uubIh52Clg3cnJEjeEzjVkxsBbwgysdwCtskKudeX6mjAjWDsX6huGWsu+8JgxWi2OuUORTi5r8lBKusjFN5ZWQWp5MIv65dOWsqyrNxhYgCdTA66T/USCFSdWweFOjGlv5VnBH41AXtwkT+cj6G6jwuygPx/w4zobJ8u6Nqb/A9kmRuk5BMwdmeMAWSpApuXWu4XRM1jvzFCu4v9s1O4FcrgAECz9Y1oO+atk/AVYwWpner+tGgAAAABJRU5ErkJggg==\n",
+      "text/latex": [
+       "$\\displaystyle - Z - \\bar{\\tau} + \\sqrt{\\tau^{2}}$"
+      ],
+      "text/plain": [
+       "                     _______\n",
+       "                    ╱     2 \n",
+       "-Z - \\bar{\\tau} + ╲╱  \\tau  "
+      ]
+     },
+     "execution_count": 14,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "z = sp.symbols('z')\n",
+    "K = sp.symbols('K', positive=True )\n",
+    "Z = sp.symbols('Z')\n",
+    "f_tau = sp.sqrt(tau**2) - (tau_bar + Z)\n",
+    "f_tau"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAADMAAAAvCAYAAABOtfLKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADoklEQVRoBe2a31EbMRDG7UwKoAbTgVNCoAMYOjAdhPETvDGkAyghoQOggmTSQVICSQfk+8laje6sO584nZ5OM7L+rVb77bdaYyXLt7e3Rc1yc3Oz0nlnqnelz/1YWuEAfYC4F6jlANkskapgPCsrtc9ZVnph7cMRR6qw+0f1SnP/1LpSFYxOvFK93R2d9+mBwCggFmq/q3lR/cSY8mHX7D4lcKS6UQV50YJuKTxR+/hOxdyzuOCUdWxrGwyUvar+ltBJvLNAfysdMDOmxE628ApzDTCc4j3n4nHMqfFe6YSVM687Xhrc195j1fiurf3mn6ZkD4xfuFdLSGBEiQIrpVMx+hoJoAuMxfVmLBLvEFh5GKvL9ksXQJ7VfrU52iQYCRFmv1QvERpZcEgxVmQb+khUe7b1pWZCjVTI94JLh21QmndJQm0cy22xS60ftydtrLUv6hOGXSFNKDkG1HIed8cB8eNXtTh+0Qfmm9YBxMa9LCQFZgRAQ65XPxQvg45k0box9lkCZCfGt76vxiUk50jJcuHduvqWprHtHDlKH5jVTmQBrQ0wUsaa3YE7jUkWKXY6WZE8xv1Qa/dzoT7h47zsz44bviBhjy/LUCSPE1xZpv7QlIB5gY149lRze8ZqDuV/VbmMp2pD0dhiu3FJg0CrI3nO3KoNnm6JHBzuJQCvFBDn6uN9kLsYbWvTOmvIwAxsxQU2jb14vqt/oYWnrsUh8w0wMogLBp0wYfRxdyxGUzot7kMoai+sPEY6Uvvac5wRvgDbi0PGAYwHgmdgJM5e7gJrLgnIyxL3G/UJOwrAuMiDivbBKlmz674M0uPASAmMAIQL27gb/gDAJUPNn2KGE/OA5g4Zs16kt2FP7MBe4a5FYwZPks+7Ypz11L1wej1gvEp4bVVDyDmBwx98D3Wm8MPbdxLJbDZ0cyznGSFxPKjfx2K8rWjfmBmtVAC4N4SoJYTROnMVFGMm9+Ap5IsxM4VxuTpnMLkeqyU/M1PL07nnLK+vr+u+z+ZamCE/p+YMZ1UVnRNAVXdnHDYzk+GsqqIzM1XdnXHYzEyGs6qK9r1ojjJEvzzt+dZebNr6whtye+G940nACIj9dD74hvxew5P7eJ4tWfWH61r1LNap8VM8nqpfnBmxwpNTeMzTmDfknDe0pNOHTNbIZhcyZNQb8hAgyNQAM/oNeSiYSX/PKMRWMoR/hi/+X0tSAKdmpsgbcsrw1NzUYIq8IacMT839B/4RvLoTtUcqAAAAAElFTkSuQmCC\n",
+      "text/latex": [
+       "$\\displaystyle \\frac{\\lambda \\sqrt{\\tau^{2}}}{\\tau}$"
+      ],
+      "text/plain": [
+       "           _______\n",
+       "          ╱     2 \n",
+       "\\lambda⋅╲╱  \\tau  \n",
+       "──────────────────\n",
+       "       \\tau       "
+      ]
+     },
+     "execution_count": 15,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "dot_s_pl_ = lambda_ * f_tau.diff(tau)\n",
+    "dot_s_pl_"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAAPCAYAAAAyPTUwAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA6ElEQVQoFXWSzRGCMBCFURugBuzACnLADtSjRymBK1dL0Ks3tQN1hgrsQK/eHDvA70EIhJ+dSfZl8+WxEzIpiiJQZFkWkjaMO/qtWjemdQHgh/4yXui4rrezg1UEupLkmmrdDQ+2mwdyzEG15cUQLHfFrkrN3INxVBtPRtJglerBFlArEQej9oEx+Gwhz30Mrh29vnswn17gumfINWTt7tyDLXgBWqOPZP0o14qDrcODzSVakEK9r0rFVMIWvLGWY/td6FYCauWBGVo9CUwoqgUXxphPnudbCnP0Sc56BymgehwK7ev3R39y/EPRn+AqqAAAAABJRU5ErkJggg==\n",
+      "text/latex": [
+       "$\\displaystyle \\lambda$"
+      ],
+      "text/plain": [
+       "\\lambda"
+      ]
+     },
+     "execution_count": 16,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "dot_z_ = - lambda_ * f_tau.diff(Z)\n",
+    "dot_z_"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "\\begin{align}\n",
+    " \\dot{f} = \n",
+    "     \\frac{\\partial f}{\\partial \\tau} \\dot{\\tau} \n",
+    "+\n",
+    "     \\frac{\\partial f}{\\partial Z} \\dot{Z}\n",
+    "\\end{align}"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB0AAAAOCAYAAADT0Rc6AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABwUlEQVQ4EZ2U201CQRCGD8YCjCVgB4IdSAcQKlA7kPgEr9gBtKAdSAcmdCBWIKED/L7N2c2eWxAnmTO3f3b2MnN6x+OxyGmxWDxj38Hj0r9F7vBPSjsI7DeUHPOAT+xJ6tWLxgwWcDdb5CD6confgk8y+i6P5TqxK+xv2I2HtS5zQNQJ3pf6JvpySfwRe48c5f42HcwB3hNLG2stCiAu9pEvRLK7foFX6GmRHNOmg73J/V1Fw0kBp5Oi35I4Rc7yBf6jdxW1QGoKCnmdA6Rv+CcC68ZX8DU8wd7ArjtsFC3BxIpwSmy7eQmfc50+gzdinrpF7f4+cnSBUqf4nj8WhF8BrGET4ojUcxq2i8PrMt/ioaDAtqLhPYnZdRaUTJJsopNE3iGC0L1SrznNeWNOATmf3n88ccjHtpPdkG+b3jsEOz7gxDvHqaDQyklLkP7KqOiAzj1t+HnUC7pQpSh2PF0aFUESyfpspjG6zdFJxC3om1ZOiO2vs6h3b2gUgl3X59t4Yt+2dV7J9Q3FLNGVX7CbnMIhpzefz3UYHMImSO/wJ0mxkQp0R8c57cOSJ2/8d8H5twrzjHS+XdsbmmGHG/wFT6Cz1aivRycAAAAASUVORK5CYII=\n",
+      "text/latex": [
+       "$\\displaystyle K \\dot{z}$"
+      ],
+      "text/plain": [
+       "Kâ‹…\\dot{z}"
+      ]
+     },
+     "execution_count": 17,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "dot_z = sp.symbols(r'\\dot{z}')\n",
+    "dot_Z_ = K * dot_z\n",
+    "dot_Z_"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\frac{E_\\mathrm{b} \\left(\\dot{s} - \\dot{s}_\\mathrm{pl}\\right) \\sqrt{\\tau^{2}}}{\\tau} - K \\dot{z}$"
+      ],
+      "text/plain": [
+       "                                                _______            \n",
+       "                                               ╱     2             \n",
+       "E_\\mathrm{b}⋅(\\dot{s} - \\dot{s}_\\mathrm{pl})⋅╲╱  \\tau              \n",
+       "─────────────────────────────────────────────────────── - K⋅\\dot{z}\n",
+       "                          \\tau                                     "
+      ]
+     },
+     "execution_count": 18,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "dot_f = f_tau.diff(tau) * dot_tau_ + f_tau.diff(Z) * dot_Z_\n",
+    "dot_f"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\frac{E_\\mathrm{b} \\left(\\dot{s} - \\frac{\\lambda \\sqrt{\\tau^{2}}}{\\tau}\\right) \\sqrt{\\tau^{2}}}{\\tau} - K \\lambda$"
+      ],
+      "text/plain": [
+       "             ⎛                     _______⎞                       \n",
+       "             ⎜                    ╱     2 ⎟    _______            \n",
+       "             ⎜          \\lambda⋅╲╱  \\tau  ⎟   ╱     2             \n",
+       "E_\\mathrm{b}⋅⎜\\dot{s} - ──────────────────⎟⋅╲╱  \\tau              \n",
+       "             ⎝                 \\tau       ⎠                       \n",
+       "────────────────────────────────────────────────────── - K⋅\\lambda\n",
+       "                         \\tau                                     "
+      ]
+     },
+     "execution_count": 19,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "dot_f_lambda = dot_f.subs(dot_s_pl, dot_s_pl_).subs(dot_z, dot_z_)\n",
+    "dot_f_lambda"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "lambda_solved = sp.solve(dot_f_lambda, lambda_)[0]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 21,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\frac{E_\\mathrm{b} K \\dot{s}}{E_\\mathrm{b} + K}$"
+      ],
+      "text/plain": [
+       "E_\\mathrm{b}â‹…Kâ‹…\\dot{s}\n",
+       "──────────────────────\n",
+       "   E_\\mathrm{b} + K   "
+      ]
+     },
+     "execution_count": 21,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "sp.simplify(dot_tau_.subs(dot_s_pl, dot_s_pl_).subs(lambda_, lambda_solved))"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Construct the bond slip model"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Given an increment of slip, calculate the corresponding amount of stress \n",
+    "regarding the current state of the material"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Let us now solve this problem numerically\n",
+    "\\begin{align}\n",
+    "\\end{align}"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "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.7.6"
+  },
+  "toc": {
+   "base_numbering": 1,
+   "nav_menu": {},
+   "number_sections": true,
+   "sideBar": true,
+   "skip_h1_title": true,
+   "title_cell": "Table of Contents",
+   "title_sidebar": "Contents",
+   "toc_cell": false,
+   "toc_position": {},
+   "toc_section_display": true,
+   "toc_window_display": true
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/bmcs_course/4_3_BS_isotropic_kinematic_hardening_softening.ipynb b/bmcs_course/4_3_BS_isotropic_kinematic_hardening_softening.ipynb
new file mode 100644
index 0000000..525881f
--- /dev/null
+++ b/bmcs_course/4_3_BS_isotropic_kinematic_hardening_softening.ipynb
@@ -0,0 +1,6022 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "# Plasticity model isotropic and kinematic hardening \n",
+    "This notebook is a work in progress on an abstract and general implementation of time integration algorithm for general damage-plasticity modes. It serves for the development of a package that can be configured by specifying the ingredients of thermodynamically based model\n",
+    "\n",
+    " - Vector of state variables $\\boldsymbol{\\mathcal{E}}$\n",
+    " - Vector of streses $\\boldsymbol{\\mathcal{S}}$\n",
+    " - Yield condition  $f(\\boldsymbol{\\mathcal{S}},\\boldsymbol{\\mathcal{E}})$\n",
+    " - Flow potential $\\varphi(\\boldsymbol{\\mathcal{S}},\\boldsymbol{\\mathcal{E}})$\n",
+    "\n",
+    "as symbolic equations using the sympy package. The time-stepping algorithm gets generated automatically within the thermodynamically framework. The derived  evolution equations and return-mapping to the yield surface is performed using Newton-Raphson scheme.  "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "%matplotlib notebook\n",
+    "import sympy as sp\n",
+    "sp.init_printing()\n",
+    "import matplotlib.pyplot as plt\n",
+    "import numpy as np"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "## Material parameters"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "E_b = sp.Symbol('E_b', real=True, nonnegative=True)\n",
+    "gamma = sp.Symbol('gamma', real=True, nonnegative=True)\n",
+    "K = sp.Symbol('K', real=True)\n",
+    "tau_bar = sp.Symbol(r'\\bar{\\tau}', real=True, nonnegative=True)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "py_vars = ('E_b', 'gamma', 'K', 'tau_bar')\n",
+    "map_py2sp = {py_var : globals()[py_var] for py_var in py_vars}\n",
+    "sp_vars = tuple(map_py2sp[py_var] for py_var in py_vars)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "## State variables"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "s = sp.Symbol('s', real=True)\n",
+    "s_pi = sp.Symbol(r's_pi', real=True)\n",
+    "alpha = sp.Symbol('alpha', real=True)\n",
+    "z = sp.Symbol('z', real=True)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGAAAAAZCAYAAADOtSsxAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADDUlEQVRoBe2a7VHbQBCGRSYFeJIOnA6AEkwHECogdBAmv+x/GacDpwTsDpwOQugAUkEIHTjPo5E0Z418CJA0nsztzM7e5+7q3bu9k+yD6XS6zLLsEC7pZDab3ZeVJLtDAFwnaFsEGlcHBOCOjg9BYyoOgACYjzEzfzOArWQigkAKQAScIbpSAIZAOWIjBSACzhBdKQBDoByxkQIQAWeIrrdtjHBlmjPuTzH2EXlD222buUOMwZfyfv0Oe2fUf8C+2xwjvw/kQ4iR1/qlfjxl+8kAoOQXSi6QOeDINfUj+PIp5UP0488IO1ewAFg2AGfIMfIE2SthY4wBMbmknAOO1I/fyCP4vqhPkKu6M9EAMEHlh8hwtfuwe/WmjH8V0IXPi7Ct/tAd1wV/hb1qtVN+hG9oFysX6ie4cSdGA8CkBzhD2V/ENdxqWzlnKPJhS1uUTTvuBHdA74Q9Pyu4SL82GHORHhft70M/w7HRQ7iY5OoymkZxTZsR3zvCL8+BL0i/ZVVB6dnRj+j3vGmyZ5tp0AXRFKDctZ07gIll+jFvlbntM+W5ffDepCF8OcWvc+QgK1/ksDVCyGF6tisk+38y1mA00s4AMNqvpCqoDg4UfYMNQAU+ZQNV/6JKU0UeRDEnq4EvKaBb8F31W+BTN11utb1E/6456DbP2323awztjqnwaxoXC4D5f+sBUOYO8GAJyfpF0TBBeti47fJxOlr0dS7QXeZ8F4U2BcNFcw7X/aSpc/JZTdFbByy+mK4lfcn0E25chLEAeHqfMlEdgqgyr1RVRCmPYMdlSIPjbSBfGUrbeyavfvmndKQPbRDcnVfUq1tJXz5gQ/th8HNTtOUBQYqPPvkO1RiAzN8DNptN9lpGz1odyDG8eK2+/31+gdMyegtqu3KIsudASZZ9I03UAoFOAoAd860HseTZ4VmQqAUCXQVAwH1Ry9gN5roHZH4A2ZZoNwKxQ3j3rFoPYG/9plyv14anaoBAVzsgUJmKz0EgBeA5aPUwNv9bSk1v+l9QDZCuqqRmz8rwf0G3/wARrh6V0tmKEwAAAABJRU5ErkJggg==\n",
+      "text/latex": [
+       "$\\displaystyle \\left[\\begin{matrix}s_{\\pi} & z & \\alpha\\end{matrix}\\right]$"
+      ],
+      "text/plain": [
+       "[sₚᵢ  z  α]"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "Eps = sp.Matrix([s_pi, z, alpha])\n",
+    "Eps.T"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "## Thermodynamic forces"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "tau = sp.Symbol('tau', real=True)\n",
+    "X = sp.Symbol('X', real=True)\n",
+    "Z = sp.Symbol('Z', real=True, nonnegative=True)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGEAAAAZCAYAAAAhd0APAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADJ0lEQVRoBe2a7U0bQRBATZQCkNMBdAAlAB0EpYJAB0H8sv9FTgeQDsAdkFQQ4g5CCQkl5L3LrXV3Xtt31nodSzfSaPb29uZ7Z2cxB6PR6HEwGJyAAS7G4/FLeOhpWg/g23M43lW4Tg8Iwi9eHFcm+2EmD+D3I0RN3mSS14tZ4YG3K979V6/Imj8odAi+gs8l/Q0VzCi3+Yx1p05sE5BxBf9LUJmC5XvC/L0PUPX8DoYy/43xHfNT6ALsRRBQXmM17LJpSGnwT94ZnDNw64BMnX0P9Tx9D95U9WL8Clr3L8CPPkOXwl4EAe3NuoUAlFaZcUPwdJ2x5fqU5DPMDMItOM9y9HAH2OCo91rYlzNhiEFzI4NVzD0x1uAzxtk7OmTOkC2eMC5KD9TSeAttFQDWDvYlCGZcDTDS7W6ZMuN0xK4g6KbjDYBnQ+sAqPTKcgSzT6xxq1mPY2At/BJ7kXIOGTUn8zyBv4fjNWMPvZ0B8qegNd+ypJ86BUDFl+6E0tB3rPGw8x5hObDzcFwga7YeAGTVAJk63+QwAYpupLZgNw9Bjyd0WnkIx9SL7gQYWd9+QOd1mPEhWMvIGMNtziHfbLMM2ZlkT4AVtlmGBKtGZ72iO0Fng9UAGJTOEVarVIA+1n9bQrf/dZUvz8EJ1eksY2SbFDeg/jJRTZROEA1ChMMH5uxEdgIYZhIo3+SI1VydkB3KAHgJszMLB3QtQdoo1TYIRve5DcPUazDQLPcu8MJ44TbMnDvEy1pWQK7NwSO0KNElNRjnjNW5NawNQsnwKAhrzTnBQmTabYQduBCAUoTl4CGBuNYs0MvGwEO42ZkZGKHTzlwbBBi6C7JfhLQEWHobxgFekNwB7pBs5xWyPJeOoc0ADJgLXdIVYxOoFUS7o8aXtqNmW1bAiPA7hwngBUj5GjYE3e7ByM41mG87AbI9k76CUqH42xDz826xsubfCkqk78HYGRbWFLT/PaHmjrwPBMhk6n9PyOv2uLQ2Z0L8y342mQf6ICRz5eaM+iBs7rtkX/ZBSObKzRn1Qdjcd8m+LFrUBrf+/44aDkn5SFvqn1mq967ZXy34CSrx3MmyAAAAAElFTkSuQmCC\n",
+      "text/latex": [
+       "$\\displaystyle \\left[\\begin{matrix}\\tau & Z & X\\end{matrix}\\right]$"
+      ],
+      "text/plain": [
+       "[Ï„  Z  X]"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "Sig = sp.Matrix([tau, Z, X])\n",
+    "Sig.T"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHMAAABLCAYAAABDargmAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAI20lEQVR4Ae2dW44UNxSGa0Z5jgYiRXkedgDDDpodcFnBMDsI4ml4Q7ADYAVcdhCyAgg7AF6jSJBRNpD8n2OXXNV2tatrqtqe9pGM7/bx+X2OL+VpDs7Pz282TfOHXIjePXny5F4oo6YtLwFh8Vm9Hod6Vt7BD17GS4Up7NMXP1LDO5fAM3Fw1OPituJ3SfPBfCZ0swNPPDETV/KZbFeeNE6A+RTCIiQDW34NzCRBqfKvKnhHbmUrvJfvJsF1m4bpBgSYumXTRnuqyyx8IZ/+9oI0Vpa2t3KP5Jxck8bua2ZSBXXwXAWfy/9XPmAFBa30h8qfut7+fgltqIni6FQcM/ZRinC4zTAFlNPK1wP13yhv1Mzy27KT4aP8rdvw2ysprDFfiN/38rGCyTRaM23LThsxsUPU31ANle3nPVKC66eftw/xpxrkVzksYRJtpZlq2WimZs4nvxfF2W0ZsrPrnYuP8VWX9baRv3da6eRk5fdFvrOCLivqb6uZbHA6WqlOWSM7mjgBDHZnnfZDI1D7TJ5vNg/ThFnuTLBQvTnSZuIFGbDv2CgLxjQaTDHtZsp1hV+oDXawpLHzvCF3GYR5fTvUkPrmouNUvgFP/m+Ks2E4G6o3R96MvKAcyeMZDaYad+tYK0gExIDk1syi0gDamF+FU3dnmNnvtBsitUP+Tfm+FrLGrvUfqn+ZaTPzggxQkiTaBkzAaXqCJKljCpRvhC2fXRl5yUypLNqO2YyRAVrt/q0C7Jo5l3X671dUPv2z3R9DnQkbqTial0g7oWQmp9k/hDL7aduAubZe2kbZfRmyggN0pzmE2/z/S23/r9q/kMNCoI2s1Q8VZ9I4q7HWOHWUmGoZ1urHEmjX9pvMS6ytqemjwBTTgAKxPnXICsulPVbAB48J4IB1ZYZ8ZntQk9WPM7HslI02Ko3zGNeRx3KLmdoFeMFCJY9nFJhq2M38qEnTAAEOoRozaeNKau4qjM/FMObL5JMQIAbAQELExgig22OP2uJGahd3y0m8iDcmIGWRTYhuqUxoslNvSE6dtg47sc0Rc6Eb6bhROprLuuRrJWmA81L5HIA/yLXnUYVDxMBiJhGtdZPK1FW7aCZmbmlK5QXeTuUYE+Frcnw4wL8m/kNAKsuUjyoOBXzaqJnqCC14JccswTVKY5YxEAgNoozL577WZw7Bc1nuZhj+idwQYcY59oToTIlOy2mLvjlct5oaqjRT2kZexNeRHOUa+Uw6LtJZZ4k7mcTYQ05MgiRKAZMOp1yYw5CviczOwXVAg2Qzw2DX1kClUTf5iktlZ6MUXlTGB+yO4iwJRimGGFMZJikTwVeMoSrN4WDu5WTC1EevqfsKv/bisSATYBemM8bPpPQegIAZ2xO4fthExqyTK9PxlwCz1UINiGMEV24bTaLKsKagmRtncWdE+UaYmCxPEEvUyoQC/2jMKMBK/igLtASYmOhXYgxNuyG/s3kJjMVPou6o2elXziwMeFxwNJIBpvO7fEALEaCPXtoOvAddCLrVolAPu0gTT2gms3Rfno1gvdgzJGGhcpwwuAE72LgB2gWAfp92UHsBJOPWeLce6xJm1semhmeUQAVzRuEu3XQFc2mJz9hfBXNG4S7ddAVzaYnP2F/2u9mhsWvnx13nbTm25xDnN+5pO2c0xTm3+WVSPjrTXlFUOpjmhkRguQfZsS8tXB9yQD9T2aTzW1EoWmaLBpMxCJyVHUvwU5HyOYRz2zLm5sk2WZZXPJgStwOp8/pB4KGJ5rJa4Surjf50uwpgGs0UYK1mKswX/Qfyr8xXFx+0WPgqgAlw7Tc/AYhZ5RmG+SAcG7ifrrJMCC70+Sx1T3HuRmn3RP7W12uqvygVDaYFAYEZrVSc3S1fZ5LNqupgjtFg6hEGTHbDfH5zJlzR/Kn0c6YT9jeAlGN3iyYBhDuKbEQB0OTcGyVALQ5IBlk6mGa91Dh4U+M+5AIGxOZnI6nehSukMKYVc9s5p7r83H3A/FHuL+vnzm+fP4TP+tauawpjYjG7vKgnP4lUlonxWD5a2gKcVHm3hX5R9+BnNPMf+T/L4RdDVvjw2zmS2AGM1U5MMhcKJWrkn+Id/Io2s269bI8kDAgSKKShoTzJZFMTJeUDJNrYAVJx914nWje3jJJ3s2aDI6G3x5KecFn70FDWzuB5U3Uxw5ThNTw+f0IH+A/kgnWUni0VBaYEjqAR+oncMVJVGhr0Qb7bAJHGEcWdM9nlAlroXpY08zel8jmf0jYazS99rGm80rOm7B90ZS29DJjTpMNCmQddpR9NMhBnPixUMPPBYjInFczJIsyngQpmPlhM5qSCOVmE+TRQwcwHi8mcVDAnizCfBiqY+WAxmZMK5mQR5tNABTMfLCZzUsGcLMJ8Gqhg5oPFZE4qmJNFmE8DFcx8sJjMSQVzsgjzaaCoj9MxsembHh+V3S9C87E5+pOl9vsf5Y/l+ADNO9n2AZfN55FYm6YyRVDRYErgAMKDLl4MmJcB8nmN8FU+r9r58z7iK/n8zJl7TUBZfovIfNiV794TKWjezBYHJIyXbmYBEpDaJx4KAwS/CObe8AAgmgbwPNzihwfRRp6GoMW8ueVZSSMfcDf+4BRlc6RiwZTgebAFQE8DguUdD++EoJ9UFoBXcqck9Ig0HnBBvGSnbpFUspm9L4nH1jbAAxjWRgO2wu1DaR8pgJZr5NDOVsP9MqWEi9RMCf5IAsbFnlkif/J5tQewKcSfAA61l9LGTsuUCqYDiHeuMULjxqx/Q23F+sgqvUgwrQQxm/4u1CQLQDY8EJrZKG42N4QHiLJvBvKLyCp2zRRIHEf8l+hG4Eoza6P8I/KVyPlzo/lUWaftRQAXYrJYMBmMAHDHj7WxKc+9aF/Lu6oJJZvZS8FEoK/UEP8VVfG092AKQdbdoo8kbhZWMCUJaWexFwUOSPy9B1NARtddX1AlhPcezBJASuXR381+1izt1+MSu/MXxf0CNb6cBIQFFxvHsR4B0/xxaaTAxvNZpF5NnkcCnJvNZUio+f8A92/+mZ/dmfwAAAAASUVORK5CYII=\n",
+      "text/latex": [
+       "$\\displaystyle \\left[\\begin{matrix}E_{b} \\left(s - s_{\\pi}\\right)\\\\K z\\\\\\alpha \\gamma\\end{matrix}\\right]$"
+      ],
+      "text/plain": [
+       "⎡E_b⋅(s - sₚᵢ)⎤\n",
+       "⎢             ⎥\n",
+       "⎢     K⋅z     ⎥\n",
+       "⎢             ⎥\n",
+       "⎣     α⋅γ     ⎦"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "Sig_Eps = sp.Matrix([[E_b * (s - s_pi), K * z, alpha * gamma]]).T\n",
+    "Sig_Eps"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "source": [
+    "**Executable code for** $\\boldsymbol{\\mathcal{S}}(s,\\boldsymbol{\\mathcal{E}})$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "get_Sig = sp.lambdify(\n",
+    "    (s, Eps) + sp_vars, Sig_Eps.T, 'numpy'\n",
+    ")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "To derive the time stepping procedure we will need also the matrix of derivatives of the generalized stresses $\\boldsymbol{\\mathcal{S}}$ with respect to the kinematic variables $\\boldsymbol{\\mathcal{E}}$ \n",
+    "\\begin{align}\n",
+    " \\partial_\\boldsymbol{\\mathcal{E}} \\boldsymbol{\\mathcal{S}}\n",
+    "\\end{align}"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\left[\\begin{matrix}- E_{b} & 0 & 0\\\\0 & K & 0\\\\0 & 0 & \\gamma\\end{matrix}\\right]$"
+      ],
+      "text/plain": [
+       "⎡-E_b  0  0⎤\n",
+       "⎢          ⎥\n",
+       "⎢ 0    K  0⎥\n",
+       "⎢          ⎥\n",
+       "⎣ 0    0  γ⎦"
+      ]
+     },
+     "execution_count": 10,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "dSig_dEps = sp.Matrix([Sig_Eps.T.diff(eps) for eps in Eps]).T\n",
+    "dSig_dEps"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "source": [
+    "**Executable Python code generation** $\\partial_\\boldsymbol{\\mathcal{E}} \\boldsymbol{\\mathcal{S}}(s,\\boldsymbol{\\mathcal{E}})$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "get_dSig_dEps = sp.lambdify(\n",
+    "    (s, Eps) + sp_vars, dSig_dEps, 'numpy'\n",
+    ")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "## Threshold function"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "source": [
+    "To keep the framework general for different stress norms and hardening definitions let us first introduce a general function for effective stress. Note that the observable stress $\\tau$ is identical with the plastic stress $\\tau_\\pi$ due to the performed sign switch in the definition of the thermodynamic forces."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJ4AAAAVCAYAAAC38ldgAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADs0lEQVRoBe2a7VHcMBCGSYYCGEqADiAdBDqASQXhOgjDP/5lSAeQDgIdQCoIoQQ6CKED8jyO7fh8Pse+ky178M4s+rR29Wq1Wul48/LysjFRHATOz8/3kPxI+hxHg/6lZnN+27/oSWIBgQ/k3xXKryGbzHkz9Eyx6N+MuQW7i+/T9IlU2oEP4Af67Vsx0XIEwOiE1mNYzKRH+IL6Kwuk4vwd1nNKd/Al9TdJacB/ghoeExYgwTguTz4F6SdtGuR7eKL/IABmGtgV6TXpEXxaxJX8M3xJ/SH80TLpKCio4TFjd+eC0aVIuDO34f0YACHThXOBKon2WWVDTWU65g7pl5puIZo+M4j6n8G5N0Ounu6QVNxHRaENbxsQcmAyJKi7JS9IGp3HRe+U6rWgW++KrCAQ3Q1NHvh0j1S2bNhyRjo6oxOC0JcLd+YcAYxHgUewO1PwJloNgQxbjU2jM9YbpdE5/aAer2xYlC+QYYA8I2/gG42Q/wnhHlXGoFVk/NT1kVklt1Edut3AxnAeuc5hMEa3CrZBDa+IIMpocC62C5rcwortfeaR7waQvNS4eJb1IOYTok+UECCT3zAVRzG9Rd9c94bfdtJtVWw7MTyUcVd6xHoji+pFkG9s+YM0j+/Ib8FjPPY9YiU9d1RcVQIMV8Z200VgDG+cbcire+XCUW885/Xfo2FWHJSyN8Baz0J7aH3UM9eV8QWrlbfgGz2k8yqTunqh8lG0TP4iEew4ZCw38mkq5IiynG+msvCqMv0Hg62G5yIEecxlLBfVG6y3rirQBW7OGCnPUUh95gb+V9BI1LExoVO24HPfUK9n7/w5BTkanQ/DGrMhgnLFsa3hBVtrZFdRY2yD3WoBxGNAzyk4C4ZMnR7DB+TY5KLdx1aiqXxw09tekyZeO009NQ7IZ0dv0+G67tcY2yCGBwC68MyLLBhdOlt37beuZ143frpQeqj86K3rH7sNPbOLRPlFILssVXriGHq3xTaI4THRpb9KoJAPnnq6IfwXhjuyNsaMsWhVMsHMOHmXtGx0G9RlrwQn5N30Q6BW2K59q2XiAmRs54L6qEmyIRjbsEdBBkxtbEe/PmgXIXreQRLYieNX2FRKfoulPvfQhT5/exC+2A5XxdRZnz7SVtiGMLzYE24MKoszBONfqq8GROOyUCX5rkmfpQI6bGiL7dqG1+FcxjD0wjE4BqWHoONkeGusArv8eY3PX/WnoS4XrxrEafLtEZgMrz1mIb/4xWBPIQccwVjJnP8AH7ZnRmtTxKsAAAAASUVORK5CYII=\n",
+      "text/latex": [
+       "$\\displaystyle - Z - \\bar{\\tau} + \\left|{X - \\tau}\\right|$"
+      ],
+      "text/plain": [
+       "-Z - \\bar{\\tau} + │X - τ│"
+      ]
+     },
+     "execution_count": 12,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "f_Sig = sp.sqrt((tau - X)*(tau - X)) - (tau_bar + Z)\n",
+    "f_Sig"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "source": [
+    "**Executable code generation** $f(\\boldsymbol{\\mathcal{E}}, \\boldsymbol{\\mathcal{S}})$\n",
+    "\n",
+    "Note that this is a function of both the forces and kinematic state variables"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "get_f_Sig = sp.lambdify(\n",
+    "    (Eps, Sig) + sp_vars, f_Sig, 'numpy'\n",
+    ")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "The derivative of $f$ required for time-stepping $\\partial_\\boldsymbol{\\mathcal{S}} f$ is obtained as"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/latex": [
+       "$\\displaystyle \\left[\\begin{matrix}- \\operatorname{sign}{\\left(X - \\tau \\right)} & -1 & \\operatorname{sign}{\\left(X - \\tau \\right)}\\end{matrix}\\right]$"
+      ],
+      "text/plain": [
+       "[-sign(X - Ï„)  -1  sign(X - Ï„)]"
+      ]
+     },
+     "execution_count": 14,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df_dSig = f_Sig.diff(Sig)\n",
+    "sp.simplify(df_dSig).T"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "source": [
+    "**Executable code generation** $\\partial_\\boldsymbol{\\mathcal{S}}f(\\boldsymbol{\\mathcal{E}}, \\boldsymbol{\\mathcal{S})}$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "get_df_dSig = sp.lambdify(\n",
+    "    (Eps, Sig) + sp_vars, df_dSig, 'numpy'\n",
+    ")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Flow direction\n",
+    "Evolution equations have the form\n",
+    "\\begin{align}\n",
+    " \\dot{\\boldsymbol{\\mathcal{E}}} = \\lambda \\, \\boldsymbol{\\Phi}\n",
+    "\\end{align}\n",
+    "with the vector $\\Phi$ representing the flow direction within \n",
+    "the stress space. Assuming the normality condition, i.e. that \n",
+    "the flow direction coincides with the vector normal to the \n",
+    "yield condition we can write\n",
+    "\\begin{align}\n",
+    " \\boldsymbol{\\Phi} = \\boldsymbol{\\Upsilon} \\frac{\\partial f}{\\partial \\boldsymbol{\\mathcal{S}}}\n",
+    "\\end{align}\n",
+    "The sign matrix $\\boldsymbol{\\Upsilon}$ is used to direct all the derivatives in the outward direction from the elastic range."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJMAAABLCAYAAAB0iLVXAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAJcElEQVR4Ae2dX3LVNhTGbzJ97qTtTKevhR3wZwWkO6BlBcAOYHgKbwzdAbADYAfACkrZQXjudKaU6Qr6/RTJ8XUs69jX9rWToxlFtv4effp0dCzfWAcnJyc3NpvNn/Jt7u3Tp09/bUvwuKuHgLhwql5fa+u50g6+qSW81DWZ6+5z/cavrzwCz4XAUQOF27q/S1ydTM/FLidPAylhwkw8Vshku9ROfYQUn3I8aMMglrlApkUAJeEYPJbdx23Czymk2mcWvlD4S1u7in+geMyA45jOZGRSBuLF8h8UhymBey9PfW/D3cL+IJf8G3mw761YDhfWH8RhAPHXudmzgwgPczII8JfyEC2RY2sCKO2r0l7E9O/IK5/y5qrdd/x9CfBmiBD1ZW5I+dHLCOxPqvRg9Ip7Vig50DofFVpm6DPlRdU/ka/IorJoJAi0mocYyfpV/r38I/nfJb/ZLVEzmYWfOONj1Y/BWXQCnQmAv6HrsKQpZLl+onA1RKp1lMnBxOjlFkcmBoEBwffqyYiZkYHqFFq0UmqZAcBBIMpjO62RSPSb5fmzwmQL0q+im32Zk4CQBCEZqO/lsY/uKf6mPIOAjUE6y8XWYMTOYcNQlnIY6oQ4bBe0ySt56nktn+rS5ea2/B+qw6K6WbIwls1O9WK8MgiURaYt2c0VTZBRcj1StWiahFWzFWy9Ji70nz6YcZiVTBKYzjBjt56OdA9BNgohCTbGhU1UxUGwd/IYsgzaRiH7YuHpSdfcs9RASuIh1LGuA0gKuT9VyKCXNA7yDTFCeYpj4N6pjSCjrvfqJEdaqu9IEGTiHi1ayZfBAwzDuCg0uVnJJIlu4SX8UQNsNEjdfanfxOugkRrlIA/aiKeq+syCLLRTkVbXqG1FB61X2jOCeG0yUL7LUQ6HFqjLEyLn/qP+sgqgjesPBWAPbiVH/49KmerpJjKpcSrlMbmPu98UWvc8JSDkv1wrRNOgKSzAU45l0epy2scCEO1UM9fSoPrAhIDYuLu6x1eDeBbd/Vf5R8E5taL6IA0+ON1DLmu/wC9NjrMKCn+tZEKAm4W6rMnUw8w9lkflpmWqpFLJ+wBAAEke4Knjvnybg3yzOMkCkdiMRPuxhGA30Z++ZBoTZzV/wd1TDBN4Enc4Sa2ZSgV0YLpCDD5sG/aTAB2SQIySY+ZjrCeDkjp6DVipgZgOESFr0al9SM6ucdAAMWRWY6/1mtnFxnbPAMk/GqtBO+e0e2sVJs3UWnJYJODSoWpZE+BpF7kEPCoajWR+uhgmYigFiIDZ6SRLMrabMkGwtOyVNG5nG2MlRmKz7VIte4W6GQ80pdkdmnOOl5F9mOas5745IM08dIwlkRkf9qEUlgg4VGoA71zW1TZPe9cVNuXeKC4Z+GjcZj+GyrRrOSZxH01D/y/0rUuIuTUTsgD0bxFkCMI7OEiCvYH2SfbURvcMGIZ82uLX7faaT5riXit8KN9WHhsG0iUNAZlvy3ftA2FXoFm2XKz/lSJpB4dc2ErVbK/lOcuhvTDS5bvaS3mnDMH5Qp86GryltJw92lrsoPbjOGZZH+a2VjhVpGQLA6ww2EgKmfEsRQxsWFYUVy2fu8qhuthnYc9rsZjs2sdc+Ygtk6D4sl150HjYjAf70Ey5PmTjo8AbhZWxrWs0Eh6NBqmY+aORSXVBUAz+pNF0eWUcq0MfLRaA2YfNNGREWLvDO7tMYYjUu/OZukK0CMpyTJtT2WVdze8tTf1F41dvDvoIshbNhG0S9qcUslfyT+zkDwrpPFsNld0S08YIICl2W7WTPkalC6+D/g6y71ZBJsAXWVjSWHZmc7Qpj2HPU1l6Qput/bkbop9qk/4OshNXQ6a5gU3tRWAvPZHor/q6Uz/XYjOlsfVwwQg4mRY8OGsTzcm0thFbsLxOpgUPztpEczKtbcQWLK+TacGDszbRfGugMGJ6XObdEy93f9Y1e13uMgg4mVqAEWnYVYdAbN5dk+feXQEBJ1MLQFEDhVcKumZXGO3kroCA20wFgDzZjoCTyY6V5ywg4GQqAOTJdgScTHasPGcBASdTASBPtiMAmb6V/zuG9pKe0xE4Q+AnBfBnA5n+k/8xhgrcOQK9EPhLueFPIFOvkp7ZEcgh4DZTDpnzeN/9Psei88p3wDPwaOeb/3bhX6iOY5YPiuP/9Pl/sp1+3hrru3SBkykzpCLMVfx/uQwatmhf5mw4eS4DAk4mA0iexYaAk8mGk+cyIOBkMoDkWWwIOJlsOHkuAwJOJgNInsWGgJPJhpPnMiDgZDKA5FlsCDiZbDh5LgMCTqYCSNoJ54Nf/FPBpXfqJx/Cvza0o4t7nRI74ydhDh3RHcoJe06L4PuUfDyt9zealqiZeEuPL36ccwfcrEU54iP7jk6Ap2+Yp29tMgjVS2Bdf1V5XhiT7idhCoRZnQaAzwn6SZizon7eGBNA3k/CPIdklCs+ecgXd4suTgAmQXXoouKwPfjm+KDvQxYbnTbDM2Tv28TiljkGQb4alL4dGiN/JMJGYR+7gQHAQSCIxIfy10gk+s3yzCex02+56FfRzW6AS0A+Ao+QDBQ/PsM+4nAdPwlTQEzhhG06uAis2xy2XvMb6nwum8lgPvJiVjJJYDrDjN36FLLug5GrEIJxKoCfhCkgxnDCMi3Vd1QfGod7tCjXwUXc020K/STMiASk9JMwz1YBPwkzTY9a+EXXLItWl7N3cqq+Xi/tVDO3npC71uxmCyB9p9xPwuwACmA7j8zKlW2JDycNKB67CZXLssd+TVjqWvKnKPI+UD4/CTMh0j/kdAcONJrEzfo0JyLwlLNRiMHnJ2FOMqSdlfKdKf7DxuLQzjnt3lp+VgNcEkAmOlQ9OYhUaRc5EK1VyrPIGwr8JMwOgLqShDP4su3CfpjFkb/XUn9oqXXkPOzDNO0W7puPoM08dIwlkROH/CTM/oPCJO6jaTBHmmPS2ercmglheHflJ2F2DsskiX4SZoJV2shPwkxgTBzGlcNPwhwRZ54eedQvPWWO2ORiquK9HFsdvdw+bKZeAsbMrN3hnV2mMNv+vTufqStEa3ayHNMmhuiVcVErYZdWD0nWzu/DZrLKVuVTx/wkzAqNyS/8JMwpII4k9pMwjeCuQjMZ+zJJNhGKx+nq15OTNLKQStXXnfpZJ9OpKmt2i98Er/I3Oc2O+P3uCIgL/JIga0NCJmZeekHZbNG6W9os5/eXEwGecJubyVVP/wcXjB6Obd/+AQAAAABJRU5ErkJggg==\n",
+      "text/latex": [
+       "$\\displaystyle \\left[\\begin{matrix}- \\operatorname{sign}{\\left(X - \\tau \\right)}\\\\1\\\\- \\operatorname{sign}{\\left(X - \\tau \\right)}\\end{matrix}\\right]$"
+      ],
+      "text/plain": [
+       "⎡-sign(X - τ)⎤\n",
+       "⎢            ⎥\n",
+       "⎢     1      ⎥\n",
+       "⎢            ⎥\n",
+       "⎣-sign(X - τ)⎦"
+      ]
+     },
+     "execution_count": 16,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "Sig_signs = sp.diag(-1,1,1)\n",
+    "Phi = -Sig_signs * df_dSig\n",
+    "Phi"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "get_Phi = sp.lambdify(\n",
+    "    (Eps, Sig) + sp_vars, Phi, 'numpy'\n",
+    ")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "# Time integration scheme"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "source": [
+    "## Summary of the backward Euler scheme\n",
+    "The derived expressions can be now plugged-in into a generic return mapping algorithm that efficiently identifies a state that satisfies the discrete consistency condition. The general structure of an implicit integration scheme reads\n",
+    "\\begin{align}\n",
+    "\\boldsymbol{\\mathcal{E}}_{n+1} &= \\boldsymbol{\\mathcal{E}}_{n} +  \n",
+    "\\lambda_\\Delta \\, \\boldsymbol{\\Phi}_{n+1} \\\\\n",
+    "f(\\boldsymbol{\\mathcal{E}}_{n+1};  \\lambda_\\Delta) &= 0\n",
+    "\\end{align}\n",
+    "To reach an admissible state let us linearize the threshold function at an intermediate state $k$ as\n",
+    "\\begin{align}\n",
+    "f(\\boldsymbol{\\mathcal{E}}^{(k)}; \\lambda_\\Delta^{(k)} )\n",
+    "& \\approx\n",
+    "f^{(k)} \n",
+    " + \n",
+    "\\left. \\frac{\\partial f}{\\partial \\lambda} \\right|^{(k)}\n",
+    "\\Delta \\lambda\n",
+    "\\end{align}"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "source": [
+    "Thus, by rewriting the linearized equation as a recurrence formula, the iteration algorithm is obtained\n",
+    "\\begin{align}\n",
+    "&\\left. \\frac{\\partial f}{\\partial \\lambda} \\right|^{(k)}\n",
+    "\\Delta \\lambda =\n",
+    "- f ^{(k)}\n",
+    "\\\\\n",
+    "&\\lambda_{\\Delta}^{(k+1)} = \\lambda_{\\Delta}^{(k)} + \\Delta \\lambda \\\\\n",
+    "& \\boldsymbol{\\mathcal{E}}^{(k+1)}  = \n",
+    "\\boldsymbol{\\mathcal{E}}^{(k)} + \n",
+    " \\lambda_\\Delta \\, \\boldsymbol{\\Phi}^{(k)}\n",
+    " \\\\\n",
+    "&k = k + 1\n",
+    "\\end{align}"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "source": [
+    "To define a generic return mapping we need to construct the  derivatives of the flow rule $f$ with respect to $\\lambda$. The dependency of $f$ on $\\lambda$ is intermediated via the stresses $\\boldsymbol{\\mathcal{S}}$ and state variables $\\boldsymbol{\\mathcal{E}}$\n",
+    "\\begin{align}\n",
+    "f(\\boldsymbol{\\mathcal{S}}(\\boldsymbol{\\mathcal{E}}(\\lambda))).\n",
+    "\\end{align}\n",
+    "To correctly resolve the dependencies in the derivative $\\frac{\\partial f}{\\partial_\\lambda}$, we need to apply rules for chaining of derivatives. Let us start with the derivative with respect to $\\boldsymbol{\\mathcal{E}}$ in the form\n",
+    "\\begin{align}\n",
+    "\\frac{\\partial f(\\boldsymbol{\\mathcal{S}}(\\boldsymbol{\\mathcal{E}}))}{\\partial \\boldsymbol{\\mathcal{E}}}\n",
+    " &=\n",
+    "\\frac{\\partial f(\\boldsymbol{\\mathcal{S}})}{\\partial \\boldsymbol{\\mathcal{S}}}   \\, \n",
+    "\\frac{\\partial \\boldsymbol{\\mathcal{S}}(\\boldsymbol{\\mathcal{E}})}{\\partial \\boldsymbol{\\mathcal{E}}}.\n",
+    "\\end{align}\n",
+    "By expanding the derivatives of $\\boldsymbol{\\mathcal{E}}$ with respect to $\\lambda_\\Delta$ that will be abbreviate in index position as $\\lambda$ for brevity we obtain\n",
+    "\\begin{align}\n",
+    "\\frac{\\partial f(\\boldsymbol{\\mathcal{S}}(\\boldsymbol{\\mathcal{E}}(\\lambda)))}{\\partial \\lambda}\n",
+    " &=\n",
+    "\\frac{\\partial f}{\\partial \\boldsymbol{\\mathcal{S}}}   \\, \n",
+    "\\frac{\\partial \\boldsymbol{\\mathcal{S}}}{\\partial \\boldsymbol{\\mathcal{E}}}\n",
+    "\\frac{\\partial \\boldsymbol{\\mathcal{E}}}{\\partial \\lambda}.\n",
+    "\\end{align}"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "source": [
+    "The last term $\\frac{\\partial \\boldsymbol{\\mathcal{E}} }{ \\partial \\lambda}$ can be obtained from the evolution equations\n",
+    "\\begin{align}\n",
+    "\\boldsymbol{\\mathcal{E}} = \\lambda \\, \\boldsymbol{\\Phi} \\; \\implies\n",
+    "\\frac{\\partial \\boldsymbol{\\mathcal{E}} }{\\partial \\lambda} = \n",
+    " \\boldsymbol{\\Phi}\n",
+    "\\end{align}"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "source": [
+    "**Summarizing**: the algorithm can be written in a compact way as follows:\n",
+    "\\begin{align}\n",
+    "&\n",
+    "\\left(\n",
+    "\\frac{\\partial f}{\\partial \\boldsymbol{\\mathcal{S}}}\n",
+    "^{(k)} \\, \n",
+    "\\frac{\\partial \\boldsymbol{\\mathcal{S}}}{\\partial \\boldsymbol{\\mathcal{E}}}\n",
+    "^{(k)} \\, \n",
+    "\\boldsymbol{\\Phi}^{(k)}\n",
+    "\\right)\n",
+    "\\Delta \\lambda = -\n",
+    "f^{(k)}\\\\\n",
+    "&\\lambda_{\\Delta}^{(k+1)} = \\lambda_{\\Delta}^{(k)} + \\Delta \\lambda \\\\\n",
+    "& \\boldsymbol{\\mathcal{E}}^{(k+1)} = \\boldsymbol{\\mathcal{E}}^{(k)} + \n",
+    " \\lambda_\\Delta \\, \\boldsymbol{\\Phi}^{(k)}\n",
+    " \\\\\n",
+    "&k = k + 1\n",
+    "\\end{align}"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "source": [
+    "## Implementation concept\n",
+    "The gradient operators needed for the time-stepping scheme have been derived above and are now available for the implementation of the numerical algorithm both in `Python` and `C89` languages\n",
+    "\n",
+    "<table style=\"width:50%\">\n",
+    "<tr>\n",
+    "<th>Symbol</th>\n",
+    "<th>Python</th>\n",
+    "<th>C89</th>\n",
+    "</tr>\n",
+    "<tr>\n",
+    "<td>$\\mathcal{S}(\\boldsymbol{\\mathcal{E}}) $  \n",
+    "</td>\n",
+    "<td>get_Sig</td>\n",
+    "<td>get_Sig_C</td>\n",
+    "</tr>\n",
+    "<tr>\n",
+    "<td>$ f(\\boldsymbol{\\mathcal{S}}, \\boldsymbol{\\mathcal{E}})$</td>\n",
+    "<td>get_f</td>\n",
+    "<td>get_f_C</td>\n",
+    "</tr>\n",
+    "<tr>\n",
+    "<td>\n",
+    "$\\displaystyle{\\frac{\\partial f}{\\partial \\boldsymbol{\\mathcal{S}}}}(\\boldsymbol{\\mathcal{S}}, \\boldsymbol{\\mathcal{E}})$\n",
+    "    </td>\n",
+    "<td>get_df_dSig</td>\n",
+    "<td>get_df_dSig_C</td>\n",
+    "</tr>\n",
+    "<tr>\n",
+    "<td>\n",
+    "$\\displaystyle{\\frac{\\partial \\boldsymbol{\\mathcal{S}}}{\\partial \\boldsymbol{\\mathcal{E}}}}(\\boldsymbol{\\mathcal{E}})$</td>\n",
+    "<td>get_dSig_dEps</td>\n",
+    "<td>get_dSig_dEps_C</td>\n",
+    "</tr>\n",
+    "<tr>\n",
+    "<td>$\\boldsymbol{\\Phi}(\\boldsymbol{\\mathcal{S}}, \\boldsymbol{\\mathcal{E}}) $</td>\n",
+    "<td>get_Phi</td>\n",
+    "<td>get_Phi_C</td>\n",
+    "</tr>\n",
+    "</table>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "source": [
+    "To avoid repeated calculation of the same expressions, let us put the evaluation of $f$ and $\\frac{\\partial f}{\\partial \\lambda}$ into a single procedure. Indeed, the iteration loop can be constructed in such a way that the predictor $\\frac{\\partial f}{\\partial \\lambda}$ for the next step is calculated along with the residuum $f$. In case that the residuum is below the required tolerance, the overhead for an extra calculated derivative is negligible or, with some care, it can be even reused in the next time step.  "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "def get_f_df(s_n1, Eps_k, *margs):\n",
+    "    Sig_k = get_Sig(s_n1, Eps_k, *margs)[0]\n",
+    "    f_k = np.array([get_f_Sig(Eps_k, Sig_k, *margs)])\n",
+    "    df_dSig_k = get_df_dSig(Eps_k, Sig_k, *margs)\n",
+    "    Phi_k = get_Phi(Eps_k, Sig_k, *margs)\n",
+    "    dSig_dEps_k = get_dSig_dEps(s_n1, Eps_k, *margs)\n",
+    "    df_dSigEps_k = np.einsum(\n",
+    "        'ik,ji->jk', df_dSig_k, dSig_dEps_k)\n",
+    "    dEps_dlambda_k = Phi_k\n",
+    "    df_dlambda = np.einsum(\n",
+    "        'ki,kj->ij', df_dSigEps_k, dEps_dlambda_k)\n",
+    "    df_k = df_dlambda\n",
+    "    return f_k, df_k, Sig_k"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "source": [
+    "The update of state variables $\\boldsymbol{\\mathcal{E}}^{(k+1)}$ for an newly obtained $\\lambda_\\Delta^{(k+1)}$ is performed using the evolution equations. "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "def get_Eps_k1(s_n1, Eps_n, lam_k, Eps_k, *margs):\n",
+    "    Sig_k = get_Sig(s_n1, Eps_k, *margs)[0]\n",
+    "    Phi_k = get_Phi(Eps_k, Sig_k, *margs)\n",
+    "    Eps_k1 = Eps_n + lam_k * Phi_k[:,0]\n",
+    "    return Eps_k1"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "source": [
+    "The double loop over the time increments and over the return mapping iteration. The inner loop represents the material point level in a standard finite element calculation. The input is the maximum slip value, the number of time steps, the maximum number of iterations and a load function which can define cyclic loading as shown below. The procedure returns the record of $\\boldsymbol{\\mathcal{E}}(t)$ and $\\boldsymbol{\\mathcal{S}}(t)$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "def get_response(margs, s_max=3, n_steps = 10, k_max=20, get_load_fn=lambda t: t):\n",
+    "    Eps_n = np.zeros((len(Eps),), dtype=np.float_)\n",
+    "    Eps_k = np.copy(Eps_n)\n",
+    "    Sig_record, Eps_record, iter_record = [], [], []\n",
+    "    t_arr = np.linspace(0,1,n_steps+1)\n",
+    "    s_t = s_max * get_load_fn(t_arr) + 1e-9\n",
+    "    for s_n1 in s_t:\n",
+    "        lam_k = 0\n",
+    "        f_k, df_k, Sig_k = get_f_df(s_n1, Eps_k, *margs)\n",
+    "        f_k_norm = np.linalg.norm(f_k)\n",
+    "        f_k_trial = f_k[-1]\n",
+    "        k = 0\n",
+    "        while k < k_max:\n",
+    "            if f_k_trial < 0 or f_k_norm < 1e-8:\n",
+    "                Eps_n[...] = Eps_k[...]\n",
+    "                Sig_record.append(Sig_k)\n",
+    "                Eps_record.append(np.copy(Eps_k))\n",
+    "                iter_record.append(k+1)\n",
+    "                break\n",
+    "            dlam = np.linalg.solve(df_k, -f_k)\n",
+    "            lam_k += dlam\n",
+    "            Eps_k = get_Eps_k1(s_n1, Eps_n, lam_k, Eps_k, *margs)\n",
+    "            f_k, df_k, Sig_k = get_f_df(s_n1, Eps_k, *margs)\n",
+    "            f_k_norm = np.linalg.norm(f_k)\n",
+    "            k += 1\n",
+    "        else:\n",
+    "            print('no convergence')\n",
+    "    Sig_arr = np.array(Sig_record, dtype=np.float_)\n",
+    "    Eps_arr = np.array(Eps_record, dtype=np.float_)\n",
+    "    iter_arr = np.array(iter_record,dtype=np.int_)\n",
+    "    return t_arr, s_t, Eps_arr, Sig_arr, iter_arr"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "# Support functions\n",
+    "To run some examples, let us define some infrastructure including a more complex loading history and postprocessing"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "## Loading history\n",
+    "This implementation uses the symbolic machinery which is not necessary a simpler data point based implementation with `numpy.interp1d` would be better ... later "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 21,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "outputs": [
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "\n",
+       "mpl.get_websocket_type = function() {\n",
+       "    if (typeof(WebSocket) !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert('Your browser does not have WebSocket support. ' +\n",
+       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "              'Firefox 4 and 5 are also supported but you ' +\n",
+       "              'have to enable WebSockets in about:config.');\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent = (\n",
+       "                \"This browser does not support binary websocket messages. \" +\n",
+       "                    \"Performance may be slow.\");\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = $('<div/>');\n",
+       "    this._root_extra_style(this.root)\n",
+       "    this.root.attr('style', 'display: inline-block');\n",
+       "\n",
+       "    $(parent_element).append(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen =  function () {\n",
+       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
+       "            fig.send_message(\"send_image_mode\", {});\n",
+       "            if (mpl.ratio != 1) {\n",
+       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
+       "            }\n",
+       "            fig.send_message(\"refresh\", {});\n",
+       "        }\n",
+       "\n",
+       "    this.imageObj.onload = function() {\n",
+       "            if (fig.image_mode == 'full') {\n",
+       "                // Full images could contain transparency (where diff images\n",
+       "                // almost always do), so we need to clear the canvas so that\n",
+       "                // there is no ghosting.\n",
+       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "            }\n",
+       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "        };\n",
+       "\n",
+       "    this.imageObj.onunload = function() {\n",
+       "        fig.ws.close();\n",
+       "    }\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function() {\n",
+       "    var titlebar = $(\n",
+       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
+       "        'ui-helper-clearfix\"/>');\n",
+       "    var titletext = $(\n",
+       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
+       "        'text-align: center; padding: 3px;\"/>');\n",
+       "    titlebar.append(titletext)\n",
+       "    this.root.append(titlebar);\n",
+       "    this.header = titletext[0];\n",
+       "}\n",
+       "\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = $('<div/>');\n",
+       "\n",
+       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
+       "\n",
+       "    function canvas_keyboard_event(event) {\n",
+       "        return fig.key_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
+       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
+       "    this.canvas_div = canvas_div\n",
+       "    this._canvas_extra_style(canvas_div)\n",
+       "    this.root.append(canvas_div);\n",
+       "\n",
+       "    var canvas = $('<canvas/>');\n",
+       "    canvas.addClass('mpl-canvas');\n",
+       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
+       "\n",
+       "    this.canvas = canvas[0];\n",
+       "    this.context = canvas[0].getContext(\"2d\");\n",
+       "\n",
+       "    var backingStore = this.context.backingStorePixelRatio ||\n",
+       "\tthis.context.webkitBackingStorePixelRatio ||\n",
+       "\tthis.context.mozBackingStorePixelRatio ||\n",
+       "\tthis.context.msBackingStorePixelRatio ||\n",
+       "\tthis.context.oBackingStorePixelRatio ||\n",
+       "\tthis.context.backingStorePixelRatio || 1;\n",
+       "\n",
+       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband = $('<canvas/>');\n",
+       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
+       "\n",
+       "    var pass_mouse_events = true;\n",
+       "\n",
+       "    canvas_div.resizable({\n",
+       "        start: function(event, ui) {\n",
+       "            pass_mouse_events = false;\n",
+       "        },\n",
+       "        resize: function(event, ui) {\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "        stop: function(event, ui) {\n",
+       "            pass_mouse_events = true;\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "    });\n",
+       "\n",
+       "    function mouse_event_fn(event) {\n",
+       "        if (pass_mouse_events)\n",
+       "            return fig.mouse_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
+       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
+       "\n",
+       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
+       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
+       "\n",
+       "    canvas_div.on(\"wheel\", function (event) {\n",
+       "        event = event.originalEvent;\n",
+       "        event['data'] = 'scroll'\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        mouse_event_fn(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.append(canvas);\n",
+       "    canvas_div.append(rubberband);\n",
+       "\n",
+       "    this.rubberband = rubberband;\n",
+       "    this.rubberband_canvas = rubberband[0];\n",
+       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
+       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
+       "\n",
+       "    this._resize_canvas = function(width, height) {\n",
+       "        // Keep the size of the canvas, canvas container, and rubber band\n",
+       "        // canvas in synch.\n",
+       "        canvas_div.css('width', width)\n",
+       "        canvas_div.css('height', height)\n",
+       "\n",
+       "        canvas.attr('width', width * mpl.ratio);\n",
+       "        canvas.attr('height', height * mpl.ratio);\n",
+       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
+       "\n",
+       "        rubberband.attr('width', width);\n",
+       "        rubberband.attr('height', height);\n",
+       "    }\n",
+       "\n",
+       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
+       "    // upon first draw.\n",
+       "    this._resize_canvas(600, 600);\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus () {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>');\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            // put a spacer in here.\n",
+       "            continue;\n",
+       "        }\n",
+       "        var button = $('<button/>');\n",
+       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+       "                        'ui-button-icon-only');\n",
+       "        button.attr('role', 'button');\n",
+       "        button.attr('aria-disabled', 'false');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "\n",
+       "        var icon_img = $('<span/>');\n",
+       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+       "        icon_img.addClass(image);\n",
+       "        icon_img.addClass('ui-corner-all');\n",
+       "\n",
+       "        var tooltip_span = $('<span/>');\n",
+       "        tooltip_span.addClass('ui-button-text');\n",
+       "        tooltip_span.html(tooltip);\n",
+       "\n",
+       "        button.append(icon_img);\n",
+       "        button.append(tooltip_span);\n",
+       "\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker_span = $('<span/>');\n",
+       "\n",
+       "    var fmt_picker = $('<select/>');\n",
+       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+       "    fmt_picker_span.append(fmt_picker);\n",
+       "    nav_element.append(fmt_picker_span);\n",
+       "    this.format_dropdown = fmt_picker[0];\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = $(\n",
+       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+       "        fmt_picker.append(option);\n",
+       "    }\n",
+       "\n",
+       "    // Add hover states to the ui-buttons\n",
+       "    $( \".ui-button\" ).hover(\n",
+       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
+       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
+       "    );\n",
+       "\n",
+       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function(type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function() {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1]);\n",
+       "        fig.send_message(\"refresh\", {});\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+       "    var x0 = msg['x0'] / mpl.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+       "    var x1 = msg['x1'] / mpl.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0, 0, fig.canvas.width / mpl.ratio, fig.canvas.height / mpl.ratio);\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+       "    var cursor = msg['cursor'];\n",
+       "    switch(cursor)\n",
+       "    {\n",
+       "    case 0:\n",
+       "        cursor = 'pointer';\n",
+       "        break;\n",
+       "    case 1:\n",
+       "        cursor = 'default';\n",
+       "        break;\n",
+       "    case 2:\n",
+       "        cursor = 'crosshair';\n",
+       "        break;\n",
+       "    case 3:\n",
+       "        cursor = 'move';\n",
+       "        break;\n",
+       "    }\n",
+       "    fig.rubberband_canvas.style.cursor = cursor;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message(\"ack\", {});\n",
+       "}\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            /* FIXME: We get \"Resource interpreted as Image but\n",
+       "             * transferred with MIME type text/plain:\" errors on\n",
+       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "             * to be part of the websocket stream */\n",
+       "            evt.data.type = \"image/png\";\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src);\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                evt.data);\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig[\"handle_\" + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function(e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e)\n",
+       "        e = window.event;\n",
+       "    if (e.target)\n",
+       "        targ = e.target;\n",
+       "    else if (e.srcElement)\n",
+       "        targ = e.srcElement;\n",
+       "    if (targ.nodeType == 3) // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "\n",
+       "    // jQuery normalizes the pageX and pageY\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    // offset() returns the position of the element relative to the document\n",
+       "    var x = e.pageX - $(targ).offset().left;\n",
+       "    var y = e.pageY - $(targ).offset().top;\n",
+       "\n",
+       "    return {\"x\": x, \"y\": y};\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * http://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys (original) {\n",
+       "  return Object.keys(original).reduce(function (obj, key) {\n",
+       "    if (typeof original[key] !== 'object')\n",
+       "        obj[key] = original[key]\n",
+       "    return obj;\n",
+       "  }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event)\n",
+       "\n",
+       "    if (name === 'button_press')\n",
+       "    {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * mpl.ratio;\n",
+       "    var y = canvas_pos.y * mpl.ratio;\n",
+       "\n",
+       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
+       "                             step: event.step,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function(event, name) {\n",
+       "\n",
+       "    // Prevent repeat events\n",
+       "    if (name == 'key_press')\n",
+       "    {\n",
+       "        if (event.which === this._key)\n",
+       "            return;\n",
+       "        else\n",
+       "            this._key = event.which;\n",
+       "    }\n",
+       "    if (name == 'key_release')\n",
+       "        this._key = null;\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.which != 17)\n",
+       "        value += \"ctrl+\";\n",
+       "    if (event.altKey && event.which != 18)\n",
+       "        value += \"alt+\";\n",
+       "    if (event.shiftKey && event.which != 16)\n",
+       "        value += \"shift+\";\n",
+       "\n",
+       "    value += 'k';\n",
+       "    value += event.which.toString();\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, {key: value,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+       "    if (name == 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message(\"toolbar_button\", {name: name});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.close = function() {\n",
+       "        comm.close()\n",
+       "    };\n",
+       "    ws.send = function(m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function(msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(msg['content']['data'])\n",
+       "    });\n",
+       "    return ws;\n",
+       "}\n",
+       "\n",
+       "mpl.mpl_figure_comm = function(comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = $(\"#\" + id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm)\n",
+       "\n",
+       "    function ondownload(figure, format) {\n",
+       "        window.open(figure.imageObj.src);\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy,\n",
+       "                           ondownload,\n",
+       "                           element.get(0));\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element.get(0);\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "\n",
+       "    var output_index = fig.cell_info[2]\n",
+       "    var cell = fig.cell_info[0];\n",
+       "\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+       "    var width = fig.canvas.width/mpl.ratio\n",
+       "    fig.root.unbind('remove')\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable()\n",
+       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
+       "    fig.close_ws(fig, msg);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width/mpl.ratio\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message(\"ack\", {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>');\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items){\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) { continue; };\n",
+       "\n",
+       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
+       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
+       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+       "    buttongrp.append(button);\n",
+       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+       "    titlebar.prepend(buttongrp);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(el){\n",
+       "    var fig = this\n",
+       "    el.on(\"remove\", function(){\n",
+       "\tfig.close_ws(fig, {});\n",
+       "    });\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.attr('tabindex', 0)\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "    else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    var manager = IPython.notebook.keyboard_manager;\n",
+       "    if (!manager)\n",
+       "        manager = IPython.keyboard_manager;\n",
+       "\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which == 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.find_output_cell = function(html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i=0; i<ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code'){\n",
+       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] == html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel != null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4nOzdeXRV1dk/8HQxVVnV9euw1tvVVzcOTIpa0aL1rVJbB6zWDtahVUptbUVbAdv3dYfJyJAwKKAoIiBEmQQZ1Z0BAgkJZGIKEEggjCGEEMKQkUz3nu/vj5N7IULMcO69+5x7vp+17h9eb+59lIc8zz1n72dHgIiIiIhcJUJ3AEREREQUWmwAiYiIiFyGDSARERGRy7ABJCIiInIZNoBERERELsMGkIiIiMhl2AASERERuQwbQCIiIiKXYQNIRERE5DJsAImIiIhchg0gERERkcuwASQiIiJyGTaARERERC7DBpCIiIjIZdgAEhEREbkMG0AiIiIil2EDSEREROQybACJiIiIXIYNIBEREZHLsAEkIiIichk2gEREREQuwwaQiIiIyGXYABIRERG5DBtAIiIiIpdhA0hERETkMmwAiYiIiFyGDSARERGRy7ABJCIiInIZNoBERERELsMGkIiIiMhl2AASERERuQwbQCIiIiKXYQNIRERE5DJsAImIiIhchg0gERERkcuwASQiIiJyGTaARERERC7DBpCIiIjIZdgAEhEREbkMG0AiIiIil2EDSEREROQybACJiIiIXIYNIBEREZHLsAEkIiIichk2gEREREQuwwaQiIiIyGXYABIRERG5DBtAIiIiIpdhA0hERETkMmwAiYiIiFyGDSARERGRy7ABJCIiInIZNoBERERELsMGkIiIiMhl2AASERERuQwbQCIiIiKXYQNogdfrRVFREcrLy1FRUcEHH3zwwQcffDjgUV5ejqKiIni9Xt2thDZsAC0oKipCREQEH3zwwQcffPDhwEdRUZHuVkIbNoAWlJeX+xNI97cZPvjggw8++OCjbQ/fBZzy8nLdrYQ2bAAtqKioQEREBCoqKnSHQkRERG3E+s0G0BImEBERkfOwfrMBtIQJRERE5Dys32wALWECEREROQ/rNxtAS5hAREREzsP6zQbQEiYQERGR87B+swG0hAlERETkPKzfbAAtYQIRERE5D+s3G0BLmEBERETOw/rNBtASJhAREZHzsH47pAFMTU3FE088gR/+8IeIiIjAmjVrWv2ZTZs2oX///ujWrRtuuOEGzJ49+7LXrFy5En379kXXrl3Rt29frF69ul1xMYGIiIich/Xb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ifbt26O2ttZtsRpdW+71z1ksFvz617/Gp59+6o4QfUJb7/OKFSswaNAg1NXVsQF0QFvu8yuvvIKHHnoIUkr86le/QnBwMN58801UVVV5ImRDast9TkhIQIcOHRAVFQWr1YqioiIMHjwYY8eO9UTIPsGRBpC10LXYAHpYfn4+TCZTk69gwsPD0bt372Y/ExwcjPDwcLt9CQkJMJlMKCgocFusRteWe/1z8+bNQ9euXXH69Gl3hOgT2nKfs7Oz8ctf/hKHDx8GADaADmjLfX7kkUfQsWNH/PGPf0RKSgqioqIghMALL7zgiZANqa3/b6xbtw7XXXcd2rdvD5PJhFGjRrEpcYIjDSBroWuxAfSwhv9cEhMT7fbPnDkTISEhzX4mODgYs2bNstu3c+dOmEwmFBYWui1Wo2vLvb7cmjVr0KlTJ8TGxrorRJ/g7H2ur6/HoEGD7F7eZgPYurbk88MPP4xrrrkGZWVljfvWr1+Pq666ik8BW9CW+3zw4EF069YN8+bNw759+xATE4M777wTf//73z0Rsk9wtAFkLXQdNoAexq+APUfLV8AREREIDAyEUsqdIfoEZ+9zaWkpTCYTrr766sbtqquuaty3ZcsWT4VuKG3J5+eeew633Xab3b7MzEyYTCZkZ2e7LVYja8t9HjNmDJ588km7fTt27OCTKSfwK2DPYwOog3vuuQevvPKK3b7bb7/9ioNAbr/9drt948aN44uvDnD2XgO2J3/XXHONQ1MSkI0z99lisSAjI8Nue+WVVxASEoKMjAycP3/eU2EbjrP5vHTpUgQGBqKysrJx34YNG9CuXTs+AbwCZ+/zE088gaeeespuX2JiIkwmE/Lz890Wpy9xdBAIa6HrsAHUQcMUA8uXL0dmZiZee+01XHvttThx4gQAYNKkSXj22Wcbj28Y+v76668jMzMTy5cv59B3Bzl7r9esWYP27dtj4cKFKCwsbNwu/wqNmnL2Pv8cvwJ2jLP3ubKyEt27d8eTTz6JgwcPIj4+HsHBwXjxxRf1+isYgrP3eeXKlWjfvj0WLVqEnJwc7Ny5E4MGDcI999yj11/BECorK5Geno709HSYTCbMnz8f6enpjdPtsBa6FxtAnSxcuBBCCHTo0AEDBw5EfHx8489CQ0MxZMgQu+O3bduGu+66Cx06dECPHj04+aUTnLnXQ4YMgclkarKFhoZ6PnCDcTanL8cG0HHO3uesrCwMGzYMgYGB6N69O9544w0+/XOAs/d5wYIF6Nu3LwIDA9GtWzeMHj0ap06d8nDUxhIXF3fF/29ZC92LDSARERGRn2EDSERERORn2AASERER+Rk2gERERER+hg0gERERkZ9hA0hERETkZ9gAEhEREfkZNoBEREREfoYNIBEREZGfYQNIRERE5GfYABIRERH5GTaARERERH6GDSARERGRn2EDSERERORn2AASERER+Rk2gERERER+hg0gERERkZ9hA0hERETkZ9gAEhEREfkZNoBEREREfoYNIBEREZGfYQNIRERE5GfYABIRERH5GTaARERERH6GDSARERGRn2EDSERERORn2AASERER+Rk2gERERER+hg0gERERkZ9hA0hERETkZ9gAEhEREfkZNoBEREREfub/A+e4h3Q6zx3VAAAAAElFTkSuQmCC\" width=\"640\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "t, theta = sp.symbols(r't, \\theta')\n",
+    "n_cycles = 5\n",
+    "A = 2\n",
+    "ups = np.array([((theta-2*cycle)*A+(1-A), theta-2*cycle<=1) \n",
+    "                for cycle in range(n_cycles)])\n",
+    "downs = np.array([((1-(theta-(2*cycle+1)))*A+(1-A),(theta-(2*cycle+1))<=1) \n",
+    "                  for cycle in range(n_cycles)])\n",
+    "ups[0,0] = theta\n",
+    "updowns = np.einsum('ijk->jik',np.array([ups, downs])).reshape(-1,2)\n",
+    "load_fn = sp.Piecewise(*updowns).subs(theta,t*n_cycles)\n",
+    "get_load_fn = sp.lambdify(t, load_fn,'numpy')\n",
+    "t_arr = np.linspace(0,1,600)\n",
+    "plt.plot(t_arr, get_load_fn(t_arr));"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "## Plotting functions\n",
+    "To simplify postprocessing examples, here are two aggregate plotting functions, one for the state and force variables, the other one for the evaluation of energies"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "def plot_Sig_Eps(t_arr, s_t, Sig_arr, Eps_arr, iter_arr, ax1, ax11, ax2, ax22, ax3, ax33):\n",
+    "    colors = ['blue','red', 'green', 'black', 'magenta' ]\n",
+    "    s_pi_, z_, alpha_ = Eps_arr.T\n",
+    "    sig_pi_, Z_, X_ = Sig_arr.T\n",
+    "    n_step = len(s_pi_)\n",
+    "    ax1.plot(s_t, sig_pi_, color='black', \n",
+    "             label='n_steps = %g' % n_step)\n",
+    "    ax1.set_xlabel('$s$'); ax1.set_ylabel(r'$\\tau$')\n",
+    "    ax1.legend()\n",
+    "    if ax11:\n",
+    "        ax11.plot(s_t, iter_arr, '-.')\n",
+    "    ax2.plot(t_arr, z_, color='green', \n",
+    "             label='n_steps = %g' % n_step)\n",
+    "    ax2.set_xlabel('$t$'); ax2.set_ylabel(r'$z$')\n",
+    "    if ax22:\n",
+    "        ax22.plot(t_arr, Z_, '-.', color='green')\n",
+    "        ax22.set_ylabel(r'$Z$')\n",
+    "    ax3.plot(t_arr, alpha_, color='blue', \n",
+    "             label='n_steps = %g' % n_step)\n",
+    "    ax3.set_xlabel('$t$'); ax3.set_ylabel(r'$\\alpha$')\n",
+    "    if ax33:\n",
+    "        ax33.plot(t_arr, X_, '-.', color='blue')\n",
+    "        ax33.set_ylabel(r'$X$')\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 23,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "from scipy.integrate import cumtrapz\n",
+    "def plot_work(ax, t_arr, s_t, Eps_arr, Sig_arr):\n",
+    "    W_arr = cumtrapz(Sig_arr[:,0], s_t, initial=0)\n",
+    "    U_arr = Sig_arr[:,0] * (s_t-Eps_arr[:,0]) / 2.0\n",
+    "    G_arr = W_arr - U_arr\n",
+    "    ax.plot(t_arr, W_arr, lw=2, color='black', label=r'$W$')\n",
+    "    ax.plot(t_arr, G_arr, color='black', label=r'$G$')\n",
+    "    ax.fill_between(t_arr, W_arr, G_arr, color='green', alpha=0.2)\n",
+    "    ax.set_xlabel('$s$'); ax3.set_ylabel(r'$E$')\n",
+    "    ax.legend()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 24,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "def plot_dissipation(ax, t_arr, s_t, Eps_arr, Sig_arr):    \n",
+    "    colors = ['blue','red', 'green', 'black', 'magenta' ]\n",
+    "    E_i = cumtrapz(Sig_arr, Eps_arr, initial=0, axis=0)\n",
+    "    c = 'black'\n",
+    "    ax.plot(t_arr, E_i[:,0], '-.', lw=1, color=c)\n",
+    "    ax.fill_between(t_arr, E_i[:,0], 0, color=c, alpha=0.1)\n",
+    "    c = 'black'\n",
+    "    ax.plot(t_arr, E_i[:,0], color=c, lw=1)\n",
+    "    ax.fill_between(t_arr, E_i[:,0], E_i[:,0], \n",
+    "                    color=c, alpha=0.2);\n",
+    "    c = 'blue'\n",
+    "    ax.plot(t_arr, E_i[:,1], '-.', lw=1, color='black')\n",
+    "    ax.fill_between(t_arr, E_i[:,1], 0, color=c, alpha=0.1)\n",
+    "    c = 'blue'\n",
+    "    ax.plot(t_arr, E_i[:,1] + E_i[:,2], color='black', lw=1)\n",
+    "    ax.fill_between(t_arr, E_i[:,1] + E_i[:,2], E_i[:,1], \n",
+    "                    color=c, alpha=0.3);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "# Examples"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 25,
+   "metadata": {
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "material_params = {\n",
+    "    E_b:1, gamma: 0.0, K:0.1, tau_bar:1, \n",
+    "}\n",
+    "margs = [material_params[map_py2sp[name]] for name in py_vars]"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "## Monotonic load \n",
+    "Let's first run the example with different size of the time step to see if there is any difference"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 26,
+   "metadata": {
+    "scrolled": false,
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "\n",
+       "mpl.get_websocket_type = function() {\n",
+       "    if (typeof(WebSocket) !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert('Your browser does not have WebSocket support. ' +\n",
+       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "              'Firefox 4 and 5 are also supported but you ' +\n",
+       "              'have to enable WebSockets in about:config.');\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent = (\n",
+       "                \"This browser does not support binary websocket messages. \" +\n",
+       "                    \"Performance may be slow.\");\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = $('<div/>');\n",
+       "    this._root_extra_style(this.root)\n",
+       "    this.root.attr('style', 'display: inline-block');\n",
+       "\n",
+       "    $(parent_element).append(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen =  function () {\n",
+       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
+       "            fig.send_message(\"send_image_mode\", {});\n",
+       "            if (mpl.ratio != 1) {\n",
+       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
+       "            }\n",
+       "            fig.send_message(\"refresh\", {});\n",
+       "        }\n",
+       "\n",
+       "    this.imageObj.onload = function() {\n",
+       "            if (fig.image_mode == 'full') {\n",
+       "                // Full images could contain transparency (where diff images\n",
+       "                // almost always do), so we need to clear the canvas so that\n",
+       "                // there is no ghosting.\n",
+       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "            }\n",
+       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "        };\n",
+       "\n",
+       "    this.imageObj.onunload = function() {\n",
+       "        fig.ws.close();\n",
+       "    }\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function() {\n",
+       "    var titlebar = $(\n",
+       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
+       "        'ui-helper-clearfix\"/>');\n",
+       "    var titletext = $(\n",
+       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
+       "        'text-align: center; padding: 3px;\"/>');\n",
+       "    titlebar.append(titletext)\n",
+       "    this.root.append(titlebar);\n",
+       "    this.header = titletext[0];\n",
+       "}\n",
+       "\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = $('<div/>');\n",
+       "\n",
+       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
+       "\n",
+       "    function canvas_keyboard_event(event) {\n",
+       "        return fig.key_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
+       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
+       "    this.canvas_div = canvas_div\n",
+       "    this._canvas_extra_style(canvas_div)\n",
+       "    this.root.append(canvas_div);\n",
+       "\n",
+       "    var canvas = $('<canvas/>');\n",
+       "    canvas.addClass('mpl-canvas');\n",
+       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
+       "\n",
+       "    this.canvas = canvas[0];\n",
+       "    this.context = canvas[0].getContext(\"2d\");\n",
+       "\n",
+       "    var backingStore = this.context.backingStorePixelRatio ||\n",
+       "\tthis.context.webkitBackingStorePixelRatio ||\n",
+       "\tthis.context.mozBackingStorePixelRatio ||\n",
+       "\tthis.context.msBackingStorePixelRatio ||\n",
+       "\tthis.context.oBackingStorePixelRatio ||\n",
+       "\tthis.context.backingStorePixelRatio || 1;\n",
+       "\n",
+       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband = $('<canvas/>');\n",
+       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
+       "\n",
+       "    var pass_mouse_events = true;\n",
+       "\n",
+       "    canvas_div.resizable({\n",
+       "        start: function(event, ui) {\n",
+       "            pass_mouse_events = false;\n",
+       "        },\n",
+       "        resize: function(event, ui) {\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "        stop: function(event, ui) {\n",
+       "            pass_mouse_events = true;\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "    });\n",
+       "\n",
+       "    function mouse_event_fn(event) {\n",
+       "        if (pass_mouse_events)\n",
+       "            return fig.mouse_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
+       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
+       "\n",
+       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
+       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
+       "\n",
+       "    canvas_div.on(\"wheel\", function (event) {\n",
+       "        event = event.originalEvent;\n",
+       "        event['data'] = 'scroll'\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        mouse_event_fn(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.append(canvas);\n",
+       "    canvas_div.append(rubberband);\n",
+       "\n",
+       "    this.rubberband = rubberband;\n",
+       "    this.rubberband_canvas = rubberband[0];\n",
+       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
+       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
+       "\n",
+       "    this._resize_canvas = function(width, height) {\n",
+       "        // Keep the size of the canvas, canvas container, and rubber band\n",
+       "        // canvas in synch.\n",
+       "        canvas_div.css('width', width)\n",
+       "        canvas_div.css('height', height)\n",
+       "\n",
+       "        canvas.attr('width', width * mpl.ratio);\n",
+       "        canvas.attr('height', height * mpl.ratio);\n",
+       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
+       "\n",
+       "        rubberband.attr('width', width);\n",
+       "        rubberband.attr('height', height);\n",
+       "    }\n",
+       "\n",
+       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
+       "    // upon first draw.\n",
+       "    this._resize_canvas(600, 600);\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus () {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>');\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            // put a spacer in here.\n",
+       "            continue;\n",
+       "        }\n",
+       "        var button = $('<button/>');\n",
+       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+       "                        'ui-button-icon-only');\n",
+       "        button.attr('role', 'button');\n",
+       "        button.attr('aria-disabled', 'false');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "\n",
+       "        var icon_img = $('<span/>');\n",
+       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+       "        icon_img.addClass(image);\n",
+       "        icon_img.addClass('ui-corner-all');\n",
+       "\n",
+       "        var tooltip_span = $('<span/>');\n",
+       "        tooltip_span.addClass('ui-button-text');\n",
+       "        tooltip_span.html(tooltip);\n",
+       "\n",
+       "        button.append(icon_img);\n",
+       "        button.append(tooltip_span);\n",
+       "\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker_span = $('<span/>');\n",
+       "\n",
+       "    var fmt_picker = $('<select/>');\n",
+       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+       "    fmt_picker_span.append(fmt_picker);\n",
+       "    nav_element.append(fmt_picker_span);\n",
+       "    this.format_dropdown = fmt_picker[0];\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = $(\n",
+       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+       "        fmt_picker.append(option);\n",
+       "    }\n",
+       "\n",
+       "    // Add hover states to the ui-buttons\n",
+       "    $( \".ui-button\" ).hover(\n",
+       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
+       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
+       "    );\n",
+       "\n",
+       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function(type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function() {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1]);\n",
+       "        fig.send_message(\"refresh\", {});\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+       "    var x0 = msg['x0'] / mpl.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+       "    var x1 = msg['x1'] / mpl.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0, 0, fig.canvas.width / mpl.ratio, fig.canvas.height / mpl.ratio);\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+       "    var cursor = msg['cursor'];\n",
+       "    switch(cursor)\n",
+       "    {\n",
+       "    case 0:\n",
+       "        cursor = 'pointer';\n",
+       "        break;\n",
+       "    case 1:\n",
+       "        cursor = 'default';\n",
+       "        break;\n",
+       "    case 2:\n",
+       "        cursor = 'crosshair';\n",
+       "        break;\n",
+       "    case 3:\n",
+       "        cursor = 'move';\n",
+       "        break;\n",
+       "    }\n",
+       "    fig.rubberband_canvas.style.cursor = cursor;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message(\"ack\", {});\n",
+       "}\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            /* FIXME: We get \"Resource interpreted as Image but\n",
+       "             * transferred with MIME type text/plain:\" errors on\n",
+       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "             * to be part of the websocket stream */\n",
+       "            evt.data.type = \"image/png\";\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src);\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                evt.data);\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig[\"handle_\" + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function(e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e)\n",
+       "        e = window.event;\n",
+       "    if (e.target)\n",
+       "        targ = e.target;\n",
+       "    else if (e.srcElement)\n",
+       "        targ = e.srcElement;\n",
+       "    if (targ.nodeType == 3) // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "\n",
+       "    // jQuery normalizes the pageX and pageY\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    // offset() returns the position of the element relative to the document\n",
+       "    var x = e.pageX - $(targ).offset().left;\n",
+       "    var y = e.pageY - $(targ).offset().top;\n",
+       "\n",
+       "    return {\"x\": x, \"y\": y};\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * http://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys (original) {\n",
+       "  return Object.keys(original).reduce(function (obj, key) {\n",
+       "    if (typeof original[key] !== 'object')\n",
+       "        obj[key] = original[key]\n",
+       "    return obj;\n",
+       "  }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event)\n",
+       "\n",
+       "    if (name === 'button_press')\n",
+       "    {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * mpl.ratio;\n",
+       "    var y = canvas_pos.y * mpl.ratio;\n",
+       "\n",
+       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
+       "                             step: event.step,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function(event, name) {\n",
+       "\n",
+       "    // Prevent repeat events\n",
+       "    if (name == 'key_press')\n",
+       "    {\n",
+       "        if (event.which === this._key)\n",
+       "            return;\n",
+       "        else\n",
+       "            this._key = event.which;\n",
+       "    }\n",
+       "    if (name == 'key_release')\n",
+       "        this._key = null;\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.which != 17)\n",
+       "        value += \"ctrl+\";\n",
+       "    if (event.altKey && event.which != 18)\n",
+       "        value += \"alt+\";\n",
+       "    if (event.shiftKey && event.which != 16)\n",
+       "        value += \"shift+\";\n",
+       "\n",
+       "    value += 'k';\n",
+       "    value += event.which.toString();\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, {key: value,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+       "    if (name == 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message(\"toolbar_button\", {name: name});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.close = function() {\n",
+       "        comm.close()\n",
+       "    };\n",
+       "    ws.send = function(m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function(msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(msg['content']['data'])\n",
+       "    });\n",
+       "    return ws;\n",
+       "}\n",
+       "\n",
+       "mpl.mpl_figure_comm = function(comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = $(\"#\" + id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm)\n",
+       "\n",
+       "    function ondownload(figure, format) {\n",
+       "        window.open(figure.imageObj.src);\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy,\n",
+       "                           ondownload,\n",
+       "                           element.get(0));\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element.get(0);\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "\n",
+       "    var output_index = fig.cell_info[2]\n",
+       "    var cell = fig.cell_info[0];\n",
+       "\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+       "    var width = fig.canvas.width/mpl.ratio\n",
+       "    fig.root.unbind('remove')\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable()\n",
+       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
+       "    fig.close_ws(fig, msg);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width/mpl.ratio\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message(\"ack\", {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>');\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items){\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) { continue; };\n",
+       "\n",
+       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
+       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
+       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+       "    buttongrp.append(button);\n",
+       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+       "    titlebar.prepend(buttongrp);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(el){\n",
+       "    var fig = this\n",
+       "    el.on(\"remove\", function(){\n",
+       "\tfig.close_ws(fig, {});\n",
+       "    });\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.attr('tabindex', 0)\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "    else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    var manager = IPython.notebook.keyboard_manager;\n",
+       "    if (!manager)\n",
+       "        manager = IPython.keyboard_manager;\n",
+       "\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which == 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.find_output_cell = function(html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i=0; i<ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code'){\n",
+       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] == html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel != null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,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GKV2wSFlZWUoKChAQUEBBEHA/PnzUVBQgJKSEgDuvc6RbdgL2Qs9qReyD3peHwTYC7WOAa8TLF26FGazGQaDAdHR0cjNzVW6JFUTBMHqWLNmjdKlaRIDXtt9/vnn6NixI3x9fREZGYmVK1cqXZLq3bhxA4mJiWjbti38/PzwxBNPYOrUqaioqFC6NHKx+npdfHw8YmNjJffPyclBly5dYDAYEBoaKjkfndbYs++xsbFWe1x8fLzrC3cCe+f9YVr9UFvN3n0/ceIEXnzxRfj7+yMkJATvvPOOZn95be++L168GB06dIC/vz+Cg4MxZMgQXLhwwcVVN052dna9/++6+zpHtmEvZC/0pF7IPuhZfRBgL9Q6BrxEREREREREREREGsWAl4iIiIiIiIiIiEijGPASERERERERERERaRQDXiIiIiIiIiIiIiKNYsBLREREREREREREpFEMeImIiIiIiIiIiIg0igEvERERERERERERkUYx4CUiIiIiIiIiIiLSKAa8RERERERERERERBrFgJeIiIiIiIiIiIhIoxjwEhEREZHmJCYmon///kqXQUREpAj2QSJ6GANeIiIiItKcX/3qV0hNTVW6DCIiIkWwDxLRwxjwEmnM/fv3kZqaivbt28PX1xctW7bE0KFDlS6LiIjIJe7evQu9Xg9BEMQRExOjdFlEREQuwT5IRNYw4CXSmJkzZ+Kpp57C119/jXPnzmH//v1YvXq10mURERG5xP3793H48GEIgoAjR46gtLQU165dU7osIiIil2AfJCJrGPASaUyPHj2QlJSkdBlERESK2bZtGx577DGlyyAiIlIE+yAR1caAl0hjPvroI3h7e6NXr15Yvnw5rl69qnRJRERELvWXv/wFL7zwgtJlEBERKYJ9kIhqY8BLpEGnTp3CnDlz0KFDBzRr1gzFxcVKl0REROQycXFxmDhxotJlEBERKYJ9kIhqY8BLpGF37tyBr68vMjMzlS6FiIjIZdq1a4c1a9YoXQYREZEi2AeJqDYGvEQaMmfOHHz66ac4fvw4Tp48iUmTJiEoKAg//fST0qURERG5jNlsxsSJE3Hx4kVcv35d6XKIiIhcin2QiGpjwEukIdOnT0d4eDj8/PzQokUL9O/fHxaLRemyiIiIXOq//uu/0Lp1awiCgHfeeUfpcoiIiFyKfZCIamPAS0RERERERERERKRRDHiJiIiIiIiIiIiINIoBLxEREREREREREZFGMeAlIiIiIiIiIiIi0igGvEREREREREREREQaxYCXiIiIiIiIiIiISKMY8BIRERERERERERFpFANeIiIiIiIiIiIiIo1iwEtERERERERERESkUQx4iYiIiIiIiIiIiDSKAS8RERERERERERGRRjHgJSIiIiIiIiIiItIoBrxEREREREREREREGsWAl4iIiIiIiIiIiEijGPASERERERERERERaRQDXiIiIiIiIiIiIiKNYsBLREREREREREREpFEMeImIiIiIiIiIiIg06n8B80GarMDSZdEAAAAASUVORK5CYII=\" width=\"1400\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "fig, ((ax1,ax2,ax3)) = plt.subplots(1,3,figsize=(14,4), tight_layout=True)\n",
+    "ax11, ax22, ax33 = ax1.twinx(), ax2.twinx(), ax3.twinx()\n",
+    "for n_steps in [20, 40, 200, 2000]: \n",
+    "    t_arr, s_t, Eps_arr, Sig_arr, iter_arr = get_response(\n",
+    "        margs=margs, s_max=8, n_steps=n_steps, k_max=10\n",
+    "    )\n",
+    "    plot_Sig_Eps(t_arr, s_t, Sig_arr, Eps_arr, iter_arr, ax1, ax11, ax2, ax22, ax3, ax33)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 27,
+   "metadata": {
+    "scrolled": false,
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "outputs": [
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "\n",
+       "mpl.get_websocket_type = function() {\n",
+       "    if (typeof(WebSocket) !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert('Your browser does not have WebSocket support. ' +\n",
+       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "              'Firefox 4 and 5 are also supported but you ' +\n",
+       "              'have to enable WebSockets in about:config.');\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent = (\n",
+       "                \"This browser does not support binary websocket messages. \" +\n",
+       "                    \"Performance may be slow.\");\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = $('<div/>');\n",
+       "    this._root_extra_style(this.root)\n",
+       "    this.root.attr('style', 'display: inline-block');\n",
+       "\n",
+       "    $(parent_element).append(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen =  function () {\n",
+       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
+       "            fig.send_message(\"send_image_mode\", {});\n",
+       "            if (mpl.ratio != 1) {\n",
+       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
+       "            }\n",
+       "            fig.send_message(\"refresh\", {});\n",
+       "        }\n",
+       "\n",
+       "    this.imageObj.onload = function() {\n",
+       "            if (fig.image_mode == 'full') {\n",
+       "                // Full images could contain transparency (where diff images\n",
+       "                // almost always do), so we need to clear the canvas so that\n",
+       "                // there is no ghosting.\n",
+       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "            }\n",
+       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "        };\n",
+       "\n",
+       "    this.imageObj.onunload = function() {\n",
+       "        fig.ws.close();\n",
+       "    }\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function() {\n",
+       "    var titlebar = $(\n",
+       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
+       "        'ui-helper-clearfix\"/>');\n",
+       "    var titletext = $(\n",
+       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
+       "        'text-align: center; padding: 3px;\"/>');\n",
+       "    titlebar.append(titletext)\n",
+       "    this.root.append(titlebar);\n",
+       "    this.header = titletext[0];\n",
+       "}\n",
+       "\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = $('<div/>');\n",
+       "\n",
+       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
+       "\n",
+       "    function canvas_keyboard_event(event) {\n",
+       "        return fig.key_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
+       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
+       "    this.canvas_div = canvas_div\n",
+       "    this._canvas_extra_style(canvas_div)\n",
+       "    this.root.append(canvas_div);\n",
+       "\n",
+       "    var canvas = $('<canvas/>');\n",
+       "    canvas.addClass('mpl-canvas');\n",
+       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
+       "\n",
+       "    this.canvas = canvas[0];\n",
+       "    this.context = canvas[0].getContext(\"2d\");\n",
+       "\n",
+       "    var backingStore = this.context.backingStorePixelRatio ||\n",
+       "\tthis.context.webkitBackingStorePixelRatio ||\n",
+       "\tthis.context.mozBackingStorePixelRatio ||\n",
+       "\tthis.context.msBackingStorePixelRatio ||\n",
+       "\tthis.context.oBackingStorePixelRatio ||\n",
+       "\tthis.context.backingStorePixelRatio || 1;\n",
+       "\n",
+       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband = $('<canvas/>');\n",
+       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
+       "\n",
+       "    var pass_mouse_events = true;\n",
+       "\n",
+       "    canvas_div.resizable({\n",
+       "        start: function(event, ui) {\n",
+       "            pass_mouse_events = false;\n",
+       "        },\n",
+       "        resize: function(event, ui) {\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "        stop: function(event, ui) {\n",
+       "            pass_mouse_events = true;\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "    });\n",
+       "\n",
+       "    function mouse_event_fn(event) {\n",
+       "        if (pass_mouse_events)\n",
+       "            return fig.mouse_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
+       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
+       "\n",
+       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
+       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
+       "\n",
+       "    canvas_div.on(\"wheel\", function (event) {\n",
+       "        event = event.originalEvent;\n",
+       "        event['data'] = 'scroll'\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        mouse_event_fn(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.append(canvas);\n",
+       "    canvas_div.append(rubberband);\n",
+       "\n",
+       "    this.rubberband = rubberband;\n",
+       "    this.rubberband_canvas = rubberband[0];\n",
+       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
+       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
+       "\n",
+       "    this._resize_canvas = function(width, height) {\n",
+       "        // Keep the size of the canvas, canvas container, and rubber band\n",
+       "        // canvas in synch.\n",
+       "        canvas_div.css('width', width)\n",
+       "        canvas_div.css('height', height)\n",
+       "\n",
+       "        canvas.attr('width', width * mpl.ratio);\n",
+       "        canvas.attr('height', height * mpl.ratio);\n",
+       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
+       "\n",
+       "        rubberband.attr('width', width);\n",
+       "        rubberband.attr('height', height);\n",
+       "    }\n",
+       "\n",
+       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
+       "    // upon first draw.\n",
+       "    this._resize_canvas(600, 600);\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus () {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>');\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            // put a spacer in here.\n",
+       "            continue;\n",
+       "        }\n",
+       "        var button = $('<button/>');\n",
+       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+       "                        'ui-button-icon-only');\n",
+       "        button.attr('role', 'button');\n",
+       "        button.attr('aria-disabled', 'false');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "\n",
+       "        var icon_img = $('<span/>');\n",
+       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+       "        icon_img.addClass(image);\n",
+       "        icon_img.addClass('ui-corner-all');\n",
+       "\n",
+       "        var tooltip_span = $('<span/>');\n",
+       "        tooltip_span.addClass('ui-button-text');\n",
+       "        tooltip_span.html(tooltip);\n",
+       "\n",
+       "        button.append(icon_img);\n",
+       "        button.append(tooltip_span);\n",
+       "\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker_span = $('<span/>');\n",
+       "\n",
+       "    var fmt_picker = $('<select/>');\n",
+       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+       "    fmt_picker_span.append(fmt_picker);\n",
+       "    nav_element.append(fmt_picker_span);\n",
+       "    this.format_dropdown = fmt_picker[0];\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = $(\n",
+       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+       "        fmt_picker.append(option);\n",
+       "    }\n",
+       "\n",
+       "    // Add hover states to the ui-buttons\n",
+       "    $( \".ui-button\" ).hover(\n",
+       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
+       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
+       "    );\n",
+       "\n",
+       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function(type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function() {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1]);\n",
+       "        fig.send_message(\"refresh\", {});\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+       "    var x0 = msg['x0'] / mpl.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+       "    var x1 = msg['x1'] / mpl.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0, 0, fig.canvas.width / mpl.ratio, fig.canvas.height / mpl.ratio);\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+       "    var cursor = msg['cursor'];\n",
+       "    switch(cursor)\n",
+       "    {\n",
+       "    case 0:\n",
+       "        cursor = 'pointer';\n",
+       "        break;\n",
+       "    case 1:\n",
+       "        cursor = 'default';\n",
+       "        break;\n",
+       "    case 2:\n",
+       "        cursor = 'crosshair';\n",
+       "        break;\n",
+       "    case 3:\n",
+       "        cursor = 'move';\n",
+       "        break;\n",
+       "    }\n",
+       "    fig.rubberband_canvas.style.cursor = cursor;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message(\"ack\", {});\n",
+       "}\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            /* FIXME: We get \"Resource interpreted as Image but\n",
+       "             * transferred with MIME type text/plain:\" errors on\n",
+       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "             * to be part of the websocket stream */\n",
+       "            evt.data.type = \"image/png\";\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src);\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                evt.data);\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig[\"handle_\" + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function(e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e)\n",
+       "        e = window.event;\n",
+       "    if (e.target)\n",
+       "        targ = e.target;\n",
+       "    else if (e.srcElement)\n",
+       "        targ = e.srcElement;\n",
+       "    if (targ.nodeType == 3) // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "\n",
+       "    // jQuery normalizes the pageX and pageY\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    // offset() returns the position of the element relative to the document\n",
+       "    var x = e.pageX - $(targ).offset().left;\n",
+       "    var y = e.pageY - $(targ).offset().top;\n",
+       "\n",
+       "    return {\"x\": x, \"y\": y};\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * http://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys (original) {\n",
+       "  return Object.keys(original).reduce(function (obj, key) {\n",
+       "    if (typeof original[key] !== 'object')\n",
+       "        obj[key] = original[key]\n",
+       "    return obj;\n",
+       "  }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event)\n",
+       "\n",
+       "    if (name === 'button_press')\n",
+       "    {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * mpl.ratio;\n",
+       "    var y = canvas_pos.y * mpl.ratio;\n",
+       "\n",
+       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
+       "                             step: event.step,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function(event, name) {\n",
+       "\n",
+       "    // Prevent repeat events\n",
+       "    if (name == 'key_press')\n",
+       "    {\n",
+       "        if (event.which === this._key)\n",
+       "            return;\n",
+       "        else\n",
+       "            this._key = event.which;\n",
+       "    }\n",
+       "    if (name == 'key_release')\n",
+       "        this._key = null;\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.which != 17)\n",
+       "        value += \"ctrl+\";\n",
+       "    if (event.altKey && event.which != 18)\n",
+       "        value += \"alt+\";\n",
+       "    if (event.shiftKey && event.which != 16)\n",
+       "        value += \"shift+\";\n",
+       "\n",
+       "    value += 'k';\n",
+       "    value += event.which.toString();\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, {key: value,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+       "    if (name == 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message(\"toolbar_button\", {name: name});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.close = function() {\n",
+       "        comm.close()\n",
+       "    };\n",
+       "    ws.send = function(m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function(msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(msg['content']['data'])\n",
+       "    });\n",
+       "    return ws;\n",
+       "}\n",
+       "\n",
+       "mpl.mpl_figure_comm = function(comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = $(\"#\" + id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm)\n",
+       "\n",
+       "    function ondownload(figure, format) {\n",
+       "        window.open(figure.imageObj.src);\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy,\n",
+       "                           ondownload,\n",
+       "                           element.get(0));\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element.get(0);\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "\n",
+       "    var output_index = fig.cell_info[2]\n",
+       "    var cell = fig.cell_info[0];\n",
+       "\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+       "    var width = fig.canvas.width/mpl.ratio\n",
+       "    fig.root.unbind('remove')\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable()\n",
+       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
+       "    fig.close_ws(fig, msg);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width/mpl.ratio\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message(\"ack\", {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>');\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items){\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) { continue; };\n",
+       "\n",
+       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
+       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
+       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+       "    buttongrp.append(button);\n",
+       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+       "    titlebar.prepend(buttongrp);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(el){\n",
+       "    var fig = this\n",
+       "    el.on(\"remove\", function(){\n",
+       "\tfig.close_ws(fig, {});\n",
+       "    });\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.attr('tabindex', 0)\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "    else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    var manager = IPython.notebook.keyboard_manager;\n",
+       "    if (!manager)\n",
+       "        manager = IPython.keyboard_manager;\n",
+       "\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which == 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.find_output_cell = function(html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i=0; i<ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code'){\n",
+       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] == html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel != null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,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Wsujprd18uTJl/7dzX2eeLAQEhERERERiRQLIRERERERkUixEBIREREREYkUCyEREREREZFIsRASERERERGJFAshERERERGRSLEQEhERERERiRQLIRERERERkUixEBIREREREYkUCyEREREREZFIsRASERERERGJFAshERHRKzx+/Bjx8fFwcnKCtrY2LCwsEBYWJvSwiIiI3hoLIRER0SvExcXBw8MDJ06cQFFREU6fPo3169cLPSwiIqK3xkJIRET0Cm3btsW0adOEHgYREVG1YyEkIiJ6hUWLFkEmk6FLly5Ys2YN7t+/L/SQiIiIqgULIRER0WsoKCjAwoUL4e7uDhMTE1y7dk3oIREREb01FkIiIqIqePToEbS1tXHgwAGhh0JERPTWWAiJiIheYuHChdi0aRN++ukn/Pzzz5g6dSqsrKxQVlYm9NCIiIjeGgshERHRS8yfPx9NmzaFjo4OzM3N0bdvX+Tn5ws9LCIiomrBQkhERERERCRSLIREREREREQixUJIREREREQkUiyEREREREREIsVCSEREREREJFIshERERERERCLFQkhERERERCRSLIREREREREQixUJIREREREQkUiyEREREREREIsVCSEREREREJFIshERERERERCLFQkhERERERCRSLIREREREREQixUJIREREREQkUv8HdRjeP6GQ1GAAAAAASUVORK5CYII=\" width=\"900\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "fig, ax = plt.subplots(1,1,figsize=(9, 5))\n",
+    "plot_work(ax, t_arr, s_t, Eps_arr, Sig_arr)\n",
+    "plot_dissipation(ax, t_arr, s_t, Eps_arr, Sig_arr)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "## Cyclic loading"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 28,
+   "metadata": {
+    "scrolled": false,
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "\n",
+       "mpl.get_websocket_type = function() {\n",
+       "    if (typeof(WebSocket) !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert('Your browser does not have WebSocket support. ' +\n",
+       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "              'Firefox 4 and 5 are also supported but you ' +\n",
+       "              'have to enable WebSockets in about:config.');\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent = (\n",
+       "                \"This browser does not support binary websocket messages. \" +\n",
+       "                    \"Performance may be slow.\");\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = $('<div/>');\n",
+       "    this._root_extra_style(this.root)\n",
+       "    this.root.attr('style', 'display: inline-block');\n",
+       "\n",
+       "    $(parent_element).append(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen =  function () {\n",
+       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
+       "            fig.send_message(\"send_image_mode\", {});\n",
+       "            if (mpl.ratio != 1) {\n",
+       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
+       "            }\n",
+       "            fig.send_message(\"refresh\", {});\n",
+       "        }\n",
+       "\n",
+       "    this.imageObj.onload = function() {\n",
+       "            if (fig.image_mode == 'full') {\n",
+       "                // Full images could contain transparency (where diff images\n",
+       "                // almost always do), so we need to clear the canvas so that\n",
+       "                // there is no ghosting.\n",
+       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "            }\n",
+       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "        };\n",
+       "\n",
+       "    this.imageObj.onunload = function() {\n",
+       "        fig.ws.close();\n",
+       "    }\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function() {\n",
+       "    var titlebar = $(\n",
+       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
+       "        'ui-helper-clearfix\"/>');\n",
+       "    var titletext = $(\n",
+       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
+       "        'text-align: center; padding: 3px;\"/>');\n",
+       "    titlebar.append(titletext)\n",
+       "    this.root.append(titlebar);\n",
+       "    this.header = titletext[0];\n",
+       "}\n",
+       "\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = $('<div/>');\n",
+       "\n",
+       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
+       "\n",
+       "    function canvas_keyboard_event(event) {\n",
+       "        return fig.key_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
+       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
+       "    this.canvas_div = canvas_div\n",
+       "    this._canvas_extra_style(canvas_div)\n",
+       "    this.root.append(canvas_div);\n",
+       "\n",
+       "    var canvas = $('<canvas/>');\n",
+       "    canvas.addClass('mpl-canvas');\n",
+       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
+       "\n",
+       "    this.canvas = canvas[0];\n",
+       "    this.context = canvas[0].getContext(\"2d\");\n",
+       "\n",
+       "    var backingStore = this.context.backingStorePixelRatio ||\n",
+       "\tthis.context.webkitBackingStorePixelRatio ||\n",
+       "\tthis.context.mozBackingStorePixelRatio ||\n",
+       "\tthis.context.msBackingStorePixelRatio ||\n",
+       "\tthis.context.oBackingStorePixelRatio ||\n",
+       "\tthis.context.backingStorePixelRatio || 1;\n",
+       "\n",
+       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband = $('<canvas/>');\n",
+       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
+       "\n",
+       "    var pass_mouse_events = true;\n",
+       "\n",
+       "    canvas_div.resizable({\n",
+       "        start: function(event, ui) {\n",
+       "            pass_mouse_events = false;\n",
+       "        },\n",
+       "        resize: function(event, ui) {\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "        stop: function(event, ui) {\n",
+       "            pass_mouse_events = true;\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "    });\n",
+       "\n",
+       "    function mouse_event_fn(event) {\n",
+       "        if (pass_mouse_events)\n",
+       "            return fig.mouse_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
+       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
+       "\n",
+       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
+       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
+       "\n",
+       "    canvas_div.on(\"wheel\", function (event) {\n",
+       "        event = event.originalEvent;\n",
+       "        event['data'] = 'scroll'\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        mouse_event_fn(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.append(canvas);\n",
+       "    canvas_div.append(rubberband);\n",
+       "\n",
+       "    this.rubberband = rubberband;\n",
+       "    this.rubberband_canvas = rubberband[0];\n",
+       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
+       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
+       "\n",
+       "    this._resize_canvas = function(width, height) {\n",
+       "        // Keep the size of the canvas, canvas container, and rubber band\n",
+       "        // canvas in synch.\n",
+       "        canvas_div.css('width', width)\n",
+       "        canvas_div.css('height', height)\n",
+       "\n",
+       "        canvas.attr('width', width * mpl.ratio);\n",
+       "        canvas.attr('height', height * mpl.ratio);\n",
+       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
+       "\n",
+       "        rubberband.attr('width', width);\n",
+       "        rubberband.attr('height', height);\n",
+       "    }\n",
+       "\n",
+       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
+       "    // upon first draw.\n",
+       "    this._resize_canvas(600, 600);\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus () {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>');\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            // put a spacer in here.\n",
+       "            continue;\n",
+       "        }\n",
+       "        var button = $('<button/>');\n",
+       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+       "                        'ui-button-icon-only');\n",
+       "        button.attr('role', 'button');\n",
+       "        button.attr('aria-disabled', 'false');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "\n",
+       "        var icon_img = $('<span/>');\n",
+       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+       "        icon_img.addClass(image);\n",
+       "        icon_img.addClass('ui-corner-all');\n",
+       "\n",
+       "        var tooltip_span = $('<span/>');\n",
+       "        tooltip_span.addClass('ui-button-text');\n",
+       "        tooltip_span.html(tooltip);\n",
+       "\n",
+       "        button.append(icon_img);\n",
+       "        button.append(tooltip_span);\n",
+       "\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker_span = $('<span/>');\n",
+       "\n",
+       "    var fmt_picker = $('<select/>');\n",
+       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+       "    fmt_picker_span.append(fmt_picker);\n",
+       "    nav_element.append(fmt_picker_span);\n",
+       "    this.format_dropdown = fmt_picker[0];\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = $(\n",
+       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+       "        fmt_picker.append(option);\n",
+       "    }\n",
+       "\n",
+       "    // Add hover states to the ui-buttons\n",
+       "    $( \".ui-button\" ).hover(\n",
+       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
+       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
+       "    );\n",
+       "\n",
+       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function(type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function() {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1]);\n",
+       "        fig.send_message(\"refresh\", {});\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+       "    var x0 = msg['x0'] / mpl.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+       "    var x1 = msg['x1'] / mpl.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0, 0, fig.canvas.width / mpl.ratio, fig.canvas.height / mpl.ratio);\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+       "    var cursor = msg['cursor'];\n",
+       "    switch(cursor)\n",
+       "    {\n",
+       "    case 0:\n",
+       "        cursor = 'pointer';\n",
+       "        break;\n",
+       "    case 1:\n",
+       "        cursor = 'default';\n",
+       "        break;\n",
+       "    case 2:\n",
+       "        cursor = 'crosshair';\n",
+       "        break;\n",
+       "    case 3:\n",
+       "        cursor = 'move';\n",
+       "        break;\n",
+       "    }\n",
+       "    fig.rubberband_canvas.style.cursor = cursor;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message(\"ack\", {});\n",
+       "}\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            /* FIXME: We get \"Resource interpreted as Image but\n",
+       "             * transferred with MIME type text/plain:\" errors on\n",
+       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "             * to be part of the websocket stream */\n",
+       "            evt.data.type = \"image/png\";\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src);\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                evt.data);\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig[\"handle_\" + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function(e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e)\n",
+       "        e = window.event;\n",
+       "    if (e.target)\n",
+       "        targ = e.target;\n",
+       "    else if (e.srcElement)\n",
+       "        targ = e.srcElement;\n",
+       "    if (targ.nodeType == 3) // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "\n",
+       "    // jQuery normalizes the pageX and pageY\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    // offset() returns the position of the element relative to the document\n",
+       "    var x = e.pageX - $(targ).offset().left;\n",
+       "    var y = e.pageY - $(targ).offset().top;\n",
+       "\n",
+       "    return {\"x\": x, \"y\": y};\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * http://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys (original) {\n",
+       "  return Object.keys(original).reduce(function (obj, key) {\n",
+       "    if (typeof original[key] !== 'object')\n",
+       "        obj[key] = original[key]\n",
+       "    return obj;\n",
+       "  }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event)\n",
+       "\n",
+       "    if (name === 'button_press')\n",
+       "    {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * mpl.ratio;\n",
+       "    var y = canvas_pos.y * mpl.ratio;\n",
+       "\n",
+       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
+       "                             step: event.step,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function(event, name) {\n",
+       "\n",
+       "    // Prevent repeat events\n",
+       "    if (name == 'key_press')\n",
+       "    {\n",
+       "        if (event.which === this._key)\n",
+       "            return;\n",
+       "        else\n",
+       "            this._key = event.which;\n",
+       "    }\n",
+       "    if (name == 'key_release')\n",
+       "        this._key = null;\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.which != 17)\n",
+       "        value += \"ctrl+\";\n",
+       "    if (event.altKey && event.which != 18)\n",
+       "        value += \"alt+\";\n",
+       "    if (event.shiftKey && event.which != 16)\n",
+       "        value += \"shift+\";\n",
+       "\n",
+       "    value += 'k';\n",
+       "    value += event.which.toString();\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, {key: value,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+       "    if (name == 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message(\"toolbar_button\", {name: name});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.close = function() {\n",
+       "        comm.close()\n",
+       "    };\n",
+       "    ws.send = function(m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function(msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(msg['content']['data'])\n",
+       "    });\n",
+       "    return ws;\n",
+       "}\n",
+       "\n",
+       "mpl.mpl_figure_comm = function(comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = $(\"#\" + id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm)\n",
+       "\n",
+       "    function ondownload(figure, format) {\n",
+       "        window.open(figure.imageObj.src);\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy,\n",
+       "                           ondownload,\n",
+       "                           element.get(0));\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element.get(0);\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "\n",
+       "    var output_index = fig.cell_info[2]\n",
+       "    var cell = fig.cell_info[0];\n",
+       "\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+       "    var width = fig.canvas.width/mpl.ratio\n",
+       "    fig.root.unbind('remove')\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable()\n",
+       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
+       "    fig.close_ws(fig, msg);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width/mpl.ratio\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message(\"ack\", {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>');\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items){\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) { continue; };\n",
+       "\n",
+       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
+       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
+       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+       "    buttongrp.append(button);\n",
+       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+       "    titlebar.prepend(buttongrp);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(el){\n",
+       "    var fig = this\n",
+       "    el.on(\"remove\", function(){\n",
+       "\tfig.close_ws(fig, {});\n",
+       "    });\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.attr('tabindex', 0)\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "    else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    var manager = IPython.notebook.keyboard_manager;\n",
+       "    if (!manager)\n",
+       "        manager = IPython.keyboard_manager;\n",
+       "\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which == 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.find_output_cell = function(html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i=0; i<ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code'){\n",
+       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] == html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel != null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,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Y1NrO3TokNxDMSkY50k2NjY1N86RVBPOk2xsbGpunCdNgwGvBGVlZTh06BAyMzMN/heL1NRUCCGQmpoq+7+eKLHlADDHAAANcElEQVTx+vAa8foo+xplZmbi0KFDKCsrk3soJgWTOk+q5edXLeeppnPleVpXk3qenCNJX5wneZ48T+trajnPBzlXzpOmxYDXzK5fvw4hBK5fvy53KYrE61MzXqPq8frUjNeIlEotfVMt5wmo51x5ntZFLedJlkctfZPnaV14ntZHTedqSRjwmhl/EKrH61MzXqPq8frUjNeIlEotfVMt5wmo51x5ntZFLedJlkctfZPnaV14ntZHTedqSRjwmhl/EKrH61MzXqPq8frUjNeIlEotfVMt5wmo51x5ntZFLedJlkctfZPnaV14ntZHTedqSRjwmllxcTGCgoJQXFwsdymKxOtTM16j6vH61IzXiJRKLX1TLecJqOdceZ7WRS3nSZZHLX2T52ldeJ7WR03nakkY8BIRERERERERERFZKAa8RERERERERERERBaKAS8RERERERERERGRhWLAS0RERERERERERGShGPDK5OzZs3j//ffRrFkz1KlTBy1atMCUKVNQUlIid2mKERISgm7dusHR0RFubm5yl6MICxcuRLNmzeDg4IDOnTtj7969cpekKDExMfDz84O7uzuEENiwYYPcJSnKtGnT0LVrV9StWxf169dHv379kJ6eLndZpDKGjmN79uxB586d4eDggObNm2PRokVmqvTBGHKe69atQ69evVCvXj24uLjg6aefRnR0tBmrlU7qvLR//37UqlULnTp1MnGFxmHoeRYXF2PixIlo2rQp7O3t0aJFC4SHh5up2gdj6LmuWLECHTt2hKOjIxo1aoShQ4fi2rVrZqrWcFJ+V7DUcYgsE+fJe3GeVD61zJPWPkcCnCctGQNemfz5558YOnQotm7dijNnzmDTpk1o0KABxo8fL3dpijFlyhTMmTMH48aNY8ALIDIyEnZ2dggLC0NqaioCAgLg7OyMzMxMuUtTjC1btmDSpElYt24dA94q9OnTBxERETh27BiSk5PxyiuvoGnTprh586bcpZFKGDqOZWRkwMnJCQEBAUhNTUVYWBjs7Oywdu1aM1duGEPPMyAgADNnzsShQ4dw8uRJfPHFF7Czs0NiYqKZKzeM1HmpoKAALVq0QO/e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ERERERGRhWLAS0RERERERERERGShGPASERERERERERERWSgGvEREREREREREREQWigEvERERERERERERkYViwEtERERERERERERkoRjwEhEREREREREREVkoBrxEREREZDUCAgLQr18/ucsgIiJSHM6RRNaLAS8RERERWY1nnnkGoaGhcpdBRESkOJwjiawXA14iC1FRUYHQ0FC0bNkSDg4OaNCgAQYPHix3WURERIpQWloKOzs7CCG0zdvbW+6yiIiIZMc5ksj6MeAlshAhISFo164ddu3ahXPnzmH//v1YsmSJ3GUREREpQkVFBQ4ePAghBJKTk5GTk4P8/Hy5yyIiIpId50gi68eAl8hCPPfcc/j888/lLoOIiEixNmzYgEceeUTuMoiIiBSHcySRdWPAS2QhZs+eDVtbW7z44otYtGgRcnNz5S6JiIhIUaZMmYKePXvKXQYREZHicI4ksm4MeIksyIkTJzBz5ky0bdsWDz30EDIyMuQuiYiISDH69u2LsWPHyl0GERGR4nCOJLJuDHiJLFBxcTEcHBwQFRUldylERESK0bx5c0RERMhdBhERkeJwjiSybgx4iSzAzJkz8fPPP+P48eNIT0/Hp59+ikaNGiEvL0/u0oiIiBTDw8MDY8eORVZWFgoKCuQuh4iISDE4RxJZNwa8RBZg6tSpaNWqFerUqYN69eqhX79+SE1NlbssIiIiRfnll1/w6KOPQgiBcePGyV0OERGRYnCOJLJuDHiJiIiIiIiIiIiILBQDXiIiIiIiIiIiIiILxYCXiIiIiIiIiIiIyEIx4CUiIiIiIiIiIiKyUAx4iYiIiIiIiIiIiCwUA14iIiIiIiIiIiIiC8WAl4iIiIiIiIiIiMhCMeAlIiIiIiIiIiIislAMeImIiIiIiIiIiIgsFANeIiIiIiIiIiIiIgvFgJeIiIiIiIiIiIjIQjHgJSIiIiIiIiIiIrJQDHiJiIiIiIiIiIiILBQDXiIiIiIiIiIiIiILxYCXiIiIiIiIiIiIyEIx4CUiIiIiIiIiIiKyUAx4iYiIiIiIiIiIiCwUA14iIiIiIiIiIiIiC/V/VycMC91E5FEAAAAASUVORK5CYII=\" width=\"1400\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "fig, ((ax1,ax2,ax3)) = plt.subplots(1,3,figsize=(14,4), tight_layout=True)\n",
+    "ax11,ax22,ax33 = ax1.twinx(), ax2.twinx(), ax3.twinx()\n",
+    "t_arr, s_t, Eps_arr, Sig_arr, iter_arr = get_response(\n",
+    "    margs, s_max=2, n_steps=20000, k_max=20, get_load_fn=get_load_fn\n",
+    ")\n",
+    "plot_Sig_Eps(t_arr, s_t, Sig_arr, Eps_arr, iter_arr, ax1, ax11, ax2, ax22, ax3, ax33);"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 29,
+   "metadata": {
+    "scrolled": false,
+    "slideshow": {
+     "slide_type": "subslide"
+    }
+   },
+   "outputs": [
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "\n",
+       "mpl.get_websocket_type = function() {\n",
+       "    if (typeof(WebSocket) !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert('Your browser does not have WebSocket support. ' +\n",
+       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "              'Firefox 4 and 5 are also supported but you ' +\n",
+       "              'have to enable WebSockets in about:config.');\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent = (\n",
+       "                \"This browser does not support binary websocket messages. \" +\n",
+       "                    \"Performance may be slow.\");\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = $('<div/>');\n",
+       "    this._root_extra_style(this.root)\n",
+       "    this.root.attr('style', 'display: inline-block');\n",
+       "\n",
+       "    $(parent_element).append(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen =  function () {\n",
+       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
+       "            fig.send_message(\"send_image_mode\", {});\n",
+       "            if (mpl.ratio != 1) {\n",
+       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
+       "            }\n",
+       "            fig.send_message(\"refresh\", {});\n",
+       "        }\n",
+       "\n",
+       "    this.imageObj.onload = function() {\n",
+       "            if (fig.image_mode == 'full') {\n",
+       "                // Full images could contain transparency (where diff images\n",
+       "                // almost always do), so we need to clear the canvas so that\n",
+       "                // there is no ghosting.\n",
+       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "            }\n",
+       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "        };\n",
+       "\n",
+       "    this.imageObj.onunload = function() {\n",
+       "        fig.ws.close();\n",
+       "    }\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function() {\n",
+       "    var titlebar = $(\n",
+       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
+       "        'ui-helper-clearfix\"/>');\n",
+       "    var titletext = $(\n",
+       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
+       "        'text-align: center; padding: 3px;\"/>');\n",
+       "    titlebar.append(titletext)\n",
+       "    this.root.append(titlebar);\n",
+       "    this.header = titletext[0];\n",
+       "}\n",
+       "\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = $('<div/>');\n",
+       "\n",
+       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
+       "\n",
+       "    function canvas_keyboard_event(event) {\n",
+       "        return fig.key_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
+       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
+       "    this.canvas_div = canvas_div\n",
+       "    this._canvas_extra_style(canvas_div)\n",
+       "    this.root.append(canvas_div);\n",
+       "\n",
+       "    var canvas = $('<canvas/>');\n",
+       "    canvas.addClass('mpl-canvas');\n",
+       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
+       "\n",
+       "    this.canvas = canvas[0];\n",
+       "    this.context = canvas[0].getContext(\"2d\");\n",
+       "\n",
+       "    var backingStore = this.context.backingStorePixelRatio ||\n",
+       "\tthis.context.webkitBackingStorePixelRatio ||\n",
+       "\tthis.context.mozBackingStorePixelRatio ||\n",
+       "\tthis.context.msBackingStorePixelRatio ||\n",
+       "\tthis.context.oBackingStorePixelRatio ||\n",
+       "\tthis.context.backingStorePixelRatio || 1;\n",
+       "\n",
+       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband = $('<canvas/>');\n",
+       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
+       "\n",
+       "    var pass_mouse_events = true;\n",
+       "\n",
+       "    canvas_div.resizable({\n",
+       "        start: function(event, ui) {\n",
+       "            pass_mouse_events = false;\n",
+       "        },\n",
+       "        resize: function(event, ui) {\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "        stop: function(event, ui) {\n",
+       "            pass_mouse_events = true;\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "    });\n",
+       "\n",
+       "    function mouse_event_fn(event) {\n",
+       "        if (pass_mouse_events)\n",
+       "            return fig.mouse_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
+       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
+       "\n",
+       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
+       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
+       "\n",
+       "    canvas_div.on(\"wheel\", function (event) {\n",
+       "        event = event.originalEvent;\n",
+       "        event['data'] = 'scroll'\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        mouse_event_fn(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.append(canvas);\n",
+       "    canvas_div.append(rubberband);\n",
+       "\n",
+       "    this.rubberband = rubberband;\n",
+       "    this.rubberband_canvas = rubberband[0];\n",
+       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
+       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
+       "\n",
+       "    this._resize_canvas = function(width, height) {\n",
+       "        // Keep the size of the canvas, canvas container, and rubber band\n",
+       "        // canvas in synch.\n",
+       "        canvas_div.css('width', width)\n",
+       "        canvas_div.css('height', height)\n",
+       "\n",
+       "        canvas.attr('width', width * mpl.ratio);\n",
+       "        canvas.attr('height', height * mpl.ratio);\n",
+       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
+       "\n",
+       "        rubberband.attr('width', width);\n",
+       "        rubberband.attr('height', height);\n",
+       "    }\n",
+       "\n",
+       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
+       "    // upon first draw.\n",
+       "    this._resize_canvas(600, 600);\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus () {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>');\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            // put a spacer in here.\n",
+       "            continue;\n",
+       "        }\n",
+       "        var button = $('<button/>');\n",
+       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+       "                        'ui-button-icon-only');\n",
+       "        button.attr('role', 'button');\n",
+       "        button.attr('aria-disabled', 'false');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "\n",
+       "        var icon_img = $('<span/>');\n",
+       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+       "        icon_img.addClass(image);\n",
+       "        icon_img.addClass('ui-corner-all');\n",
+       "\n",
+       "        var tooltip_span = $('<span/>');\n",
+       "        tooltip_span.addClass('ui-button-text');\n",
+       "        tooltip_span.html(tooltip);\n",
+       "\n",
+       "        button.append(icon_img);\n",
+       "        button.append(tooltip_span);\n",
+       "\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker_span = $('<span/>');\n",
+       "\n",
+       "    var fmt_picker = $('<select/>');\n",
+       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+       "    fmt_picker_span.append(fmt_picker);\n",
+       "    nav_element.append(fmt_picker_span);\n",
+       "    this.format_dropdown = fmt_picker[0];\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = $(\n",
+       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+       "        fmt_picker.append(option);\n",
+       "    }\n",
+       "\n",
+       "    // Add hover states to the ui-buttons\n",
+       "    $( \".ui-button\" ).hover(\n",
+       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
+       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
+       "    );\n",
+       "\n",
+       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function(type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function() {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1]);\n",
+       "        fig.send_message(\"refresh\", {});\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+       "    var x0 = msg['x0'] / mpl.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+       "    var x1 = msg['x1'] / mpl.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0, 0, fig.canvas.width / mpl.ratio, fig.canvas.height / mpl.ratio);\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+       "    var cursor = msg['cursor'];\n",
+       "    switch(cursor)\n",
+       "    {\n",
+       "    case 0:\n",
+       "        cursor = 'pointer';\n",
+       "        break;\n",
+       "    case 1:\n",
+       "        cursor = 'default';\n",
+       "        break;\n",
+       "    case 2:\n",
+       "        cursor = 'crosshair';\n",
+       "        break;\n",
+       "    case 3:\n",
+       "        cursor = 'move';\n",
+       "        break;\n",
+       "    }\n",
+       "    fig.rubberband_canvas.style.cursor = cursor;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message(\"ack\", {});\n",
+       "}\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            /* FIXME: We get \"Resource interpreted as Image but\n",
+       "             * transferred with MIME type text/plain:\" errors on\n",
+       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "             * to be part of the websocket stream */\n",
+       "            evt.data.type = \"image/png\";\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src);\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                evt.data);\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig[\"handle_\" + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function(e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e)\n",
+       "        e = window.event;\n",
+       "    if (e.target)\n",
+       "        targ = e.target;\n",
+       "    else if (e.srcElement)\n",
+       "        targ = e.srcElement;\n",
+       "    if (targ.nodeType == 3) // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "\n",
+       "    // jQuery normalizes the pageX and pageY\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    // offset() returns the position of the element relative to the document\n",
+       "    var x = e.pageX - $(targ).offset().left;\n",
+       "    var y = e.pageY - $(targ).offset().top;\n",
+       "\n",
+       "    return {\"x\": x, \"y\": y};\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * http://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys (original) {\n",
+       "  return Object.keys(original).reduce(function (obj, key) {\n",
+       "    if (typeof original[key] !== 'object')\n",
+       "        obj[key] = original[key]\n",
+       "    return obj;\n",
+       "  }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event)\n",
+       "\n",
+       "    if (name === 'button_press')\n",
+       "    {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * mpl.ratio;\n",
+       "    var y = canvas_pos.y * mpl.ratio;\n",
+       "\n",
+       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
+       "                             step: event.step,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function(event, name) {\n",
+       "\n",
+       "    // Prevent repeat events\n",
+       "    if (name == 'key_press')\n",
+       "    {\n",
+       "        if (event.which === this._key)\n",
+       "            return;\n",
+       "        else\n",
+       "            this._key = event.which;\n",
+       "    }\n",
+       "    if (name == 'key_release')\n",
+       "        this._key = null;\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.which != 17)\n",
+       "        value += \"ctrl+\";\n",
+       "    if (event.altKey && event.which != 18)\n",
+       "        value += \"alt+\";\n",
+       "    if (event.shiftKey && event.which != 16)\n",
+       "        value += \"shift+\";\n",
+       "\n",
+       "    value += 'k';\n",
+       "    value += event.which.toString();\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, {key: value,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+       "    if (name == 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message(\"toolbar_button\", {name: name});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.close = function() {\n",
+       "        comm.close()\n",
+       "    };\n",
+       "    ws.send = function(m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function(msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(msg['content']['data'])\n",
+       "    });\n",
+       "    return ws;\n",
+       "}\n",
+       "\n",
+       "mpl.mpl_figure_comm = function(comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = $(\"#\" + id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm)\n",
+       "\n",
+       "    function ondownload(figure, format) {\n",
+       "        window.open(figure.imageObj.src);\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy,\n",
+       "                           ondownload,\n",
+       "                           element.get(0));\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element.get(0);\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "\n",
+       "    var output_index = fig.cell_info[2]\n",
+       "    var cell = fig.cell_info[0];\n",
+       "\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+       "    var width = fig.canvas.width/mpl.ratio\n",
+       "    fig.root.unbind('remove')\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable()\n",
+       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
+       "    fig.close_ws(fig, msg);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width/mpl.ratio\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message(\"ack\", {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>');\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items){\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) { continue; };\n",
+       "\n",
+       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
+       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
+       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+       "    buttongrp.append(button);\n",
+       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+       "    titlebar.prepend(buttongrp);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(el){\n",
+       "    var fig = this\n",
+       "    el.on(\"remove\", function(){\n",
+       "\tfig.close_ws(fig, {});\n",
+       "    });\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.attr('tabindex', 0)\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "    else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    var manager = IPython.notebook.keyboard_manager;\n",
+       "    if (!manager)\n",
+       "        manager = IPython.keyboard_manager;\n",
+       "\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which == 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.find_output_cell = function(html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i=0; i<ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code'){\n",
+       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] == html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel != null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,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M8POnTvL6hCpjBT13P/111+oV6+e3osKcBDKT3Gu+bZt28LExAT37t0TP5acnAyVSsVHCWWkOOf+9OnTcHFxwSeffILjx49j27ZtCAoKwoABAwxxyFRGXnUQ8j6vYuIgpELxKaPKVZKnjK5evRqmpqbYtGlTWR4ilZGinvtffvkFgiBAo9GIqVQq8WO7d+821KFTCRTnmu/bty98fHz0PpabmwtBEHD+/PkyO1YqXcU592FhYejRo4fexw4cOMBHiWSOTxlVNg5C+lchISEYMmSI3scCAgJe+qIyAQEBeh+Ljo7mDxvLUFHPPfDkkUETE5NXetlqKr+Kcu4fP36MkydP6jVkyBD4+/vj5MmT+O233wx12FRCRb3mv/zyS5iamuLBgwfix9avXw+1Ws1HCGWmqOe+e/fueOutt/Q+lpGRAUEQcP369TI7Tipbr/qiMrzPq5g4COlf/f1S1EuWLEFubi6GDx8Oc3NzXL16FQAwZswYhIeHi7/+75cjHjFiBHJzc7FkyRK+HLFMFfXcr1y5ElqtFomJifjpp5/Enn86GclDUc/9P/Epo/JU1PP+4MEDuLm5oUePHjh9+jRSU1Ph6+uLyMhIqb4EKqainvukpCRotVosWLAAly5dQlpaGurVq4eQkBCpvgQqpgcPHuDo0aM4evQoBEHA7NmzcfToUfEtR3ifpxwchPRSiYmJ8PDwgLGxMYKDg5Gamir+f/369UPz5s31fv2+fftQp04dGBsbw9PTk29YKmNFOffNmzeHIAgv1K9fP8MfOJVYUa/753EQyldRz/uZM2fQpk0bmJqaws3NDe+99x4fHZSpop77efPmITAwEKampnBxcUGfPn2Qn59v4KOmktq7d+9L/93N+zzl4CAkIiIiIiJSKA5CIiIiIiIiheIgJCIiIiIiUigOQiIiIiIiIoXiICQiIiIiIlIoDkIiIiIiIiKF4iAkIiIiIiJSKA5CIiIiIiIiheIgJCIiIiIiUigOQiIiIiIiIoXiICQiIiIiIlIoDkIiIqL/4fHjx5g6dSqqVq0KnU4HR0dHhIWFSX1YREREJcZBSERE9D/Ex8ejevXq2LNnD65evYq0tDQsXrxY6sMiIiIqMQ5CIiKi/6Fp06b44IMPpD4MIiKiUsdBSERE9D98+umnUKvVaNu2LRYuXIg7d+5IfUhERESlgoOQiIjoFZw7dw4zZ85EYGAgbGxscPnyZakPiYiIqMQ4CImIiIrg4cOH0Ol02LRpk9SHQkREVGIchERERC8xc+ZMLFu2DKdPn8bZs2fx/vvvw9nZGXfv3pX60IiIiEqMg5CIiOglJk2aBD8/P5iYmMDe3h5vvPEGcnNzpT4sIiKiUsFBSEREREREpFAchERERERERArFQUhERERERKRQHIREREREREQKxUFIRERERESkUByERERERERECsVBSEREREREpFAchERERERERArFQUhERERERKRQHIREREREREQKxUFIRERERESkUByERERERERECsVBSEREREREpFAchERERERERArFQUhERERERKRQ/w8Iajup3wqCIAAAAABJRU5ErkJggg==\" width=\"900\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "fig, ax = plt.subplots(1,1,figsize=(9, 5))\n",
+    "plot_work(ax, t_arr, s_t, Eps_arr, Sig_arr)\n",
+    "plot_dissipation(ax, t_arr, s_t, Eps_arr, Sig_arr)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "hide_input": false,
+    "slideshow": {
+     "slide_type": "slide"
+    }
+   },
+   "source": [
+    "## Interactive application"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 30,
+   "metadata": {
+    "hide_input": true,
+    "scrolled": false,
+    "slideshow": {
+     "slide_type": "fragment"
+    }
+   },
+   "outputs": [
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "\n",
+       "mpl.get_websocket_type = function() {\n",
+       "    if (typeof(WebSocket) !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert('Your browser does not have WebSocket support. ' +\n",
+       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "              'Firefox 4 and 5 are also supported but you ' +\n",
+       "              'have to enable WebSockets in about:config.');\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent = (\n",
+       "                \"This browser does not support binary websocket messages. \" +\n",
+       "                    \"Performance may be slow.\");\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = $('<div/>');\n",
+       "    this._root_extra_style(this.root)\n",
+       "    this.root.attr('style', 'display: inline-block');\n",
+       "\n",
+       "    $(parent_element).append(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen =  function () {\n",
+       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
+       "            fig.send_message(\"send_image_mode\", {});\n",
+       "            if (mpl.ratio != 1) {\n",
+       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
+       "            }\n",
+       "            fig.send_message(\"refresh\", {});\n",
+       "        }\n",
+       "\n",
+       "    this.imageObj.onload = function() {\n",
+       "            if (fig.image_mode == 'full') {\n",
+       "                // Full images could contain transparency (where diff images\n",
+       "                // almost always do), so we need to clear the canvas so that\n",
+       "                // there is no ghosting.\n",
+       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "            }\n",
+       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "        };\n",
+       "\n",
+       "    this.imageObj.onunload = function() {\n",
+       "        fig.ws.close();\n",
+       "    }\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function() {\n",
+       "    var titlebar = $(\n",
+       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
+       "        'ui-helper-clearfix\"/>');\n",
+       "    var titletext = $(\n",
+       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
+       "        'text-align: center; padding: 3px;\"/>');\n",
+       "    titlebar.append(titletext)\n",
+       "    this.root.append(titlebar);\n",
+       "    this.header = titletext[0];\n",
+       "}\n",
+       "\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = $('<div/>');\n",
+       "\n",
+       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
+       "\n",
+       "    function canvas_keyboard_event(event) {\n",
+       "        return fig.key_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
+       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
+       "    this.canvas_div = canvas_div\n",
+       "    this._canvas_extra_style(canvas_div)\n",
+       "    this.root.append(canvas_div);\n",
+       "\n",
+       "    var canvas = $('<canvas/>');\n",
+       "    canvas.addClass('mpl-canvas');\n",
+       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
+       "\n",
+       "    this.canvas = canvas[0];\n",
+       "    this.context = canvas[0].getContext(\"2d\");\n",
+       "\n",
+       "    var backingStore = this.context.backingStorePixelRatio ||\n",
+       "\tthis.context.webkitBackingStorePixelRatio ||\n",
+       "\tthis.context.mozBackingStorePixelRatio ||\n",
+       "\tthis.context.msBackingStorePixelRatio ||\n",
+       "\tthis.context.oBackingStorePixelRatio ||\n",
+       "\tthis.context.backingStorePixelRatio || 1;\n",
+       "\n",
+       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband = $('<canvas/>');\n",
+       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
+       "\n",
+       "    var pass_mouse_events = true;\n",
+       "\n",
+       "    canvas_div.resizable({\n",
+       "        start: function(event, ui) {\n",
+       "            pass_mouse_events = false;\n",
+       "        },\n",
+       "        resize: function(event, ui) {\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "        stop: function(event, ui) {\n",
+       "            pass_mouse_events = true;\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "    });\n",
+       "\n",
+       "    function mouse_event_fn(event) {\n",
+       "        if (pass_mouse_events)\n",
+       "            return fig.mouse_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
+       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
+       "\n",
+       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
+       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
+       "\n",
+       "    canvas_div.on(\"wheel\", function (event) {\n",
+       "        event = event.originalEvent;\n",
+       "        event['data'] = 'scroll'\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        mouse_event_fn(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.append(canvas);\n",
+       "    canvas_div.append(rubberband);\n",
+       "\n",
+       "    this.rubberband = rubberband;\n",
+       "    this.rubberband_canvas = rubberband[0];\n",
+       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
+       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
+       "\n",
+       "    this._resize_canvas = function(width, height) {\n",
+       "        // Keep the size of the canvas, canvas container, and rubber band\n",
+       "        // canvas in synch.\n",
+       "        canvas_div.css('width', width)\n",
+       "        canvas_div.css('height', height)\n",
+       "\n",
+       "        canvas.attr('width', width * mpl.ratio);\n",
+       "        canvas.attr('height', height * mpl.ratio);\n",
+       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
+       "\n",
+       "        rubberband.attr('width', width);\n",
+       "        rubberband.attr('height', height);\n",
+       "    }\n",
+       "\n",
+       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
+       "    // upon first draw.\n",
+       "    this._resize_canvas(600, 600);\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus () {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>');\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            // put a spacer in here.\n",
+       "            continue;\n",
+       "        }\n",
+       "        var button = $('<button/>');\n",
+       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+       "                        'ui-button-icon-only');\n",
+       "        button.attr('role', 'button');\n",
+       "        button.attr('aria-disabled', 'false');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "\n",
+       "        var icon_img = $('<span/>');\n",
+       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+       "        icon_img.addClass(image);\n",
+       "        icon_img.addClass('ui-corner-all');\n",
+       "\n",
+       "        var tooltip_span = $('<span/>');\n",
+       "        tooltip_span.addClass('ui-button-text');\n",
+       "        tooltip_span.html(tooltip);\n",
+       "\n",
+       "        button.append(icon_img);\n",
+       "        button.append(tooltip_span);\n",
+       "\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker_span = $('<span/>');\n",
+       "\n",
+       "    var fmt_picker = $('<select/>');\n",
+       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+       "    fmt_picker_span.append(fmt_picker);\n",
+       "    nav_element.append(fmt_picker_span);\n",
+       "    this.format_dropdown = fmt_picker[0];\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = $(\n",
+       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+       "        fmt_picker.append(option);\n",
+       "    }\n",
+       "\n",
+       "    // Add hover states to the ui-buttons\n",
+       "    $( \".ui-button\" ).hover(\n",
+       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
+       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
+       "    );\n",
+       "\n",
+       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function(type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function() {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1]);\n",
+       "        fig.send_message(\"refresh\", {});\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+       "    var x0 = msg['x0'] / mpl.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+       "    var x1 = msg['x1'] / mpl.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0, 0, fig.canvas.width / mpl.ratio, fig.canvas.height / mpl.ratio);\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+       "    var cursor = msg['cursor'];\n",
+       "    switch(cursor)\n",
+       "    {\n",
+       "    case 0:\n",
+       "        cursor = 'pointer';\n",
+       "        break;\n",
+       "    case 1:\n",
+       "        cursor = 'default';\n",
+       "        break;\n",
+       "    case 2:\n",
+       "        cursor = 'crosshair';\n",
+       "        break;\n",
+       "    case 3:\n",
+       "        cursor = 'move';\n",
+       "        break;\n",
+       "    }\n",
+       "    fig.rubberband_canvas.style.cursor = cursor;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message(\"ack\", {});\n",
+       "}\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            /* FIXME: We get \"Resource interpreted as Image but\n",
+       "             * transferred with MIME type text/plain:\" errors on\n",
+       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "             * to be part of the websocket stream */\n",
+       "            evt.data.type = \"image/png\";\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src);\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                evt.data);\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig[\"handle_\" + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function(e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e)\n",
+       "        e = window.event;\n",
+       "    if (e.target)\n",
+       "        targ = e.target;\n",
+       "    else if (e.srcElement)\n",
+       "        targ = e.srcElement;\n",
+       "    if (targ.nodeType == 3) // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "\n",
+       "    // jQuery normalizes the pageX and pageY\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    // offset() returns the position of the element relative to the document\n",
+       "    var x = e.pageX - $(targ).offset().left;\n",
+       "    var y = e.pageY - $(targ).offset().top;\n",
+       "\n",
+       "    return {\"x\": x, \"y\": y};\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * http://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys (original) {\n",
+       "  return Object.keys(original).reduce(function (obj, key) {\n",
+       "    if (typeof original[key] !== 'object')\n",
+       "        obj[key] = original[key]\n",
+       "    return obj;\n",
+       "  }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event)\n",
+       "\n",
+       "    if (name === 'button_press')\n",
+       "    {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * mpl.ratio;\n",
+       "    var y = canvas_pos.y * mpl.ratio;\n",
+       "\n",
+       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
+       "                             step: event.step,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function(event, name) {\n",
+       "\n",
+       "    // Prevent repeat events\n",
+       "    if (name == 'key_press')\n",
+       "    {\n",
+       "        if (event.which === this._key)\n",
+       "            return;\n",
+       "        else\n",
+       "            this._key = event.which;\n",
+       "    }\n",
+       "    if (name == 'key_release')\n",
+       "        this._key = null;\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.which != 17)\n",
+       "        value += \"ctrl+\";\n",
+       "    if (event.altKey && event.which != 18)\n",
+       "        value += \"alt+\";\n",
+       "    if (event.shiftKey && event.which != 16)\n",
+       "        value += \"shift+\";\n",
+       "\n",
+       "    value += 'k';\n",
+       "    value += event.which.toString();\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, {key: value,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+       "    if (name == 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message(\"toolbar_button\", {name: name});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.close = function() {\n",
+       "        comm.close()\n",
+       "    };\n",
+       "    ws.send = function(m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function(msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(msg['content']['data'])\n",
+       "    });\n",
+       "    return ws;\n",
+       "}\n",
+       "\n",
+       "mpl.mpl_figure_comm = function(comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = $(\"#\" + id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm)\n",
+       "\n",
+       "    function ondownload(figure, format) {\n",
+       "        window.open(figure.imageObj.src);\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy,\n",
+       "                           ondownload,\n",
+       "                           element.get(0));\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element.get(0);\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "\n",
+       "    var output_index = fig.cell_info[2]\n",
+       "    var cell = fig.cell_info[0];\n",
+       "\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+       "    var width = fig.canvas.width/mpl.ratio\n",
+       "    fig.root.unbind('remove')\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable()\n",
+       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
+       "    fig.close_ws(fig, msg);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width/mpl.ratio\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message(\"ack\", {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>');\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items){\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) { continue; };\n",
+       "\n",
+       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
+       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
+       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+       "    buttongrp.append(button);\n",
+       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+       "    titlebar.prepend(buttongrp);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(el){\n",
+       "    var fig = this\n",
+       "    el.on(\"remove\", function(){\n",
+       "\tfig.close_ws(fig, {});\n",
+       "    });\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.attr('tabindex', 0)\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "    else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    var manager = IPython.notebook.keyboard_manager;\n",
+       "    if (!manager)\n",
+       "        manager = IPython.keyboard_manager;\n",
+       "\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which == 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.find_output_cell = function(html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i=0; i<ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code'){\n",
+       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] == html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel != null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABXgAAAGQCAYAAAAUUwjLAAAgAElEQVR4nOzdaXgUVdYH8JN9JewiawLIKoIigzgiKIK4oDi+igsKqKiAILw6oyijaVYFRRZFBEREURjZRRGFEZBFFjUg0OxLgBARIoRAFpLu//uh3lQTCKG6u7pvdff/9zz1pem6dcK5OTc5XbklICIiIiIiIiIiIqKAJKoDICIiIiIiIiIiIiLPsMFLREREREREREREFKDY4CUiIiIiIiIiIiIKUGzwEhEREREREREREQUoNniJiIiIiIiIiIiIAhQbvEREREREREREREQBig1eIiIiIiIiIiIiogDFBi8RERERERERERFRgGKDl4iIiIiIiIiIiChAscFLREREREREREREFKDY4CUiIiIiIiIiIiIKUGzwEhEREREREREREQUoNniJiIiIiIiIiIiIAhQbvEREREREREREREQBig1eIiIiIiIiIiIiogDFBi8REQWN1atXo0uXLqhevTpEBAsXLrziOatWrULLli0RExODunXrYvLkyX6IlIiIiIiIiMgcbPASEVHQWLp0KYYMGYL58+cbavAeOHAA8fHxGDhwIOx2O6ZNm4aoqCjMmzfPTxETEREREREReYcNXiIiCkpGGryvvPIKGjduXOK1559/Hm3atPFlaERERGQxo0aNQqtWrZCYmIiqVauia9eu2LVrl+qwiIjIZMFa79ngJSKioGSkwXvrrbfixRdfLPHaggULEBkZifPnz/syPCIiIrKQzp07Y8aMGdi+fTu2bNmCe++9F3Xq1MHZs2dVh0ZERCYK1nrPBq8BhYWF2LRpE9LT03HkyBEePHjw4OGnIz09HWvWrEFWVhays7P1Iz8//4q120iDt0GDBhg5cmSJ19atWwcRwbFjx7xaO4IZ10UePHjwUHOkp6dj06ZNKCwsVL0UBL0///wTIoLVq1cbej/XRh48ePBQc3i7Nrpb762KDV4DNm3aBBHhwYMHDx4WOVJTU69Yu0WMNXhHjRpV4rW1a9dCRJCZmenN0hHUuC7y4MGDh9pj06ZNqpeCoLd3716ICLZt22bo/VwbefDgwUPt4ena6G69tyo2eA1IT0/XJ4vqTyZ48ODBI5SO4l+Wtm/f7pM7eLlFg2e4LvLgwYOHmqN4XUxPT1e9FAQ1p9OJ++67D23btr3se/Lz80v8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vDn8/f0RExODlJQU5d+GDh2KXr16OTz+l19+wc033wx/f39ER0djzpw5Lq+JHOnx/wG9HZPejgfQ3zHp7XgA/R2T3o6H3EuP60Vvx6S34wH0d0x6Ox5Af8ekt+PREga8HlBSUoLY2FhNnsLtKfwa8GtwCb8O/BoA/Br4Oj32X2/HpLfjAfR3THo7HkB/x6S34yH30uN60dsx6e14AP0dk96OB9DfMenteLSEAS8RERERERERERGRl2LAS0REREREREREROSlGPASEREREREREREReSkGvEREREREREREREReigGvhz344INo2rQpAgIC0KBBAzz99NPIyckRXZbHHDlyBM899xyio6MRGBiIli1bYuLEiSgtLRVdmkfFx8eje/fuCAoKQnh4uOhyPCYxMRHR0dEICAhATEwMNm/eLLokj0pJScEDDzyAhg0bQpIkfPvtt6JL8ripU6eiS5cuCA0NRWRkJAYOHIh9+/aJLos8zFtngZr1a7fbERsbi4YNGyIwMBC9evVCZmamoIqdM3XqVEiShNGjRyv3eePxZGdn46mnnkLdunURFBSETp064ffff1f+3ZuOyWq14s0331S+b2rRogUmTZoEm82mPEbrx3OtvU9N/SUlJRg5ciQiIiIQHByMBx98EMeOHfPkYSiudjxlZWUYN24cbrzxRgQHB6Nhw4YYMmTIFd/ra+l4SDu4N2oT90bt4d4o09Jewr1RGxjwetjMmTOxfft2HD16FFu3bkX37t3RvXt30WV5zI8//ohnn30Wa9euxV9//YVVq1YhKioKY8eOFV2aR02cOBEzZ87Ea6+95jMBb1JSEsxmM+bPnw+LxYLRo0cjJCQEWVlZokvzmOTkZLz55ptYsWKFzwa8ffv2xaJFi5CZmYldu3ahf//+aNasGS5cuCC6NPIQb54Fatbv9OnTERYWhhUrViAjIwOPP/44GjZsiPPnzwus/NpSU1MRHR2Njh07OvwQ623Hc+bMGTRv3hzPPvssduzYgSNHjmD9+vU4dOiQ8hhvOqb4+HhERERgzZo1OHLkCJYtW4bQ0FDMmjVLeYzWj+dae5+a+ocPH47GjRtj3bp1+OOPP3DXXXehU6dOKC8v9/ThXPV4zp07h3vuuQdLly7Fvn37sH37dtx6663o3Lmzw2to6XhIG7g3ahP3Rm0eE/dGmZb2Eu6N2sCAV7BV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\" width=\"1400\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "3a62cf0387304a1ead559bc095e64dcc",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "interactive(children=(FloatSlider(value=0.0, continuous_update=False, description='s1', max=4.0, min=-4.0), Ou…"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "aa6037de0b35435e9aea0559417df4d6",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "interactive(children=(FloatSlider(value=50.0, continuous_update=False, description='E_b', min=0.5, step=4.975)…"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "def init():\n",
+    "    global Eps_record, Sig_record, iter_record, t_arr, s_t, s0, t0, Eps_n\n",
+    "    s0 = 0\n",
+    "    t0 = 0\n",
+    "    Sig_record = []\n",
+    "    Eps_record = []\n",
+    "    iter_record = []\n",
+    "    t_arr = []\n",
+    "    s_t = []\n",
+    "    Eps_n = np.zeros((len(Eps),), dtype=np.float_)\n",
+    "    \n",
+    "def get_response_i(s1, margs, n_steps = 60, k_max=20):\n",
+    "    global Eps_record, Sig_record, iter_record, t_arr, s_t, s0, t0, Eps_n\n",
+    "    Eps_k = np.copy(Eps_n)\n",
+    "    t1 = t0+n_steps+1\n",
+    "    ti_arr = np.linspace(t0, t1, n_steps+1 )\n",
+    "    si_t = np.linspace(s0,s1,n_steps+1)\n",
+    "    for s_n1 in si_t:\n",
+    "        lam_k = 0\n",
+    "        f_k, df_k, Sig_k = get_f_df(s_n1, Eps_k, *margs)\n",
+    "        f_k_norm = np.linalg.norm(f_k)\n",
+    "        f_k_trial = f_k[-1]\n",
+    "        k = 0\n",
+    "        while k < k_max:\n",
+    "            if f_k_trial < 0 or f_k_norm < 1e-6:\n",
+    "                Eps_n[...] = Eps_k[...]\n",
+    "                Sig_record.append(Sig_k)\n",
+    "                Eps_record.append(np.copy(Eps_k))\n",
+    "                iter_record.append(k+1)\n",
+    "                break\n",
+    "            dlam = np.linalg.solve(df_k, -f_k)\n",
+    "            lam_k += dlam\n",
+    "            Eps_k = get_Eps_k1(s_n1, Eps_n, lam_k, Eps_k, *margs)\n",
+    "            f_k, df_k, Sig_k = get_f_df(s_n1, Eps_k, *margs)\n",
+    "            f_k_norm = np.linalg.norm(f_k)\n",
+    "            k += 1\n",
+    "        else:\n",
+    "            print('no convergence')\n",
+    "    t_arr = np.hstack([t_arr, ti_arr])\n",
+    "    s_t = np.hstack([s_t, si_t])\n",
+    "    t0 = t1\n",
+    "    s0 = s1\n",
+    "    return\n",
+    "\n",
+    "import ipywidgets as ipw\n",
+    "fig, ((ax1,ax2,ax3)) = plt.subplots(1,3,figsize=(14,4), tight_layout=True)\n",
+    "ax11 = ax1.twinx()\n",
+    "ax22 = ax2.twinx()\n",
+    "ax33 = ax3.twinx()\n",
+    "axes = ax1, ax11, ax2, ax22, ax3, ax33\n",
+    "axes = ax1, None, ax2, ax22, ax3, ax33\n",
+    "def update(s1):\n",
+    "    global Eps_record, Sig_record, iter_record, t_arr, s_t, s0, t0, Eps_n, axes\n",
+    "    global margs\n",
+    "    get_response_i(s1, margs)\n",
+    "    Sig_arr = np.array(Sig_record, dtype=np.float_)\n",
+    "    Eps_arr = np.array(Eps_record, dtype=np.float_)\n",
+    "    iter_arr = np.array(iter_record,dtype=np.int_)\n",
+    "    for ax in axes:\n",
+    "        if ax:\n",
+    "            ax.clear()\n",
+    "    plot_Sig_Eps(t_arr, s_t, Sig_arr, Eps_arr, iter_arr, *axes)\n",
+    "    \n",
+    "init()\n",
+    "\n",
+    "s1_slider = ipw.FloatSlider(value=0,min=-4, max=+4, step=0.1,\n",
+    "                                         continuous_update=False)\n",
+    "\n",
+    "ipw.interact(update, s1 = s1_slider);\n",
+    "\n",
+    "def reset(**material_params):\n",
+    "    global margs\n",
+    "    init()\n",
+    "    s1_slider.value = 0\n",
+    "    margs = [material_params[name] for name in py_vars]\n",
+    "\n",
+    "n_steps = 20\n",
+    "margs_sliders = {\n",
+    "    name : ipw.FloatSlider(description=name, value=val, \n",
+    "                            min=minval, max=maxval, step=(maxval-minval) / n_steps,\n",
+    "                           continuous_update=False)\n",
+    "    for name, val, minval, maxval in [('E_b', 50, 0.5, 100),\n",
+    "                                     ('gamma', 1, -20, 20),\n",
+    "                                     ('K', 1, -20, 20),\n",
+    "                                     ('tau_bar', 1, 0.5, 20)]\n",
+    "}\n",
+    "\n",
+    "ipw.interact(reset, **margs_sliders);"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "celltoolbar": "Slideshow",
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.6"
+  },
+  "toc": {
+   "base_numbering": 1,
+   "nav_menu": {},
+   "number_sections": true,
+   "sideBar": true,
+   "skip_h1_title": false,
+   "title_cell": "Table of Contents",
+   "title_sidebar": "Contents",
+   "toc_cell": false,
+   "toc_position": {
+    "height": "calc(100% - 180px)",
+    "left": "10px",
+    "top": "150px",
+    "width": "165px"
+   },
+   "toc_section_display": true,
+   "toc_window_display": false
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/bmcs_course/4_3_Bond_behavior_governed_by_plasticity.ipynb b/bmcs_course/4_4_Bond_behavior_governed_by_plasticity.ipynb
similarity index 98%
rename from bmcs_course/4_3_Bond_behavior_governed_by_plasticity.ipynb
rename to bmcs_course/4_4_Bond_behavior_governed_by_plasticity.ipynb
index 7e94707..9d26b5d 100644
--- a/bmcs_course/4_3_Bond_behavior_governed_by_plasticity.ipynb
+++ b/bmcs_course/4_4_Bond_behavior_governed_by_plasticity.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# 4.3 Bond behavior governed by plasticity\n",
+    "# 4.4 Bond behavior governed by plasticity\n",
     "Define a bond-slip law governed by plasticity and loading history using unloading."
    ]
   },
@@ -35,7 +35,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 2,
    "metadata": {},
    "outputs": [
     {
@@ -60,10 +60,10 @@
        "        "
       ],
       "text/plain": [
-       "<bmcs.bond_slip.bond_slip_model.BondSlipModel at 0x7f05bedb1ad0>"
+       "<bmcs.bond_slip.bond_slip_model.BondSlipModel at 0x7fe172604230>"
       ]
      },
-     "execution_count": 20,
+     "execution_count": 2,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -82,7 +82,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": 3,
    "metadata": {},
    "outputs": [
     {
@@ -102,10 +102,10 @@
        "        "
       ],
       "text/plain": [
-       "<ibvpy.mats.mats1D5.vmats1D5_bondslip1D.MATSBondSlipEP at 0x7f05be979ef0>"
+       "<ibvpy.mats.mats1D5.vmats1D5_bondslip1D.MATSBondSlipEP at 0x7fe1722bb7d0>"
       ]
      },
-     "execution_count": 21,
+     "execution_count": 3,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -128,7 +128,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 22,
+   "execution_count": 4,
    "metadata": {},
    "outputs": [
     {
@@ -149,10 +149,10 @@
        "        "
       ],
       "text/plain": [
-       "<bmcs.time_functions.loading_scenario.LoadingScenario at 0x7f05be979d10>"
+       "<bmcs.time_functions.loading_scenario.LoadingScenario at 0x7fe1755e6d10>"
       ]
      },
-     "execution_count": 22,
+     "execution_count": 4,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -176,7 +176,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 23,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [
     {
@@ -205,7 +205,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 24,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -221,7 +221,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 26,
+   "execution_count": 7,
    "metadata": {},
    "outputs": [
     {
@@ -252,7 +252,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 27,
+   "execution_count": 8,
    "metadata": {},
    "outputs": [
     {
@@ -272,10 +272,10 @@
        "        "
       ],
       "text/plain": [
-       "<ibvpy.mats.mats1D5.vmats1D5_bondslip1D.MATSBondSlipEP at 0x7f05be7bec50>"
+       "<ibvpy.mats.mats1D5.vmats1D5_bondslip1D.MATSBondSlipEP at 0x7fe171cc3b30>"
       ]
      },
-     "execution_count": 27,
+     "execution_count": 8,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -291,7 +291,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 28,
+   "execution_count": 9,
    "metadata": {},
    "outputs": [
     {
@@ -321,7 +321,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 29,
+   "execution_count": 10,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -330,7 +330,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 30,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [
     {
@@ -351,6 +351,20 @@
     "ax.grid(True)\n",
     "bs2.hist.plot_Pw(ax,1)"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
@@ -370,6 +384,19 @@
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
    "version": "3.7.6"
+  },
+  "toc": {
+   "base_numbering": 1,
+   "nav_menu": {},
+   "number_sections": true,
+   "sideBar": true,
+   "skip_h1_title": true,
+   "title_cell": "Table of Contents",
+   "title_sidebar": "Contents",
+   "toc_cell": false,
+   "toc_position": {},
+   "toc_section_display": true,
+   "toc_window_display": true
   }
  },
  "nbformat": 4,
diff --git "a/bmcs_course/4_1_ElastoPlastizit\303\244t.ipynb" b/bmcs_course/5_1_Damage.ipynb
similarity index 99%
rename from "bmcs_course/4_1_ElastoPlastizit\303\244t.ipynb"
rename to bmcs_course/5_1_Damage.ipynb
index 8832b91..4d1dea5 100644
--- "a/bmcs_course/4_1_ElastoPlastizit\303\244t.ipynb"
+++ b/bmcs_course/5_1_Damage.ipynb
@@ -513,6 +513,19 @@
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
    "version": "3.7.6"
+  },
+  "toc": {
+   "base_numbering": 1,
+   "nav_menu": {},
+   "number_sections": true,
+   "sideBar": true,
+   "skip_h1_title": false,
+   "title_cell": "Table of Contents",
+   "title_sidebar": "Contents",
+   "toc_cell": false,
+   "toc_position": {},
+   "toc_section_display": true,
+   "toc_window_display": true
   }
  },
  "nbformat": 4,
diff --git a/bmcs_course/4_2_Bond_behavior_governed_by-damage.ipynb b/bmcs_course/5_2_Bond_behavior_governed_by-damage.ipynb
similarity index 99%
rename from bmcs_course/4_2_Bond_behavior_governed_by-damage.ipynb
rename to bmcs_course/5_2_Bond_behavior_governed_by-damage.ipynb
index 8832b91..4d1dea5 100644
--- a/bmcs_course/4_2_Bond_behavior_governed_by-damage.ipynb
+++ b/bmcs_course/5_2_Bond_behavior_governed_by-damage.ipynb
@@ -513,6 +513,19 @@
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
    "version": "3.7.6"
+  },
+  "toc": {
+   "base_numbering": 1,
+   "nav_menu": {},
+   "number_sections": true,
+   "sideBar": true,
+   "skip_h1_title": false,
+   "title_cell": "Table of Contents",
+   "title_sidebar": "Contents",
+   "toc_cell": false,
+   "toc_position": {},
+   "toc_section_display": true,
+   "toc_window_display": true
   }
  },
  "nbformat": 4,
-- 
GitLab