{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "fee5d2e7", "metadata": {}, "source": [ "# Solutions Approchée et Exacte d'un problème de Riemann pour le système de Saint-Venant" ] }, { "cell_type": "code", "execution_count": 1, "id": "8ed41bca", "metadata": { "lines_to_next_cell": 2 }, "outputs": [], "source": [ "%reset -f\n", "%matplotlib inline\n", "\n", "import numpy as np\n", "from numpy.linalg import norm\n", "\n", "import matplotlib.pyplot as plt\n", "plt.rcParams[\"figure.figsize\"] = (10,5)\n", "plt.rcParams.update({'font.size': 12})\n", "\n", "import os" ] }, { "cell_type": "code", "execution_count": 2, "id": "4501369f", "metadata": {}, "outputs": [], "source": [ "# ========================================================\n", "# EDP\n", "# ========================================================\n", "q = lambda u : u**2/2 # flux de l'équation, ici Burgers\n", "dq = lambda u : u # q' \n", "inv_dq = lambda y : y # (q')^(-1) car (x-x_0)/t = q'(sol) donc sol= (q')^(-1)((x-x_0)/t)" ] }, { "cell_type": "code", "execution_count": 3, "id": "3d0502f7", "metadata": {}, "outputs": [], "source": [ "# ===================================================================================\n", "# Données Problèmes de Riemann\n", "# ===================================================================================\n", "# 'nom_test' : [ u_L, u_R, x_0, t_final ]\n", "IC = { 'choc_2_1': (2,1,0,1), \n", " 'détente_1_2': (1,2,0,1), \n", " 'choc_2_m1': (2,-1,0,1), \n", " 'détente_m1_2': (-1,2,0,1) }\n", "\n", "KEYS = list(IC.keys())\n", "\n", "Liste_schemas = ['Godunov','Lax_Friedrichs','Lax_Wendroff','Upwind_Conservatif_1','Upwind_Conservatif_2']\n", "\n", "# ===================================================================================\n", "# Creation d'un dossier par cas test et suppression des fichiers existants\n", "# ===================================================================================\n", "for key in KEYS:\n", " for schema in Liste_schemas:\n", " try :\n", " name_dir = f\"test_{key}_{schema}\"\n", " os.makedirs(name_dir, exist_ok=True)\n", " for file in os.scandir(name_dir):\n", " os.remove(file)\n", " except OSError as error:\n", " print(\"Directory '%s' can not be created\")\n" ] }, { "attachments": {}, "cell_type": "markdown", "id": "bf177565", "metadata": {}, "source": [ "## Solution exacte" ] }, { "cell_type": "code", "execution_count": 4, "id": "6d01af2c", "metadata": {}, "outputs": [], "source": [ "def sol_exacte_riemann(xx,t,u_L,u_R,x_0):\n", " sigma = (q(u_R)-q(u_L))/(u_R-u_L) # vitesse d'un choc\n", " det = lambda t,x : u_L if (x-x_0)<=dq(u_L)*t else ( u_R if (x-x_0)>=dq(u_R)*t else inv_dq((x-x_0)/t) )\n", " if u_L >= u_R : # choc \n", " return np.array([u_L if (x-x_0)<=sigma*t else u_R for x in xx])\n", " else : # detente\n", " return np.array([det(t,x) for x in xx])" ] }, { "cell_type": "code", "execution_count": 5, "id": "2b8937d8", "metadata": {}, "outputs": [], "source": [ "def affichage_onde(key,xx=None,t_ref=None,colorbar=True):\n", " u_L,u_R,x_0,t_final = IC[key]\n", " \n", " fig,ax = plt.subplots(nrows=1,ncols=1)\n", " plt.suptitle(f\"Test : {key}\"); \n", " ax.set_xlabel('$x$')\n", " ax.set_ylabel('$t$')\n", "\n", " dt = 0.01\n", " tt = np.arange(0,t_final,dt)\n", " if xx is None:\n", " xx = np.linspace(-2,2,501)\n", " X , T = np.meshgrid(xx, tt)\n", " U = []\n", " for t in tt:\n", " uu_ex = sol_exacte_riemann(xx,t,u_L,u_R,x_0)\n", " U.append(uu_ex)\n", " \n", " U = np.array(U)\n", " U.reshape(len(tt),len(xx))\n", " \n", " cp = ax.contourf(X, T, U)\n", " if t_ref is not None:\n", " ax.plot(xx, t_ref*np.ones(len(xx)), color='C3', linestyle='--' , marker='.', linewidth=1 )\n", " if colorbar:\n", " plt.colorbar(cp,ax=ax) # Add a colorbar to a plot\n", " return fig,ax" ] }, { "cell_type": "code", "execution_count": 6, "id": "79ab8999", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for key in KEYS:\n", " affichage_onde(key); # affichage de la solution" ] }, { "attachments": {}, "cell_type": "markdown", "id": "ff4114c8", "metadata": {}, "source": [ "## Solutions approchées" ] }, { "cell_type": "code", "execution_count": 7, "id": "e5760356", "metadata": {}, "outputs": [], "source": [ "# bornes du domaine [x_L,x_R] et point de discontinuité x_0\n", "x_L, x_0, x_R = -2, 0, 2\n", "\n", "cfl = 0.9 # cfl\n", "\n", "Nx = 200 # nb de mailles\n", "xx = np.linspace(x_L,x_R,Nx) # discrétisation\n", "dx = xx[1]-xx[0]" ] }, { "cell_type": "code", "execution_count": 8, "id": "96970040", "metadata": {}, "outputs": [], "source": [ "# ========================================================\n", "# Shift des vecteurs avec conditions de Neumann\n", "# ========================================================\n", "v_plus = lambda vv : np.concatenate( (vv[1:], vv[-1:]) ) \n", "v_moins = lambda vv : np.concatenate( (vv[:1], vv[:-1]) )\n", "\n", "\n", "# ========================================================\n", "# SCHEMAS : définition des flux numériques\n", "# ========================================================\n", "\n", "\n", "Lax_Friedrichs = lambda wL,wR,dx,dt : ( q(wL)+q(wR) - (wR-wL)*dx/dt )/2\n", "\n", "Lax_Wendroff = lambda wL,wR,dx,dt : ( q(wL)+q(wR) - dt/dx * dq((wL+wR)/2) *(q(wR)-q(wL)) )/2\n", "\n", "Upwind_Conservatif_1 = lambda wL,wR,dx,dt : q(wL)*(dq((wL+wR)/2)>=0) + q(wR)*(dq((wL+wR)/2)<0)\n", "\n", "Upwind_Conservatif_2 = lambda wL,wR,dx,dt : q(wL)*((q(wR)-q(wL))*(wR-wL)>=0) + q(wR)*((q(wR)-q(wL))*(wR-wL)<0)\n", "\n", "def Godunov (wL,wR,dx,dt) : \n", " flux = np.ones_like(wL)\n", " mask_L_1 = (wL>=0) & (wR>=0)\n", " flux[mask_L_1]=q(wL[mask_L_1])\n", " mask_L_2 = (wL>=0) & (0>=wR) & (wR+wL>0)\n", " flux[mask_L_2]=q(wL[mask_L_2])\n", " mask_R_1 = (wL<=0) & (wR<=0)\n", " flux[mask_R_1]=q(wR[mask_R_1])\n", " mask_R_2 = (wL>=0) & (0>=wR) & (wR+wL<0)\n", " flux[mask_R_2]=q(wR[mask_R_2])\n", " mask_0 = (wL<0) & (0 t^{n+1}\n", "# ========================================================\n", "def sol_approx(uu,dx,dt,schema):\n", " uuc = np.copy(uu) # u_i\n", " uup = v_plus(uu) # u_{i+1} \n", " fluxp = eval(schema)(uuc,uup,dx,dt) # F_{i+1/2}\n", " fluxm = v_moins(fluxp) # F_{i-1/2}\n", " uu_new = uuc - (dt/dx) * ( fluxp - fluxm ) # u_i^{n+1} = u_i^n-dt/dx*(F_{i+1/2}^n-F_{i-1/2}^n)\n", " return uu_new\n", "\n", "\n", "\n", "# ========================================================\n", "# MARCHE EN TEMPS\n", "# ========================================================\n", "\n", "def calculer(key,schema):\n", "\n", " # cas test\n", " u_L,u_R,x_0,t_final = IC[key]\n", " \n", " # Initialisation\n", " t = 0\n", " uu = np.ones_like(xx)*u_L\n", " mask_R = xx>=x_0\n", " uu[mask_R] = u_R\n", " itera = 0\n", " np.save( f\"./test_{key}_{schema}/s_{itera:03d}\" , np.array([t,xx,uu],dtype=object))\n", "\n", " # marche en temps\n", " while t<=t_final:\n", " c = np.max( dq(uu) )\n", " dt = cfl*dx/c # condition CFL\n", " t += dt\n", " uu = sol_approx(uu,dx,dt,schema) \n", " if itera%1==0:\n", " itera += 1\n", " np.save( f\"./test_{key}_{schema}/s_{itera:03d}\" , np.array([t,xx,uu],dtype=object))\n" ] }, { "cell_type": "code", "execution_count": 9, "id": "5982213e", "metadata": {}, "outputs": [], "source": [ "def affichage(key,schema,t,xx,uu,uu_ex,my_fig=None):\n", " if my_fig is None:\n", " fig,axx = plt.subplots(nrows=1,ncols=1)\n", " else:\n", " fig,axx = my_fig\n", " axx.plot(xx, uu, color='C0', linestyle='-' , marker='o', linewidth=2 )\n", " axx.plot(xx, uu_ex, color='C3', linestyle='--' , marker='.', linewidth=1 )\n", " error_h = norm(uu-uu_ex)/norm(uu_ex)\n", " axx.set_title(f\"$u \\in [{min(uu):g},{max(uu):g}]$, error = {error_h:g}\")\n", " axx.grid()\n", " axx.set_xlabel(\"x\")\n", " axx.set_ylabel(\"u\")\n", " axx.legend([\"numérique\",\"exacte\"])\n", " plt.suptitle(f\"Test : {key}, Schéma : {schema}, t : {t:g}\"); \n", " return fig,axx\n" ] }, { "cell_type": "markdown", "id": "10178531", "metadata": {}, "source": [ "## Choisir le cas test et afficher un instant" ] }, { "cell_type": "code", "execution_count": 10, "id": "026e9f02", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Nombre de fichiers sauvegardés : 112\n" ] }, { "data": { "image/png": "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ZygoewwDnBk45z0HDAjidcIOTwv56wZaSCNinY6khfy/DWkuYt+x0jqjDNHq395j0pnHKfKYxJvWGcekHuPB0afy6KGnMOfUzp9nc+LEiUudcxOiLUv43ZpmloPXEvanyMDMVwCE/zI3PN8PaBKcOedmAbMAJkyY4KLNg/XWW2916h2G3f1uzYcffrjVPPX19WRnN39rJKruubm5lJSUdPl+2kLzzGVu/TO57pA+9a/uVcCGsscgEMCys70f4vp6LBQiiFFvAcyMQKieLIgjzW8RatM6qbBt1SXe7dQHsnmj/wgGFeYl/DOQ0ODMzALAg0AtcGWMbFVA77DXDc93d2HRoiorr2DmgjVU7qxhYGEe10wexSkje7e+YhsUFxdz5ZVXMnfuXDZs2MCpp57Kn/70J+bNm8f999/PokWLGvOaGe+++y4jR45k6tSp5Ofns27dOv773/8yduxY/v73v3PHHXfwpz/9iaKiIh5++OHGIKeyspLvfe97/Oc//6GgoICrr76a73//+wBMnz6dVatWkZubyz//+U/uueceNm3axNq1a/nzn/8MwIMPPshPf/pT9uzZww9/+EPuu+8+7r//fiZNmsTUqVMZPHgwM2bMALwv8wsuuIBNmza1um8RkUSordhEzzFj6P3FLzbrc3bHI6+xwu9rdFSU/kex0lpb3pG0rty26hL/djYUjeD2yaPifZt1moQFZ+aNY/FHoAg43TlXFyPramAs8Kj/eiywOfKSZlcrK69g2vyV1NR5A9dW7Kxh2vyV3HT6SP7nc53bevToo4/yzDPPkJuby/HHH8+cOXPIzc2Na70FCxYwZswYTj/9dD73uc9x8803c/fdd3PTTTfxwx/+kBdeeIFQKMRZZ53F2WefzcMPP8ymTZuYNGkSo0aNYvLkyQA89thj/PWvf2Xu3Lns27ePO++8s3E/b775Jt/+9rf529/+xsSJE5k2bVpj4NWaePYtItLV8o44goG33kLu6NGNac9yIDMXrKHi0FMa097uW9xkPfPTIu/m+2vf4sa7Ah+NsrwjaV257UTvrzvXZVBhHren+d2aAL8DDgcmOedqWsg3F5hjZg8BHwI3AHM6qxDF1z3Z7nVr6oJc99garntsTat5199xRtzb/f73v8/AgQMBOOuss1i+fDmf/exnW13vy1/+MkcffXTj83vvvZeLLroIgK9+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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Choix du cas test et du schéma\n", "key = KEYS[1]\n", "schema = Liste_schemas[0]\n", "\n", "# APPROXIMATION de tous les instants\n", "# calcule et sauvegarde les solutions dans ./test_{key}/s_{itera:03d}.npy\n", "calculer(key=key,schema=schema) \n", "nb_fichiers = len(os.listdir(f\"./test_{key}_{schema}\"))\n", "print(f\"Nombre de fichiers sauvegardés : {nb_fichiers}\")\n", "\n", "# choix de la sauvegarde à afficher\n", "itera = 50\n", "itera = min(itera,nb_fichiers-1)\n", "t,xx,uu = np.load( f\"./test_{key}_{schema}/s_{itera:03d}.npy\", allow_pickle=True )\n", "\n", "# EXACTE\n", "u_L,u_R,x_0,t_final = IC[key]\n", "uu_ex = sol_exacte_riemann(xx,t,u_L,u_R,x_0)\n", "\n", "# AFFICHAGE\n", "fig,axx = affichage(key,schema,t,xx,uu,uu_ex); # affichage de la solution\n", "affichage_onde(key,xx,t_ref=t,colorbar=False); # affichage de la projection\n" ] }, { "attachments": {}, "cell_type": "markdown", "id": "4ea937c5", "metadata": {}, "source": [ "## Choisir le cas test et afficher toute la simulation" ] }, { "cell_type": "code", "execution_count": 11, "id": "97e7a534", "metadata": {}, "outputs": [], "source": [ "for key in KEYS:\n", " for schema in Liste_schemas:\n", " calculer(key,schema) # sauvegarde les solutions dans ./test_{key}_{schema}/s_{itera:03d}.npy\n" ] }, { "cell_type": "code", "execution_count": 12, "id": "dde54462", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "589e9c7069fe4d46b3de7486f502a71e", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(Dropdown(description='key', options=('choc_2_1', 'détente_1_2', 'choc_2_m1', 'détente_m1…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# AVEC INTERACTIVITE\n", "\n", "def interactif(key,schema,itera):\n", " t,xx,uu = np.load( f\"./test_{key}_{schema}/s_{itera:03d}.npy\", allow_pickle=True )\n", " u_L,u_R,x_0,t_final = IC[key]\n", " uu_ex = sol_exacte_riemann(xx,t,u_L,u_R,x_0)\n", " fig,axx = affichage(key,schema,t,xx,uu,uu_ex); # affichage de la solution \n", " return \n", "\n", "import ipywidgets as widgets\n", "nb_fichiers = len(os.listdir(f\"./test_{key}_{schema}\"))-1\n", "widgets.interact(interactif, key=KEYS, schema=Liste_schemas, itera=widgets.IntSlider(min=0, max=nb_fichiers, step=1, value=0));\n", "\n" ] }, { "cell_type": "code", "execution_count": 13, "id": "cde44f0b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "\u001b[0;32m/tmp/ipykernel_8488/4148606096.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnb_fichiers\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 21\u001b[0;31m \u001b[0mNONinteractif\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mschema\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mschema\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mitera\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mmy_fig\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfig\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0maxx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m;\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 22\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m;\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[0mfig\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0maxx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubplots\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnrows\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mncols\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m;\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/tmp/ipykernel_8488/4148606096.py\u001b[0m in \u001b[0;36mNONinteractif\u001b[0;34m(key, schema, itera, my_fig)\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0muu_ex\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msol_exacte_riemann\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mt\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mu_L\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mu_R\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mx_0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0maffichage\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mschema\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mt\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mxx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0muu\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0muu_ex\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mmy_fig\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfig\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0maxx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m;\u001b[0m \u001b[0;31m# affichage de la solution\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 14\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpause\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 15\u001b[0m \u001b[0mdisplay\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdisplay\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgcf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0mdisplay\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclear_output\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/pyplot.py\u001b[0m in \u001b[0;36mpause\u001b[0;34m(interval)\u001b[0m\n\u001b[1;32m 546\u001b[0m \u001b[0mcanvas\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdraw_idle\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 547\u001b[0m \u001b[0mshow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mblock\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 548\u001b[0;31m \u001b[0mcanvas\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstart_event_loop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minterval\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 549\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 550\u001b[0m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minterval\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/backend_bases.py\u001b[0m in \u001b[0;36mstart_event_loop\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 2517\u001b[0m \u001b[0;32mwhile\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_looping\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mcounter\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mtimestep\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2518\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mflush_events\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2519\u001b[0;31m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimestep\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2520\u001b[0m \u001b[0mcounter\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2521\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] } ], "source": [ "# SANS INTERACTIVITE\n", "\n", "key = KEYS[1]\n", "schema = Liste_schemas[1]\n", "\n", "from IPython import display\n", "\n", "def NONinteractif(key,schema,itera,my_fig):\n", " # display.display(plt.gcf())\n", " t,xx,uu = np.load( f\"./test_{key}_{schema}/s_{itera:03d}.npy\", allow_pickle=True )\n", " u_L,u_R,x_0,t_final = IC[key]\n", " uu_ex = sol_exacte_riemann(xx,t,u_L,u_R,x_0)\n", " affichage(key,schema,t,xx,uu,uu_ex,my_fig=(fig,axx)); # affichage de la solution\n", " plt.pause(1)\n", " display.display(plt.gcf())\n", " display.clear_output(wait=True)\n", " return \n", "\n", "\n", "for i in range(nb_fichiers):\n", " NONinteractif(key=key,schema=schema,itera=i,my_fig=(fig,axx));\n", " plt.clf();\n", " fig,axx = plt.subplots(nrows=1,ncols=1);" ] }, { "cell_type": "code", "execution_count": null, "id": "ac83c356", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "15ab5ed1", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "jupytext": { "cell_metadata_filter": "-all", "custom_cell_magics": "kql", "encoding": "# -*- coding: utf-8 -*-" }, "kernelspec": { "display_name": "Python 3.10.4 64-bit", "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.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0]" }, "vscode": { "interpreter": { "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1" } } }, "nbformat": 4, "nbformat_minor": 5 }