Salome HOME
bos #29628 Remove MEFISTO 2D algorithm
[modules/smesh.git] / doc / gui / 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 .. note:: Algorithms added to the module as plug-ins are described in documentation of the plug-ins (menu **Help / User's Guide / Mesh module / Plugins**).
10
11 An algorithm represents either an implementation of a certain meshing technique or an interface to the whole meshing program generating elements of several dimensions.
12
13 .. _a1d_algos_anchor:
14
15 * For meshing of 1D entities (**edges**):
16
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
20 * For meshing of 2D entities (**faces**):
21
22   * :ref:`Quadrangle: Mapping <quad_ijk_algo_page>` meshing algorithm - splits faces into quadrangular elements.
23
24                 .. image:: ../images/image123.gif
25                         :align: center 
26
27                 .. centered::
28                         Example of a triangular 2D mesh
29
30                 .. image:: ../images/image124.gif 
31                         :align: center 
32
33                 .. centered::
34                         Example of a quadrangular 2D mesh
35
36 * For meshing of 3D entities (**solid objects**):
37
38   * **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.
39                         .. image:: ../images/hexa_ijk_mesh.png 
40                                 :align: center 
41
42     .. centered::
43        Structured mesh generated by Hexahedron (i,j,k) on a solid bound by 16 faces
44
45   * :ref:`Body Fitting <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.
46
47   Some 3D meshing algorithms, such as Hexahedron(i,j,k) also can
48   generate 3D meshes from 2D meshes, working without geometrical objects.
49
50 * There is also a number of more specific algorithms:
51
52    * :ref:`Extrusion 3D <prism_3d_algo_page>` - for meshing prismatic 3D shapes with hexahedra and prisms.
53    * :ref:`Quadrangle: Medial Axis Projection <quad_from_ma_algo_page>` - for quadrangle meshing of faces with sinuous borders and rings.
54    * **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.
55    * **Polyhedron per Solid** meshing algorithm - generates one mesh volume (of a classical type or a polyhedron) per a geometrical solid using all faces of the solid boundary. It does not require that 2D mesh is generated on geometrical faces. It creates one mesh edge per geometrical edges and applies **Polygon per Face** to faces if they are not meshed by optional algorithms of lower dimensions.
56    * :ref:`Projection algorithms <projection_algos_page>` - for meshing by projection of another mesh.
57    * :ref:`Import algorithms <import_algos_page>` - for meshing by importing elements from another mesh.
58    * :ref:`Radial Prism <radial_prism_algo_page>` - for meshing 3D geometrical objects with cavities with hexahedra and prisms.
59    * :ref:`Radial Quadrangle 1D-2D <radial_quadrangle_1D2D_algo_page>` - for quadrangle meshing of disks and parts of disks.
60    * :ref:`Use Faces/Edges to be Created Manually <use_existing_page>` - to create a 1D or a 2D mesh in a python script.
61    * :ref:`Segments around Vertex <segments_around_vertex_algo_page>` - for defining the length of mesh segments around certain vertices.
62
63
64 :ref:`constructing_meshes_page` page describes in detail how to apply meshing algorithms.
65
66 **See Also** a sample TUI Script of a :ref:`tui_defining_meshing_algos` operation.  
67
68
69 .. toctree::
70    :maxdepth: 2
71    :hidden:
72
73    quad_ijk_algo.rst
74    cartesian_algo.rst
75    prism_3d_algo.rst
76    quad_from_ma_algo.rst
77    projection_algos.rst
78    use_existing_algos.rst
79    radial_prism_algo.rst
80    radial_quadrangle_1D2D_algo.rst
81    define_mesh_by_script.rst
82    segments_around_vertex_algo.rst
83