Salome HOME
23352: [CEA] Order and naming of meshing algorithms
[modules/smesh.git] / doc / salome / gui / SMESH / input / basic_meshing_algos.doc
1 /*!
2
3 \page basic_meshing_algos_page Basic meshing algorithms
4
5 \n The MESH module contains a set of meshing algorithms, which are
6 used for meshing entities (1D, 2D, 3D sub-shapes) composing
7 geometrical objects.
8
9 An algorithm represents either an implementation of a certain meshing
10 technique or an interface to the whole meshing program generating elements
11 of several dimensions.
12
13 <ul>
14 <li>For meshing of 1D entities (<b>edges</b>):</li>
15 \anchor a1d_algos_anchor
16 <ul>
17 <li><b>Wire Discretization</b> meshing algorithm - splits an edge into a
18 number of mesh segments following an 1D hypothesis.
19 </li>
20 <li><b>Composite Side Discretization</b> algorithm - allows to apply a 1D
21   hypothesis to a whole side of a geometrical face even if it is
22   composed of several edges provided that they form C1 curve in all
23   faces of the main shape.</li>
24 </ul>
25
26 <li>For meshing of 2D entities (<b>faces</b>):</li>
27
28 <ul>
29 <li><b>Triangle: Mefisto</b> meshing algorithm - splits faces
30   into triangular elements.</li>
31 <li>\subpage quad_ijk_algo_page "Quadrangle: Mapping" meshing
32   algorithm - splits faces into quadrangular elements.</li>
33 </ul>
34
35 \image html image123.gif "Example of a triangular 2D mesh"
36
37 \image html image124.gif "Example of a quadrangular 2D mesh"
38
39 <li>For meshing of 3D entities (<b>solid objects</b>):</li>
40
41 <ul>
42 <li><b>Hexahedron (i,j,k)</b> meshing algorithm - solids are
43   split into hexahedral elements thus forming a structured 3D
44   mesh. The algorithm requires that 2D mesh generated on a solid could
45   be considered as a mesh of a box, i.e. there should be eight nodes
46   shared by three quadrangles and the rest nodes should be shared by
47   four quadrangles.
48 \image html hexa_ijk_mesh.png "Structured mesh generated by Hexahedron (i,j,k) on a solid bound by 16 faces"
49 </li>
50
51 <li>\subpage cartesian_algo_page "Body Fitting" meshing
52   algorithm - solids are split into hexahedral elements forming
53   a Cartesian grid; polyhedra and other types of elements are generated
54   where the geometrical boundary intersects Cartesian cells.</li>
55 </ul>
56
57 \image html image125.gif "Example of a tetrahedral 3D mesh"
58
59 \image html image126.gif "Example of a hexahedral 3D mesh"
60 </ul>
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 <ul>
68 <li>\subpage prism_3d_algo_page "Extrusion 3D" - for meshing prismatic 3D shapes with hexahedra and prisms.</li>
69 <li>\subpage quad_from_ma_algo_page "Quadrangle: Medial Axis Projection" - for quadrangle meshing of faces with sinuous borders and rings.</li>
70 <li> <b>Polygon per Face</b> meshing algorithm - generates one mesh
71   face (either a triangle, a quadrangle or a polygon) per a geometrical
72   face using all nodes from the face boundary.</li>
73 <li>\subpage projection_algos_page "Projection algorithms" - for meshing by projection of another mesh.</li>
74 <li>\subpage import_algos_page "Import algorithms" - for meshing by importing elements from another mesh.</li>
75 <li>\subpage radial_prism_algo_page "Radial Prism" - for meshing 3D geometrical objects with cavities with hexahedra and prisms.</li>
76 <li>\subpage radial_quadrangle_1D2D_algo_page "Radial Quadrangle 1D-2D" - for quadrangle meshing of disks and parts of disks.</li>
77 <li>\subpage use_existing_page "Use Faces/Edges to be Created Manually" - to create a 1D or a 2D mesh in a python script.</li>
78 <li>\subpage segments_around_vertex_algo_page "Segments around Vertex" - for defining the length of mesh segments around certain vertices.</li>
79 </ul>
80
81 \ref constructing_meshes_page "Constructing meshes" page describes in
82 detail how to apply meshing algorithms.
83
84 <br><b>See Also</b> a sample TUI Script of a 
85 \ref tui_defining_meshing_algos "Define Meshing Algorithm" operation.  
86
87 */