.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples_tutorials/example_batch.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_tutorials_example_batch.py: ================================================================================ Batch ================================================================================ In this tutorial batch run is illustrated. River example is used as a basis for this tutorial. .. GENERATED FROM PYTHON SOURCE LINES 10-15 .. code-block:: default import matplotlib.pyplot as plt import numpy as np import freshkiss3d as fk .. GENERATED FROM PYTHON SOURCE LINES 16-21 Cases definition: -------------------- First of all cases need to be defined: .. GENERATED FROM PYTHON SOURCE LINES 22-30 .. code-block:: default cases = [3, 6, 9] PHY_PARAMS={'friction_law':'Navier', 'friction_coeff':1., 'horizontal_viscosity':0.1, 'vertical_viscosity':0.1} .. GENERATED FROM PYTHON SOURCE LINES 31-33 For any ``Problem`` input class we want to modify between cases, a list is created: .. GENERATED FROM PYTHON SOURCE LINES 34-44 .. code-block:: default simutime_l = [] layer_l = [] primitives_l = [] friction_l = [] viscosity_l = [] problem_l = [] triangular_mesh = fk.TriangularMesh.from_msh_file('../simulations/inputs/simple_canal.msh') .. GENERATED FROM PYTHON SOURCE LINES 45-48 Boundary conditions are statically defined in this example but they could have been changed as well. .. GENERATED FROM PYTHON SOURCE LINES 49-57 .. code-block:: default fluvial_flowrates = [fk.FluvialFlowRate(ref=1, flowrate=5., x_flux_direction=1.0, y_flux_direction=0.0)] fluvial_heights = [fk.FluvialHeight(ref=2, height=2.)] slide = [fk.Slide(ref=3), fk.Slide(ref=4)] .. GENERATED FROM PYTHON SOURCE LINES 58-62 Resolution: -------------------- We loop over cases: .. GENERATED FROM PYTHON SOURCE LINES 63-90 .. code-block:: default for C, NL in enumerate(cases): print(" ") print(" ") print(" SOLVING CASE {} ".format(C)) print(" ") print(" ") simutime_l.append(fk.SimuTime(final_time=1., time_iteration_max=100000)) layer_l.append(fk.Layer(NL, triangular_mesh, topography=0.)) primitives_l.append(fk.Primitive(triangular_mesh, layer_l[C], free_surface=2., QXinit=1.)) problem_l.append(fk.Problem(simutime=simutime_l[C], triangular_mesh=triangular_mesh, layer=layer_l[C], primitives=primitives_l[C], physical_parameters=PHY_PARAMS, slides=slide, fluvial_flowrates=fluvial_flowrates, fluvial_heights=fluvial_heights)) problem_l[C].solve() .. rst-class:: sphx-glr-script-out .. code-block:: none SOLVING CASE 0 =================================================================== | INITIALIZATION | =================================================================== Problem size: Nodes=625, Layers=3, Triangles=1042, Iter = 0 ; Dt = 0.0000s ; Time = 0.00s ; ETA = 0.00s =================================================================== | TIME LOOP | =================================================================== Iter = 10 ; Dt = 0.0021s ; Time = 0.02s ; ETA = 1.12s Iter = 20 ; Dt = 0.0021s ; Time = 0.04s ; ETA = 1.14s Iter = 29 ; Dt = 0.0022s ; Time = 0.06s ; ETA = 1.10s Iter = 38 ; Dt = 0.0022s ; Time = 0.08s ; ETA = 1.05s Iter = 48 ; Dt = 0.0022s ; Time = 0.10s ; ETA = 1.02s Iter = 57 ; Dt = 0.0022s ; Time = 0.12s ; ETA = 1.02s Iter = 67 ; Dt = 0.0022s ; Time = 0.14s ; ETA = 1.01s Iter = 76 ; Dt = 0.0022s ; Time = 0.16s ; ETA = 0.97s Iter = 86 ; Dt = 0.0022s ; Time = 0.19s ; ETA = 0.93s Iter = 95 ; Dt = 0.0022s ; Time = 0.20s ; ETA = 0.93s Iter = 105 ; Dt = 0.0022s ; Time = 0.23s ; ETA = 0.89s Iter = 114 ; Dt = 0.0022s ; Time = 0.25s ; ETA = 0.88s Iter = 124 ; Dt = 0.0021s ; Time = 0.27s ; ETA = 0.85s Iter = 133 ; Dt = 0.0021s ; Time = 0.29s ; ETA = 0.83s Iter = 143 ; Dt = 0.0021s ; Time = 0.31s ; ETA = 0.81s Iter = 152 ; Dt = 0.0021s ; Time = 0.33s ; ETA = 0.77s Iter = 162 ; Dt = 0.0021s ; Time = 0.35s ; ETA = 0.75s Iter = 171 ; Dt = 0.0021s ; Time = 0.37s ; ETA = 0.73s Iter = 181 ; Dt = 0.0021s ; Time = 0.39s ; ETA = 0.73s Iter = 190 ; Dt = 0.0021s ; Time = 0.41s ; ETA = 0.68s Iter = 200 ; Dt = 0.0021s ; Time = 0.43s ; ETA = 0.66s Iter = 209 ; Dt = 0.0021s ; Time = 0.45s ; ETA = 0.64s Iter = 219 ; Dt = 0.0021s ; Time = 0.47s ; ETA = 0.60s Iter = 228 ; Dt = 0.0021s ; Time = 0.49s ; ETA = 0.60s Iter = 238 ; Dt = 0.0021s ; Time = 0.51s ; ETA = 0.57s Iter = 247 ; Dt = 0.0021s ; Time = 0.53s ; ETA = 0.54s Iter = 257 ; Dt = 0.0021s ; Time = 0.55s ; ETA = 0.52s Iter = 267 ; Dt = 0.0021s ; Time = 0.57s ; ETA = 0.49s Iter = 276 ; Dt = 0.0021s ; Time = 0.59s ; ETA = 0.48s Iter = 286 ; Dt = 0.0021s ; Time = 0.61s ; ETA = 0.46s Iter = 295 ; Dt = 0.0021s ; Time = 0.63s ; ETA = 0.43s Iter = 305 ; Dt = 0.0021s ; Time = 0.65s ; ETA = 0.40s Iter = 314 ; Dt = 0.0021s ; Time = 0.67s ; ETA = 0.37s Iter = 324 ; Dt = 0.0021s ; Time = 0.70s ; ETA = 0.35s Iter = 333 ; Dt = 0.0021s ; Time = 0.71s ; ETA = 0.33s Iter = 343 ; Dt = 0.0021s ; Time = 0.74s ; ETA = 0.31s Iter = 353 ; Dt = 0.0021s ; Time = 0.76s ; ETA = 0.29s Iter = 362 ; Dt = 0.0021s ; Time = 0.78s ; ETA = 0.27s Iter = 372 ; Dt = 0.0021s ; Time = 0.80s ; ETA = 0.24s Iter = 381 ; Dt = 0.0021s ; Time = 0.82s ; ETA = 0.22s Iter = 391 ; Dt = 0.0021s ; Time = 0.84s ; ETA = 0.19s Iter = 401 ; Dt = 0.0021s ; Time = 0.86s ; ETA = 0.17s Iter = 410 ; Dt = 0.0021s ; Time = 0.88s ; ETA = 0.14s Iter = 420 ; Dt = 0.0021s ; Time = 0.90s ; ETA = 0.12s Iter = 429 ; Dt = 0.0021s ; Time = 0.92s ; ETA = 0.10s Iter = 439 ; Dt = 0.0021s ; Time = 0.94s ; ETA = 0.07s Iter = 449 ; Dt = 0.0021s ; Time = 0.96s ; ETA = 0.05s Iter = 458 ; Dt = 0.0021s ; Time = 0.98s ; ETA = 0.02s Iter = 468 ; Dt = 0.0006s ; Time = 1.00s ; ETA = 0.00s =================================================================== | END | =================================================================== Problem.solve() completed in 1.1766862869262695s (wall time) SOLVING CASE 1 =================================================================== | INITIALIZATION | =================================================================== Problem size: Nodes=625, Layers=6, Triangles=1042, Iter = 0 ; Dt = 0.0000s ; Time = 0.00s ; ETA = 0.00s =================================================================== | TIME LOOP | =================================================================== Iter = 10 ; Dt = 0.0021s ; Time = 0.02s ; ETA = 1.63s Iter = 20 ; Dt = 0.0021s ; Time = 0.04s ; ETA = 1.56s Iter = 30 ; Dt = 0.0021s ; Time = 0.06s ; ETA = 1.52s Iter = 39 ; Dt = 0.0021s ; Time = 0.08s ; ETA = 1.49s Iter = 49 ; Dt = 0.0021s ; Time = 0.10s ; ETA = 1.45s Iter = 58 ; Dt = 0.0021s ; Time = 0.12s ; ETA = 1.42s Iter = 68 ; Dt = 0.0021s ; Time = 0.14s ; ETA = 1.39s Iter = 78 ; Dt = 0.0021s ; Time = 0.17s ; ETA = 1.38s Iter = 87 ; Dt = 0.0021s ; Time = 0.18s ; ETA = 1.32s Iter = 97 ; Dt = 0.0021s ; Time = 0.21s ; ETA = 1.29s Iter = 106 ; Dt = 0.0021s ; Time = 0.23s ; ETA = 1.25s Iter = 116 ; Dt = 0.0021s ; Time = 0.25s ; ETA = 1.22s Iter = 125 ; Dt = 0.0021s ; Time = 0.27s ; ETA = 1.17s Iter = 135 ; Dt = 0.0021s ; Time = 0.29s ; ETA = 1.16s Iter = 145 ; Dt = 0.0021s ; Time = 0.31s ; ETA = 1.13s Iter = 154 ; Dt = 0.0021s ; Time = 0.33s ; ETA = 1.11s Iter = 164 ; Dt = 0.0021s ; Time = 0.35s ; ETA = 1.08s Iter = 173 ; Dt = 0.0021s ; Time = 0.37s ; ETA = 1.03s Iter = 183 ; Dt = 0.0021s ; Time = 0.39s ; ETA = 1.00s Iter = 193 ; Dt = 0.0021s ; Time = 0.41s ; ETA = 0.96s Iter = 202 ; Dt = 0.0021s ; Time = 0.43s ; ETA = 0.94s Iter = 212 ; Dt = 0.0021s ; Time = 0.45s ; ETA = 0.90s Iter = 221 ; Dt = 0.0021s ; Time = 0.47s ; ETA = 0.90s Iter = 231 ; Dt = 0.0021s ; Time = 0.49s ; ETA = 0.84s Iter = 241 ; Dt = 0.0021s ; Time = 0.51s ; ETA = 0.82s Iter = 250 ; Dt = 0.0021s ; Time = 0.53s ; ETA = 0.78s Iter = 260 ; Dt = 0.0021s ; Time = 0.55s ; ETA = 0.74s Iter = 270 ; Dt = 0.0021s ; Time = 0.57s ; ETA = 0.73s Iter = 279 ; Dt = 0.0021s ; Time = 0.59s ; ETA = 0.68s Iter = 289 ; Dt = 0.0021s ; Time = 0.61s ; ETA = 0.65s Iter = 298 ; Dt = 0.0021s ; Time = 0.63s ; ETA = 0.62s Iter = 308 ; Dt = 0.0021s ; Time = 0.65s ; ETA = 0.58s Iter = 318 ; Dt = 0.0021s ; Time = 0.68s ; ETA = 0.56s Iter = 327 ; Dt = 0.0021s ; Time = 0.69s ; ETA = 0.51s Iter = 337 ; Dt = 0.0021s ; Time = 0.72s ; ETA = 0.47s Iter = 347 ; Dt = 0.0021s ; Time = 0.74s ; ETA = 0.45s Iter = 356 ; Dt = 0.0021s ; Time = 0.76s ; ETA = 0.41s Iter = 366 ; Dt = 0.0021s ; Time = 0.78s ; ETA = 0.37s Iter = 376 ; Dt = 0.0021s ; Time = 0.80s ; ETA = 0.34s Iter = 385 ; Dt = 0.0021s ; Time = 0.82s ; ETA = 0.30s Iter = 395 ; Dt = 0.0021s ; Time = 0.84s ; ETA = 0.27s Iter = 405 ; Dt = 0.0021s ; Time = 0.86s ; ETA = 0.24s Iter = 414 ; Dt = 0.0021s ; Time = 0.88s ; ETA = 0.20s Iter = 424 ; Dt = 0.0021s ; Time = 0.90s ; ETA = 0.17s Iter = 434 ; Dt = 0.0021s ; Time = 0.92s ; ETA = 0.14s Iter = 443 ; Dt = 0.0021s ; Time = 0.94s ; ETA = 0.10s Iter = 453 ; Dt = 0.0021s ; Time = 0.96s ; ETA = 0.07s Iter = 463 ; Dt = 0.0021s ; Time = 0.98s ; ETA = 0.03s Iter = 473 ; Dt = 0.0001s ; Time = 1.00s ; ETA = 0.00s =================================================================== | END | =================================================================== Problem.solve() completed in 1.674788475036621s (wall time) SOLVING CASE 2 =================================================================== | INITIALIZATION | =================================================================== Problem size: Nodes=625, Layers=9, Triangles=1042, Iter = 0 ; Dt = 0.0000s ; Time = 0.00s ; ETA = 0.00s =================================================================== | TIME LOOP | =================================================================== Iter = 12 ; Dt = 0.0018s ; Time = 0.02s ; ETA = 2.44s Iter = 23 ; Dt = 0.0019s ; Time = 0.04s ; ETA = 2.25s Iter = 33 ; Dt = 0.0019s ; Time = 0.06s ; ETA = 2.17s Iter = 44 ; Dt = 0.0019s ; Time = 0.08s ; ETA = 2.21s Iter = 55 ; Dt = 0.0019s ; Time = 0.10s ; ETA = 2.13s Iter = 66 ; Dt = 0.0019s ; Time = 0.12s ; ETA = 2.08s Iter = 77 ; Dt = 0.0019s ; Time = 0.14s ; ETA = 2.04s Iter = 88 ; Dt = 0.0019s ; Time = 0.16s ; ETA = 2.03s Iter = 99 ; Dt = 0.0019s ; Time = 0.19s ; ETA = 1.93s Iter = 110 ; Dt = 0.0019s ; Time = 0.21s ; ETA = 1.87s Iter = 120 ; Dt = 0.0019s ; Time = 0.23s ; ETA = 1.83s Iter = 131 ; Dt = 0.0019s ; Time = 0.25s ; ETA = 1.75s Iter = 141 ; Dt = 0.0019s ; Time = 0.27s ; ETA = 1.73s Iter = 152 ; Dt = 0.0019s ; Time = 0.29s ; ETA = 1.65s Iter = 162 ; Dt = 0.0019s ; Time = 0.31s ; ETA = 1.67s Iter = 173 ; Dt = 0.0019s ; Time = 0.33s ; ETA = 1.55s Iter = 183 ; Dt = 0.0019s ; Time = 0.35s ; ETA = 1.51s Iter = 194 ; Dt = 0.0020s ; Time = 0.37s ; ETA = 1.44s Iter = 204 ; Dt = 0.0020s ; Time = 0.39s ; ETA = 1.41s Iter = 215 ; Dt = 0.0020s ; Time = 0.41s ; ETA = 1.36s Iter = 225 ; Dt = 0.0020s ; Time = 0.43s ; ETA = 1.31s Iter = 236 ; Dt = 0.0020s ; Time = 0.45s ; ETA = 1.27s Iter = 246 ; Dt = 0.0020s ; Time = 0.47s ; ETA = 1.18s Iter = 256 ; Dt = 0.0020s ; Time = 0.49s ; ETA = 1.16s Iter = 267 ; Dt = 0.0020s ; Time = 0.51s ; ETA = 1.10s Iter = 277 ; Dt = 0.0020s ; Time = 0.53s ; ETA = 1.04s Iter = 287 ; Dt = 0.0020s ; Time = 0.55s ; ETA = 0.99s Iter = 297 ; Dt = 0.0020s ; Time = 0.57s ; ETA = 0.96s Iter = 308 ; Dt = 0.0020s ; Time = 0.59s ; ETA = 0.90s Iter = 318 ; Dt = 0.0020s ; Time = 0.61s ; ETA = 0.88s Iter = 328 ; Dt = 0.0020s ; Time = 0.63s ; ETA = 0.79s Iter = 338 ; Dt = 0.0020s ; Time = 0.65s ; ETA = 0.78s Iter = 348 ; Dt = 0.0020s ; Time = 0.67s ; ETA = 0.73s Iter = 358 ; Dt = 0.0020s ; Time = 0.69s ; ETA = 0.68s Iter = 368 ; Dt = 0.0020s ; Time = 0.71s ; ETA = 0.63s Iter = 378 ; Dt = 0.0020s ; Time = 0.74s ; ETA = 0.60s Iter = 388 ; Dt = 0.0020s ; Time = 0.76s ; ETA = 0.54s Iter = 398 ; Dt = 0.0020s ; Time = 0.78s ; ETA = 0.49s Iter = 408 ; Dt = 0.0020s ; Time = 0.80s ; ETA = 0.44s Iter = 418 ; Dt = 0.0020s ; Time = 0.82s ; ETA = 0.40s Iter = 428 ; Dt = 0.0020s ; Time = 0.84s ; ETA = 0.35s Iter = 438 ; Dt = 0.0020s ; Time = 0.86s ; ETA = 0.32s Iter = 448 ; Dt = 0.0020s ; Time = 0.88s ; ETA = 0.26s Iter = 458 ; Dt = 0.0020s ; Time = 0.90s ; ETA = 0.23s Iter = 468 ; Dt = 0.0020s ; Time = 0.92s ; ETA = 0.18s Iter = 478 ; Dt = 0.0020s ; Time = 0.94s ; ETA = 0.13s Iter = 488 ; Dt = 0.0020s ; Time = 0.96s ; ETA = 0.09s Iter = 498 ; Dt = 0.0020s ; Time = 0.98s ; ETA = 0.04s Iter = 508 ; Dt = 0.0017s ; Time = 1.00s ; ETA = 0.00s =================================================================== | END | =================================================================== Problem.solve() completed in 2.283092737197876s (wall time) .. GENERATED FROM PYTHON SOURCE LINES 91-94 Plot velocity profile: ----------------------- .. GENERATED FROM PYTHON SOURCE LINES 95-123 .. code-block:: default cell = 233 #Middle domain u = np.zeros((NL)) z = np.zeros((NL)) plt.rcParams["figure.figsize"] = [8, 6] fig = plt.figure() ax = fig.add_subplot(111) colors = ['blue', 'red', 'green', 'purple'] markers = ['s', '*', 'o', 'v'] for C, NL in enumerate(cases): for L in range(NL): u[L] = problem_l[C].primitives.U[cell, L] z[L] = 0.5*(2.0/NL) + L*(2.0/NL) fig = ax.plot(u[0:NL], z[0:NL], color=colors[C], marker=markers[C], label='NL = {}'.format(NL)) ax.set_title("Velocity profile in x = {}" .format(triangular_mesh.triangulation.x[cell])) ax.set_xlabel('U (m/s)') ax.set_ylabel('z (m)') plt.legend(loc=2) plt.grid() plt.show() .. image-sg:: /auto_examples_tutorials/images/sphx_glr_example_batch_001.png :alt: Velocity profile in x = 12.4793 :srcset: /auto_examples_tutorials/images/sphx_glr_example_batch_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 124-128 .. note:: In this example only NL have been changed for each case but any ``Problem`` input could been changed as well (mesh, intialization, simutime, etc...). .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 5.278 seconds) .. _sphx_glr_download_auto_examples_tutorials_example_batch.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: example_batch.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: example_batch.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_