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