Salome HOME
Merge branch 'master' into V7_5_BR
[modules/smesh.git] / doc / salome / gui / SMESH / input / 1d_meshing_hypo.doc
1 /*!
2
3 \page a1d_meshing_hypo_page 1D Meshing Hypotheses
4
5 <br>
6 <ul>
7 <li>\ref adaptive_1d_anchor "Adaptive"</li>
8 <li>\ref arithmetic_1d_anchor "Arithmetic 1D"</li>
9 <li>\ref geometric_1d_anchor "Geometric Progression"</li>
10 <li>\ref average_length_anchor "Local Length"</li>
11 <li>\ref max_length_anchor "Max Size"</li>
12 <li>\ref deflection_1d_anchor "Deflection 1D"</li>
13 <li>\ref number_of_segments_anchor "Number of segments"</li>
14 <li>\ref start_and_end_length_anchor "Start and end length"</li>
15 <li>\ref automatic_length_anchor "Automatic Length"</li>
16 <li>\ref fixed_points_1d_anchor "Fixed points 1D"</li>
17 </ul>
18
19 <br>
20 \anchor adaptive_1d_anchor
21 <h2>Adaptive hypothesis</h2>
22
23 <b>Adaptive</b> hypothesis allows to split edges into segments with a
24 length that depends on the curvature of edges and faces and is limited by <b>Min. Size</b>
25 and <b>Max Size</b>. The length of a segment also depends on the lengths
26 of adjacent segments (that can't differ more than twice) and on the 
27 distance to close geometrical entities (edges and faces) to avoid
28 creation of narrow 2D elements.
29
30 \image html adaptive1d.png
31
32 - <b>Min size</b> parameter limits the minimal segment size. 
33 - <b>Max size</b> parameter defines the length of segments on straight edges. 
34 - \b Deflection parameter gives maximal distance of a segment from a curved edge.
35
36 \image html adaptive1d_sample_mesh.png "Adaptive hypothesis and Netgen 2D algorithm - the size of mesh segments reflects the size of geometrical features"
37
38 <b>See Also</b> a \ref tui_1d_adaptive "sample TUI Script" that uses Adaptive hypothesis.
39
40 <br>
41 \anchor arithmetic_1d_anchor
42 <h2>Arithmetic 1D hypothesis</h2>
43
44 <b>Arithmetic 1D</b> hypothesis allows to split edges into segments with a
45 length that changes in arithmetic progression (Lk = Lk-1 + d)
46 beginning from a given starting length and up to a given end length.
47
48 The splitting direction is defined by the orientation of the
49 underlying geometrical edge.
50 <b>Reverse Edges</b> list box allows specifying the edges, for which
51 the splitting should be made in the direction opposite to their
52 orientation. This list box is usable only if a geometry object is
53 selected for meshing. In this case it is possible to select edges to
54 be reversed either directly picking them in the 3D viewer or by
55 selecting the edges or groups of edges in the Object Browser. Use \b
56 Add button to add the selected edges to the list.
57
58 \image html a-arithmetic1d.png
59
60 \image html b-ithmetic1d.png "Arithmetic 1D hypothesis - the size of mesh elements gradually increases"
61
62 <b>See Also</b> a sample TUI Script of a 
63 \ref tui_1d_arithmetic "Defining Arithmetic 1D and Geometric Progression hypothesis" operation.  
64
65 <br>
66 \anchor geometric_1d_anchor
67 <h2>Geometric Progression hypothesis</h2>
68
69 <b>Geometric Progression</b> hypothesis allows splitting edges into
70 segments with a length that changes in geometric progression (Lk =
71 Lk-1 * d) starting from a given <b>Start Length</b> and with a given
72 <b>Common Ratio</b>.
73
74 The splitting direction is defined by the orientation of the
75 underlying geometrical edge.
76 <b>Reverse Edges</b> list box allows specifying the edges, for which
77 the splitting should be made in the direction opposite to their
78 orientation. This list box is usable only if a geometry object is
79 selected for meshing. In this case it is possible to select edges to
80 be reversed either directly picking them in the 3D viewer or by
81 selecting the edges or groups of edges in the Object Browser. Use \b
82 Add button to add the selected edges to the list.
83
84 \image html a-geometric1d.png
85
86 <b>See Also</b> a sample TUI Script of a 
87 \ref tui_1d_arithmetic "Defining Arithmetic 1D and Geometric Progression hypothesis" operation.  
88
89 <br>
90 \anchor deflection_1d_anchor
91 <h2>Deflection 1D hypothesis</h2>
92
93 <b>Deflection 1D</b> hypothesis can be applied for meshing curvilinear edges
94 composing your geometrical object. It uses only one parameter: the
95 value of deflection.  
96 \n A geometrical edge is divided into equal segments. The maximum
97 distance between a point on the edge within a segment and the line
98 connecting the ends of the segment should not exceed the specified
99 value of deflection . Then mesh nodes are constructed at end segment
100 locations and 1D mesh elements are constructed on segments.
101
102 \image html a-deflection1d.png
103
104 \image html b-flection1d.png "Deflection 1D hypothesis - useful for meshing curvilinear edges"
105
106 <b>See Also</b> a sample TUI Script of a 
107 \ref tui_deflection_1d "Defining Deflection 1D hypothesis" operation.
108
109 <br>
110 \anchor average_length_anchor
111 <h2>Local Length hypothesis</h2>
112
113 <b>Local Length</b> hypothesis can be applied for meshing of edges
114 composing your geometrical object. Definition of this hypothesis
115 consists of setting the \b length of segments, which will split these
116 edges, and the \b precision of rounding. The points on the edges
117 generated by these segments will represent nodes of your mesh.
118 Later these nodes will be used for meshing of the faces abutting to
119 these edges.
120
121 The \b precision parameter is used to allow rounding a number of
122 segments, calculated from the edge length and average length of
123 segment, to the lower integer, if this value outstands from it in
124 bounds of the precision. Otherwise, the number of segments is rounded
125 to the higher integer. Use value 0.5 to provide rounding to the
126 nearest integer, 1.0 for the lower integer, 0.0 for the higher
127 integer. Default value is 1e-07.
128
129 \image html image41.gif
130
131 \image html a-averagelength.png
132
133 \image html b-erage_length.png "Local Length hypothesis - all 1D mesh elements are roughly equal"
134
135 <b>See Also</b> a sample TUI Script of a 
136 \ref tui_average_length "Defining Local Length" hypothesis
137 operation.
138
139 <br>\anchor max_length_anchor
140 <h2>Max Size</h2>
141 <b>Max Size</b> hypothesis allows splitting geometrical edges into
142 segments not longer than the given length. Definition of this hypothesis
143 consists of setting the maximal allowed \b length of segments.
144 <b>Use preestimated length</b> check box lets you specify \b length
145 automatically calculated basing on size of your geometrical object,
146 namely as diagonal of bounding box divided by ten. The divider can be
147 changed via "Ratio Bounding Box Diagonal / Max Size"
148 preference parameter.
149 <b>Use preestimated length</b> check box is enabled only if the
150 geometrical object has been selected before hypothesis definition.
151
152 \image html a-maxsize1d.png
153
154 <br>
155 \anchor number_of_segments_anchor
156 <h2>Number of segments hypothesis</h2>
157
158 <b>Number of segments</b> hypothesis can be applied for meshing of edges
159 composing your geometrical object. Definition of this hypothesis
160 consists of setting the number of segments, which will split these
161 edges. In other words your edges will be split into a definite number
162 of segments with approximately the same length. The points on the
163 edges generated by these segments will represent nodes of your
164 mesh. Later these nodes will be used for meshing of the faces abutting
165 to these edges.
166
167 The direction of the splitting is defined by the orientation of the
168 underlying geometrical edge. <b>"Reverse Edges"</b> list box allows to
169 specify the edges for which the splitting should be made in the
170 direction opposing to their orientation. This list box is enabled only
171 if the geometry object is selected for the meshing. In this case it is 
172 possible to select edges to be reversed either by directly picking them
173 in the 3D viewer or by selecting the edges or groups of edges in the
174 Object Browser.
175
176 \image html image46.gif
177
178 You can set the type of distribution for this hypothesis in the
179 <b>Hypothesis Construction</b> dialog bog :
180
181 \image html a-nbsegments1.png
182
183 <br><b>Equidistant Distribution</b> - all segments will have the same
184 length, you define only the <b>Number of Segments</b>.
185
186 <br><b>Scale Distribution</b> - length of segments gradually changes
187 depending on the <b>Scale Factor</b>, which is a ratio of the first
188 segment length to the last segment length.<br>
189 Length of segments changes in geometric progression with the common
190 ratio (A) depending on the <b>Scale Factor</b> (S) and <b>Number of
191 Segments</b> (N) as follows: <code> A = S**(1/(N-1))</code>. For an
192 edge of length L, length of the first segment is 
193 <code>L * (1 - A)/(1 - A**N)</code>.
194
195
196 \image html a-nbsegments2.png
197
198 <br><b>Distribution with Analytic Density</b> - you input the formula,
199 which will rule the change of length of segments and the module shows
200 in the plot the density function curve in red and the node
201 distribution as blue crosses.
202
203 \image html distributionwithanalyticdensity.png
204
205 <br>
206 \anchor analyticdensity_anchor
207 The node distribution is computed so that to have the density function
208 integral on the range between two nodes equal for all segments.
209 \image html analyticdensity.png
210
211 <br><b>Distribution with Table Density</b> - you input a number of
212 pairs <b>t - F(t)</b>, where \b t ranges from 0 to 1, and the module computes the
213 formula, which will rule the change of length of segments and shows
214 in the plot the density function curve in red and the node
215 distribution as blue crosses. The node distribution is computed in the
216 same way as for 
217 \ref analyticdensity_anchor "Distribution with Analytic Density". You
218 can select the <b>Conversion mode</b> from\b Exponent and <b>Cut
219 negative</b>. 
220
221 \image html distributionwithtabledensity.png
222
223 <b>See Also</b> a sample TUI Script of a 
224 \ref tui_deflection_1d "Defining Number of Segments" hypothesis
225 operation.
226
227
228 <br>
229 \anchor start_and_end_length_anchor
230 <h2>Start and End Length hypothesis</h2>
231
232 <b>Start and End Length</b> hypothesis allows to divide a geometrical edge
233 into segments so that the first and the last segments have a specified
234 length. The length of medium segments changes with automatically chosen
235 geometric progression. Then mesh nodes are
236 constructed at segment ends location and 1D mesh elements are
237 constructed on them.
238
239 The direction of the splitting is defined by the orientation of the
240 underlying geometrical edge. <b>"Reverse Edges"</b> list box allows to
241 specify the edges, for which the splitting should be made in the
242 direction opposing to their orientation. This list box is enabled only
243 if the geometry object is selected for the meshing. In this case it is 
244 possible to select edges to be reversed either by directly picking them
245 in the 3D viewer or by selecting the edges or groups of edges in the
246 Object Browser.
247
248 \image html a-startendlength.png
249
250 \image html b-art_end_length.png "The lengths of the first and the last segment are strictly defined"
251
252 <b>See Also</b> a sample TUI Script of a 
253 \ref tui_start_and_end_length "Defining Start and End Length"
254 hypothesis operation.
255
256 <br>
257 \anchor automatic_length_anchor
258 <h2>Automatic Length</h2>
259
260 The dialog box prompts you to define the quality of the future mesh by
261 only one parameter, which is \b Fineness, ranging from 0 (coarse mesh,
262 low number of elements) to 1 (extremely fine mesh, great number of
263 elements). 
264
265 \image html automaticlength.png
266
267 Compare one and the same object (sphere) meshed with
268 minimum and maximum value of this parameter.
269
270 \image html image147.gif "Example of a very rough mesh. Automatic Length works for 0."
271
272 \image html image148.gif "Example of a very fine mesh. Automatic Length works for 1."
273
274 <br>
275 \anchor fixed_points_1d_anchor
276 <h2>Fixed points 1D hypothesis</h2>
277
278 <b>Fixed points 1D</b> hypothesis allows splitting edges through a
279 set of points parameterized on the edge (from 1 to 0) and a number of segments for each
280 interval limited by the points.
281
282 \image html hypo_fixedpnt_dlg.png 
283
284 It is possible to check in <b>Same Nb. Segments for all intervals</b> 
285 option and to define one value for all intervals.
286
287 The splitting direction is defined by the orientation of the
288 underlying geometrical edge. <b>"Reverse Edges"</b> list box allows to
289 specify the edges for which the splitting should be made in the
290 direction opposite to their orientation. This list box is enabled only
291 if the geometrical object is selected for meshing. In this case it is
292 possible to select the edges to be reversed either directly picking them in
293 the 3D viewer or selecting the edges or groups of edges in the
294 Object Browser.
295
296 \image html mesh_fixedpnt.png "Example of a submesh on the edge built using Fixed points 1D hypothesis"
297
298 <b>See Also</b> a sample TUI Script of a 
299 \ref tui_fixed_points "Defining Fixed Points" hypothesis operation.
300
301 */