.. _basic_meshing_algos_page: ************************ Basic meshing algorithms ************************ The MESH module contains a set of meshing algorithms, which are used for meshing entities (1D, 2D, 3D sub-shapes) composing geometrical objects. An algorithm represents either an implementation of a certain meshing technique or an interface to the whole meshing program generating elements of several dimensions. .. _a1d_algos_anchor: 1D Entities =========== * For meshing of 1D entities (**edges**): * **Wire Discretization** meshing algorithm - splits an edge into a number of mesh segments following an 1D hypothesis. * **Composite Side Discretization** algorithm - allows to apply a 1D hypothesis to a whole side of a geometrical face even if it is composed of several edges provided that they form C1 curve in all faces of the main shape. * For meshing of 2D entities (**faces**): * **Triangle: Mefisto** meshing algorithm - splits faces into triangular elements. * :ref:`quad_ijk_algo_page` meshing algorithm - splits faces into quadrangular elements. .. image:: ../images/image123.gif :align: center .. centered:: "Example of a triangular 2D mesh" .. image:: ../images/image124.gif :align: center .. centered:: "Example of a quadrangular 2D mesh" * For meshing of 3D entities (**solid objects**): * **Hexahedron (i,j,k)** meshing algorithm - solids are split into hexahedral elements thus forming a structured 3D mesh. The algorithm requires that 2D mesh generated on a solid could be considered as a mesh of a box, i.e. there should be eight nodes shared by three quadrangles and the rest nodes should be shared by four quadrangles. .. image:: ../images/hexa_ijk_mesh.png :align: center .. centered:: "Structured mesh generated by Hexahedron (i,j,k) on a solid bound by 16 faces" * :ref:`cartesian_algo_page` meshing algorithm - solids are split into hexahedral elements forming a Cartesian grid; polyhedra and other types of elements are generated where the geometrical boundary intersects Cartesian cells. .. image:: ../images/image125.gif :align: center .. centered:: "Example of a tetrahedral 3D mesh" .. image:: ../images/image126.gif :align: center .. centered:: "Example of a hexahedral 3D mesh" Some 3D meshing algorithms, such as Hexahedron(i,j,k) also can generate 3D meshes from 2D meshes, working without geometrical objects. There is also a number of more specific algorithms: * :ref:`prism_3d_algo_page` - for meshing prismatic 3D shapes with hexahedra and prisms. * :ref:`quad_from_ma_algo_page` - for quadrangle meshing of faces with sinuous borders and rings. * **Polygon per Face** meshing algorithm - generates one mesh face (either a triangle, a quadrangle or a polygon) per a geometrical face using all nodes from the face boundary. * :ref:`projection_algos_page` - for meshing by projection of another mesh. * :ref:`import_algos_page` - for meshing by importing elements from another mesh. * :ref:`radial_prism_algo_page` - for meshing 3D geometrical objects with cavities with hexahedra and prisms. * :ref:`radial_quadrangle_1D2D_algo_page` - for quadrangle meshing of disks and parts of disks. * :ref:`use_existing_page` - to create a 1D or a 2D mesh in a python script. * :ref:`segments_around_vertex_algo_page` - for defining the length of mesh segments around certain vertices. :ref:`constructing_meshes_page` page describes in detail how to apply meshing algorithms. **See Also** a sample TUI Script of a :ref:`tui_defining_meshing_algos` operation. .. toctree:: :maxdepth: 2 quad_ijk_algo.rst cartesian_algo.rst prism_3d_algo.rst quad_from_ma_algo.rst projection_algos.rst use_existing_algos.rst radial_prism_algo.rst radial_quadrangle_1D2D_algo.rst define_mesh_by_script.rst segments_around_vertex_algo.rst