{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "More on Stress Intensity Factors\n",
    "---\n",
    "Another wau to find the stresses is by using complex functions to develop expressions for stress and displacement in the vicinity of an opening crack. \n",
    "\n",
    "For a general Westergaard stress function, $\\psi$, we derive the stresses\n",
    "\n",
    "$$\n",
    "\\sigma_x = \\text{Re}\\psi -y\\text{Im}\\psi',\\quad\\quad \\sigma_y = \\text{Re}\\psi + y\\text{Im}\\psi',\\quad\\quad \\tau_{xy}=-y\\text{Re}\\psi'.\n",
    "$$\n",
    "\n",
    " we can show that forms for $\\psi$, $\\psi'$ and $\\bar{\\psi}$ consistent with the boundary conditions are\n",
    "\n",
    "$$\n",
    "\\psi = \\frac{\\sigma_\\infty}{\\sqrt{1-a^2/z^2}}, \\quad \\quad \\psi'=-\\frac{\\sigma_\\infty a^2}{z^3(1-a^2/z^2)^{3/2}}, \\quad \\quad \\bar{\\psi}=\\sigma_\\infty z\\sqrt{1-a^2/z^2}\n",
    "$$\n",
    "\n",
    "***These functions are implemented in cell below.***"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#%matplotlib inline\n",
    "import numpy as np\n",
    "\n",
    "# complex functions\n",
    "def ipsi(z,a,s_inf): \n",
    "    return s_inf*np.sqrt(z**2-a**2)\n",
    "def psi(z,a,s_inf): \n",
    "    return s_inf/np.sqrt(1-a**2/z**2)\n",
    "def dpsi(z,a,s_inf): \n",
    "    return -s_inf*a**2/((1-a**2/z**2)**1.5)/z**3\n",
    "\n",
    "# stresses\n",
    "def sx(z,a,s_inf):\n",
    "    return np.real(psi(z,a,s_inf))-np.imag(z)*np.imag(dpsi(z,a,s_inf))\n",
    "def sy(z,a,s_inf):\n",
    "    return np.real(psi(z,a,s_inf))+np.imag(z)*np.imag(dpsi(z,a,s_inf))\n",
    "def sxy(z,a,s_inf):\n",
    "    return -np.imag(z)*np.real(dpsi(z,a,s_inf))\n",
    "\n",
    "def u(z,par): return 2*np.real(ipsi(z,par))-np.imag(z)/(1-nu)*np.imag(psi(z,par))\n",
    "def v(z,par): return 2*np.imag(ipsi(z,par))-np.imag(z)/(1-nu)*np.real(psi(z,par))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Stress state around the crack**\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x288 with 6 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import pyplot as plt\n",
    "import matplotlib.cm as cm\n",
    "f,axs = plt.subplots(1,3)\n",
    "f.set_size_inches(15,4)\n",
    "\n",
    "# define parameter and plotting grid\n",
    "a = 1                # crack length\n",
    "s_inf = 1            # far field stress\n",
    "x = np.linspace(-5*a,5*a,1000)    # plot grid\n",
    "X,Y = np.meshgrid(x,x)\n",
    "Z = X+Y*1j \n",
    "cmw = cm.get_cmap('seismic')   \n",
    "lvls = np.linspace(-3*s_inf, 3*s_inf, 11)\n",
    "\n",
    "for ax,s in zip(axs,[sx,sy,sxy]):\n",
    "    CS = ax.contourf(X,Y,s(Z,a,s_inf),levels=lvls,cmap=cmw)\n",
    "    plt.colorbar(CS,ax=ax)\n",
    "    ax.set_xlim([0,2*a])\n",
    "    ax.set_ylim([-a,a])\n",
    "    ax.plot([-a,a],[0,0],'k-', lw=2)    # plot the fracture as a thick line\n",
    "    ax.set_xlabel('x')\n",
    "    ax.set_ylabel('y')\n",
    "    ax.set_title(s.__name__)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***Stresses near the crack tip***\n",
    "\n",
    "By transforming to a polar coordinate system centred at the crack tip, we approximate the crack-tip stresses in the limit $|r|<<a$\n",
    "\n",
    "\\begin{equation}\n",
    "\\sigma_{ij} = \\frac{K_I}{\\sqrt{2\\pi r}}f_{ij}(\\theta), \\quad\\quad f_{ij} = \\begin{cases} \n",
    "      \\cos\\frac{\\theta}{2}\\left(1-\\sin\\frac{\\theta}{2}\\sin\\frac{3\\theta}{2}\\right) & ij=xx \\\\\n",
    "      \\cos\\frac{\\theta}{2}\\left(1+\\sin\\frac{\\theta}{2}\\sin\\frac{3\\theta}{2}\\right) & ij=yy \\\\\n",
    "      \\cos\\frac{\\theta}{2}\\sin\\frac{\\theta}{2}\\cos\\frac{3\\theta}{2} & ij=xy \n",
    "\\end{cases}, \\quad\\quad K_I = \\sigma_\\infty \\sqrt{\\pi a}\n",
    "\\end{equation}\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a4fc96a7470b4abdb8869d77c6fed427",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=0, description='theta', max=180, step=10), Output()), _dom_classes=('wid…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<function __main__.plot_stress(theta=0)>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from ipywidgets import interact\n",
    "\n",
    "def fxx(theta): return np.cos(theta/2.)*(1-np.sin(theta/2.)*np.sin(3*theta/2.))\n",
    "def fyy(theta): return np.cos(theta/2.)*(1+np.sin(theta/2.)*np.sin(3*theta/2.))\n",
    "def fxy(theta): return np.cos(theta/2.)*np.sin(theta/2.)*np.cos(3*theta/2.)\n",
    "\n",
    "# define parameters\n",
    "a = 1\n",
    "s_inf = 1\n",
    "KI = s_inf*np.sqrt(np.pi*a)\n",
    "    \n",
    "def plot_stress(theta=0):\n",
    "    f,axs = plt.subplots(1,3)\n",
    "    f.set_size_inches(15,4)\n",
    "    # polar coords \n",
    "    r = np.linspace(0.01*a,a,101)\n",
    "    theta = theta/180*np.pi      # convert to radians\n",
    "    for ax,fij,sij in zip(axs,[fxx,fyy,fxy],[sx,sy,sxy]):\n",
    "        # plot the approximation\n",
    "        s_approx = KI*fij(theta)/np.sqrt(2*np.pi*r)\n",
    "        ax.plot(r, s_approx,'b-',label='approx.')\n",
    "        # plot the true solution\n",
    "        z = a+r*np.cos(theta)+1j*r*np.sin(theta)\n",
    "        s_true = sij(z,a,s_inf)\n",
    "        ax.plot(r, s_true,'r--',label='full soln.')\n",
    "        # label plot\n",
    "        ax.set_xlabel('r')\n",
    "        ax.set_ylabel('s_'+fij.__name__[1:])\n",
    "        ax.set_ylim([0,5])\n",
    "    ax.set_ylim([-2.5,2.5])\n",
    "    ax.legend()\n",
    "    plt.show()\n",
    "    \n",
    "interact(plot_stress, theta = (0,180,10))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***Crack displacements***\n",
    "\n",
    "We obtain the crack-normal displacement, $v$, through integration of the $y$ strain. \n",
    "\n",
    "\\begin{equation}\n",
    "v = \\frac{1-\\nu^2}{E}\\left(2\\text{Im}\\bar{\\psi} - \\frac{1}{1-\\nu}y\\text{Re}\\psi\\right)\n",
    "\\end{equation}\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7888fa50e75c4c1a95bbc275475f6630",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(FloatSlider(value=0.0, description='logE', max=1.0, min=-1.0, step=0.2), Output()), _dom…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<function __main__.plot_displacement(logE)>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "from ipywidgets import widgets, interact\n",
    "# displacement\n",
    "def v(z,a,s_inf,nu,E): \n",
    "    return (1-nu**2)/E*(2*np.imag(ipsi(z,a,s_inf))-np.imag(z)/(1-nu)*np.real(psi(z,a,s_inf)))\n",
    "\n",
    "def plot_displacement(logE):\n",
    "    f,(ax1,ax2)=plt.subplots(1,2)\n",
    "    f.set_size_inches([20,8])\n",
    "\n",
    "    # plot contours of displacement\n",
    "    nu = 0.25\n",
    "    E = 10**logE\n",
    "    lvls = np.linspace(-2,2,11)\n",
    "    CS = ax1.contourf(X,Y,v(Z,a,s_inf,nu,E),levels=lvls,cmap=cmw,extend='both')\n",
    "    plt.colorbar(CS,ax=ax1)\n",
    "    ax1.set_xlim([0,2*a])\n",
    "    ax1.set_ylim([-a,a])\n",
    "    ax1.plot([-a,a],[0,0],'k-', lw=2)    # plot the fracture as a thick line\n",
    "    ax1.set_xlabel('x')\n",
    "    ax1.set_ylabel('y')\n",
    "    ax1.set_title('crack-normal displacment')\n",
    "\n",
    "    # plot crack opening\n",
    "    x = np.linspace(0.001*a,0.9999*a,1001)\n",
    "    z = x + 1j*0*x\n",
    "    ax2.plot(x, v(z,a,s_inf,nu,E),'b-')\n",
    "    ax2.set_xlabel('x')\n",
    "    ax2.set_ylabel('v')\n",
    "    ax2.set_ylim([0,6])\n",
    "    ax2.set_title('Youngs modulus = {:3.2f}GPa'.format(E), size=14)\n",
    "    plt.show()\n",
    "\n",
    "interact(plot_displacement, logE = (-1,1,0.2))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### K for structures\n",
    "\n",
    "From the above figure you have probably noticed that as we move away from the crack tip, the singular term alon becomes less and less sufficient to describe the mechanical fields resulting from the applied loading. \n",
    "\n",
    "In order to make the SIF concept usefull we need to be able to determine K arising from the geometry and remote loading. We will show in future lessons some examples as to how this can be done. \n",
    "\n",
    "```{note}\n",
    "An analytical closed form solution is more often than not imposible to derive\n",
    "```\n",
    "> Tada, H., Paris, P.C., and Irwin, G.R., **The Stress Analysis of Cracks Handbook** is a good source for finding K solutions for different geometries"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Superposition \n",
    "\n",
    "The stress intensity factors, arising form a **single mode** of fracture can be superimposed to obtain the overall SIF :\n",
    "\n",
    "$$\n",
    "K_I^{total} = \\sum_{n}K_I^{n}\n",
    "$$\n",
    "\n",
    "This is **not** the case for $K$ arising from different modes of fracture. \n",
    "\n",
    "$$\n",
    "K \\neq K_I + K_{II}+ K_{III}\n",
    "$$\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Weight functions"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### K or G?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$u_y (\\theta) =  \\frac{ (\\kappa+1) K_I (a+ \\Delta a)}{2 \\mu } \\sqrt{\\frac{\\Delta a-x}{2 \\pi}}$\n",
    "\n",
    "\n",
    "$\\sigma_{yy} = \\frac{K_I(a)}{\\sqrt{2 \\pi x}}$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For a through crack in an infinite plate under uniaxial tension (plane stress) $G$ is given as :\n",
    "\n",
    "$$\n",
    "G = \\frac{\\pi \\sigma ^2 a}{E`}\n",
    "$$\n",
    "\n",
    "and $K_I$ by:\n",
    "\n",
    "$$\n",
    "K_I = \\sigma \\sqrt{\\pi a}\n",
    "$$\n",
    "\n",
    "From here we can obtain the relation \n",
    "\n",
    "$$\n",
    "G = \\frac{K_I^2}{E`}\n",
    "$$\n",
    "\n",
    "\n",
    "Next, we need to show that this relation is valid for other geometries and loading scenarios. \n",
    "\n",
    "For that, we will use the concept of closure stress. \n",
    "\n",
    "Assume a crack of length $a+\\Delta a$ under tensile load.  We will apply a compressive stress to the crack from $x=0$ to $x=\\Delta a$ such that only the length $a$ of the crack will remain open. \n",
    "\n",
    "We can calculate the work required for closing the crack as :\n",
    "\n",
    "```{math}\n",
    ":label: K1G\n",
    "\\Delta U = \\int_{x=0}^{x=\\Delta a}\\sigma_{yy}(x)u_y(x)dx\n",
    "```\n",
    "\n",
    "And use the obtained work to estimate the energy release rate. \n",
    "\n",
    "$$\n",
    "G = \\lim_{\\Delta a \\to 0} \\frac{\\Delta U }{\\Delta a}\n",
    "$$\n",
    "\n",
    "To solve, we will need to find the displacement and stresses going into {eq}'K1G'. from the mode I solution we know that \n",
    "\n",
    "$$\n",
    "u_y (\\theta) =  \\frac{ (\\kappa+1) K_I (a+ \\Delta a)}{2 \\mu } \\sqrt{\\frac{\\Delta a-x}{2 \\pi}} \\\\\n",
    "\n",
    "\n",
    "\\sigma_{yy} = \\frac{K_I(a)}{\\sqrt{2 \\pi x}}\n",
    "$$\n",
    "\n",
    "\n",
    "Putting it all together we arrive at :\n",
    "\n",
    "$$\n",
    "G = \\frac{(\\kappa+1)K_I^2}{8 \\mu} = \\frac{K_I^2}{E`}\n",
    "$$\n",
    "\n",
    "\n",
    "Repeating the same analysis for mode II and mode III we obtain :\n",
    "\n",
    "```{admonition} G,K relationship\n",
    "$$\n",
    "G = \\frac{K_I^2}{E`} + \\frac{K_{II}^2}{E`} + \\frac{K_{III}^2}{2\\mu}\n",
    "$$\n",
    "```\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "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.9"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {
     "1ddab4710b6c45c59f69d0be6b188818": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "SliderStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "3eb332a6c0814d79a5cbda8d5fc8ccab": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "IntSliderModel",
      "state": {
       "description": "theta",
       "layout": "IPY_MODEL_51cfdd69e20a4cd795aeecb056aee754",
       "max": 180,
       "step": 10,
       "style": "IPY_MODEL_1ddab4710b6c45c59f69d0be6b188818"
      }
     },
     "4ba1a3f47375401dbca41023719aa453": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "51cfdd69e20a4cd795aeecb056aee754": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "584cd4eaf6c04234ac5dcb4b5df39f47": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "SliderStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "60f3570245fa4abb9929d8ac775c9ddb": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "layout": "IPY_MODEL_d99dc9ac68db4daca9a7eb90cd272445",
       "outputs": [
        {
         "data": {
          "image/png": "iVBORw0KGgoAAAANSUhEUgAAA24AAAEKCAYAAABqqwYCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAABEZElEQVR4nO3dd3xV9f3H8deXEEiAJIwEEkCZspcQEVEBxUEVV9Eq7km1WrWOH7W1VhzVVm2VUrVI0doqWhfuLYq4WCJDUJChQZCAzDAC5Pv745OQBBK5gdx7zr15Px+P87jj3HvOJ8F8PJ/zXc57j4iIiIiIiIRXraADEBERERERkZ+mwk1ERERERCTkVLiJiIiIiIiEnAo3ERERERGRkFPhJiIiIiIiEnIq3EREREREREKudjQP7pxbCmwEdgI7vPe50TyfiEgklJtEREQk3kS1cCt2lPd+dQzOIyJSFcpNIiIiEjfUVVJERERERCTknPc+egd3bgmwFvDAP733Yyv4zAhgBED9+vX7dOrUKeLjr52znIaFP+D69K6miEWkus2YMWO19z4r6DjKinZu2rC6kPRlcyjMbkWdFpnVFLWIVKcw5qaqyszM9K1btw46DBGpZpXlp2gXbs29998755oCbwO/9t5Pruzzubm5fvr06REf/8med3P27Jtg82ZITa2GiEWkujnnZoRtDFm0c9OUV9dzxNCGLLz8Pg566LpqiFhEqlsYc1NVVTU3iUh8qCw/RbWrpPf+++LHVcALQN/qPP63rQdyV/07qvOQIlIDRDs31c9OYxS38P2B/arzsCIiIlKDRa1wc87Vd86llTwHjgPmVuc51nQ4jNuLfq/WNhGJWCxyU0ajWtzKKJY271+dhxUREZEaLJqzSjYDXnDOlZznSe/9G9V5gob1CsnasoLt67NIzqhXnYcWkcQV9dyUng5ZrGJHXhGQXZ2HFhERkRoqaoWb934x0DNaxwfosPYzljGA9e+9Q8Zpg6N5KhFJELHITenp8B5Hk/RkR/j9c9E8lYiISOC2b99OXl4eW7duDTqUuJKSkkLLli1JTk6O6POxWMctaupkpgOwdeV6MgKORUSkRJ06sMml07hgQ9ChiIiIRF1eXh5paWm0bt2a4h4tshfee9asWUNeXh5t2rSJ6DtxvY5b3aZWrm1btT7gSEREyitIziB5s3KTiIgkvq1bt9KkSRMVbVXgnKNJkyZVaqWM68Itpam1uBWu0V1tEQmXbXXSqbtVhZuIiNQMKtqqrqq/s7gu3OrnWOG2c40ujkQkXLamZJC6TblJREREqkdcF27pjWvza0azpOOQoEMRESlnSsvh/PMArTMpIiIi1SOuC7eMDBjDr1mSVa1r54qI7LclrY/iyXqXBh2GiIiI7KMdO3YEHUI5cV24padDGxaTtHhh0KGIiJSTnbKOlvmfQ2Fh0KGIiIjUCKeeeip9+vSha9eujB07FoAGDRpw/fXX07t3bwYPHkx+fj4AgwYN4tprr6V///5069aNqVOnAnDrrbcyYsQIjjvuOM4//3yWLVvG4MGD6dGjB4MHD+bbb79l/fr1dOzYka+++gqA4cOH88gjj0T954vr5QBSU+EphtPwuUZwT7Wunysisl8OXz2Rh1ZeBHnfQNu2QYcjIiISE9deC7NmVe8xe/WC++/f++fGjx9P48aN2bJlC4cccgjDhg2joKCA3r17c99993HbbbcxatQoxowZA0BBQQEff/wxkydP5uKLL2bu3LkAzJgxgylTppCamspJJ53E+eefzwUXXMD48eO5+uqrmThxImPGjOHCCy/kmmuuYe3atVx22WXV+0NXIK5b3JyDgtqacltEwsdl2HIlfp3yk4iISCyMHj2anj170q9fP7777jsWLlxIrVq1OPPMMwE499xzmTJlyq7PDx8+HIABAwawYcMG1q1bB8DJJ59MamoqAJ988glnn302AOedd96u7x977LF0796dK6+8knHjxsXk54vrFjeALXUyqLM1L+gwRETKSWpshdvWH9aTGnAsIiIisRJJy1g0vP/++7zzzjt88skn1KtXj0GDBlW4RlrZKfh3n46/5HX9+vUrPU/JZ4qKipg/fz6pqan8+OOPtGzZsjp+jJ8U1y1uANvqplN3m9ZxE5FwSc605Uo2/6D8JCIiEm3r16+nUaNG1KtXjwULFvDpp58CVmA9++yzADz55JMcccQRu77z9NNPAzBlyhQyMjLIKO4tU1b//v156qmnAHjiiSd2ff9vf/sbnTt3ZsKECVx88cVs3749qj8fJECLW2G9DOptUFckEQmXOpmlLW4iIiISXUOGDOHhhx+mR48edOzYkX79+gHWejZv3jz69OlDRkbGrmINoFGjRvTv358NGzYwfvz4Co87evRoLr74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LYJPPrE8tnNnxceqW7fivJSZWZqXds9PjRrpZpSI1CxKeSIhl5xcOu4kEoWFdoGUn2+tdSWPq1eXf71qlS0evGZNxWNfSiQllV4klTzefDP07189P5+IxCfnoGFD2/ZW5IF1D1+3ruLcVJKfSh7nzrXHNWsq7lZeIi2t9CZTo0Zw+OFw223V9AOKiISMCjeRBFOnTumMlpEqLLTJDUoulNassdc//lj++dq1VvDtPgGLiMje1KpVWmRFqqjIehGsWVOaj3bPSSWvS94TEUlUKtxEhDp1SidDEREJi1q1Slv12rULOhoRkWBpcl8REREREZGQU+EmIiIiIiIScircREREREREQk6Fm4iIiIiISMipcBMREREJmHPuHufcAufcbOfcC865hkHHJCLhosJNREREJHhvA9289z2Ar4GbAo5HREJGhZuIiIhIwLz3b3nvS1bJ/BRoGWQ8IhI+KtxEREREwuVi4PWKdjjnRjjnpjvnpufn58c4LBEJkhbgFhEREYkB59w7QHYFu37vvX+x+DO/B3YAT1R0DO/9WGAsQG5uro9SqCISQircRERERGLAe3/MT+13zl0ADAUGe+9VlIlIOSrcRERERALmnBsCjAQGeu83Bx2PiISPxriJiIiIBG8MkAa87Zyb5Zx7OOiARCRc1OImIiIiEjDvffugYxCRcFOLm4iIiIiISMipcBMREREREQk5FW4iIiIiIiIhp8JNREREREQk5FS4iYiIiIiIhJwKNxERERERkZBT4SYiIiIiIhJyKtxERERERERCToWbiIiIiIhIyKlwExERERERCTkVbiIiIiIiIiGnwk1ERERERCTkVLiJiIiIiIiEXFQLN+fcEOfcV865Rc6530bzXCIikVJuEhERkXgTtcLNOZcE/AP4GdAFGO6c6xKt84mIREK5SUREROJRNFvc+gKLvPeLvfeFwFPAKVE8n4hIJJSbREREJO7UjuKxWwDflXmdBxy6+4eccyOAEcUvNznnvtrLcTOB1dUSYewo5thQzLFTlbhbRTOQfaDcVEoxx048xp3oMYctN1XZjBkzVjvnlu3lY/H47wjxGbdijo2aEHOF+SmahZur4D2/xxvejwXGRnxQ56Z773P3J7BYU8yxoZhjJ17jLqbcVEwxx048xq2Yw897n7W3z8Tr7yQe41bMsVGTY45mV8k84IAyr1sC30fxfCIikVBuEhERkbgTzcJtGnCQc66Nc64OcBbwUhTPJyISCeUmERERiTtR6yrpvd/hnLsKeBNIAsZ77+dVw6Ej7roUIoo5NhRz7MRr3MpN5Snm2InHuBVzYojX30k8xq2YY6PGxuy832Noh4iIiIiIiIRIVBfgFhERERERkf2nwk1ERERERCTkQlm4OeeGOOe+cs4tcs79toL9zjk3unj/bOdc7yDi3C2mvcV8TnGss51zHzvnegYR5+72FneZzx3inNvpnDs9lvFVEsteY3bODXLOzXLOzXPOfRDrGCuIZ2//fWQ45152zn1RHPNFQcS5W0zjnXOrnHNzK9kfur/DWFB+ig3lpthQbkocyk2xEY+5CZSfYiXq+cl7H6oNmyzgG6AtUAf4Auiy22dOAF7H1mPqB3wWBzH3BxoVP/9Z0DFHGneZz70HvAacHvaYgYbAl8CBxa+bxkHMvwP+XPw8C/gRqBNw3AOA3sDcSvaH6u8wRP+Wofq9xGN+Um4KVczKTXGwKTeFJ+YynwtFbqrC71r5qXrijmp+CmOLW19gkfd+sfe+EHgKOGW3z5wCPO7Np0BD51xOrAMtY68xe+8/9t6vLX75KbZ2VNAi+V0D/Bp4DlgVy+AqEUnMZwPPe++/BfDeBx13JDF7IM0554AGWPLZEdswdwvI+8nFcVQmbH+HsaD8FBvKTbGh3JQ4lJtiIx5zEyg/xUy081MYC7cWwHdlXucVv1fVz8RSVeO5BKu2g7bXuJ1zLYDTgIdjGNdPieR33QFo5Jx73zk3wzl3fsyiq1gkMY8BOmMLQc8BrvHeF8UmvH0Wtr/DWFB+ig3lpthQbkocyk2xEY+5CZSfwmS//g6jto7bfnAVvLf7mgWRfCaWIo7HOXcUlnyOiGpEkYkk7vuBkd77nXZDI3CRxFwb6AMMBlKBT5xzn3rvv452cJWIJObjgVnA0UA74G3n3Ife+w1Rjm1/hO3vMBaUn2JDuSk2lJsSh3JTbMRjbgLlpzDZr7/DMBZuecABZV63xCrpqn4mliKKxznXAxgH/Mx7vyZGsf2USOLOBZ4qTj6ZwAnOuR3e+4kxiXBPkf73sdp7XwAUOOcmAz2BoJJPJDFfBNztrQP0IufcEqATMDU2Ie6TsP0dxoLyU2woN8WGclPiUG6KjXjMTaD8FCb793dYlQFxsdiwYnIx0IbSwYhdd/vMiZQf2Dc1DmI+EFgE9A/6d1yVuHf7/GMEPwFAJL/rzsC7xZ+tB8wFuoU85oeAW4ufNwOWA5kh+G+kNZUPsA3V32GI/i1D9XuJx/yk3BSqmJWb4mBTbgpPzLt9PvDcVIXftfJT9cUetfwUuhY37/0O59xVwJvYjDLjvffznHOXF+9/GJul5wTsj3kzVnEHJsKYbwGaAA8W34XZ4b3PDSrm4rgiiTtUIonZez/fOfcGMBsoAsZ57yucljUsMQO3A4855+Zgf8wjvferg4oZwDk3ARgEZDrn8oA/AskQzr/DWFB+ClXMoaLcFDvKTXtSbgpVzKGj/BQ70c5Prrj6ExERERERkZAK46ySIiIiIiIiUoYKNxERERERkZBT4SYiIiIiIhJyKtxERERERERCToWbiIiIiIhIyKlwExERERERCTkVbhIYZ/TfoIiEjvKTiISRclPNpn94iSnnXGvn3Hzn3IPATOCAoGMSEQHlJxEJJ+UmKaEFuCWmnHOtgcVAf+/9pwGHIyKyi/KTiISRcpOUUIubBGGZEo+IhJTyk4iEkXKTqHCTQBQEHYCISCWUn0QkjJSbRIWbiIiIiIhI2KlwExERERERCTlNTiIiIiIiIhJyanETEREREREJORVuIiIiIiIiIafCTUREREREJORUuImIiIiIiIScCjcREREREZGQU+EmIiIiIiIScircREREREREQu7/AUIh3WSDOsIvAAAAAElFTkSuQmCC\n",
          "text/plain": "<Figure size 1080x288 with 3 Axes>"
         },
         "metadata": {
          "needs_background": "light"
         },
         "output_type": "display_data"
        }
       ]
      }
     },
     "7888fa50e75c4c1a95bbc275475f6630": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "VBoxModel",
      "state": {
       "_dom_classes": [
        "widget-interact"
       ],
       "children": [
        "IPY_MODEL_bc1834ed468b410aa3fc72f671515138",
        "IPY_MODEL_cd4efad489a149578222071490a2fd57"
       ],
       "layout": "IPY_MODEL_e8246e7102504935822cf7bbb5493b09"
      }
     },
     "9cbec28b47d148c48f79216b068c2fec": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "a4fc96a7470b4abdb8869d77c6fed427": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "VBoxModel",
      "state": {
       "_dom_classes": [
        "widget-interact"
       ],
       "children": [
        "IPY_MODEL_3eb332a6c0814d79a5cbda8d5fc8ccab",
        "IPY_MODEL_60f3570245fa4abb9929d8ac775c9ddb"
       ],
       "layout": "IPY_MODEL_9cbec28b47d148c48f79216b068c2fec"
      }
     },
     "bc1834ed468b410aa3fc72f671515138": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.5.0",
      "model_name": "FloatSliderModel",
      "state": {
       "description": "logE",
       "layout": "IPY_MODEL_4ba1a3f47375401dbca41023719aa453",
       "max": 1,
       "min": -1,
       "step": 0.2,
       "style": "IPY_MODEL_584cd4eaf6c04234ac5dcb4b5df39f47"
      }
     },
     "c149bbad3c2444e586c42e44871107f3": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "cd4efad489a149578222071490a2fd57": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "layout": "IPY_MODEL_c149bbad3c2444e586c42e44871107f3",
       "outputs": [
        {
         "data": {
          "image/png": "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\n",
          "text/plain": "<Figure size 1440x576 with 3 Axes>"
         },
         "metadata": {
          "needs_background": "light"
         },
         "output_type": "display_data"
        }
       ]
      }
     },
     "d99dc9ac68db4daca9a7eb90cd272445": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "e8246e7102504935822cf7bbb5493b09": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.2.0",
      "model_name": "LayoutModel",
      "state": {}
     }
    },
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
