Salome HOME
Redesign SALOME documentation
[modules/smesh.git] / doc / salome / gui / SMESH / input / basic_meshing_algos.rst
1 .. _basic_meshing_algos_page:
2
3 ************************
4 Basic meshing algorithms
5 ************************
6
7 The MESH module contains a set of meshing algorithms, which are used for meshing entities (1D, 2D, 3D sub-shapes) composing geometrical objects.
8
9 An algorithm represents either an implementation of a certain meshing technique or an interface to the whole meshing program generating elements of several dimensions.
10
11 .. _a1d_algos_anchor:
12
13 1D Entities
14 ===========
15
16 * For meshing of 1D entities (**edges**):
17 * **Wire Discretization** meshing algorithm - splits an edge into a number of mesh segments following an 1D hypothesis.
18 * **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.
19 * For meshing of 2D entities (**faces**):
20
21
22         * **Triangle: Mefisto** meshing algorithm - splits faces into triangular elements.
23         * :ref:`quad_ijk_algo_page` meshing algorithm - splits faces into quadrangular elements.
24
25                 .. image:: ../images/image123.gif
26                         :align: center 
27
28                 .. centered::
29                         "Example of a triangular 2D mesh"
30
31                 .. image:: ../images/image124.gif 
32                         :align: center 
33
34                 .. centered::
35                         "Example of a quadrangular 2D mesh"
36
37         * For meshing of 3D entities (**solid objects**):
38
39
40                 * **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.
41                         .. image:: ../images/hexa_ijk_mesh.png 
42                                 :align: center 
43
44                         .. centered::
45                                 "Structured mesh generated by Hexahedron (i,j,k) on a solid bound by 16 faces"
46
47
48                 * :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.
49                         .. image:: ../images/image125.gif 
50                                 :align: center 
51
52                         .. centered::
53                                  "Example of a tetrahedral 3D mesh"
54
55                         .. image:: ../images/image126.gif 
56                                 :align: center 
57
58                         .. centered::
59                                 "Example of a hexahedral 3D mesh"
60
61
62 Some 3D meshing algorithms, such as Hexahedron(i,j,k) also can
63 generate 3D meshes from 2D meshes, working without geometrical
64 objects.
65
66 There is also a number of more specific algorithms:
67
68         * :ref:`prism_3d_algo_page` - for meshing prismatic 3D shapes with hexahedra and prisms.
69         * :ref:`quad_from_ma_algo_page` - for quadrangle meshing of faces with sinuous borders and rings.
70         * **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.
71         * :ref:`projection_algos_page` - for meshing by projection of another mesh.
72         * :ref:`import_algos_page` - for meshing by importing elements from another mesh.
73         * :ref:`radial_prism_algo_page` - for meshing 3D geometrical objects with cavities with hexahedra and prisms.
74         * :ref:`radial_quadrangle_1D2D_algo_page` - for quadrangle meshing of disks and parts of disks.
75         * :ref:`use_existing_page` - to create a 1D or a 2D mesh in a python script.
76         * :ref:`segments_around_vertex_algo_page` - for defining the length of mesh segments around certain vertices.
77
78
79 :ref:`constructing_meshes_page` page describes in detail how to apply meshing algorithms.
80
81 **See Also** a sample TUI Script of a :ref:`tui_defining_meshing_algos` operation.  
82
83
84 .. toctree::
85         :maxdepth: 2
86
87         quad_ijk_algo.rst
88         cartesian_algo.rst
89         prism_3d_algo.rst
90         quad_from_ma_algo.rst
91         projection_algos.rst
92         use_existing_algos.rst
93         radial_prism_algo.rst
94         radial_quadrangle_1D2D_algo.rst
95         define_mesh_by_script.rst
96         segments_around_vertex_algo.rst
97