.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/howto_meshlib/plot_meshlib_vtu_input.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_howto_meshlib_plot_meshlib_vtu_input.py: Creating meshes from vtu surface files ====================================== .. sectionauthor:: Tobias Meisel (Helmholtz Centre for Environmental Research GmbH - UFZ) For this example we create meshes from surface layers. .. GENERATED FROM PYTHON SOURCE LINES 11-24 .. code-block:: Python from pathlib import Path # To get example vtu files from ogstools.definitions import EXAMPLES_DIR # To get example vtu files from ogstools.meshlib.boundary import Layer from ogstools.meshlib.boundary_set import LayerSet from ogstools.meshlib.boundary_subset import Surface from ogstools.meshlib.region import ( to_region_prism, to_region_simplified, to_region_tetraeder, to_region_voxel, ) .. GENERATED FROM PYTHON SOURCE LINES 25-26 The loaded surfaces are defined within VTU files and adhere to properties such as non-intersecting boundaries with consistent x and y bounds. Alternatively, surfaces can also be created using PyVista with the same properties. .. GENERATED FROM PYTHON SOURCE LINES 26-35 .. code-block:: Python surface_dir = EXAMPLES_DIR / "meshlib" / "mesh1" / "surface_data" surface1 = Surface(Path(surface_dir / "00_KB.vtu"), material_id=0) surface2 = Surface(Path(surface_dir / "01_q.vtu"), material_id=5) surface3 = Surface(Path(surface_dir / "02_krl.vtu"), material_id=2) surface4 = Surface(Path(surface_dir / "03_S3.vtu"), material_id=3) .. GENERATED FROM PYTHON SOURCE LINES 36-37 Create 3 layers from previously defined surfaces and add all layers to a layerset (ordererd from top to bottom) .. GENERATED FROM PYTHON SOURCE LINES 37-43 .. code-block:: Python layer1 = Layer(top=surface1, bottom=surface2, num_subdivisions=2) layer2 = Layer(top=surface2, bottom=surface3, num_subdivisions=1) layer3 = Layer(top=surface3, bottom=surface4, num_subdivisions=0) layer_set1 = LayerSet(layers=[layer1, layer2, layer3]) .. GENERATED FROM PYTHON SOURCE LINES 44-45 From layerset creation of simplified meshes (sm), prism meshes (pm), voxel meshes (vm), tetraeder mesh (tm) is possible. .. GENERATED FROM PYTHON SOURCE LINES 45-50 .. code-block:: Python sm = to_region_simplified(layer_set1, xy_resolution=200, rank=3).mesh pm = to_region_prism(layer_set1, resolution=200).mesh vm = to_region_voxel(layer_set1, resolution=[200, 200, 50]).mesh tm = to_region_tetraeder(layer_set1, resolution=200).mesh .. GENERATED FROM PYTHON SOURCE LINES 51-54 Simplified mesh --------------- %% .. GENERATED FROM PYTHON SOURCE LINES 54-57 .. code-block:: Python sm["regions"] = [str(m) for m in sm["MaterialIDs"]] sm.scale([1, 1, 5]).plot(scalars="regions", show_edges=True) .. tab-set:: .. tab-item:: Static Scene .. image-sg:: /auto_examples/howto_meshlib/images/sphx_glr_plot_meshlib_vtu_input_001.png :alt: plot meshlib vtu input :srcset: /auto_examples/howto_meshlib/images/sphx_glr_plot_meshlib_vtu_input_001.png :class: sphx-glr-single-img .. tab-item:: Interactive Scene .. offlineviewer:: /builds/ogs/tools/ogstools/docs/auto_examples/howto_meshlib/images/sphx_glr_plot_meshlib_vtu_input_001.vtksz .. GENERATED FROM PYTHON SOURCE LINES 58-61 Voxel mesh --------------- %% .. GENERATED FROM PYTHON SOURCE LINES 61-64 .. code-block:: Python vm["regions"] = [str(m) for m in vm["MaterialIDs"]] vm.scale([1, 1, 5]).plot(scalars="regions", show_edges=True) .. tab-set:: .. tab-item:: Static Scene .. image-sg:: /auto_examples/howto_meshlib/images/sphx_glr_plot_meshlib_vtu_input_002.png :alt: plot meshlib vtu input :srcset: /auto_examples/howto_meshlib/images/sphx_glr_plot_meshlib_vtu_input_002.png :class: sphx-glr-single-img .. tab-item:: Interactive Scene .. offlineviewer:: /builds/ogs/tools/ogstools/docs/auto_examples/howto_meshlib/images/sphx_glr_plot_meshlib_vtu_input_002.vtksz .. GENERATED FROM PYTHON SOURCE LINES 65-68 Prism mesh --------------- %% .. GENERATED FROM PYTHON SOURCE LINES 68-71 .. code-block:: Python pm["regions"] = [str(m) for m in pm["MaterialIDs"]] pm.scale([1, 1, 5]).plot(scalars="regions", show_edges=True) .. tab-set:: .. tab-item:: Static Scene .. image-sg:: /auto_examples/howto_meshlib/images/sphx_glr_plot_meshlib_vtu_input_003.png :alt: plot meshlib vtu input :srcset: /auto_examples/howto_meshlib/images/sphx_glr_plot_meshlib_vtu_input_003.png :class: sphx-glr-single-img .. tab-item:: Interactive Scene .. offlineviewer:: /builds/ogs/tools/ogstools/docs/auto_examples/howto_meshlib/images/sphx_glr_plot_meshlib_vtu_input_003.vtksz .. GENERATED FROM PYTHON SOURCE LINES 72-75 Tetraeder mesh --------------- %% .. GENERATED FROM PYTHON SOURCE LINES 75-77 .. code-block:: Python tm["regions"] = [str(m) for m in tm["MaterialIDs"]] tm.scale([1, 1, 5]).plot(scalars="regions", show_edges=True) .. tab-set:: .. tab-item:: Static Scene .. image-sg:: /auto_examples/howto_meshlib/images/sphx_glr_plot_meshlib_vtu_input_004.png :alt: plot meshlib vtu input :srcset: /auto_examples/howto_meshlib/images/sphx_glr_plot_meshlib_vtu_input_004.png :class: sphx-glr-single-img .. tab-item:: Interactive Scene .. offlineviewer:: /builds/ogs/tools/ogstools/docs/auto_examples/howto_meshlib/images/sphx_glr_plot_meshlib_vtu_input_004.vtksz .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 5.324 seconds) .. _sphx_glr_download_auto_examples_howto_meshlib_plot_meshlib_vtu_input.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_meshlib_vtu_input.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_meshlib_vtu_input.py `