Salome HOME
bos #29171 Refactor testing procedure
[modules/smesh.git] / doc / gui / input / tui_modifying_meshes.rst
1 .. _tui_modifying_meshes_page: 
2
3 ****************
4 Modifying Meshes
5 ****************
6
7 .. contents:: `Table of contents`
8
9
10 .. _tui_adding_nodes_and_elements: 
11
12 Adding Nodes and Elements
13 =========================
14
15 .. _tui_add_node:
16
17 Add Node
18 ********
19
20 .. literalinclude:: ../../examples/modifying_meshes_ex01.py
21     :language: python
22
23 :download:`Download this script <../../examples/modifying_meshes_ex01.py>`
24
25 .. _tui_add_0DElement:
26
27 Add 0D Element
28 **************
29
30 .. literalinclude:: ../../examples/modifying_meshes_ex02.py
31     :language: python
32
33 :download:`Download this script <../../examples/modifying_meshes_ex02.py>`
34
35 .. _tui_add_0DElement_on_all_nodes:
36
37 Add 0D Element on Element Nodes
38 *******************************
39
40 .. literalinclude:: ../../examples/modifying_meshes_ex03.py
41     :language: python
42
43 :download:`Download this script <../../examples/modifying_meshes_ex03.py>`
44
45 .. _tui_add_edge:
46
47 Add Edge
48 ********
49
50 .. literalinclude:: ../../examples/modifying_meshes_ex04.py
51     :language: python
52
53 :download:`Download this script <../../examples/modifying_meshes_ex04.py>`
54
55 .. _tui_add_triangle:
56
57 Add Triangle
58 ************
59
60 .. literalinclude:: ../../examples/modifying_meshes_ex05.py
61     :language: python
62
63 :download:`Download this script <../../examples/modifying_meshes_ex05.py>`
64
65 .. _tui_add_quadrangle:
66
67 Add Quadrangle
68 **************
69
70 .. literalinclude:: ../../examples/modifying_meshes_ex06.py
71     :language: python
72
73 :download:`Download this script <../../examples/modifying_meshes_ex06.py>`
74
75 .. _tui_add_tetrahedron:
76
77 Add Tetrahedron
78 ***************
79
80 .. literalinclude:: ../../examples/modifying_meshes_ex07.py
81     :language: python
82
83 :download:`Download this script <../../examples/modifying_meshes_ex07.py>`
84
85 .. _tui_add_hexahedron:
86
87 Add Hexahedron
88 **************
89
90 .. literalinclude:: ../../examples/modifying_meshes_ex08.py
91     :language: python
92
93 :download:`Download this script <../../examples/modifying_meshes_ex08.py>`
94
95 .. _tui_add_polygon:
96
97 Add Polygon
98 ***********
99
100 .. literalinclude:: ../../examples/modifying_meshes_ex09.py
101     :language: python
102
103 :download:`Download this script <../../examples/modifying_meshes_ex09.py>`
104
105 .. _tui_add_polyhedron:
106
107 Add Polyhedron
108 **************
109
110 .. literalinclude:: ../../examples/modifying_meshes_ex10.py
111     :language: python
112
113 :download:`Download this script <../../examples/modifying_meshes_ex10.py>`
114
115 .. _tui_removing_nodes_and_elements: 
116
117 Removing Nodes and Elements
118 ===========================
119
120 .. _tui_removing_nodes:
121
122 Removing Nodes
123 **************
124
125 .. literalinclude:: ../../examples/modifying_meshes_ex11.py
126     :language: python
127
128 :download:`Download this script <../../examples/modifying_meshes_ex11.py>`
129
130 .. _tui_removing_elements:
131
132 Removing Elements
133 *****************
134
135 .. literalinclude:: ../../examples/modifying_meshes_ex12.py
136     :language: python
137
138 :download:`Download this script <../../examples/modifying_meshes_ex12.py>`
139
140 .. _tui_removing_orphan_nodes:
141
142 Removing Orphan Nodes
143 *********************
144
145 .. literalinclude:: ../../examples/modifying_meshes_ex13.py
146     :language: python
147
148 :download:`Download this script <../../examples/modifying_meshes_ex13.py>`
149
150 .. _tui_moving_nodes: 
151
152 Moving Nodes
153 ============
154
155 .. literalinclude:: ../../examples/modifying_meshes_ex15.py
156     :language: python
157
158 :download:`Download this script <../../examples/modifying_meshes_ex15.py>`
159
160 .. _tui_diagonal_inversion: 
161
162 Diagonal Inversion
163 ==================
164
165 .. literalinclude:: ../../examples/modifying_meshes_ex16.py
166     :language: python
167
168 :download:`Download this script <../../examples/modifying_meshes_ex16.py>`
169
170 .. _tui_uniting_two_triangles:
171
172 Uniting two Triangles
173 =====================
174
175 .. literalinclude:: ../../examples/modifying_meshes_ex17.py
176     :language: python
177
178 :download:`Download this script <../../examples/modifying_meshes_ex17.py>`
179
180 .. _tui_uniting_set_of_triangles:
181
182 Uniting a Set of Triangles
183 ==========================
184
185 .. literalinclude:: ../../examples/modifying_meshes_ex18.py
186     :language: python
187
188 :download:`Download this script <../../examples/modifying_meshes_ex18.py>`
189
190 .. _tui_orientation: 
191
192 Orientation
193 ===========
194
195 .. literalinclude:: ../../examples/modifying_meshes_ex19.py
196     :language: python
197
198 :download:`Download this script <../../examples/modifying_meshes_ex19.py>`
199
200 .. _tui_cutting_quadrangles: 
201
202 Cutting Quadrangles
203 ===================
204
205 .. literalinclude:: ../../examples/modifying_meshes_ex20.py
206     :language: python
207
208 :download:`Download this script <../../examples/modifying_meshes_ex20.py>`
209
210 .. _tui_cutting_triangles: 
211
212 Cutting Triangles
213 =================
214
215 .. literalinclude:: ../../examples/modifying_meshes_cut_triangles.py
216     :language: python
217
218 :download:`Download this script <../../examples/modifying_meshes_cut_triangles.py>`
219
220 .. _modifying_meshes_split_vol: 
221
222 Split Volumes into Tetrahedra
223 =============================
224
225 .. literalinclude:: ../../examples/modifying_meshes_split_vol.py
226     :language: python
227
228 :download:`Download this script <../../examples/modifying_meshes_split_vol.py>`
229
230 .. _tui_smoothing: 
231
232 Smoothing
233 =========
234
235 .. literalinclude:: ../../examples/modifying_meshes_ex21.py
236     :language: python
237
238 :download:`Download this script <../../examples/modifying_meshes_ex21.py>`
239
240 .. _tui_extrusion: 
241
242 Extrusion
243 =========
244
245 .. literalinclude:: ../../examples/modifying_meshes_ex22.py
246     :language: python
247
248 :download:`Download this script <../../examples/modifying_meshes_ex22.py>`
249
250 .. _tui_extrusion_along_path: 
251
252 Extrusion along a Path
253 ======================
254
255 .. literalinclude:: ../../examples/modifying_meshes_ex23.py
256     :language: python
257
258 :download:`Download this script <../../examples/modifying_meshes_ex23.py>`
259
260 .. _tui_revolution: 
261
262 Revolution
263 ==========
264
265 .. literalinclude:: ../../examples/modifying_meshes_ex24.py
266     :language: python
267
268 :download:`Download this script <../../examples/modifying_meshes_ex24.py>`
269
270 .. _tui_pattern_mapping: 
271
272 Pattern Mapping
273 ===============
274
275 .. literalinclude:: ../../examples/modifying_meshes_ex25.py
276     :language: python
277
278 :download:`Download this script <../../examples/modifying_meshes_ex25.py>`
279
280 .. _tui_quadratic: 
281
282 Convert mesh to/from quadratic
283 ==============================
284
285 .. literalinclude:: ../../examples/modifying_meshes_ex26.py
286     :language: python
287
288 :download:`Download this script <../../examples/modifying_meshes_ex26.py>`
289
290 .. _tui_split_biquad: 
291
292 Split bi-quadratic into linear
293 ==============================
294
295 .. literalinclude:: ../../examples/split_biquad.py
296     :language: python
297
298 :download:`Download this script <../../examples/split_biquad.py>`
299
300 .. _tui_double_nodes_on_group_boundaries:
301
302 Double nodes on groups boundaries
303 =================================
304
305 Double nodes on shared faces between groups of volumes and create flat elements on demand.
306
307 The list of groups must contain at least two groups. The groups have to be disjoint: no common element into two different groups.
308
309 The nodes of the internal faces at the boundaries of the groups are doubled. Optionally, the internal faces are replaced by flat elements.
310
311 Triangles are transformed into prisms, and quadrangles into hexahedrons.
312
313 The flat elements are stored in groups of volumes.
314
315 These groups are named according to the position of the group in the list:
316 the group j_n_p is the group of the flat elements that are built between the group \#n and the group \#p in the list.
317 If there is no shared faces between the group \#n and the group \#p in the list, the group j_n_p is not created.
318 All the flat elements are gathered into the group named "joints3D" (or "joints2D" in 2D situation).
319 The flat element of the multiple junctions between the simple junction are stored in a group named "jointsMultiples".
320
321 This example represents an iron cable (a thin cylinder) in a concrete block (a big cylinder).
322 The big cylinder is defined by two geometric volumes.
323
324 .. literalinclude:: ../../examples/generate_flat_elements.py
325     :language: python
326
327 :download:`Download this script <../../examples/generate_flat_elements.py>`
328
329 Here, the 4 groups of volumes [Solid_1_1, Solid_2_1, Solid_3_1, Solid_4_1] constitute a partition of the mesh.
330 The flat elements on group boundaries and on faces are built with the
331 2 last lines of the code above.
332
333 If the last argument (Boolean) in DoubleNodesOnGroupBoundaries is set to 1,
334 the flat elements are built, otherwise, there is only a duplication of the nodes.
335
336 To observe flat element groups, save the resulting mesh on a MED file and reload it.
337
338