{
 "cells": [
  {
   "attachments": {
    "remous-ressaut3.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "id": "9da4a278",
   "metadata": {},
   "source": [
    "Résolution de la courbe de remous\n",
    "=============================\n",
    "\n",
    "Ce script jupyter résout l'exemple de la section 5.3.3 du cours. On considère un aménagement composé :\n",
    "- d'un réservoir avec une vanne de 2 m de hauteur laissant passer un débit $q=10$ m$^2$/s en O ;\n",
    "- d'un coursier en pente raide ($i_1=5$ \\%) et moyennement rugueux (coefficient de Chézy $C=50$ m$^{1/2}$ s$^{-1}$), d'une longueur de 10 m entre O et A ;\n",
    "- d'un canal de pente douce ($i_1=0,2$ \\%) et de même rugosité rugueux que le coursier $C=50$ m$^{1/2}$ s$^{-1}$, d'une longueur de 1000 m entre A et B ;\n",
    "- d'un seuil d'une pelle $p=0,5$ m en B.\n",
    "Le coursier et le canal sont suffisamment larges pour qu'on néglige les effets de paroi.\n",
    "\n",
    "![remous-ressaut3.png](attachment:remous-ressaut3.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "b87ef0ff",
   "metadata": {},
   "outputs": [],
   "source": [
    "# initialisation\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from shapely.geometry import LineString\n",
    "# ce script nécessite la bibliothèque \"shapely\" pour calculer l'intersection de deux courbes. Si elle n'est pas\n",
    "# installée, il faut l'installer, p. ex. avec la commande : pip install shapely\n",
    " \n",
    "# paramètres generaux\n",
    "# gravité\n",
    "g = 9.81\n",
    "# débit par unité de largeur\n",
    "q = 10\n",
    "# Chézy\n",
    "Ch = 50\n",
    "\n",
    "# paramètres du bief 1\n",
    "i1 = 0.05\n",
    "h0 = 2\n",
    "x0 = 0\n",
    "xA = 10\n",
    "\n",
    "# paramètres du bief 2\n",
    "i2 = 0.002\n",
    "p = 0.5\n",
    "xB = 1000 + xA"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7405ca1d",
   "metadata": {},
   "source": [
    "Pour chacun des biefs, on calcule le nombre de Froude\n",
    "$$\n",
    "\\mathrm{Fr}=\\frac{q}{\\sqrt{gh^3}},\n",
    "$$\n",
    "la hauteur critique\n",
    "$$\n",
    "h_c=\\sqrt[3]{\\frac{q^2}{g}},\n",
    "$$\n",
    "et la hauteur normale\n",
    "$$\n",
    "h_n=\\left(\\frac{q}{C\\sqrt{i}}\\right)^{2/3}.\n",
    "$$\n",
    "Pour le nombre de Froude, on calcule le nombre de Froude associé à la hauteur normale ($h=h_n$) et celui associé à la condition aux limites ($h=h_0$)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "533d18cb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "*** bief 1 (coursier) ***\n",
      "Hauteur normale : 0.93 m\n",
      "Hauteur critique : 2.2 m\n",
      "Froude à l'entrée : 1.1\n",
      "Froude asymptotique : 3.6\n",
      "*** bief 2 (canal) ***\n",
      "Hauteur normale : 2.7 m\n",
      "Hauteur critique : 2.2 m\n",
      "Froude asymptotique : 0.71\n"
     ]
    }
   ],
   "source": [
    "## calcul des conditions hydrauliques dans le bief 1\n",
    "hn1 = (q / Ch / np.sqrt(i1)) ** (2 / 3)\n",
    "Frn1 = q / hn1 ** 1.5 / np.sqrt(g)\n",
    "hc1 = (q ** 2 / 9.81) ** (1 / 3)\n",
    "Fr1 = q / 2 ** 1.5 / np.sqrt(g)\n",
    "\n",
    "print(\"*** bief 1 (coursier) ***\")\n",
    "print(\"Hauteur normale :\",f\"{hn1:.2} m\") \n",
    "print(\"Hauteur critique :\",f\"{hc1:.2} m\") \n",
    "print(\"Froude à l'entrée :\",f\"{Fr1:.2}\")\n",
    "print(\"Froude asymptotique :\",f\"{Frn1:.2}\") \n",
    "\n",
    "# calcul des conditions hydrauliques dans le bief 2\n",
    "hn2 = (q / Ch / np.sqrt(i2)) ** (2 / 3)\n",
    "Frn2 = q / hn2 ** 1.5 / np.sqrt(g)\n",
    "hc2 = (q ** 2 / 9.81) ** (1 / 3)\n",
    "##solution de la courbe de remous (équation de Besse)\n",
    "# sur l'intervalle [0, xA]\n",
    "\n",
    "print(\"*** bief 2 (canal) ***\")\n",
    "print(\"Hauteur normale :\",f\"{hn2:.2} m\") \n",
    "print(\"Hauteur critique :\",f\"{hc2:.2} m\") \n",
    "print(\"Froude asymptotique :\",f\"{Frn2:.2}\") \n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c2d88c6d",
   "metadata": {},
   "source": [
    "## Courbe de remous dans le coursier\n",
    "\n",
    "On cherche maintenant à résoudre l'équation de la courbe de remous le long du coursier entre O et A. \n",
    "\n",
    "Lorsque le frottement est de type Chézy, cette équation peut se mettre sous la forme équivalente\n",
    "$$ \n",
    "h'=F(h)=i\\frac{1-(h_n/h)^3}{1-(h_c/h)^3},\n",
    "$$\n",
    "avec pour condition limite à l'amont (régime supercritique)\n",
    "$$\n",
    "h(0)=h_0=2\\text{ m}.\n",
    "$$\n",
    "Pour résoudre cette équation différentielle, on se sert de la méthode d'Euler à l'ordre 1 qui est une méthode iterative qui résout l'équation différentielle de proche en proche en déterminant la valeur de $h$ en $x_i$ le long d'une grille $x_i=x_0+i\\delta x$  \n",
    "$$\n",
    "h(x_{n+1})=h(x_n)+F(h_n)\\delta x, h(x_0)=h_0.\n",
    "$$\n",
    "Cette forme provient simplement de la discrétisation de l'équation différentielle\n",
    "$$\n",
    "h'=\\frac{\\mathrm{d} h}{\\mathrm{d} x}=\\lim_{\\delta x\\to0} \\frac{h(x_{n+1})-h(x_{n })}{\\delta x}.\n",
    "$$\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "37bc96ea",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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3x9WrYLmzUO9L1Xvf82aNWNtlIFq6ru/du1aZsyYUe2bf03TVNe2UFnVfWrrIlqxrbtzwAEHMH78+Bq3TaW8nvuofXs44gi4916opslORFKsosZ31VXh31R+IO7QoQOzZs0CQs+d6gwYMIA77rij8udk7jh69+7No48+ypo1a1i8eDFTp05ljz32qHa7CRMmsGbNGj7//HPKysqqPV6vXr2YPn06H3zwAQDff/89//rXv+qMo7HkdVKA0O75zTfw0ENxRyKSn0pK4JJLGi8hVNQUKr4uvvhiAK644grOO+889t133xp799x+++3MnDmTrl27stNOO3H33XfXeb7DDz+crl27suuuu9KvXz9uvPFGtthii2q323777dlll10466yz2G+//ao93uabb864ceMYMmQIXbt2pVevXrz33ns/2u6vf/0rW2+9NTNmzGDw4MEMHDiwzliTkdVrNPfo0cM3dJEdd9hzz9CWOX9+KHblKnXPzA9xd0nt3Llz2s+ruY9qVt3fxMxmuXuP6rbP4bfA5JiFu4V//Queey7uaERE4pX3SQHgqKOgXbvkCmMiIrlMSYHQ6+Gcc+DFF2HevLijEclu2dwknWsa8rdQUogMGwZFRXDbbXFHIpK9ioqK+PLLL5UYMkDFegpFRUX12k+L7ETatIGTTgq9kK69NvwsIvWz9dZbs3DhQhYvXpzW85aXl9f7zS/bJXPNFSuv1YeSQoLzzoN77glfl14adzQi2aegoKBeq3w1lilTptRr0rdckKprVvNRgp12ggED4M47wwhLEZF8o6RQxfnnw2efwYknagEeEck/SgpVtG4dxi489hhamU1E8o6SQhVTp65bY2HlSsizRbtEJM8pKVTRp09YnQ3CVL49qh0ILiKSm5QUqqiYtfHss8PPL74YbzwiIumkLqnVKCkJX99/H6a+GDYMfv7zuKMSEUk93SnU4pprwhQYI0fGHYmISHooKdSiXbswiO3JJ+GVV+KORkQk9ZQU6nDBBbDttuHfNWvijkZEJLWUFOpQXAx/+APMmQP33x93NCIiqaWkkISjjoJ994XLLgsrtImI5ColhSSYhV5IS5bA1VfHHY2ISOooKSRp993hlFPCegv//nfc0YiIpIaSQj1cc00Y7XzqqXDddZoXSURyjwav1cMWW8AJJ8Ddd8P06SFBvPxyGOgmIpILdKdQT+3ahX/Xrg1rLmjCPBHJJUoK9bT//usmzIMwgZ6ISK5QUqinkhIoK4O+fcNgti++iDsiEZHGo6TQACUl8NxzsNtucMYZsGhR3BGJiDQOJYUGat4cHnooDGY74wxwjzsiEZENp6SwAbp0Cd1Un3wSHn447mhERDacksIGuuCCMAXGiBGwYEHc0YiIbBglhQ3UtCmMGxeKzkOHhq6qIiLZKi1JwczGmtkiM5tbw/ObmtlfzGyOmb1pZl3SEVdj2W47uPnmMJBtzJi4oxERabh03SmMAwbV8vylwGx37wqcBNyWjqAa07BhMGgQXHhh+NIUGCKSjdKSFNx9KvBVLZvsBLwcbfse0MHM2qYjtsZiBmedFUY533IL9O+vxCAi2SdTagpvA0cAmNkewLbA1rFG1ADz5kGT6DdaXq4pMEQk+2TKhHjXA7eZ2WzgHeCfwOrqNjSzYcAwgLZt2zKlge+8y5Yta/C+NWndujUFBbuycmUT3I333vuYKVM+btRzbIhUXHOm0zXnB11zI3L3tHwBHYC5SWxnwMdA67q27d69uzdUWVlZg/etzWuvuV91lXu3bu7Fxe6zZ6fkNA2SqmvOZLrm/KBrrh9gptfwvpoRzUdmtomZNY9+PA2Y6u7fxRlTQ5WUhGU7n30WNt0UjjgCvv467qhERJKTri6p44EZQCczW2hmp5rZmWZ2ZrRJZ2Cemb0HHAicl464UmmLLeDxx+GTT8IaDBq/ICLZIC01BXcfUsfzM4Dt0xFLOu21F9x6KwwfDlddBVdcEXdEIiK1y4jmo1x29tlw4onw+9/DM8/EHY2ISO2UFFLMLCzf2bUrHH88/Oc/cUckIlIzJYU02GgjmDQpJIhBg8Jdgwa2iUgmUlJIk+22C72SPvgARo3SiGcRyUxKCmm0cmW4WwCNeBaRzKSkkEZ9+kBRUUgM7rBkSdwRiYisT0khjUpKwvTaV10Fe+8No0fDU0/FHZWIyDpKCmlWUgK//S08/zx07w5DhsAbb8QdlYhIoKQQkxYt4OmnYcst4Re/CAVoEZG4KSnE6Kc/DXMkucOBB8LixXFHJCL5TkkhZjvsAJMnw8KF0LevxjCISLyUFDLAXnvB5ZeHRXo0hkFE4qSkkEESxzCUlcUbi4jkJyWFDFF1DMObb4Z/RUTSSUkhQ1SMYbj66rD+wlNPwQUXKDGISHplyhrNQkgMJSUhEfzkJ3DbbeHu4brr1jUtiYikkpJCBjILo51XroQbboDiYi3QIyLpoaSQocxgzJiQGEaNCncMF10Ud1QikuuUFDJYkyZw332hN9LFF8Pnn0PbtqEoXVISd3QikouUFDJc06bw0EPw2WehxmAW7hpeflmJQUQan3ofZYGCAjjggPC9e2hS0loMIpIKSgpZon//UHAGWLsWPvpI3VVFpPGp+ShLVIxjeOUVmDYN7r0XNt0Urr9e3VVFpPEoKWSRinEMa9fCOefAjTfCsmXwxz+GorSIyIZSUshCTZqE7qotW8JNN8Hy5aGXUjP9NUVkA+ltJEuZhTuFVq3CwLbly2HECJg+XV1WRaThlBSymFmYcrtlS7jwQpg0KTzWvLm6rIpIw6glOgf8+tdw2GGh1rBmDaxapS6rItIwSgo54je/CXcIEJLDDjvEG4+IZCclhRxRUhLuDoYNC81J55wDs2bFHZWIZBslhRxSUgJ/+hO88UaYCmO//eDZZ+OOSkSyiZJCDurcOazxvMMOcPDBcP/9cUckItlCvY9y1JZbwquvwtFHw2mnha6qTZu2p7BQvZJEpGZKCjmsVSv461/h8MPhgQcAOlJaqu6qIlKztDQfmdlYM1tkZnNreH5jM/urmb1tZvPM7JR0xJUPCgpgr70q5kcyVqyAv/0t7qhEJFOlq6YwDhhUy/PnAO+6+65AH+BmM2uehrjyQt++ofBsFqZVvf9+mDMn5qBEJCOlJSm4+1Tgq9o2AVqZmQEto21XpyO2fFAxw+qpp37EffeFu4a99oKnnoo7MhHJNOZpmpTfzDoAT7t7l2qeawVMBnYEWgHHuHu1jRxmNgwYBtC2bdvuEyZMaFA8y5Yto2XLlg3aN1tVXPOSJc353e+68N57rTn11A85/vgFOTv9dj7/nfOJrrl++vbtO8vde1T7pLun5QvoAMyt4bmjgFsBA34OfAS0ruuY3bt394YqKytr8L7ZKvGav//e/bjj3MF9yBD3sjL3a691f+212MJLiXz/O+cLXXP9ADO9hvfVTOl9dApwfRTsB2b2EeGu4c14w8pdxcXwyCOwyy5wySUwYUKYkluT6Ynkt0wZvLYA6A9gZm2BTsCHsUaUB8zg4ovhxBPD0p5r1mj9Z5F8l64uqeOBGUAnM1toZqea2Zlmdma0yVXAXmb2DvAycJG7L0lHbAJnnRV6J0GYTO/TT7X+s0i+SkvzkbsPqeP5z4AB6YhFfqykJKz9/Nxz8Pe/w513wmefhQFvG28cd3Qikk71Tgpm1gIod/c1KYhHYlKx/rM7jB4NI0dCz55h4Z4uP+ovJiK5qs7mIzNrYmbHmdnfzGwR8B7weTTy+A9mtn3qw5R0MYMLLoCyMli6FPbcE0pLwwR7110X/hWR3JXMnUIZ8BJwCaFL6VoAM/sJ0Be43sz+4u6PpC5MSbd994V//hOOOQZOOAGaNQt3EeqdJJLbkkkK+7v7D1UfdPevgInARDMraPTIJHZbbAEvvQT9+4daA6xb6lNJQSQ31dl8VJEQzGx0NA1FjdtI7ikogBtuWLfU55o1UF4eb0wikjr16ZK6DJgcFZoxswFmNj01YUkmqVjq86KLYNdd4cor4Ve/gmXL4o5MRBpb0knB3S8DxgNTzGwacCFwcaoCk8xSUgLXXw8zZ8IVV8DDD0P37qHuICK5I+mkYGb9gdOB5cDmwLnu/vdUBSaZqVkzGDUqjGtYvhx69YJf/xquvVY9k0RyQX3GKfwW+J27TzOzXYBHzezX7v5KimKTDLbffjB7Nhx2GNx6a3isqCgkCxWhRbJXfZqP+rn7tOj7d4ADgatTFZhkvjZt4KCDqJx2u7wc7ror3phEZMMkM3itph5Hn7NuErscnY1f6lKxqlvTpiE5PPwwnH56GPgmItknmTuFMjMbYWbtEx+MlsssMbMHgZNTEp1kvIpV3a66KvRQuvjisNxnt27w2mtxRyci9ZVMTWEQMBQYb2bbAV8DxYSE8gJwq7vPTlmEkvEq5k0C6N0bBg8O03Hvu29IEgMHwvTp0KeP6g0ima7OpODu5cAYYEw0crkNsMLdv0lxbJKl9tkH3n47zKF07bVhziQzKCzUFBkima4+XVL7AXcD/wccbmbdzawwZZFJVmvdOjQjnXBCmDNp7dpQiH755bgjE5Ha1GdE8yPA08DrwHbA5cC8VAQluePss0Mh2iwkh4cfhjlz4o5KRGpSn3EKH7j7X6LvH09FMJJ7KhbwmTIlJIXbboMePeCyy8La0AWaSlEko9SZFMzsIeAtYIaZXejuN6c+LMkliYXoYcPgvPPCVBmTJoW6w2efqQgtkimSuVN4ENgV2AIYaGbnAm9HX3PcXXcNkrQ2bcKiPb/8JQwdGibWMwtNTCpCi8QvmamzX3b3W9z9ZHfvBvwMuAz4F7BHiuOTHHXooaHeAKFZacWKsCa0iMSrPoVmANx9tbvPcfeH3X1kKoKS/HDQQVBcDE2ahLuFe+8No6G//jruyETyV72TgkhjqRgNffXVYYW3kSPD3ULnzvDoo+EOQkTSqz69j0QaXWIRul8/OO64cLdw7LHw4INw2mnw/vsqRIuki5KCZJRu3eD11+GOO8IUGc8+q0K0SDqp+UgyTtOmodvqueeGn1WIFkkfJQXJWIcd9uNC9IknwhdfxB2ZSO5SUpCMlViIfvll+O1v4bHHoFMn+OMfYfXquCMUyT2qKUhGSyxE9+0LJ50Ew4eHpqWxY+Gss+DLL1WIFmksSgqSVXbYAZ5/HiZODAnhjDPC41ofWqRxqPlIso4ZHHUUnHPO+utD//73sHJlvLGJZDslBclaAweuWx+6SZNwB7HzzjB5sga+iTSUmo8ka1UUoqdMCTWFpUvh/PPDvEoDBsDJJ0NZWXsKC9WsJJIsJQXJaomFaAjLgI4ZE3oqvfACQEceeUT1BpFkpaX5yMzGmtkiM5tbw/MjzWx29DXXzNaY2U/SEZvkloKCMPDt/PMr6g1GeTlcdZXqDSLJSFdNYRwwqKYn3f0P7t4tmpr7EuBVd/8qTbFJDho8ONQbmjRxmjQJ02V07hzGOajeIFKztCQFd58KJPsmPwQYn8JwJA9U1BuGDv2IadNCEbplSzjmGNh7b5gxI3xdd134V0QC8zR9bDKzDsDT7t6llm02AhYCP6/pTsHMhgHDANq2bdt9woQJDYpn2bJltGzZskH7Zqt8v+Y1a+C557Zg7NiOfPVVIU2ahNd+QcFabr75bXbe+bs4Q200+f53zhcbcs19+/ad5e49qn3S3dPyBXQA5taxzTHAX5M9Zvfu3b2hysrKGrxvttI1B0uXuvfr5x4aktzN3C+9NP2xpYr+zvlhQ64ZmOk1vK9m2jiFY1HTkaRYy5ZhPqWiolCMdodbbw2D35YujTs6kXhlTJdUM9sY2A84Ie5YJPeVlIRuqlOmQMeO8MQTMGoU3HknXH45dO0K06drTiXJP2lJCmY2HugDtDGzhcAVQAGAu98dbXY48IK7L09HTCKJYxyOPRbeeCMs7DNiRLiDMIPCQi3uI/klLUnB3Ycksc04QtdVkVjsuWe4exg6FMaNW7e4z5gx0KvXunmWRHJZptUURGJlBsOGrb+4zyOPhITxwgsa4yC5L2NqCiKZInFOpX32gX//OxShBw6E3r3hmmvCJHwVcy6paUlyiZKCSDUS6w377gvHHw/33Rd6Le27b7iLANUcJPeo+UgkCYWFYf2G//wHDjwQ1q4NXytWhOYlkVyhpCBSDxttBL/7Xag5VBSex4yBgw+GmTPjjU2kMaj5SKSeEmsOPXvCm2/CTTeF73/xC7jiCvjhB9UcJDspKYg0QGLNYf/9Yfhw+OMf4eabQ3JQzUGylZqPRBpB69ZhYZ+PP4YDDli/5jBuXNzRiSRPSUGkEbVuHbqvJtYc7rkH9tsPXnxR4xwk86n5SKSRJdYcevWCd96BG28M60bvsQccdVSoOfTtq2YlyTxKCiIpkFhz6NsXzjgDHnwwFKF/85vwePPm8NJLYdyDSKZQ85FIGhQWhukzzjlnXRF61So49FC4665QexDJBEoKImnUv39IEE2bhjuFLbaAs8+GDh3C0qDffKNlQiVeaj4SSaPEekOfPqHm8OqrcP31cOmlYRqNVatCQbp5c3VnlfTTnYJImpWUwCWXhH/NQnJ47jl46y342c9g9eqwnnR5OTz2WNzRSr5RUhDJELvtBn/60/rLhI4eHUZJT5mi7qySHmo+EskgicuEdusG//gH3HFH6MHUowccckgoVPfrp2YlSQ0lBZEMk9id9cADYeRIeOihUG+4/PLweEEBPPNMmGJDpDGp+UgkwxUXh3EOZ521rjvrDz/A4MFwwQXw0Ufxxie5RUlBJEv07buuO2thYZg644474Oc/hyOPhGnT4LXXoLS0vbqzSoOp+UgkS1TtzlpSAp9+GhLDn/4EkyZVzLfUkdJSdWeVhtGdgkgWSezOCrDVVmGg2yefhNHR7uBurFgRFgP64ot445Xso6QgkgNatICLLqqYndVp0iTcKbRvDyeeGHoxiSRDzUciOaKieWns2I8YOnQ7NtsM7rwTHnggrCPdqxcMGhRqEv37q2lJqqc7BZEcUlICxx+/gJIS2GEHuO02WLgQbr89/DtqVGhW6t0bnnoq7mglEykpiOS41q1hxIj1u7SuXg2HHx56Lb3yikZLyzpqPhLJExVdWletCoPfjjwyzLk0aRLsuGMYKNeqVWhiUtNS/tKdgkieqKg5XHVVuDt45JHQpDRuXOjKeuutcOWVYdEfrSudv5QURPJI1S6tRUVw8smhh1JF09KaNXDKKWHp0LFjYfny+OKV9FNSEBH69Fk3Wrq4OEyfsXw5nHpqGAtx7rlQWqrFf/KBagoiUu1oafcwdcbdd4clQ//4x7Bt8+ahFtG3b5wRS6ooKYgIsP7srBDqDPvuG746doRrrw2JYtWqUJQ+7TQ4/XTYddf4YpbGp+YjEanT4MGh/lAxGV/v3nDvvWHNhz33DHWKUaPUtJQLlBREpE6JPZfKyuCFF+Czz0KPpUWLwhrTv/99uKu45x6Ne8hmaUkKZjbWzBaZ2dxatuljZrPNbJ6ZvZqOuEQkeVV7Lm22GZx/fmhCSuy5dMYZsPPOcPPNIWFIdknXncI4YFBNT5rZJsAY4BB33xk4Oj1hiciGSlznobgYLr4YNtkE/u//Qs+lI46Am26Ca65R81I2SEuh2d2nmlmHWjY5Dpjk7gui7fX5QiRLVNdzCeDdd8M4h/vvh7/8JTzWrFlYWnTIkLiilbqYp6nxL0oKT7t7l2qeGw0UADsDrYDb3P2hGo4zDBgG0LZt2+4TJkxoUDzLli2jZcuWDdo3W+ma80OmXfPDD7fngQc64m6AA0bnzt8xaNAX9Ou3iJYtV2/wOTLtmtNhQ665b9++s9y9R7VPuntavoAOwNwanrsDeB1oAbQB/g3sUNcxu3fv7g1VVlbW4H2zla45P2TaNb/2mntxsXvTpu5FRe4jRrh36RKWAyosdD/2WPdbbnG/+uqwbUNk2jWnw4ZcMzDTa3hfzZRxCguBJe6+HFhuZlOBXYF/xRuWiGyomgbGvfVWmGPpwQeh4oa/WbOw/sMJJ8QYcJ7LlC6pTwH7mlkzM9sI2BOYH3NMItJIqvZcMoPu3cMo6ZEj15/S+8QTYffdYfTo0HtpxgxNr5FO6eqSOh6YAXQys4VmdqqZnWlmZwK4+3zgOWAO8CZwn7vX2H1VRHLH/vuv671UVBTmXWraNPy75Zawzz5w2WVhtTglhtRLV++jOvsauPsfgD+kIRwRySA19V6aNw/OPhumTg0/r1gRFgu68UbYb7+QOKTxZUpNQUTyWNV5lyAMgLv++nCHsHJlaHKaPz/8vNVWoVvrCSeE2VxLS9tTWKjFgRpDptQURER+pOIu4uqr4e9/hyVL4NFH19UcunULzUv339+Rfv3UvNQYlBREJKMlFqmLi+GXv4TJk+Hzz+GQQ0JPJnejvByOPRbuvFPTa2wIJQURyUpt2oQpNYqLoUkTp6AgdGkdPhzatQvTez/0ELz0knov1YdqCiKStSqal8aO/YihQ7ejpATmzoXx4+HPfw5LjVbQ4kDJ0Z2CiGS1khI4/vgFlUXmLl3C5HsffghnnhkK1BAWBxo4EI4/PjQ/rVypMRDV0Z2CiOQkMzjppDBietWq0LQ0aFC4W/jzn6FFCygvDzWJwsJwx6HeS7pTEJEcVnVxoCefhC++gGefhU6dwvoPa9eGMRDnngsvvhhGVecz3SmISE6rOgaioCDcMWy88fpjIObNgwEDwuJBRxwRejkVFsK0aesPqst1SgoikpeqjqTu1g2efx4efzwUqu+9N2xnForUL74YlhvNdWo+EpG8VXUMxGGHQWlpGOdw/PFhG/dwNzFwIAwdCs88E2oUuVqk1p2CiEgVxcVwzjkwaVJIAE2bhvmWJk4MU3vncpFadwoiItVILFJPmRKK04sWwd/+BjvuuH6RetiwMP3G0qVxR73hdKcgIlKDqkXqwkI46CDYdNP1i9Sffhqm2CgshAMOCIXqLbeEf/4z+4rUSgoiIvVUtUi9xx6htjBxYmhyevrpddsWFMBjj4V6RTZQ85GISAMkFqmbNg2ztd56K3z8cahHVIyk/uEHOPxw6NEjjLSeNy/UIjK1UK2kICLSiMxCz6WionWryZ11VhhRfdllYRqO9u2hd+/MXFFOSUFEpJElFqlfeQXGjIHXXw+1hzFjQqJYvXpdoXrEiDAf04oVcUeumoKISEpUt5pcu3bhrqFbtx+vKHfooaEr7IABYdU5Mxg8OP1FaiUFEZE0q1qo7t49fD95cihKP/VU2O6660J31xEjoHPndXWKVFJSEBGJQdU7iQEDwle7dvC734WmpbVr4e67w9d224WV5g4+OPRoStW61EoKIiIZpG/fMN5h1aow59L48WHp0cmT4a67wtrUAGYdKS1t/NHUSgoiIhmkatNSxRv+mWfCsmWhJlFaGtalXrUqbKekICKSw6orUgO0bAlnnx0Gya1cuZbmzZvQp0/jnltdUkVEskjFncTQoR+nZCI+3SmIiGSZkhJYuXIBJSXbNfqxdacgIiKVlBRERKSSkoKIiFRSUhARkUpKCiIiUklJQUREKpm7xx1Dg5nZYuC/Ddy9DbCkEcPJBrrm/KBrzg8bcs3buvvm1T2R1UlhQ5jZTHfvEXcc6aRrzg+65vyQqmtW85GIiFRSUhARkUr5nBTuiTuAGOia84OuOT+k5JrztqYgIiI/ls93CiIiUoWSgoiIVMrLpGBmg8zsfTP7wMwujjueVDOzbcyszMzmm9k8Mzsv7pjSwcyamtk/zezpuGNJFzPbxMyeMLP3or93I8+2n1nM7ILoNT3XzMabWVHcMaWCmY01s0VmNjfhsZ+Y2Ytm9u/o300b41x5lxTMrClwJ3AgsBMwxMx2ijeqlFsNXOjunYFewDl5cM0A5wHz4w4izW4DnnP3HYFdyeHrN7OtgHOBHu7eBWgKHBtvVCkzDhhU5bGLgZfdfXvg5ejnDZZ3SQHYA/jA3T9091XABODQmGNKKXf/3N3fir5fSnij2CreqFLLzLYGBgP3xR1LuphZa6A3cD+Au69y929iDSr1mgHFZtYM2Aj4LOZ4UsLdpwJfVXn4UODB6PsHgcMa41z5mBS2Aj5J+HkhOf4GmcjMOgC7AW/EHEqqjQZ+A6yNOY502g5YDDwQNZvdZ2Yt4g4qVdz9U+AmYAHwOfCtu78Qb1Rp1dbdP4fwwQ/4aWMcNB+TglXzWF70yzWzlsBE4Hx3/y7ueFLFzH4BLHL3WXHHkmbNgN2Bu9x9N2A5jdSkkImiNvRDgY5AO6CFmZ0Qb1TZLx+TwkJgm4SftyZHbzkTmVkBISGUuvukuONJsb2BQ8zsY0LzYD8zeyTekNJiIbDQ3SvuAp8gJIlctT/wkbsvdvcfgEnAXjHHlE7/M7MtAaJ/FzXGQfMxKfwD2N7MOppZc0JhanLMMaWUmRmhnXm+u98Sdzyp5u6XuPvW7t6B8Pd9xd1z/hOku38BfGJmnaKH+gPvxhhSqi0AepnZRtFrvD85XFivxmTg5Oj7k4GnGuOgzRrjINnE3Veb2XDgeUJvhbHuPi/msFJtb+BE4B0zmx09dqm7PxNfSJIiI4DS6APPh8ApMceTMu7+hpk9AbxF6GH3T3J0ugszGw/0AdqY2ULgCuB64DEzO5WQII9ulHNpmgsREamQj81HIiJSAyUFERGppKQgIiKVlBRERKSSkoKIiFRSUhARkUpKCiIiUklJQaQRRetWHBB9f7WZ3R53TCL1kXcjmkVS7ArgSjP7KWE22kNijkekXjSiWaSRmdmrQEugT7R+hUjWUPORSCMys12ALYGVSgiSjZQURBpJNH1xKWGO/+VmNjDmkETqTUlBpBGY2UaE+fwvdPf5wFXAqFiDEmkA1RRERKSS7hRERKSSkoKIiFRSUhARkUpKCiIiUklJQUREKikpiIhIJSUFERGp9P/T05tgIX2t8wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# définition de la fonction de Besse\n",
    "def besse(x,y,slope,hn,hc): \n",
    "    ydot = slope * (1 - (hn / y) ** 3) / (1 - (hc / y) ** 3)\n",
    "    return ydot\n",
    "\n",
    "# définition de la méthode de résolution d'Euler (schéma amont)\n",
    "def BesseEuler(x,y0,slope,hn,hc):\n",
    "    y = np.zeros(len(x))\n",
    "    y[0] = y0\n",
    "    for n in range(0,len(x)-1):\n",
    "        y[n+1] = y[n] + besse(x[n],y[n],slope,hn,hc)*(x[n+1] - x[n])\n",
    "    return y\n",
    "\n",
    "# résolution avec un pas delta_x de 25 cm\n",
    "xi=x0;xf = xA; DeltaX = .25; \n",
    "# nombre de mailles\n",
    "N = int((xf - xi)/DeltaX);\n",
    "# maillage de x\n",
    "xCoursier = np.linspace(x0,xf,N+1); \n",
    "# condition aux limites amont\n",
    "y0 = h0;\n",
    "# solution\n",
    "yCoursier = BesseEuler(xCoursier,y0,i1,hn1,hc1)\n",
    "# tracé\n",
    "plt.plot(xCoursier,yCoursier,'b.-'), plt.grid(True)\n",
    "plt.xlabel(\"$x$\")\n",
    "plt.ylabel(\"$h(x)$\")\n",
    "\n",
    "plt.title(\"courbe de remous le long du coursier\"), plt.legend([\"Euler ordre 1\"])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0251b2b4",
   "metadata": {},
   "source": [
    "## Courbe de remous dans le canal : branche supercritique\n",
    "Il faut maintenant résoudre l'équation différentielle de la courbe de remous dans le second bief. On commence en A. L'écoulement arrive du coursier. C'est la hauteur d'eau calculée en A précédemment qui va servir de condition aux limites amont (l'écoulement étant supercritique, on fixe toujours cette condition à l'amont)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "be4895be",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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U1P8I/t9+7xveosXFAICHQzGCzwtDQyXXBLek+yLL4ZP37cvtPNCf9lBivFiQcEnVn2UvsCRfSz19dFVMckEhYCmpvj9PcULGvFMmgSPP978ec0a2L8/Ot3+/YXRwG3aBgsKPrKg0DKq0LGj97QFC8LvZUglKIDT39M118Reb58+TuBp395pD0imv6bnn09u3eA0cPvVB5SdtZp4LChk0aRJzhHgpEn2R8yU3btjB4aqqubhVIMCwLRpsS+P/eILJ/A0NTntAXfdlXgnftppya8bnGX6yQ5SjBcLClly4YXO3bibNzvvb75pf8JM2b3bu0pn797mHXU6QQGcy2OTuToJ4De/iT999uzUnyNhVySZXLOgkCVPPRX++fPPLShkUlOT9/i73fvl/+n2O/hJGn3qzZ6d3A1vqonPFq6KenJIfAsWpJY+VZMmOYHPmFgsKGSJV3XRhg3+5yOfeR3RNzbCX//ah7PPdj7/9rep95sEzg1vybjvvvjT9++HYq/OWol9SWy22hYmTXLOWhsanM+nn56d9Zi2zYJClnjtCNassf51Mmn2bO+zr/vuOyx4lY8qXHddestPphppZ4yep+vq4Ior4O9/dz4fcUR0mjff9L4B7667nO3kjjvSC2ixPPts+OePP7YHHJloFhSy5Nxzvcdfdllm/+iF7pJLosft2RN+4f8bb6S37NmzE6dRjf496+qcRu8ZM2D5cudehOHDo+fdvx9+/3vv5V52GdxwA4wZk/r2UlfnBJRrr3XaKAIHIocdFp022X6nTOGwoJAlI0bEnub3VSb5bPZs5zLRcOGnD3v3pr/87t0TpwlcidS/v/NeWxu9zscei757uaTEqd+Pd/NaY2Nq20sgIN1wgzPfggVOgJk1C37yk+j0LfluTH6K+juZlqurg6lTY09//33/8lIIKiqcR4U2iw4KdXUwcmTqy66uTrxTXrAAnnnGGb7rrtg3wkXeuBaoYjzwQOeS11heey1xPlesKKOuDpYs8d7R3367dztJ586Jl20KS+EGhenTYf788HHFxfDXvzrDv/kNvPRS+PRu3eCJJ5zhW2+FxREdufbuDQ8/zKOPwq+arucY3gyb/An9+AkPONfZX301vPde+PwDBzZfPlNdDZ99Fj596FC47TZn+Hvfi265PvFEuPFGZ/j886GhgcGbNzf3LjduHPz0p87whAnRl/CcdZZTEb53L5x5JlEuuggmT4atW53hSD/4gXMt7vr1znCkKVPgO99xKrO9DlunToVTToEVK+BnP4ue/l//BSecAEuXwi9+ERw9ZxtsAW7gdt7kWE5kITdwe9isZRcCL/zO2WO/8AL87nfRy585E/r2dfbwM2YAMA34dkenn6VLeZQNHMRFPM73eaR5Prdd4bs8RQOljFj1R+7myajFf7f9fBoa2zOF6ZzBfNgMa4+Ev+2Hf1HMmTjb3lR+w8mEbHtfwMZTutHrRe9tb+tW6LqknCv1EUTgdqK3vbX/6kd14wMA/I6r+SbOttd5J/BtsrLthcnCthe2bedo2wu6/XY49lhYuNAZjvS71Le9MI8+CgcdxEEvvQR33gnf/Cbcc090ugwo3KCwa5ezgYUKPb/fuTN6eqgdO6Knl5QAzlHfQBroTvj0UuoB90iuvj56/tA/ktf0HTuah7dvjz992zaor6d9Q0PzRf2hraJbt0b/MXftct5Vvcu+e3f86Xv2OO/798ef3tTkPT1wiNvY6D19377m95DpBxU7T3ZuTyMAxeyL+u5L9tBc3r17vZcfmL5nT9j0r5XAlj3QDudQvxO7o5YPIO7zpTuzy3N6jx7Q8Hn49G1r4OCDoIHmba+EnVHzf/kBBB9DGLHtbfkEStXZ9lShq8e2t7GxPjhcSn1wemkxsJWsbHthsrDthW3bOdr2ghob409Pc9sLck8z2wXmj/x+MynWczrbwqu1PqN5zJj4zwY++2xfsqGqhfEc28WL43/f7do5adJ19tmJn/eczOuAA1QPPzx83JgxqrffnnjeMWNi5y/R9hbvdfnl6X8vuVYI23akvHpGcyGJPPOOFKuPHZOed96JP/2BB9JrTwjYvDn9eUOVlcFJJ4WPGzjQaRhOdGNjvG0q0fYWz6WXpj+vyU8WFLJg+/bY0/r2bdkOykSbOzf2tNLSlt/B+8EH0eOGDHGaoFJ5zvQNNzjV3R06OEGgQwdnpzxypFNFHE+8BuGvvko+D6FKS21bNNEsKGRBvKaIY47xLRsF47zzYk+rqGj58rdtC//coQOMGuUc+QeqkhNp394JTiNHOpes3nab8x7YKV99dfz5Y02fNSv2DXSJJPPoU1N4CrehOUsmTfLuMx+cHYNVHWVedTV89JH3paOJdrbJ6NChuR0UnKP2du2cWvlA+2cioR3jjRwZfYReXe0EmClTouedOTP22c5NNyW3fi833JD+vCZ/2ZlChs2ZEz1u4kTnKrWFC+10PVumTYu+Caxdu8x0/nbZZdGf27VzqgmT7RI9chleXn3Ve3y8Mnz5ZXLrjyRiHeMZb76cKYjIIcCjQG9gPzBLVX8fkUaA3wOn41z5PVlV0+ygIDfq6rx770ymuwTTcpE3gR10UGaWO22a8z5vntN9ybRpzhlIMlVHHTs6PaUGlhHPk9G3NsTtrXXWrPSf03H00enNZ/KfX9VHjcDPVPUNESkFlonIP1R1ZUia04D+7ms48ID73mZ4XcmRq+fvFqJbbgkckSsg3HJL5pY9bVr4jj3eHcgB3bvDli3Jr8PrgOKoo2KnD9wLlqp27eD++9Ob1+Q/X6qPVHV94KhfVeuBVcDBEcnOAh51L6N9DeguIn38yF+mrF4dPc7rxl+THdXVTv37ccdtiVsPnwl/+1viNM89l9oyI3tS7dgx9plAXV34/WKQ3ClD586waJFVY5rYRH1+TqSIVAILgUGquj1k/HzgTlVd5H5+CbhWVZdGzF8NVAOUl5cPneNViR9DQ0MDXbt2bXEZvPz854NYurQnzf3uKKDU1CzMyvqSlc0yt1Z+lHns2DE0H1OF/ocEULp128szz6TWvemKFWVceeXRwWX067eLHj328tvfvh2V9pxzRrJ1awfCt7fQ4SY3f+F5/OlPP+A730nyYRGtnG3b6Rs7duwyVT3Oc2Ksu9qy8QK6AsuAcz2m/Q0YHfL5JWBovOW1pjuave4WrajI2uqSZnd9Zt7EiYnvFE73DurFi507nBcvVh01SvXkk73TRK9zf9jnI47wzlc+sW07fcS5o9m3S1JFpBiYCzymqvM8kqwDDgn5XAF87kfeWsqrr3zwbjg0bd/zz0ePGzbM6Z+stta5Qznd6pnQy1VFvKuPxo2Lv4wBA+DBB2H06PDLo5N99rQpbH5dfSTAg8AqVb07RrJngStFZA5OA/M2VW0T57lLlkSP697d6m3z1WmnOc9HCOjRA15/3RnO5G/uFRRmzYrugBSgd++dDB7chfPOa25LWbTI6RD044+dDkLtKjiTDL/OFE4Avge8IyLL3XE3AIcCqOoM4Dmcy1FX41yS6tH/bevTJ0ZTeKqNjKbtCOxcn3/eCRDZ2tl6BYUrrvBO+/jj/6Sqqips3MiRziM/jUmFL0FBncbjuF1+ufVcHvdztl6zZnlfmmhnCfnPj6PuyE7yYt0tn6g6yZhU2B3NLRDrLlU7SzCZEnqmEFplFeqFF/zJiykMFhTS1LOn9/gBA+wswWRGaPVRaN9Joazx2GSaBYU0XHtt7D72V670Hm9MqgJBYfx4755QO3a0xmOTedZLahpiPch95kx/82Hym4jTbfcrr3hPT7aHVmNSYWcKKWofI4z27Wu9TprMEoG3o29mBqxx2WSPBYUU9Onj3WmZCHz6qe/ZMXmupsZ7fHGxNS6b7LGgkKRrr43dM2asfvCNSdf48bE7w9u719+8mMJiQSFJsdoRxo2zq41M5sU6S7An95lss6CQhMibiAJKS+003mRHaWn0uN69k3tYjzEtYUEhgQ4dYk/bvj32NGNa4o47wj/37Qvr20RPYKats0tS4+jZE/bt8562eLG/eTGFJXAl29y5hHVyZ0y2WVCIYeDA2DeoTZxo7Qgm+6qrLRgY/1n1kYdJk2DVKu9pffvaXaTGmPxlQSFCXV3sjsdKSux+BGNMfrOgEGHUKO/x7dpFPijdGGPyjwWFELEuPQXvO5mNMSbfWFBwxQsIse4sNcaYfGNBAQsIxhgTUPBBIV5AsK6wjTGFpqCDQryAMHGiXSNujCk8BRsU4gWEcePsXgRjTGEqyKBQVhZ72oAB1smdMaZw+RIUROSPIvKViLwbY3qViGwTkeXu65fZysusWVBf7z2tb197xrIxprD51ffRw8B04NE4aV5R1TOynZG5c73H9+1rdysbY4wvZwqquhCI0b2cv847L3qcBQRjjHGI+nQhvohUAvNVdZDHtCpgLrAO+ByYqqorYiynGqgGKC8vHzpnzpyk89DQ0EDXrl3561/78PDDlezcWcTo0Ru48cb3Uy1OmxEocyGxMhcGK3P6xo4du0xVj/OcqKq+vIBK4N0Y08qAru7w6cCHySxz6NChmoqampqU0ucDK3NhsDIXhkyVGViqMfarreLqI1XdrqoN7vBzQLGI9MpxtowxpuC0iqAgIr1FnDsHRGQYTr425TZXxhhTeHy5+khEHgeqgF4isg64CSgGUNUZwPnAFSLSCOwCLnJPcYwxxvjIl6CgqhcnmD4d55JVY4wxOdQqqo+MMca0DhYUjDHGBPl2n0I2iMgGYE0Ks/QCNmYpO62VlbkwWJkLQ6bK3FdVD/Sa0KaDQqpEZKnGumEjT1mZC4OVuTD4UWarPjLGGBNkQcEYY0xQoQWFWbnOQA5YmQuDlbkwZL3MBdWmYIwxJr5CO1MwxhgThwUFY4wxQQUTFETk2yLyvoisFpHrcp2fTBCRQ0SkRkRWicgKEbnKHd9DRP4hIh+67weEzHO9+x28LyLjc5f7lhGRIhF5U0Tmu5/zuswi0l1EnhaR99zfe2QBlPk/3e36XRF5XEQ65VuZvR5VnE4ZRWSoiLzjTrs30MFoWmL1qZ1PL6AI+Ag4DOgAvAUMzHW+MlCuPsCx7nAp8AEwELgLuM4dfx0wzR0e6Ja9I9DP/U6Kcl2ONMv+U+B/cR7cRL6XGXgE+LE73AHons9lBg4GPgE6u5+fBCbnW5mBMcCxhDxrJp0yAkuAkYAAzwOnpZunQjlTGAasVtWPVXUvMAc4K8d5ajFVXa+qb7jD9cAqnD/TWTg7Edz3s93hs4A5qrpHVT8BVuN8N22KiFQAE4A/hIzO2zKLSBnOzuNBAFXdq6pbyeMyu9oDnUWkPVCC81TGvCqzej+qOKUyikgfoExV69SJEI+GzJOyQgkKBwNrQz6vc8flDfdxp8cArwPlqroenMABHOQmy5fv4R7gGmB/yLh8LvNhwAbgIbfK7A8i0oU8LrOq/gv4LfAZsB7YpqoLyOMyh0i1jAe7w5Hj01IoQcGrfi1vrsUVka44z7i+WlW3x0vqMa5NfQ8icgbwlaouS3YWj3Ftqsw4R8zHAg+o6jHADpxqhVjafJndevSzcKpJvgZ0EZFJ8WbxGNemypyEWGXMaNkLJSisAw4J+VyBcyra5olIMU5AeExV57mjv3RPKXHfv3LH58P3cAJwpoh8ilMNeJKIzCa/y7wOWKeqr7ufn8YJEvlc5lOAT1R1g6ruA+YBo8jvMgekWsZ17nDk+LQUSlD4J9BfRPqJSAfgIuDZHOepxdwrDB4EVqnq3SGTngW+7w5/H/hLyPiLRKSjiPQD+uM0ULUZqnq9qlaoaiXO7/iyqk4iv8v8BbBWRL7hjjoZWEkelxmn2miEiJS42/nJOG1m+VzmgJTK6FYx1YvICPe7ujRkntTluvXdx1b+03GuzvkIuDHX+clQmUbjnCa+DSx3X6cDPYGXgA/d9x4h89zofgfv04IrFFrDC+cRr4Grj/K6zMAQYKn7Wz8DHFAAZb4FeA94F/gTzlU3eVVm4HGcNpN9OEf8P0qnjMBx7vf0Ec5TLCXdPFk3F8YYY4IKpfrIGGNMEiwoGGOMCbKgYIwxJsiCgjHGmCALCsYYY4IsKBhjjAmyoGCMMSbIgoIxGeQ+3+JUd/jXInJvrvNkTCra5zoDxuSZm4BbReQgnF5rz8xxfoxJid3RbEyGicj/AV2BKnWec2FMm2HVR8ZkkIgchfNEvD0WEExbZEHBmAxxuzl+DOc5ADvaynOCjQllQcGYDBCREpw+/3+mqquAXwE35zRTxqTB2hSMMcYE2ZmCMcaYIAsKxhhjgiwoGGOMCbKgYIwxJsiCgjHGmCALCsYYY4IsKBhjjAn6/8cxMbzJDSYRAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Condition limite amont\n",
    "hA=yCoursier[-1]\n",
    "# résolution avec un pas delta_x de 25 cm\n",
    "xi=xA;xf = xB; DeltaX = .25; N = int((xf - xi)/DeltaX);\n",
    "xSuper = np.linspace(xi,xf,N+1); y0 = hA;\n",
    "\n",
    "ySuper = BesseEuler(xSuper,y0,i2,hn2,hc1)\n",
    "plt.plot(xSuper,ySuper,'b.-'), plt.grid(True)\n",
    "plt.plot(xSuper,hc2*np.ones(len(xSuper)),'r--')\n",
    "plt.plot(xSuper,hn2*np.ones(len(xSuper)),'g-.')\n",
    "plt.xlabel(\"$x$\")\n",
    "plt.ylabel(\"$h(x)$\")\n",
    "plt.title(\"branche supercritique dans le canal\"), plt.legend([\"Euler ordre 1\",\"h_c\",\"h_n\"])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "620522fc",
   "metadata": {},
   "source": [
    "Manifestement il y a un souci... C'est normal : lorsque $h$ s'approche de la hauteur critique $h_c$, le dénominateur tend vers 0, et donc $F(h)\\to\\infty$. Il y a une singularité dans la courbe de remous qui est due à la présence d'un ressaut hydraulique. On ne va donc conserver que la première partie de la solution où $h<h_c$ (rappel $h_c=2{,}2$ m)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "c55ee49e",
   "metadata": {},
   "outputs": [],
   "source": [
    "xSuper=xSuper[ySuper<2.2]\n",
    "ySuper=ySuper[ySuper<2.2]\n",
    " "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7ea0db34",
   "metadata": {},
   "source": [
    "## Courbe de remous dans le canal : branche subcritique\n",
    "On va maintenant examiner l'autre branche, la branche subcritique. Pour résoudre l'équation de Besse, il faut maintenant une condition aux limites fixée à l'aval. Pour connaître cette condition, nous devons estimer la hauteur au point B, plus exactement dans le voisinage immédiat à l'amont de B (seuil). Pour cela, on va calculer la charge hydraulique en B\n",
    "$$\n",
    "H_B =p+h+\\frac{u^2}{2g} = p+h+\\frac{q^2}{2gh^2}\n",
    "$$\n",
    "puisque $u=q/h$. La hauteur au-dessus du seuil est la hauteur critique, donc en B \n",
    "$$\n",
    "h=h_c= \\sqrt[3]{\\frac{q^2}{g}}\n",
    "\\text{ ou bien }\n",
    "q^2=gh^3.\n",
    "$$\n",
    "La charge en B est donc\n",
    "$$\n",
    "H_B =p+h+\\frac{u^2}{2g} = p+\\frac{3}{2}h_c=p+\\frac{3}{2}\\sqrt[3]{\\frac{q^2}{g}}.\n",
    "$$\n",
    "On calcule cette charge. Puis après cela, on se place juste à l'amont du point B. Sur de courbes distances, la charge hydraulique ne varie pas, mais la cote du lit passe de $p$ à 0, et la hauteur passe de $h_c$ à une nouvelle hauteur que l'on va appeler (un peu improprement) $h_B$\n",
    "$$\n",
    "H_B=0+h_B+\\frac{q^2}{2gh^2_B}.\n",
    "$$\n",
    "C'est un polynôme de degré 3 en $h_B$ :\n",
    "$$\n",
    " h_B^3-H_Bh^2_B+\\frac{q^2}{2g}=0\n",
    "$$\n",
    "On se sert de la fonction roots de la bibliothèque numpy pour trouver les racines de cette équation. Il y en a trois, mais une seule racine est réelle, positive, et associée à un régime subcritique ($h>h_c$)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "0a9409be",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Charge hydraulique en B :  3.75 m\n",
      "solutions possibles pour les hauteurs :  [3.28 1.51 -1.03]  m\n"
     ]
    },
    {
     "data": {
      "image/png": "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69p1O59/Dup12PIsXbqUo48+uuL9l19+ibtTUFAAwKmnnspLL70EhPaDAQMGVBz79ttvU1hYCMD8+fMZM2ZMGiNvuVJeQnD3z8xstZkd6e5/B0YB79Q47Clgipk9QmhM3qj2A2kO3btvxx3WroWDDsp0NNIYs2bNqva+a9eurF27tuL9lClTuPXWWxk2bBi33HJLtWM/+OCDitcPP/wwv/rVr1IbbI5IVy+jHwOzEj2MPgAuNLPJAO4+A3iW0OX0PUK30wvTFJfkuK5dtwGwZo0SQq4ZOHAgI0eOrBiYVpvt27dz1llnceSRR6YxspYrLQnB3ZcAQ2psnlFlvwOXpSMWiZbu3UOHtk9V3sxJF110Ub2Nq23atGHChAlpjKhl00hlyWnduoWEsEYtUiJ7pIQgOW2//bZjphKCSEMoIUhOa93a2X9/lRBEGkIJQXLeQQephCDSEEoIkvPatYPXX2/eWThFcpESguS0Zcs6sWhRqDIaNUpJoSX57LPPGD9+PIceeihHH300Y8aM4d1336WkpISxY8dmOryMu+6665g3bx4AxcXFLF68uMnn1JrKktOWLOlSMQtncilNLZaT/dyd7373u/zLv/wLjzzyCABLlizh888/b/K5y8vLad265d/6brjhhmY/p0oIktOKijaQ/H8/P19LabYU8+fPJz8/n8mTJ1dsKyoq4oQTTgDCBH7jxo3jm9/8JhdffDFhKFO4SR577LEUFhYyadKkiu3FxcX89Kc/5aSTTuK2225j0aJFDBgwgFgsxpVXXlkxzcXOnTu58sorOfbYYxkwYAB33313rfGdddZZDB48mH79+jFz5syK7R06dKh4PXv2bCZOnLjbZ//yl79QVFREUVERAwcOrBhH8Zvf/Kbie3/+858DsGrVqorYAG6++Wauv/56ACZOnMjs2bMb9e+6Jy0/TYrUo1+/r/g//wcuvxxuu02lg71V22R55557LpdeeimbN2+uda6giRMnMnHiRNatW8e4ceOq7dvTDJxvv/02gwcPrnP/G2+8wbJlyzjooIMYPnw4L7/8MscffzxTpkzhuuuuA+CCCy5gzpw5fPvb3wZgw4YN/OUvfwGgsLCQmTNnctxxx3HNNddUnPe+++6jc+fOLFq0iG3btjFixAhOPfVU+vTpU+3777//frp27cqWLVs49thjOeecc+jWrVu915R0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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Charge en B\n",
    "Hb=p+q**(2/3)*1.5/g**(1/3)\n",
    "print(f\"Charge hydraulique en B : {Hb: .3} m\")\n",
    "coefs=[1,-Hb,0,q**2/g/2]\n",
    "# Hauteurs possibles à l'amont du seuil\n",
    "sol=np.roots(coefs)\n",
    "np.set_printoptions(suppress = True,\n",
    "   formatter = {'float_kind':'{:0.2f}'.format})\n",
    "print(\"solutions possibles pour les hauteurs : \", sol,\" m\")\n",
    "\n",
    "h = np.linspace(1,4,100) \n",
    "H = h+(q/h)**2/2/g\n",
    "plt.plot(h,H,'b.-'), plt.grid(True)\n",
    "plt.plot(h,Hb*np.ones(len(h)),'k--')\n",
    "plt.xlabel(\"$h$\")\n",
    "plt.ylabel(\"$H$\")\n",
    "plt.title(\"Charge $H(h)$ en B\"), plt.legend([\"$H(h)$\",\"Charge au seuil\"])\n",
    "plt.scatter(sol,Hb*np.ones(3),color='r')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "514c0eb0",
   "metadata": {},
   "source": [
    "On voit que seule la première racine $h_B=3{,}28$ m satisfait à ces conditions. Cela sera la condition limite à l'aval que l'on va utiliser pour résoudre l'équation de Besse. On voit qu'en intégrant l'équation de Besse dans le sens inverse de l'écoulement (donc de la droite vers la gauche), la hauteur $h(x)$ tend vers la hauteur normale $h_n$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "7e003148",
   "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"
    }
   ],
   "source": [
    "hB=sol[0]\n",
    "# paramètres de l'équation de Besse (on résout de la droite vers la gauche)\n",
    "xi = xB; xf=xA;DeltaX = .25; N = int(-(xf - xi)/DeltaX);\n",
    "xSub = np.linspace(xi,xf,N+1); y0 = hB;\n",
    "\n",
    "ySub = BesseEuler(xSub,y0,i2,hn2,hc1)\n",
    "plt.plot(xSub,ySub,'b.-'), plt.grid(True)\n",
    "plt.plot(xSub,hn2*np.ones(len(xSub)),'g-.')\n",
    "plt.xlabel(\"$x$\")\n",
    "plt.ylabel(\"$h(x)$\")\n",
    "\n",
    "plt.title(\"branche subcritique dans le canal\"), plt.legend([\"Euler ordre 1\",\"hn\"])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "af394602",
   "metadata": {},
   "source": [
    "## Position du ressaut\n",
    "On va maintenant positionner le ressaut. Pour cela, on se sert de la méthode de la courbe conjuguée : on calcule la conjuguée de la branche supercritique, puis on détermine le point d'intersection D de cette conjuguée et de la branche subcritique."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "cd0efb8c",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "# définition de la courbe conjuguée\n",
    "def conjugaison(h,q):\n",
    "    y = 0.5*h*(np.sqrt(8*(q/h**1.5/np.sqrt(g))**2+1)-1)\n",
    "    return y\n",
    "\n",
    "yConj=conjugaison(ySuper,q)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "b3a7d114",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "position du ressaut :  39.1 m\n",
      "hauteur aval du ressaut :  2.73 m\n",
      "hauteur amont du ressaut :  1.69 m\n"
     ]
    }
   ],
   "source": [
    "# polylignes représentant les branches subcritique et conjuguée\n",
    "brancheSub=LineString(np.column_stack((xSub,ySub)))\n",
    "brancheCon=LineString(np.column_stack((xSuper,yConj)))\n",
    "inter=brancheSub.intersection(brancheCon)\n",
    "xD, yD=inter.xy \n",
    "print(f\"position du ressaut : {xD[0]: .3} m\")\n",
    "print(f\"hauteur aval du ressaut : {yD[0]: .3} m\")\n",
    "print(f\"hauteur amont du ressaut : {ySuper[(xSuper <xD[0])][-1]: .3} m\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1813226d",
   "metadata": {},
   "source": [
    "On peut maintenant tracer la solution. On ne reporte ici que les cent premiers mètres."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "2feb1789",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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fvppevToQc+ePRk9ejQAa9euZfDgwfTo0YPBgwezbt06AMaMGcPs2bNLx5b8x5+Tk8OgQYMYNWoU3bt3B6CoqIjrr7+eHj16MGLECHbv3g3A4sWLGThwIFlZWZx//vls3LjxoJhWr15N//79Of3007njjjsOaLv33ns5/fTT6dGjB3feeWfcnFq2bMkvfvEL+vXrx3vvvcf06dPp27cvvXr14vrrry8tIC1btuRnP/sZWVlZnHPOOSxcuJDs7GxOOukk5s6dCwQHIfzgBz+ge/fu9O7dm/nz5wMwbdo0brzxxtJlDhs2jJycHIqLixkzZgzdunWje/fu3H///dE/hAj18dDZ/wJej3nvwFtm5sBj7l5+raOUmY0FxgJkZGSQk5NTowAKCgpqPLahUs6pIV7OrVu3ZufOnQAUFh5KcXHt/g9ZWLifnTu/qrA9Ly+Pu+++m7fffps2bdqwdetWdu7cybhx47jsssu46qqreOaZZxg/fjwzZ85k37597NmzpzRmCA4V3b17NwsXLuT9998nMzOTtWvXsnLlSiZPnsyAAQMYP348999/PzfccAPjx49n1qxZtG3bljlz5vDTn/6URx555IC4JkyYwJgxYxg1ahRTpkwpXc68efP46KOPmDdvHu7OFVdcwRtvvMGAAQMOGL9r1y46derEO++8w8qVK5kxYwZvvPEG6enp3HTTTTz++OOMGjWKXbt20bdvX26//XZGjRrFLbfcwgsvvMDHH3/MuHHjGDRoEH/4wx/Yt28fCxYs4JNPPuGiiy5iyZIl7N27l8LCwtLPoqioiN27d5Obm8u6det47733ANi2bdsBnxcEBahav//unpAHkAksj+gzCMgD2sRMOy58PgZYCpxdleVlZWV5Tc2fP7/GYxsq5Zwa4uX80UcfJT6QGA8++KDfdtttB01v06aNFxYWurt7YWGht2nTxt3dr776an/++edL+7Vo0cLdg9yys7NLp69evdo7dOjgO3bscHf3efPm+fDhw33ZsmXeqlUr79mzp/fs2dO7devm55577kHLP+qoo0qXv3379tLlTJo0yU888cTS8Z06dfLHH3/8oPFpaWleVFTk7u5/+MMf/Nhjjy0d06VLF7/zzjvd3b1p06a+f/9+d3e/4447/J577nF39+LiYm/durW7u1900UU+b9680nmfddZZvnTpUn/yySd9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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "xlim=100\n",
    "NewXSuper=xSuper[xSuper<xD[0]]\n",
    "NewYSuper=ySuper[xSuper<xD[0]]\n",
    "\n",
    "NewXSub=xSub[(xSub>=xD[0])&(xSub<xlim)]\n",
    "NewYSub=ySub[(xSub>=xD[0])&(xSub<xlim)]\n",
    "\n",
    "yRessaut=np.arange(NewYSuper[-1],yD[0],.1)\n",
    "xRessaut=xD[0]*np.ones(len(yRessaut))\n",
    "\n",
    "xhc=np.arange(0,xlim,1)\n",
    "yhc=hc1*np.ones(len(xhc))\n",
    "\n",
    "plt.plot(xCoursier,yCoursier,'b-'), plt.grid(True)\n",
    "plt.plot(xhc,yhc,'r--')\n",
    "plt.plot(xCoursier,hn1*np.ones(len(xCoursier)),'g-.')\n",
    "\n",
    "plt.title(\"courbe de remous\"), plt.legend([\"courbe de remous\",\"hc\",\"hn\"])\n",
    "\n",
    "plt.plot(NewXSuper,NewYSuper,'b-')\n",
    "plt.plot(NewXSub,NewYSub,'b-')\n",
    "plt.plot(xRessaut,yRessaut,'b-')\n",
    "\n",
    "plt.plot(NewXSuper,hn2*np.ones(len(NewXSuper)),'g-.')\n",
    "plt.xlabel(\"$x$\")\n",
    "plt.ylabel(\"$h(x)$\")\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "87069cd0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.6860073430150146"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d935298f",
   "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.9.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
