Salome HOME
9da2e4f7f841b74f84681122e5531b299287bff4
[modules/smesh.git] / doc / salome / gui / SMESH / input / constructing_submeshes.doc
1 /*!
2
3 \page constructing_submeshes_page Constructing sub-meshes
4
5 By purpose, the sub-mesh is an object used to assign to a sub-shape
6 different meshing parameters than those assigned to the main shape.
7
8 Structurally, the sub-mesh is a mesh on a certain sub-shape, or a group of
9 sub-shapes, possibly generated using different meshing algorithms
10 and/or hypotheses than those used to generate the mesh on other
11 sub-shapes.
12
13 Creation of a sub-mesh allows to control individually meshing of a
14 certain sub-shape, thus allowing to get mesh locally coarser or finer, to get
15 elements of different types in the same mesh etc.
16
17 A sub-shape to create a sub-mesh on should be retrieved from the main shape
18 in one of the following ways: <ul>
19 <li> In Geometry module, via <em>New Entity > Explode</em> menu.</li>
20 <li> In Geometry module, by creation of a group (<em>New Entity >
21     Group > Create Group</em> menu).</li> 
22 <li> In Mesh module, by
23   \ref subshape_by_mesh_elem "selecting a mesh element" generated on a
24   sub-shape of interest. This way is accessible if the mesh is
25   already computed.</li> 
26 <li> In Mesh module, by clicking <em>Publish Sub-shape</em> button in a
27       dialog showing \ref meshing_failed_anchor "meshing errors".</li> 
28 </ul>
29
30 Internally, definition of meshing parameters to apply for
31 discretization of a certain sub-shape, for example an edge of a
32 compound of solids, starts from searching an algorithm, 1D as for the
33 edge. The following sub-shapes are sequentially checked for presence
34 of a sub-mesh where 1D algorithm is assigned:
35 <ul>
36 <li> the \b edge it-self</li>
37 <li> <b>groups of edges</b> containing the edge, if any</li>
38 <li> \b wires sharing the edge</li>
39 <li> \b faces sharing the edge</li>
40 <li> <b>groups of faces</b> sharing the edge, if any</li>
41 <li> \b shells sharing the edge</li>
42 <li> \b solids sharing the edge</li>
43 <li> <b>groups of solids</b> sharing the edge, if any</li>
44 <li> the <b>main shape</b></li>
45 </ul>
46 (This sequence of sub-shapes defines priority of sub-meshes. Thus more
47 local, i.e. assigned to sub-shape of lower dimension, algorithms and
48 hypotheses have higher priority during the search of hypotheses to
49 apply.)
50
51 As soon as an 1D algorithm is found the search stops and the same
52 sequence of sub-shapes is checked to find a main and additional 1D
53 hypotheses the found 1D algorithm can take into account. 
54
55 The multi-dimensional algorithms have higher priority than
56 uni-dimensional algorithms if they are assigned to sub-meshes of the
57 same priority.
58
59 If meshing parameters are defined on sub-meshes of the same priority,
60 for example different 1D hypotheses are assigned to two faces sharing
61 an edge, the hypothesis assigned to a sub-shape with a lower ID will
62 be used for meshing. You can \ref submesh_order_anchor "change" mutual
63 priority of such concurrent sub-meshes. 
64
65
66 \n Construction of a sub-mesh consists of:
67 <ul>
68 <li>Selecting a mesh which will encapsulate your sub-mesh</li>
69 <li>Selecting a sub-shape for meshing</li>
70 <li>Applying one or several
71 \ref about_hypo_page "hypotheses" and 
72 \ref basic_meshing_algos_page "meshing algorithms" which will be used
73 for discretization of this sub-shape.</li>
74 </ul>
75
76 <br><em>To construct a sub-mesh:</em>
77 \par
78 From the \b Mesh menu select <b>Create Sub-mesh</b> or click <em>"Create
79 Sum-mesh"</em> button in the toolbar.
80
81 <center>
82   \image html image33.gif
83   <em>"Create Sub-mesh" button</em>
84 </center>
85
86 \par
87 The following dialog box will appear:
88
89 \par
90 \image html createmesh-inv2.png
91
92 It allows to define the \b Name, the parent \b Mesh and the \b
93 Geometry (e.g. a face if the parent mesh has been built on box) of the
94 sub-mesh. You can define meshing algorithms and hypotheses in the same way as
95 in \ref constructing_meshes_page "Create mesh" dialog. 
96
97 Later you can change applied hypotheses or their parameters in 
98 \ref editing_meshes_page "Edit mesh/sub-mesh" dialog. Mesh entities
99 generated using changed hypotheses are automatically removed.
100
101 \anchor subshape_by_mesh_elem
102 If the parent mesh is already computed, then you can define the
103 \b Geometry by picking mesh elements computed on a sub-shape of interest
104 in the 3D Viewer, i.e. you do not have to extract this sub-shape
105 in Geometry module beforehand. To start element selection, press \a
106 Selection button to the right of \b Geometry label. If this button is
107 already down, then click it to release and then click it again. The
108 following pop-up menu allowing to choose a way of geometry definition will
109 appear.
110
111 \image html choose_geom_selection_way.png
112
113 <b>Direct geometry selection</b> enables selecting the sub-shape in the Object
114 Browser.
115 <b>Find geometry by mesh element selection</b> activates the following dialog.
116
117 \image html find_geom_by_mesh_elem.png
118
119 In this dialog, <b> Element Type </b> defines a kind of element to pick in the
120 Viewer.
121 Instead of picking an element in the Viewer, you can type its
122 ID in <b> Element ID</b> field. 
123 <b> Geometry name </b> field allows defining a name of the sub-shape, 
124 with which the sub-shape will appear in the Object Browser (if not yet
125 there).
126
127 In the Object Browser the structure of the new sub-mesh will be
128 displayed as follows:
129
130 \image html image10.jpg
131
132 It contains:
133 <ul>
134 <li>a sub-mesh name (\a SubMeshFace1)
135 <li>a reference to the geometrical object on the basis of which the
136   sub-mesh has been constructed (<em>Cylindrical Face_1</em>);</li>
137 <li><em>Applied hypotheses</em> folder containing the references to the
138 hypotheses assigned to the sub-mesh;</li>
139 <li><em>Applied algorithms</em> folder containing the references to the
140 algorithms assigned to the sub-mesh.</li>
141 </ul>
142
143 <br><b>See Also</b> a sample TUI Script of a 
144 \ref tui_construction_submesh "Construct Sub-mesh" operation.
145
146 */