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