Skip to content

Instantly share code, notes, and snippets.

@nicoguaro
Last active September 29, 2023 01:57
Show Gist options
  • Save nicoguaro/f5031acb5ae1efb6b0b96a511db0cf5f to your computer and use it in GitHub Desktop.
Save nicoguaro/f5031acb5ae1efb6b0b96a511db0cf5f to your computer and use it in GitHub Desktop.
Notebooks con implementaciones sencillas del método de elementos finitos para la ecuación de Poisson y de Helmholtz.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Elementos finitos en 1D"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Queremos resolver al ecuación de Poisson en 1D usando\n",
"el método de elementos finitos.\n",
"\n",
"$$-\\frac{d^2 u}{dx^2} = f(x)\\, ,$$\n",
"\n",
"con $u(0) = u(1) = 0$.\n",
"\n",
"Vamos a usar una solución aproximada de la forma\n",
"\n",
"$$u(x) = \\sum_{n=0}^{N} u_n \\phi_n(x)\\, ,$$\n",
"\n",
"Si usamos el método de Galerkin, la ecuación diferencial es equivalente\n",
"al siguiente problema\n",
"\n",
"$$\\int_{0}^{1} \\frac{d u}{d x} \\frac{d \\phi_n}{d x} dx\n",
"= \\int_{0}^{1} \\phi_n f(x) dx\\, \\quad \\forall \\phi_n\\, .$$\n",
"\n",
"Si remplazamos $u(x)$ en este sistema obtenemos\n",
"\n",
"$$\\sum_{j=0}^N \\left[\\int_{0}^{1} \\frac{d \\phi_i}{d x} \\frac{d \\phi_j}{d x} dx\\right] u_j\n",
"= \\int_{0}^{1} \\phi_j f(x) dx\\, \\quad \\forall \\phi_j\\, .$$\n",
"\n",
"Esto lleva al siguiente sistema de ecuaciones\n",
"\n",
"$$[K]\\{\\mathbf{u}\\} = \\{\\mathbf{b}\\}\\, .$$\n",
"\n",
"<div class=\"alert alert-info\">\n",
"\n",
"En este notebook vamos a calcular las matrices de forma simbólica.\n",
"Este es un cálculo muy ineficiente pero nos permite realizar de forma\n",
"automática los cálculos que discutimos en clase.\n",
"\n",
"</div>\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib widget"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from sympy import *"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"init_printing()\n",
"\n",
"# Configuracion graficos\n",
"gris = '#757575'\n",
"plt.rcParams[\"mathtext.fontset\"] = \"cm\"\n",
"plt.rcParams[\"text.color\"] = gris\n",
"plt.rcParams[\"font.size\"] = 12\n",
"plt.rcParams[\"xtick.color\"] = gris\n",
"plt.rcParams[\"ytick.color\"] = gris\n",
"plt.rcParams[\"axes.labelcolor\"] = gris\n",
"plt.rcParams[\"axes.edgecolor\"] = gris\n",
"plt.rcParams[\"axes.spines.right\"] = False\n",
"plt.rcParams[\"axes.spines.top\"] = False"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"x = symbols('x')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def plot_expr(expr, x, rango=(0, 1), ax=None, linestyle=\"solid\"):\n",
" \"\"\"Grafica expresiones de SymPy que dependen de una variable\"\"\"\n",
" expr_num = lambdify(x, expr, \"numpy\")\n",
" x0 = rango[0]\n",
" x1 = rango[1]\n",
" x_num = np.linspace(x0, x1, 301)\n",
" if ax is None:\n",
" plt.figure()\n",
" ax = plt.gca()\n",
" ax.plot(x_num, expr_num(x_num), linestyle=linestyle)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def hat_fun(x, xi, h):\n",
" \"\"\"Función sombrero centrada en xi y de semi-ancho h.\"\"\"\n",
" fun = Piecewise((0, x< xi - h),\n",
" ((x - xi)/h + 1, (xi - h <= x) & (x < xi)),\n",
" (1 - (x - xi)/h, (xi <= x) & (x < xi + h)),\n",
" (0, x>= xi + h))\n",
" return fun"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Podemos graficar la función sombrero centrada en 3 y de semi-ancho 1."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "25128be427104a8baf77631cead0fe99",
"version_major": 2,
"version_minor": 0
},
"image/png": "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AADAYRgBBAAAcBgCIAAAgMMQAAEAAByGmZVFJBaL6dChQzp58qQikYgaGxu1ZcsWrV+/3urSSsr58+f1zjvvqLu7W0NDQ/L7/Vq5cqXuvfderVy50uryStabb76pn//85/L5fPrbv/1bq8spOb/97W917NgxhUIhJRIJ1dbW6lOf+pTuvfdeq0srGRcuXNDRo0cVCoUUjUa1bNkyrV+/Xp/97Gfl8/msLs+WotGoXnrpJfX19amvr09jY2O69957dd9991333N7eXr344osKhUJyu91avXq1Pv/5z6uhocGCyu2PAFhE9uzZo97eXm3fvl3Lly9XV1eXnn/+eRmGoQ0bNlhdXsl44403FA6Hdc8996ipqUljY2M6fvy4/umf/kl/8id/otWrV1tdYskZHh7WgQMHVFNTw9nZefDuu+/qpz/9qdatW6edO3fK5/PpypUrGhkZsbq0knHx4kX98z//sxobG/XQQw+psrJSH374oV566SVduHBBX/3qV60u0ZbC4bDefPNNtba26tZbb9WJEyemfd6lS5f0b//2b1qxYoX++I//WMlkUocPH9a//Mu/6Fvf+paqqqoKXLn9EQCLxJkzZ3Tu3Dk99thjmbC3evVqDQ4O6sCBA7r99tvldtOxz4WHH374ut8sbr75Zv3gBz/QsWPHCIB58Itf/EI33nijAoGATp06ZXU5JWV4eFg///nPtXHjRj388MOZ6/w6zq13331XyWRSTzzxRGbEafXq1bp69arefPNNhcNhBQIBi6u0n7q6On3/+9+Xy+XS2NjYjAHw8OHD8nq9+trXvpY5FWTlypX64Q9/qOPHj+vBBx8sZNklgURRJE6fPi2fz6d169ZNuX7nnXdqZGREoVDIospKz3R/UywvL1dzc7OGhoYKX1CJe+edd/Thhx9OCSfInRMnTigej+tzn/uc1aWUNI/HI0nXHUnm9/vlcrnYq26RXC7XnGfxplIpnTlzRmvXrp3y/dfV1WnVqlX69a9/ne8ySxK/YotEf3+/mpubM7/JmFpbWzOPf+ITn7CgMmeIRCK6cOECoyY5Njo6qv3792v79u15PzfbqX77298qEAjo0qVL+s///E9dvHhRfr9fa9eu1ec//3nOUM2RT33qU3rttdf0i1/8Qg8++GCmBfy///u/+sxnPsMcwDy6cuWKEolE5s/DbC0tLTp37pwSiYTKysosqM6+CIBFIhwOq76+/rrrZkshHA4XuiRH+eUvf6l4PK6tW7daXUpJ2bdvnxobG/XpT3/a6lJK1vDwsOLxuJ577jlt2bJF7e3t6unp0ZEjR3Tx4kX92Z/92ZwjLJhbfX29vvnNb2rPnj36wQ9+kLl+991366GHHrKwstJn/vk3XYs9EAjIMAxFIhEC4AIRAIvIbL9J8xt4/hw6dEjvvvuuduzYwSrgHDp16pR+85vf6Fvf+ha/fvPIMAwlk0lt27ZNW7ZskSStWrVKXq9X+/fv1/nz59XR0WFxlfY3MDCgZ599VtXV1frKV76iyspKhUIhHTt2TPF4XF/60pesLtHR+D1m4QiARSIQCEw7ymde8/v9hS7JEY4cOaKXXnpJDzzwgO6++26ryykZsVhM+/bt0913362amhpFIhFJ43N5pPGWu8fjoW2WA+aoyE033TTl+s033yxpfOsSAuDS/epXv1IsFtNf/uVfZn7d/s7v/I4qKyu1d+9e3XHHHVq1apXFVZam2Tph4XBYLpeLqQ6LQAAsEi0tLerq6lIqlZoyD7C/vz/zOHLryJEjOnLkiLZt20brN8fGxsY0Ojqq48eP6/jx49c9/r3vfU+33nqrnnzySQuqKy2tra3TLhIzj3lnZCQ3+vr61NTUdN1fWtra2iSNbxNDAMyPhoYGlZWVZf48zNbf3595HAtDACwSa9eu1YkTJ3Tq1KkpGz93dnaqpqZGwWDQuuJK0NGjR3XkyBH9/u//vrZt22Z1OSWnurpa3/jGN667/vLLL+vDDz/UU089pcrKSgsqKz233Xab3nzzTZ09e1Y33HBD5vr7778vSfzekSM1NTXq7+9XLBZTeXl55np3d7ckqba21qrSSp7H49Ett9yiX//613rwwQczo32Dg4P64IMPtGnTJosrtCcCYJFYs2aNOjo6tG/fPsViMTU0NKirq0tnz57Vo48+yh6AOfQ///M/Onz4sG6++WatWbMm8xu4qb293aLKSkdZWdm0oyFvv/223G43IyU5dNNNN+mWW27R0aNHZRiGgsGgent7deTIEd1yyy268cYbrS6xJNxzzz3as2eP/v3f/12bNm2aMgewubk503LHwr3//vuKx+OKxWKSxjd9fu+99ySN/9no8/l033336R//8R/17LPPasuWLZmNoCsrK7V582Yry7ctl2H2CWC5WCymgwcP6r333lM4HFZTUxNHweXBv/7rv+rDDz+c8fEf/vCHBazGWf7rv/5Lp06d4ii4HEskEjpy5Ii6uro0MjKimpoabdiwQdu2bWN/uhw6f/68XnnlFX300UeKRqOqra3VJz/5SW3ZsoUR7SX4u7/7Ow0ODk772Le//e3MDhnmUXDd3d3yeDxatWqV/uAP/oCj4BaJAAgAAOAw9BUBAAAchgAIAADgMARAAAAAhyEAAgAAOAwBEAAAwGEIgAAAAA5DAAQAAHAYAiAAAIDDEAABAAAchgAIAADgMARAAAAAhyEAAgAAOAwBEAAAwGEIgAAAAA5DAAQAAHAYAiAAAIDDEAABAAAchgAIAADgMARAAAAAhyEAAgAAOAwBEAAAwGEIgAAAAA5DAAQAAHAYAiAAAIDDEAABAAAchgAIAADgMARAAAAAhyEAAgAAOAwBEAAAwGEIgAAAAA7z/wGOP6ex9cIGKQAAAABJRU5ErkJggg==",
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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AADAYRgBBAAAcBgCIAAAgMMQAAEAAByGmZVFJBaL6dChQzp58qQikYgaGxu1ZcsWrV+/3urSSsr58+f1zjvvqLu7W0NDQ/L7/Vq5cqXuvfderVy50uryStabb76pn//85/L5fPrbv/1bq8spOb/97W917NgxhUIhJRIJ1dbW6lOf+pTuvfdeq0srGRcuXNDRo0cVCoUUjUa1bNkyrV+/Xp/97Gfl8/msLs+WotGoXnrpJfX19amvr09jY2O69957dd9991333N7eXr344osKhUJyu91avXq1Pv/5z6uhocGCyu2PAFhE9uzZo97eXm3fvl3Lly9XV1eXnn/+eRmGoQ0bNlhdXsl44403FA6Hdc8996ipqUljY2M6fvy4/umf/kl/8id/otWrV1tdYskZHh7WgQMHVFNTw9nZefDuu+/qpz/9qdatW6edO3fK5/PpypUrGhkZsbq0knHx4kX98z//sxobG/XQQw+psrJSH374oV566SVduHBBX/3qV60u0ZbC4bDefPNNtba26tZbb9WJEyemfd6lS5f0b//2b1qxYoX++I//WMlkUocPH9a//Mu/6Fvf+paqqqoKXLn9EQCLxJkzZ3Tu3Dk99thjmbC3evVqDQ4O6sCBA7r99tvldtOxz4WHH374ut8sbr75Zv3gBz/QsWPHCIB58Itf/EI33nijAoGATp06ZXU5JWV4eFg///nPtXHjRj388MOZ6/w6zq13331XyWRSTzzxRGbEafXq1bp69arefPNNhcNhBQIBi6u0n7q6On3/+9+Xy+XS2NjYjAHw8OHD8nq9+trXvpY5FWTlypX64Q9/qOPHj+vBBx8sZNklgURRJE6fPi2fz6d169ZNuX7nnXdqZGREoVDIospKz3R/UywvL1dzc7OGhoYKX1CJe+edd/Thhx9OCSfInRMnTigej+tzn/uc1aWUNI/HI0nXHUnm9/vlcrnYq26RXC7XnGfxplIpnTlzRmvXrp3y/dfV1WnVqlX69a9/ne8ySxK/YotEf3+/mpubM7/JmFpbWzOPf+ITn7CgMmeIRCK6cOECoyY5Njo6qv3792v79u15PzfbqX77298qEAjo0qVL+s///E9dvHhRfr9fa9eu1ec//3nOUM2RT33qU3rttdf0i1/8Qg8++GCmBfy///u/+sxnPsMcwDy6cuWKEolE5s/DbC0tLTp37pwSiYTKysosqM6+CIBFIhwOq76+/rrrZkshHA4XuiRH+eUvf6l4PK6tW7daXUpJ2bdvnxobG/XpT3/a6lJK1vDwsOLxuJ577jlt2bJF7e3t6unp0ZEjR3Tx4kX92Z/92ZwjLJhbfX29vvnNb2rPnj36wQ9+kLl+991366GHHrKwstJn/vk3XYs9EAjIMAxFIhEC4AIRAIvIbL9J8xt4/hw6dEjvvvuuduzYwSrgHDp16pR+85vf6Fvf+ha/fvPIMAwlk0lt27ZNW7ZskSStWrVKXq9X+/fv1/nz59XR0WFxlfY3MDCgZ599VtXV1frKV76iyspKhUIhHTt2TPF4XF/60pesLtHR+D1m4QiARSIQCEw7ymde8/v9hS7JEY4cOaKXXnpJDzzwgO6++26ryykZsVhM+/bt0913362amhpFIhFJ43N5pPGWu8fjoW2WA+aoyE033TTl+s033yxpfOsSAuDS/epXv1IsFtNf/uVfZn7d/s7v/I4qKyu1d+9e3XHHHVq1apXFVZam2Tph4XBYLpeLqQ6LQAAsEi0tLerq6lIqlZoyD7C/vz/zOHLryJEjOnLkiLZt20brN8fGxsY0Ojqq48eP6/jx49c9/r3vfU+33nqrnnzySQuqKy2tra3TLhIzj3lnZCQ3+vr61NTUdN1fWtra2iSNbxNDAMyPhoYGlZWVZf48zNbf3595HAtDACwSa9eu1YkTJ3Tq1KkpGz93dnaqpqZGwWDQuuJK0NGjR3XkyBH9/u//vrZt22Z1OSWnurpa3/jGN667/vLLL+vDDz/UU089pcrKSgsqKz233Xab3nzzTZ09e1Y33HBD5vr7778vSfzekSM1NTXq7+9XLBZTeXl55np3d7ckqba21qrSSp7H49Ett9yiX//613rwwQczo32Dg4P64IMPtGnTJosrtCcCYJFYs2aNOjo6tG/fPsViMTU0NKirq0tnz57Vo48+yh6AOfQ///M/Onz4sG6++WatWbMm8xu4qb293aLKSkdZWdm0oyFvv/223G43IyU5dNNNN+mWW27R0aNHZRiGgsGgent7deTIEd1yyy268cYbrS6xJNxzzz3as2eP/v3f/12bNm2aMgewubk503LHwr3//vuKx+OKxWKSxjd9fu+99ySN/9no8/l033336R//8R/17LPPasuWLZmNoCsrK7V582Yry7ctl2H2CWC5WCymgwcP6r333lM4HFZTUxNHweXBv/7rv+rDDz+c8fEf/vCHBazGWf7rv/5Lp06d4ii4HEskEjpy5Ii6uro0MjKimpoabdiwQdu2bWN/uhw6f/68XnnlFX300UeKRqOqra3VJz/5SW3ZsoUR7SX4u7/7Ow0ODk772Le//e3MDhnmUXDd3d3yeDxatWqV/uAP/oCj4BaJAAgAAOAw9BUBAAAchgAIAADgMARAAAAAhyEAAgAAOAwBEAAAwGEIgAAAAA5DAAQAAHAYAiAAAIDDEAABAAAchgAIAADgMARAAAAAhyEAAgAAOAwBEAAAwGEIgAAAAA5DAAQAAHAYAiAAAIDDEAABAAAchgAIAADgMARAAAAAhyEAAgAAOAwBEAAAwGEIgAAAAA5DAAQAAHAYAiAAAIDDEAABAAAchgAIAADgMARAAAAAhyEAAgAAOAwBEAAAwGEIgAAAAA7z/wGOP6ex9cIGKQAAAABJRU5ErkJggg==' width=640.0/>\n",
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"ax = plt.gca()\n",
"plot_expr(hat_fun(x, 3, 1), x, (0, 10), ax=ax);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ahora, vamos a partir el intervalo $(0, 1)$ en 20 sub-intervalos."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\left[ 0, \\ \\frac{1}{20}, \\ \\frac{1}{10}, \\ \\frac{3}{20}, \\ \\frac{1}{5}, \\ \\frac{1}{4}, \\ \\frac{3}{10}, \\ \\frac{7}{20}, \\ \\frac{2}{5}, \\ \\frac{9}{20}, \\ \\frac{1}{2}, \\ \\frac{11}{20}, \\ \\frac{3}{5}, \\ \\frac{13}{20}, \\ \\frac{7}{10}, \\ \\frac{3}{4}, \\ \\frac{4}{5}, \\ \\frac{17}{20}, \\ \\frac{9}{10}, \\ \\frac{19}{20}, \\ 1\\right]$"
],
"text/plain": [
"⎡ 11 13 \n",
"⎢0, 1/20, 1/10, 3/20, 1/5, 1/4, 3/10, 7/20, 2/5, 9/20, 1/2, ──, 3/5, ──, 7/10,\n",
"⎣ 20 20 \n",
"\n",
" 17 19 ⎤\n",
" 3/4, 4/5, ──, 9/10, ──, 1⎥\n",
" 20 20 ⎦"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a = 0\n",
"b = 1\n",
"n = 20\n",
"dx = S(b - a)/n\n",
"coords = [a + dx*cont for cont in range(n + 1)]\n",
"coords"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Queremos tener una función sombrero asociada cada punto."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"basis = [hat_fun(x, coord, dx) for coord in coords[1:-1]]\n",
"H = Matrix(basis)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"basis_diff = [fun.diff(x) for fun in basis]\n",
"D = Matrix(basis_diff)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Probemos la implementación con la función $f(x) = 20 x^3$, que lleva a\n",
"la solución\n",
"\n",
"$$u(x) = - x (x^4 - 1)$$"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"f = 20*x**3\n",
"b = (f * H).integrate((x, 0, 1))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"K = D * D.T\n",
"for row in range(n - 1):\n",
" for col in range(row, n - 1):\n",
" if col > row + 1:\n",
" K[row, col] = K[col, row] = 0\n",
" else:\n",
" K[row, col] = K[col, row] = integrate(K[row, col], (x, 0, 1))"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"u = linsolve((K, b))"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"u_sol = Matrix(list(u)[0]).dot(basis)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "5d0a42eec1354acdb1fc859bf0c49592",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABYUElEQVR4nO3deXhU5eH28e+ZmayEhOwJO4SwLwHZFERBEWmrqEUFVGQRta3a/bV2wWpbu9van3VHERUXVIQWBQREQBRCJBAghB0SQlhDEpJMlpnz/hGgRtmzPJmZ+3NduTRncpJ7jnHmzjnPcx7Ltm0bEREREQkYDtMBRERERKRxqQCKiIiIBBgVQBEREZEAowIoIiIiEmBUAEVEREQCjAqgiIiISIBRARQREREJMCqAIiIiIgFGBVBEREQkwKgAioiIiAQYFUARERGRAKMCKCIiIhJgVABFREREAowKoIiIiEiAUQEUERERCTAqgCIiIiIBRgVQREREJMCoAIqIiIgEGBVAERERkQCjAigiIiISYFQARURERAKMCqCIiIhIgFEBFBEREQkwKoAiIiIiAUYFUERERCTAqACKiIiIBBgVQBEREZEAowIoIiIiEmBUAEVEREQCjAqgiIiISIBRARQREREJMCqAIiIiIgFGBVBEREQkwKgAioiIiAQYFUARERGRAKMCKCIiIhJgVABFREREAowKoIiIiEiAUQEUERERCTAqgCIiIiIBRgVQREREJMCoAIqIiIgEGBVAERERkQCjAigiIiISYFQARURERAKMCqCIiIhIgFEBFBEREQkwKoAiIiIiAUYFUERERCTAqACKiIiIBBgVQBEREZEAowIoIiIiEmBUAEVEREQCjAqgiIiISIBRARQREREJMCqAIiIiIgFGBbAObNvG7XZj27bpKCIiIiIXTAWwDioqKpg+fToVFRWmo4iIiIhcMBVAERERkQCjAigiIiISYFQARURERAKMCqCIiIhIgFEBFBEREQkwKoAiIiIiAUYFUERERCTAqACKiIiIBBgVQBEREZEAowIoIiIiEmBUAEVEREQCjAqgiIiISIBRARQREREJMCqAIiIiIgHGZTqAiIg0fdUeLwXFbvIKy8k/Xs6x0kqKyqs4XlZFlcdLlcfGa9sEOx2EBjkIDXYS2yyYhOahJDQPoW1sOC2jwnA4LNNPRURQARQRka9x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",
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABYUElEQVR4nO3deXhU5eH28e+ZmayEhOwJO4SwLwHZFERBEWmrqEUFVGQRta3a/bV2wWpbu9van3VHERUXVIQWBQREQBRCJBAghB0SQlhDEpJMlpnz/hGgRtmzPJmZ+3NduTRncpJ7jnHmzjnPcx7Ltm0bEREREQkYDtMBRERERKRxqQCKiIiIBBgVQBEREZEAowIoIiIiEmBUAEVEREQCjAqgiIiISIBRARQREREJMCqAIiIiIgFGBVBEREQkwKgAioiIiAQYFUARERGRAKMCKCIiIhJgVABFREREAowKoIiIiEiAUQEUERERCTAqgCIiIiIBRgVQREREJMCoAIqIiIgEGBVAERERkQCjAigiIiISYFQARURERAKMCqCIiIhIgFEBFBEREQkwKoAiIiIiAUYFUERERCTAqACKiIiIBBgVQBEREZEAowIoIiIiEmBUAEVEREQCjAqgiIiISIBRARQREREJMCqAIiIiIgFGBVBEREQkwKgAioiIiAQYFUARERGRAKMCKCIiIhJgVABFREREAowKoIiIiEiAUQEUERERCTAqgCIiIiIBRgVQREREJMCoAIqIiIgEGBVAERERkQCjAigiIiISYFQARURERAKMCqCIiIhIgFEBFBEREQkwKoAiIiIiAUYFUERERCTAqACKiIiIBBgVQBEREZEAowIoIiIiEmBUAEVEREQCjAqgiIiISIBRARQREREJMCqAIiIiIgFGBbAObNvG7XZj27bpKCIiIiIXTAWwDioqKpg+fToVFRWmo4iIiIhcMBVAERERkQCjAigiIiISYFQARURERAKMCqCIiIhIgFEBFBEREQkwKoAiIiIiAUYFUERERCTAqACKiIiIBBgVQBEREZEAowIoIiIiEmBUAEVEREQCjAqgiIiISIBRARQREREJMCqAIiIiIgHGZTqAiIg0fdUeLwXFbvIKy8k/Xs6x0kqKyqs4XlZFlcdLlcfGa9sEOx2EBjkIDXYS2yyYhOahJDQPoW1sOC2jwnA4LNNPRURQARQRka9x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' width=640.0/>\n",
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"ax = plt.gca()\n",
"plot_expr(-x*(x**4 - 1), x, (0, 1), ax=ax)\n",
"plot_expr(u_sol, x, (0, 1), ax=ax);"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.11.5"
},
"varInspector": {
"cols": {
"lenName": 16,
"lenType": 16,
"lenVar": 40
},
"kernels_config": {
"python": {
"delete_cmd_postfix": "",
"delete_cmd_prefix": "del ",
"library": "var_list.py",
"varRefreshCmd": "print(var_dic_list())"
},
"r": {
"delete_cmd_postfix": ") ",
"delete_cmd_prefix": "rm(",
"library": "var_list.r",
"varRefreshCmd": "cat(var_dic_list()) "
}
},
"types_to_exclude": [
"module",
"function",
"builtin_function_or_method",
"instance",
"_Feature"
],
"window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment