.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples_simulations/example_canal.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_simulations_example_canal.py: ================================================================================ Canal ================================================================================ This case is a canal to test the damping condition in one direction .. GENERATED FROM PYTHON SOURCE LINES 9-32 .. code-block:: default import os, sys import argparse import numpy as np import freshkiss3d as fk import freshkiss3d.extra.plots as fk_plt import math import matplotlib.pyplot as plt from matplotlib.pyplot import cm import matplotlib.tri as mtri os.system('rm -r outputs/hydrodynamic_vtk') parser = argparse.ArgumentParser() parser.add_argument('--nographics', action='store_true') args = parser.parse_args() #sphinx_gallery_thumbnail_number = 3 dir_path = os.path.abspath(os.path.dirname(sys.argv[0])) .. GENERATED FROM PYTHON SOURCE LINES 33-36 Parameters: ---------------------- .. GENERATED FROM PYTHON SOURCE LINES 37-46 .. code-block:: default mu = 12.5 sigma = 0.9 def topo_gaussian(x,y): topo = 1./(sigma * math.sqrt(2 * math.pi))*np.exp(-(x-mu)**2 / (2*sigma*sigma)) return topo .. GENERATED FROM PYTHON SOURCE LINES 47-49 Time loop: -------------------- .. GENERATED FROM PYTHON SOURCE LINES 50-57 .. code-block:: default FINAL_TIME = 20. simutime = fk.SimuTime(final_time=FINAL_TIME, time_iteration_max=100000, second_order=True) .. GENERATED FROM PYTHON SOURCE LINES 58-60 Mesh: -------------------- .. GENERATED FROM PYTHON SOURCE LINES 61-68 .. code-block:: default triangular_mesh = fk.TriangularMesh.from_msh_file(dir_path+'/inputs/simple_canal.msh') if not args.nographics: fk_plt.plot_mesh(triangular_mesh) .. image-sg:: /auto_examples_simulations/images/sphx_glr_example_canal_001.png :alt: Mesh :srcset: /auto_examples_simulations/images/sphx_glr_example_canal_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 69-71 Layers: -------------------- .. GENERATED FROM PYTHON SOURCE LINES 72-78 .. code-block:: default NL=1 layer = fk.Layer(NL, triangular_mesh, topography_funct=topo_gaussian) .. GENERATED FROM PYTHON SOURCE LINES 79-82 Primitives: -------------------- .. GENERATED FROM PYTHON SOURCE LINES 83-98 .. code-block:: default def frees(x, y): if 0. <= x < 3.: free = 0.5 else: free = 0.15 return free primitives = fk.Primitive(triangular_mesh, layer, free_surface_funct=frees) if not args.nographics: fk_plt.plot_init_1d_slice(triangular_mesh, surf_xy=frees, topo_xy=topo_gaussian) plt.ylim(0, 1) plt.xlim(0, 25) .. image-sg:: /auto_examples_simulations/images/sphx_glr_example_canal_002.png :alt: Initial condition :srcset: /auto_examples_simulations/images/sphx_glr_example_canal_002.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 99-101 Boundary conditions: --------------------- .. GENERATED FROM PYTHON SOURCE LINES 102-113 .. code-block:: default case = 2 if case==1: slides = [fk.Slide(ref=r) for r in [1, 2, 3, 4]] damping_outs = [] if case==2: slides = [fk.Slide(ref=r) for r in [1, 3, 4]] damping_outs = [fk.DampingOut(ref=2, Kappa=1000., Theta=1000.)] .. GENERATED FROM PYTHON SOURCE LINES 114-116 Writter: ---------------------- .. GENERATED FROM PYTHON SOURCE LINES 117-125 .. code-block:: default times_figures = [1., 4., 8., 10., 12., 15., 19.] create_figure_scheduler = fk.schedules(times=times_figures) vtk_writer = fk.VTKWriter(triangular_mesh, scheduler=fk.schedules(times=times_figures), scale_h=10) .. GENERATED FROM PYTHON SOURCE LINES 126-128 Problem definition: -------------------- .. GENERATED FROM PYTHON SOURCE LINES 129-138 .. code-block:: default problem = fk.Problem(simutime, triangular_mesh, layer, primitives, slides=slides, damping_outs=damping_outs, numerical_parameters={'space_second_order':True}, vtk_writer=vtk_writer, custom_funct={'plot':fk_plt.plot_freesurface_3d}, custom_funct_scheduler=create_figure_scheduler) .. rst-class:: sphx-glr-script-out .. code-block:: none =================================================================== | INITIALIZATION | =================================================================== Problem size: Nodes=625, Layers=1, Triangles=1042, Iter = 0 ; Dt = 0.0000s ; Time = 0.00s ; ETA = 0.00s .. GENERATED FROM PYTHON SOURCE LINES 139-141 Problem solving: ----------------- .. GENERATED FROM PYTHON SOURCE LINES 142-147 .. code-block:: default problem.solve() if not args.nographics: plt.show() .. rst-class:: sphx-glr-horizontal * .. image-sg:: /auto_examples_simulations/images/sphx_glr_example_canal_003.png :alt: Height at time = 1.0s :srcset: /auto_examples_simulations/images/sphx_glr_example_canal_003.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples_simulations/images/sphx_glr_example_canal_004.png :alt: Height at time = 4.0s :srcset: /auto_examples_simulations/images/sphx_glr_example_canal_004.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples_simulations/images/sphx_glr_example_canal_005.png :alt: Height at time = 8.0s :srcset: /auto_examples_simulations/images/sphx_glr_example_canal_005.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples_simulations/images/sphx_glr_example_canal_006.png :alt: Height at time = 10.0s :srcset: /auto_examples_simulations/images/sphx_glr_example_canal_006.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples_simulations/images/sphx_glr_example_canal_007.png :alt: Height at time = 12.0s :srcset: /auto_examples_simulations/images/sphx_glr_example_canal_007.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples_simulations/images/sphx_glr_example_canal_008.png :alt: Height at time = 15.0s :srcset: /auto_examples_simulations/images/sphx_glr_example_canal_008.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples_simulations/images/sphx_glr_example_canal_009.png :alt: Height at time = 19.0s :srcset: /auto_examples_simulations/images/sphx_glr_example_canal_009.png :class: sphx-glr-multi-img .. rst-class:: sphx-glr-script-out .. code-block:: none =================================================================== | TIME LOOP | =================================================================== Iter = 65 ; Dt = 0.0063s ; Time = 0.41s ; ETA = 6.42s Iter = 129 ; Dt = 0.0064s ; Time = 0.82s ; ETA = 6.13s Iter = 192 ; Dt = 0.0065s ; Time = 1.23s ; ETA = 5.89s Iter = 255 ; Dt = 0.0066s ; Time = 1.64s ; ETA = 5.73s Iter = 318 ; Dt = 0.0065s ; Time = 2.05s ; ETA = 5.60s Iter = 380 ; Dt = 0.0066s ; Time = 2.45s ; ETA = 5.41s Iter = 443 ; Dt = 0.0066s ; Time = 2.86s ; ETA = 5.30s Iter = 505 ; Dt = 0.0065s ; Time = 3.27s ; ETA = 5.32s Iter = 568 ; Dt = 0.0065s ; Time = 3.68s ; ETA = 5.09s Iter = 630 ; Dt = 0.0065s ; Time = 4.08s ; ETA = 5.07s Iter = 693 ; Dt = 0.0066s ; Time = 4.50s ; ETA = 4.84s Iter = 753 ; Dt = 0.0069s ; Time = 4.90s ; ETA = 4.78s Iter = 813 ; Dt = 0.0062s ; Time = 5.31s ; ETA = 5.18s Iter = 875 ; Dt = 0.0072s ; Time = 5.72s ; ETA = 4.24s Iter = 932 ; Dt = 0.0071s ; Time = 6.12s ; ETA = 4.27s Iter = 991 ; Dt = 0.0069s ; Time = 6.54s ; ETA = 4.15s Iter = 1050 ; Dt = 0.0069s ; Time = 6.94s ; ETA = 4.07s Iter = 1109 ; Dt = 0.0069s ; Time = 7.35s ; ETA = 3.92s Iter = 1168 ; Dt = 0.0070s ; Time = 7.76s ; ETA = 3.81s Iter = 1226 ; Dt = 0.0070s ; Time = 8.17s ; ETA = 3.60s Iter = 1285 ; Dt = 0.0069s ; Time = 8.57s ; ETA = 3.61s Iter = 1345 ; Dt = 0.0068s ; Time = 8.99s ; ETA = 3.43s Iter = 1404 ; Dt = 0.0069s ; Time = 9.39s ; ETA = 3.30s Iter = 1464 ; Dt = 0.0069s ; Time = 9.80s ; ETA = 3.16s Iter = 1523 ; Dt = 0.0069s ; Time = 10.21s ; ETA = 3.00s Iter = 1583 ; Dt = 0.0069s ; Time = 10.62s ; ETA = 2.91s Iter = 1642 ; Dt = 0.0070s ; Time = 11.03s ; ETA = 2.70s Iter = 1701 ; Dt = 0.0070s ; Time = 11.43s ; ETA = 2.59s Iter = 1759 ; Dt = 0.0068s ; Time = 11.84s ; ETA = 2.54s Iter = 1819 ; Dt = 0.0069s ; Time = 12.25s ; ETA = 2.35s Iter = 1878 ; Dt = 0.0070s ; Time = 12.66s ; ETA = 2.22s Iter = 1936 ; Dt = 0.0070s ; Time = 13.06s ; ETA = 2.09s Iter = 1994 ; Dt = 0.0071s ; Time = 13.47s ; ETA = 1.92s Iter = 2051 ; Dt = 0.0072s ; Time = 13.88s ; ETA = 1.81s Iter = 2107 ; Dt = 0.0073s ; Time = 14.29s ; ETA = 1.68s Iter = 2163 ; Dt = 0.0073s ; Time = 14.70s ; ETA = 1.57s Iter = 2218 ; Dt = 0.0074s ; Time = 15.11s ; ETA = 1.42s Iter = 2273 ; Dt = 0.0074s ; Time = 15.52s ; ETA = 1.30s Iter = 2328 ; Dt = 0.0073s ; Time = 15.93s ; ETA = 1.20s Iter = 2382 ; Dt = 0.0076s ; Time = 16.33s ; ETA = 1.03s Iter = 2437 ; Dt = 0.0074s ; Time = 16.74s ; ETA = 0.95s Iter = 2492 ; Dt = 0.0075s ; Time = 17.15s ; ETA = 0.82s Iter = 2546 ; Dt = 0.0077s ; Time = 17.56s ; ETA = 0.68s Iter = 2598 ; Dt = 0.0080s ; Time = 17.97s ; ETA = 0.54s Iter = 2648 ; Dt = 0.0081s ; Time = 18.37s ; ETA = 0.43s Iter = 2699 ; Dt = 0.0081s ; Time = 18.78s ; ETA = 0.32s Iter = 2749 ; Dt = 0.0081s ; Time = 19.19s ; ETA = 0.21s Iter = 2800 ; Dt = 0.0077s ; Time = 19.60s ; ETA = 0.11s Iter = 2854 ; Dt = 0.0022s ; Time = 20.00s ; ETA = 0.00s =================================================================== | END | =================================================================== Problem.solve() completed in 7.007403135299683s (wall time) .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 9.012 seconds) .. _sphx_glr_download_auto_examples_simulations_example_canal.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_canal.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: example_canal.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_