{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# First GPU modelling" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook illustrates the main steps involved in setting up a 2D model using the 'wolfgpu' code.\n", "\n", "The steps are not fixed in their order of appearance. Modellers are free to reorganise them as they see fit.\n", "\n", "This notebook is not intended as an introduction to Python or the Jupyter Notebook. For general information, read the extensive documentation on the internet : \n", " \n", " - https://jupyter.org/try-jupyter/notebooks/?path=notebooks/Intro.ipynb\n", " - https://www.python.org/about/gettingstarted/\n", " - https://codefinity.com/start/v8\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Importing useful modules" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from os import getcwd, chdir\n", "from os.path import join\n", "from pathlib import Path\n", "from tempfile import TemporaryDirectory\n", "\n", "import numpy as np\n", "\n", "import matplotlib.pyplot as plt\n", "\n", "# WOLF GPU\n", "from wolfgpu.simple_simulation import BoundaryConditionsTypes, SimpleSimulation, Direction\n", "from wolfgpu.glsimulation import SimulationDuration\n", "\n", "# WOLF HECE\n", "from wolfhece.wolf_array import WolfArray, WOLF_ARRAY_FULL_SINGLE, WOLF_ARRAY_FULL_INTEGER, header_wolf\n", "from wolfhece.wolf_vrt import *\n", "from wolfhece.pywalous import *\n", "from wolfhece.pydownloader import toys_dataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Current working directory" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "C:\\Users\\pierre\\AppData\\Local\\Temp\\tmpvfu7099e\n" ] } ], "source": [ "tmpdir = TemporaryDirectory()\n", "chdir(tmpdir.name)\n", "print(getcwd())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Simulation directories" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Use of pathlib to manage access paths - more flexible than OS.Path\n", "dir_sim = Path(tmpdir.name) / \"sample_simulation\"\n", "\n", "# Creation of the simulation directory, if necessary\n", "dir_sim.mkdir(exist_ok=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## GPU simulation - Preparation\n", "\n", "Via a \"SimpleSimulation\" object\n", "\n", "Required data :\n", " - topo-bathymetry\n", " - friction matrix - \"n\" manning\n", " - Infiltration matrix - zoning\n", " - Initial conditions (H, QX, QY)\n", " - Boundary conditions - mesh edges\n", " - Calculation mask matrix (here built on the basis of the topo-bathymetry mask)-1 = to calculate; 0 not to calculate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Topo-Bathymetry" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "bathy = WolfArray(toys_dataset(\"GPU_for_dummies_data\", \"bathy_topo.tif\"))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# We hide the values ​​at 99999.\n", "# This is necessary for the NAP matrix to be properly built later\n", "bathy.array[bathy.array.data == 0.] = 99999.\n", "bathy.nullvalue = 99999.\n", "bathy.mask_data(99999.)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape : 1644 x 1986 \n", "Resolution : 2.0 x 2.0 \n", "Spatial extent : \n", " - Origin : (233257.0 ; 133380.0) \n", " - End : (236545.0 ; 137352.0) \n", " - Width x Height : 3288.0 x 3972.0 \n", " - Translation : (0.0 ; 0.0)\n", "Null value : 99999.0\n", "\n", "\n" ] } ], "source": [ "print(bathy)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(
, )" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "bathy.plot_matplotlib()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Friction coefficients matrix" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "manning = WolfArray(toys_dataset(\"GPU_for_dummies_data\",\"manning.tif\"))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape : 1644 x 1986 \n", "Resolution : 2.0 x 2.0 \n", "Spatial extent : \n", " - Origin : (233257.0 ; 133380.0) \n", " - End : (236545.0 ; 137352.0) \n", " - Width x Height : 3288.0 x 3972.0 \n", " - Translation : (0.0 ; 0.0)\n", "Null value : 0.0\n", "\n", "\n" ] } ], "source": [ "print(manning)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(
, )" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "manning.plot_matplotlib()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Hydraulic variables" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape : 1644 x 1986 \n", "Resolution : 2.0 x 2.0 \n", "Spatial extent : \n", " - Origin : (233257.0 ; 133380.0) \n", " - End : (236545.0 ; 137352.0) \n", " - Width x Height : 3288.0 x 3972.0 \n", " - Translation : (0.0 ; 0.0)\n", "Null value : 0.0\n", "\n", "\n" ] } ], "source": [ "# Creation of Wolf matrices of water depths and specific discharges according to X and Y\n", "h = WolfArray(srcheader=bathy.get_header())\n", "qx = WolfArray(srcheader=bathy.get_header())\n", "qy = WolfArray(srcheader=bathy.get_header())\n", "\n", "# set to 0. or other... as required\n", "h.array[:,:] = 0.\n", "qx.array[:,:] = 0.\n", "qy.array[:,:] = 0.\n", "\n", "print(h)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Infiltration\n", "\n", "**Note**: this matrix is in 32-bit integer format (np.int32)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape : 1644 x 1986 \n", "Resolution : 2.0 x 2.0 \n", "Spatial extent : \n", " - Origin : (233257.0 ; 133380.0) \n", " - End : (236545.0 ; 137352.0) \n", " - Width x Height : 3288.0 x 3972.0 \n", " - Translation : (0.0 ; 0.0)\n", "Null value : 0.0\n", "\n", "\n" ] } ], "source": [ "inf = WolfArray(whichtype=WOLF_ARRAY_FULL_INTEGER, srcheader=bathy.get_header())\n", "inf.array[:,:] = 0\n", "\n", "# For infiltration zones :\n", "inf.array[1619,340:413] = 1\n", "\n", "print(inf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Saving of matrices\n", "\n", "This step is not **compulsory** if the matrices are generated with each execution" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "h.write_all(dir_sim / 'simul.hbin')\n", "qx.write_all(dir_sim / 'simul.qxbin')\n", "qy.write_all(dir_sim / 'simul.qybin')\n", "inf.write_all(dir_sim / 'simul.inf')\n", "bathy.write_all(dir_sim / 'simul.top')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Creation of the SimpleSimulation Instance\n", "\n", "Stages :\n", " 1. Instantiate an object\n", " 1. (optional) Add a comment\n", " 1. Adjust the parameters\n", " - param_nx, param_ny : cells according to x and y\n", " - param_dx, param_dy : resolution/cell-size of the problem according to x and y\n", " - param_duration : Modeling duration (use of the \"SimulationDuration\" type)\n", " 1. Creation of a mask matrix (nap) -- type : np.uint8 -- any non-zero value will be **calculated** if the hydraulic conditions allow\n", " 1. Association of matrices **NUMPY** - Only the data and not the object \"np.ma\"" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "simul = SimpleSimulation()\n", "\n", "simul.comment = 'Sample simulation tutorial 1'\n", "\n", "simul.param_nx, simul.param_ny = bathy.nbx, bathy.nby\n", "simul.param_dx, simul.param_dy = bathy.dx, bathy.dy\n", "simul.param_base_coord_ll_x, simul.param_base_coord_ll_y = bathy.origx, bathy.origy\n", "\n", "simul.param_duration = SimulationDuration.from_seconds(int(1*3600)) # 1 hour" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "# Computation mask\n", "# --> Here, we rely on the masking of the Bathymetric Data\n", "shape = (simul.param_nx, simul.param_ny)\n", "simul.nap = np.zeros(shape, dtype=np.uint8) # Initialization with 0\n", "simul.nap[:,:] = ~bathy.array.mask # Set to 1 the non-masked cells in the topo-bathymetry" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# The matrices are shared between the SimpleSimulation class and WolfArray\n", "simul.h = h.array.data\n", "simul.qx = qx.array.data\n", "simul.qy = qy.array.data\n", "simul.bathymetry = bathy.array.data\n", "simul.manning = manning.array.data\n", "simul.infiltration_zones = inf.array.data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Imposing Boundary conditions (B/C)\n", "\n", "Types of B/C (ref. Enum \"BoundaryConditionsTypes\"):\n", " - H : Free surface altitude [$m$]\n", " - QX : discharge according to x [$m^3/s$]\n", " - QY : discharge according to y [$m^3/s$]\n", " - NONE : none\n", " - FROUDE_NORMAL : Froude normal at the boundary - In reality, altitude calculated on the basis of the normal flow and desired value of Froude number\n", "\n", "To impose a B/C on a mesh edge, it's necessary to:\n", " - Indicate the indices (i, j) of the edge concerned\n", " - Provide the type \"bc_type\" and the value \"bc_value\"\n", " - Indicate on which side (of the cell/mesh) to work (see Enum \"Direction\")\n", " - LEFT\n", " - BOTTOM\n", " - X\n", " - Y\n", "\n", "Since you can only choose between Left and Bottom, it means that you have to give them\n", "indices of the cell located on the right/top of the edge concerned,\n", "Even if this cell is not part of the calculation area.\n", "\n", "The **indexing convention** is the one used in the matrices provided, i.e. i varies according to X and j varies according to Y with the element [1,1] as the first element on the bottom left.\n", "\n", "**Note**:\n", " - B/C edge indices are \"1-based\" for compatibility with other versions of WOLF.\n", " - As a reminder, Python is 0-based\n", " - it is also possible to retrieve the script lines **generated by the graphical interface** and paste them here\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Via the wolf GUI:\n", "- add the topographic-bathymetric matrix (if necessary, adjust the NullValue to 99999 to obtain the correct domain)\n", "- create a GPU version B/C manager (File/Create.../ Create BC manager Wolf2D... -> GPU)\n", "- select the edges and choose the B/C type\n", "- copy the script lines (click the \"Copy script to clipboard\" button)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "simul.clear_boundary_conditions()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "# Definition of boundary conditions generated using wolf_gui -> Boundary Conditions Manager\n", "\n", "simul.add_boundary_condition(i=220, j=1852,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=221, j=1853,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=223, j=1854,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=225, j=1855,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=226, j=1856,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=228, j=1857,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=230, j=1858,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=231, j=1859,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=233, j=1860,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=235, j=1861,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=236, j=1862,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=238, j=1863,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=240, j=1864,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=241, j=1865,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=243, j=1866,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=244, j=1867,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=246, j=1868,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=248, j=1869,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=249, j=1870,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=251, j=1871,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=253, j=1872,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=254, j=1873,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=256, j=1874,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=258, j=1875,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=259, j=1876,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=261, j=1877,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=262, j=1878,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=264, j=1879,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=266, j=1880,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=267, j=1881,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=269, j=1882,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=271, j=1883,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=272, j=1884,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=274, j=1885,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=276, j=1886,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=277, j=1887,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=279, j=1888,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=281, j=1889,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=282, j=1890,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=284, j=1891,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=285, j=1892,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=287, j=1893,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=289, j=1894,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=290, j=1895,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=292, j=1896,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=294, j=1897,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=295, j=1898,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=297, j=1899,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=299, j=1900,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=300, j=1901,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=302, j=1902,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=303, j=1903,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=305, j=1904,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=307, j=1905,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=308, j=1906,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=310, j=1907,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=312, j=1908,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=313, j=1909,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=315, j=1910,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=317, j=1911,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=318, j=1912,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=320, j=1913,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=322, j=1914,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=323, j=1915,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=325, j=1916,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=326, j=1917,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=328, j=1918,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=330, j=1919,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=331, j=1920,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=333, j=1921,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=335, j=1922,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=336, j=1923,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=338, j=1924,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=340, j=1925,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=341, j=1926,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=343, j=1927,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=345, j=1928,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=346, j=1929,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=348, j=1930,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=349, j=1931,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=351, j=1932,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=353, j=1933,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=354, j=1934,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=356, j=1935,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=358, j=1936,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=359, j=1937,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=361, j=1938,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=363, j=1939,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=364, j=1940,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=366, j=1941,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=367, j=1942,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=369, j=1943,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=371, j=1944,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=372, j=1945,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.LEFT)\n", "simul.add_boundary_condition(i=218, j=1852,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=219, j=1852,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=220, j=1853,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=221, j=1854,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=222, j=1854,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=223, j=1855,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=224, j=1855,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=225, j=1856,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=226, j=1857,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=227, j=1857,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=228, j=1858,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=229, j=1858,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=230, j=1859,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=231, j=1860,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=232, j=1860,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=233, j=1861,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=234, j=1861,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=235, j=1862,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=236, j=1863,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=237, j=1863,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=238, j=1864,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=239, j=1864,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=240, j=1865,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=241, j=1866,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=242, j=1866,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=243, j=1867,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=244, j=1868,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=245, j=1868,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=246, j=1869,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=247, j=1869,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=248, j=1870,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=249, j=1871,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=250, j=1871,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=251, j=1872,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=252, j=1872,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=253, j=1873,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=254, j=1874,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=255, j=1874,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=256, j=1875,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=257, j=1875,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=258, j=1876,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=259, j=1877,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=260, j=1877,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=261, j=1878,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=262, j=1879,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=263, j=1879,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=264, j=1880,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=265, j=1880,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=266, j=1881,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=267, j=1882,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=268, j=1882,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=269, j=1883,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=270, j=1883,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=271, j=1884,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=272, j=1885,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=273, j=1885,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=274, j=1886,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=275, j=1886,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=276, j=1887,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=277, j=1888,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=278, j=1888,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=279, j=1889,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=280, j=1889,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=281, j=1890,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=282, j=1891,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=283, j=1891,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=284, j=1892,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=285, j=1893,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=286, j=1893,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=287, j=1894,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=288, j=1894,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=289, j=1895,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=290, j=1896,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=291, j=1896,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=292, j=1897,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=293, j=1897,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=294, j=1898,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=295, j=1899,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=296, j=1899,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=297, j=1900,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=298, j=1900,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=299, j=1901,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=300, j=1902,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=301, j=1902,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=302, j=1903,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=303, j=1904,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=304, j=1904,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=305, j=1905,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=306, j=1905,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=307, j=1906,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=308, j=1907,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=309, j=1907,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=310, j=1908,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=311, j=1908,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=312, j=1909,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=313, j=1910,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=314, j=1910,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=315, j=1911,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=316, j=1911,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=317, j=1912,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=318, j=1913,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=319, j=1913,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=320, j=1914,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=321, j=1914,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=322, j=1915,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=323, j=1916,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=324, j=1916,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=325, j=1917,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=326, j=1918,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=327, j=1918,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=328, j=1919,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=329, j=1919,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=330, j=1920,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=331, j=1921,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=332, j=1921,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=333, j=1922,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=334, j=1922,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=335, j=1923,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=336, j=1924,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=337, j=1924,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=338, j=1925,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=339, j=1925,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=340, j=1926,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=341, j=1927,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=342, j=1927,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=343, j=1928,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=344, j=1928,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=345, j=1929,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=346, j=1930,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=347, j=1930,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=348, j=1931,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=349, j=1932,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=350, j=1932,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=351, j=1933,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=352, j=1933,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=353, j=1934,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=354, j=1935,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=355, j=1935,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=356, j=1936,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=357, j=1936,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=358, j=1937,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=359, j=1938,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=360, j=1938,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=361, j=1939,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=362, j=1939,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=363, j=1940,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=364, j=1941,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=365, j=1941,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=366, j=1942,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=367, j=1943,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=368, j=1943,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=369, j=1944,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=370, j=1944,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=371, j=1945,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=372, j=1946,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n", "simul.add_boundary_condition(i=373, j=1946,bc_type=BoundaryConditionsTypes.FROUDE_NORMAL, bc_value=0.3, border=Direction.BOTTOM)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Adding a hydrograph for the infiltration zone(s)\n", "\n", "It is necessary to use the \"add_infiltration\" routine which expects a time in seconds and a python list with as much value as areas (here -> 1)." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "simul.clear_infiltration_chronology() # to be on the safe side, you can start by deleting the infiltration chronologies\n", "\n", "simul.add_infiltration(0., [610.])\n", "simul.add_infiltration(100000000., [610.])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Verification" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(0.0, [610.0]), (100000000.0, [610.0])]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "simul._infiltrations_chronology" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Simple but customisable graphic..." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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0eYW0s7UTs2RNpFpM9qqVatstFnXrl2lRYsWMRoZBgAAkr+QC0H33nuvTJ06Vb777jspW7asvP/++/Lpp5/avD8qVapU8ueff0rTpk1tvqBGjRrJP//8Y0Pqy5Qp493PhAkTbEJFHTKvQ+Nr165tYQoAACAk5wkKFcwTBABA0pOk5wkCAABICIQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSoQgAADgSkEJQVevXpUDBw7Itm3b5MSJE3He36FDh6R169aSI0cOSZcunZQrV07WrFnjva+33nrLlmXIkEHy5csnbdq0kcOHD/vtQ8vRqlUryZw5s2TNmlXatWsn586di3PZAACAy0PQ2bNnZeTIkXL//fdb0ChYsKCUKlVKcuXKJZGRkdKhQwdZvXp1rPd78uRJqVWrlqROnVpmzZolW7ZskWHDhkm2bNls/YULF2TdunXyzjvv2M8pU6ZY+HriiSf89qMBaPPmzTJ37lyZMWOGLF68WDp27HinDxcAACQzKTwejye2f/Txxx/Lhx9+KEWKFJFGjRpJ1apVrUZGa220BmbTpk2yZMkS+emnn6RatWoyYsQIKVasWIz23atXL1m2bJn9fUxp2NIy7Nu3TwoUKCBbt26V0qVL2/IqVarYNrNnz5aGDRvKwYMHray3c+bMGcmSJYucPn3aQh4AAAh9sTl/h93JHWi40JqVMmXKRLleA8mLL74oo0aNkrFjx1qgiWkImjZtmtSvX1+aNWsmixYtkvz580vnzp2tZik6+kBTpEhhzV5q+fLl9rsTgFTdunUlZcqUsnLlSmnSpMlN+7h8+bLdfA8iAABIvu4oBH333Xcx2i48PFw6deoUq33v3r3bmtl69Oghffr0scDVrVs3SZMmjbRt2/am7S9d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AVm+fHmUIejy5ct28+1YFR80AJXuNyde9g0AQFKz5b36kj5NWNJtDluyZIn14alRo4Z3duhvvvnGhs7H1u7du2XkyJF2Vfo5c+bIyy+/LN26dZPx48fHeB9Hjx61K9hnzZrVb/ldd91l66IyaNAg603u3LQ2CgAAJF9xjl46G7Q2T7Vq1UrWr1/vrU3RJim9ovzMmTNjtb8bN25IlSpV7G+Vzjm0adMmGTVqlLRt21biS+/evaVHjx5+NUHxEYS02k9TLwAAEDsvJtkQ9MEHH1hAadOmjUycONG7XDs367rYyps3r5QuXdpvmfblic2lN/LkySNXrlyRU6dO+dUG6egwXReV8PBwu8U3bfdMrGo/AAAQxOawbdu2yX333XfTcm1S0hASWxqedJ++tm/fLpGRkTHeh17GQ0eX/frrr37l1Au/apMdAABAnKsktGZl586dUrBgQb/l2h+ocOHCsd6fDm2vWbOmNYc1b95cVq1aJaNHj7ab48SJExZodNi7ckKTlkVvGsDatWtnzVvZs2e3GSNfeeUVC0CJOTIMAACEEE8cDRw40FO6dGnPihUrPJkyZfIsWbLE89///teTK1cuz/Dhw+9on9OnT/eULVvWEx4e7ilZsqRn9OjRfuvHjh2rl/q46da/f3/vNhcvXvR07tzZky1bNk/69Ok9TZo08Rw5ciTGZTh9+rTtU38CAICkITbn7zhfO0z/XGttdHTVhQsXbJn2renZs6e8//77klRx7TAAAJKeBL2AqjZL3X333XLt2jVrFjt37px1bM6QIYMcOHDA5uZJighBAAAk7/N3nPsE6WzOR44ckdy5c/uN6vrnn39s3fXrzI4MAACS4eiw6CqStEYobdq0cd09AABAvLjjmiBnYkGd96Zfv36SPn167zqt/Vm5cqXcc889wSklAABAqIQgnR3aqQnauHGjXabCob9XqFDBOkcDAAAkqxC0YMEC+/nCCy/IZ599RudhAACQpMS5Y/TYsWODUxIAAIAEFLSLWG3ZssWGy+s1u3w98cQTwboLAACA0AlBu3fvliZNmli/IO0k7YwW098VQ+QBAECyHCL/6quv2nxAx48ftxFimzdvlsWLF0uVKlVk4cKFwSklAABAqNUELV++XObPny85c+aUlClT2q127dp2GY1u3bp5R5EBAAAkq5ogbe7KlCmT/a5ByLmye2Rk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XPn222/b771795bBgwdbKNIPSNWvXz8ZOXKkBRkdSfL5559bAPLt4Pzvf/9bIiIiZPv27fbBG0j7AaVKlUpy587t9201Q4YM8vjjj1uNU2RkpO3Xl458uXLlin1g63oAt3fu3Dl7v61du9Z++nKao7VDtdYYDxkyxLtOm571fbxy5Up7r8cEIQhAkla+fHnv7/qBmSNHDilXrpx3mTZTqePHj3s7OC9YsCDKvj36LTOqEHTx4kWrcvftvP3II49YsClcuLD1VdBbkyZNJH369N5t0qVLZz+dWigAt6dfJrQmSN+z2hwWFX1POR2iHU5gunHjhsQUzWEAkrTATpAaVHyXOcHF+WDUb5naV0eH1fretMNlYHOWQ2uW9ENXa3UcWvujzW06eiVv3rxW46S1Utrc5jhx4oT91DlMAPw/+j503ntKR1Hq71rDql9EWrVqJW3atJEpU6bYOm1WHjRokPz888+2/WOPPWbNYNocre9dfS9qP8CoamRvhRAEwFUqVaokmzdvloIFC1qnad+bNm9F5Z577rGfW7Zs8VseFhZmo1G0Sl6b23Sitvnz5/t1wL777rstRAEQvz51GlacwNKjRw/7Xb9MKO0ArSHo9ddflxIlStiACA09BQoUsPXar+/bb7+1SRb177QmVmtrtW+eUwMbEzSHAXCVLl262AgynWPkzTfflOzZs8vOnTttFNdXX311Ux8EpyZHw9PSpUu9gWjGjBmye/duqz3SkWkzZ8602ib9wHYsWbLEOmYD8KcjO2/VgVlrc99991273WpCUr3FBTVBAFxFOysvW7bM+hxoQNH+QzrEXofYBvYx8NW+fXuZMGGC9/+6vVbV6zfSUqVKyahRo6xprEyZMrb+0qVL9i3V6aANIPQwYzQAxIB2jtZankmTJkmNGjVuu72OSNNZcHUuEwChiZogAIgB7Wfwn//855aTKgZW5+ss0wBCFzVBAADAlagJAgAArkQIAgAArkQIAgAArkQIAgAArkQIAgAArkQIAgAArkQIAgAArkQIAgAArkQIAgAA4kb/H40eIBe7N0QoAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig_inf, ax_inf = simul.plot_infiltration(toshow=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Numerical parameters\n", "\n", "- Courant number (the code iterates explicitly in time according to a Runge-Kutta scheme, and is therefore subject to numerical stability conditions via the Courant number).\n", "- oscillations in the results and the appearance of a \"checkerboard\" pattern are signs of instability. The Courant number must therefore be reduced somewhat.\n", "- reporting period via the \"SimulationDuration\" type (in seconds/number of iterations)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "simul.param_courant = .4\n", "simul.param_report_period = SimulationDuration.from_seconds(300.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Checking for any configuration errors\n", "\n", "Not everything is tested, but it helps a lot with common errors." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "None\n" ] } ], "source": [ "ret = simul.check_errors()\n", "print(ret)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Saving the simulation in GPU format\n", "\n", "A simulation in \"SimpleSimulation\" format stores its basic data and parameters in a Numpy and JSON format.\n", "\n", "**Notes:**\n", " - Matrix in Numpy format - oriented Cartesian coordinates (X according to rows and Y according to columns)\n", " - JSON : text file with tags - https://en.wikipedia.org/wiki/JSON#:~:text=JSON%20(JavaScript%20Object%20Notation%2C%20pronounced,(or%20other%20serializable%20values)\n", " - the 'save' method must be given a path of type 'Path'.\n", " - if the directory does not exist, it is created" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "dir_sim_gpu = dir_sim / 'gpu'\n", "simul.save(dir_sim_gpu)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## GPU simulation - Execution" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is preferable to run the calculation via a command line by calling the executable \"wolfgpu\".\n", "\n", "Example : \"wolfgpu --quickrun .\" or \"wolfgpu --quickrun FullPathtoSimDir\"\n", "\n", "This way of proceeding allows you to exploit the full richness of command line parameterisation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cleanup temporary directory\n", "\n", "To avoid leaving temporary files on the disk, it is advisable to delete the temporary directory created at the beginning of the notebook." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "tmpdir.cleanup()" ] } ], "metadata": { "kernelspec": { "display_name": "python3.11", "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.9" } }, "nbformat": 4, "nbformat_minor": 2 }