Salome HOME
ddd1e447ea73e7f5daee1967204c6c7c6e25ce86
[plugins/netgenplugin.git] / doc / salome / gui / NETGENPLUGIN / input / netgen_2d_3d_hypo.doc
1 /*!
2
3 \page netgen_2d_3d_hypo_page NETGEN 2D and 3D hypotheses
4
5 <b>NETGEN 2D Parameters</b> and <b>NETGEN 3D Parameters</b>
6 hypotheses work only with NETGEN algorithm in it's different forms:
7 - <b>NETGEN 1D-2D</b>
8 - <b>NETGEN 2D</b>
9 - <b>NETGEN 1D-2D-3D</b>
10 - <b>NETGEN 3D</b>. 
11
12 <b>NETGEN 1D-2D</b> and <b>NETGEN 1D-2D-3D</b>  algorithms do not
13  require definition of lower-level hypotheses and algorithms (2D and
14  1D for meshing 3D objects and 1D for meshing 2D objects).
15
16 <b>NETGEN 1D-2D-3D</b> algorithm has maximal number of options. The
17 rest forms have less options as they construct elements of less number
18 of dimensions. All options are distributed among following tabs:
19 - \ref arguments_anchor "Arguments" - basic options.
20 - \ref local_sizes_anchor "Local Sizes" - local element size.
21 - \ref advanced_anchor "Advanced" - advanced options.
22 - \ref stl_anchor "STL" - specific Remesher options.
23
24 \ref simple_anchor "NETGEN 2D/3D simple parameters" hypotheses allow
25 defining the size of elements for each dimension separately.
26
27
28 \anchor arguments_anchor
29 <h2> Arguments tab</h2> 
30
31 <b>Arguments</b> tab defines basic mesh parameters.
32
33 \image html netgen2d3d.png
34 <center><em>Main tab of hypothesis dialog box <b>NETGEN 1D-2D-3D</b> algorithm</em></center>
35 <br>
36
37 - <b>Name</b> - allows to define the name for the algorithm (NETGEN
38 2D (or 3D) Parameters by default).
39 - <b>Max Size</b> - maximum linear dimensions for mesh cells.
40 - <b>Min Size</b> - minimum linear dimensions for mesh cells. It is
41 ignored if it is more than <b>Max Size</b>.
42 - <b>Fineness</b> - ranging from <em>Very Coarse</em> to <em>Very Fine</em>
43 allows to set the level of meshing detalization using the three
44 parameters below. You can select \a Custom to define them manually.
45 - <b>Growth rate</b> - allows to define how much the linear dimensions of
46 two adjacent cells can differ (e.g. 0.3 means 30%).
47 - <b>Nb. Segs per Edge</b> - allows to define the minimum number of
48 mesh segments in which edges will be split. Size of elements computed using
49 this value is trimmed between <b>Min Size</b> and <b>Max Size</b>
50 bounds. This parameter is used only if <b>Limit Size by Surface
51   Curvature</b> is checked.
52 - <b>Nb Segs per Radius</b> - allows to define the size of
53 mesh segments and mesh faces in which curved edges and surfaces will
54 be split. A radius of local curvature divided by this value gives an element
55 size at a given point. Element size computed this way is then trimmed
56 between <b>Min Size</b> and <b>Max Size</b> bounds. This parameter is
57 used only if <b>Limit Size by Surface Curvature</b> is checked.
58 - <b>Chordal Error</b> - allows to define the maximum distance between
59 the generated 2D element and the surface. Size of elements computed using
60 this criterion is trimmed between <b>Min Size</b> and <b>Max Size</b> bounds.
61 - <b>Limit Size by Surface Curvature</b> - if this box is checked in,
62 then size of mesh segments and mesh faces on curved edges and surfaces
63 is defined using value of <b>Nb Segs per Radius</b> parameter, and
64 number of segments on straight edges is defined by values of
65 <b>Nb. Segs per Edge</b> parameter. (<b>Growth rate</b> is also taken
66 into account.) If this box is not checked in, then size of elements is
67 defined by three parameters only:
68 <b>Max Size</b>, <b>Min Size</b> and <b>Growth rate</b>.
69 - <b>Quad-dominated</b> - if this box is checked in, the mesher
70 tries to generate quadrangle 2D mesh. Triangle elements are created
71 where quadrangles are not possible.
72 - <b>Second Order</b> - if this box is checked in, the algorithm will
73 create second order mesh.
74 - <b>Optimize</b> - if this box is checked in, the algorithm will modify
75 initially created mesh in order to improve quality of elements. Optimization
76 process is rather time consuming comparing to creation of initial
77 mesh.
78
79 Remesher has two additional basic options:
80 - <b>Keep existing edges</b> - if activated, all edges present in the
81 initial mesh are kept and used to separate STL surfaces.
82 - <b>Create groups of surfaces </b> if activated, all new surface
83 elements are distributed among groups corresponding to STL surfaces
84 the Remesher detects.
85
86
87 \anchor local_sizes_anchor
88 <h2> Local sizes tab</h2> 
89
90 <b>Local sizes</b> tab allows to define size of elements on and
91 around specified geometrical objects. 
92
93 \image html netgen3d_local_size.png
94
95 - To define the local
96 size it is necessary to select a geometrical objects in the
97 object browser or in the viewer, and to click a button corresponding
98 to the type of the geometrical objects: <b>On Vertex</b>, <b>On
99   Edge</b> etc. <b>Name</b> of the geometrical object and a
100 default <b>Value</b> will be added in the table where the <b>Value</b>
101 can be changed.
102 - <b>Remove</b> - deletes a selected row from the table.
103 - <b>Mesh-size File</b> - opens a dialog to select a file defining
104 size of elements. The file includes two obligatory sections. The first
105 section defines the size at points. The second section defines the
106 size along lines. Sizes defined in the file are trimmed between <b>Min
107 Size</b> and <b>Max Size</b> bounds. Let's consider the following
108 sample size file.
109 \code
110 2
111 92.5 92.5 92.5 0.05
112 42.5 42.5 42.5 0.04
113 1
114 25 25 0 25 25 200  0.3
115 \endcode
116 "2" at the first line means that there are two points in the first
117 section.<br>
118 "92.5 92.5 92.5 0.05" at the second line means that at the point with
119 coordinates (92.5, 92.5, 92.5) size of elements should be 0.05.<br>
120 "1" at the fourth line means that there is one line in the second
121 section.<br>
122 "25 25 0 25 25 200  0.3" means that along the line between points (25,
123 25, 0) and (25, 25, 200) size of elements should be 0.3.
124
125
126
127 \anchor advanced_anchor 
128 <h2> Advanced tab</h2> 
129
130 <b>Advanced</b> tab allows advance controlling meshing algorithm.
131
132 \image html netgen_advanced.png
133
134 - <b>Element size weight</b> - weight of triangle size badness with respect to
135 triangle shape badness. Total triangle badness is evaluated as <em>
136   shape_badness + size_weight * size_mismatch</em>.
137 - <b>Nb. surface optimization steps</b> - number of loops when optimizing surface mesh.
138 - <b>Nb. volume optimization steps</b> - number of loops when optimizing volume mesh.
139 - <b>Worst element measure</b> - power of error, used to approximate max error optimization.
140 - <b>Use Delaunay</b> - if activated, use Delaunay approach to
141 construct volume elements, otherwise use Advancing front method.
142 - <b>Check overlapping</b> - check overlapping surfaces during surface meshing.
143 - <b>Check chart boundary</b> - to check chart boundary.
144 - <b>Fuse Coincident Nodes on Edges and Vertices</b> - allows merging
145 mesh nodes on vertices and edges which are geometrically coincident
146 but are topologically different.
147
148
149
150 \anchor stl_anchor
151 <h2> STL tab</h2> 
152
153 <b> STL </b> tab holds option of Remesher (NETGEN 2D working w/o geometry).
154
155 \image html netgen2d_remesher.png
156 <center><em>Options specific to <b>NETGEN 2D</b> remesher algorithms</em></center>
157
158
159 - <b>Ridge angle</b> - defines minimum angle in degrees between
160 normals of adjacent triangles at which the remesher considers the edge
161 between these triangles as a feature edge. Feature edges bound charts
162 of triangles that are re-meshed as separate surfaces.
163 - <b> Edge corner angle </b> - defines minimum angle in degrees
164 between adjacent edges of chart boundary, above which a point shared
165 by the edges is considered as an end point of chart boundary curve.
166 - <b> Chart angle </b> - angle between normals of adjacent triangles 
167 under which a shared sharp edge is <em>not</em> considered as chart boundary,
168 provided that this edge is not classified as chart boundary due
169 to <b>Ridge angle</b> and <b>Keep existing edges</b> options.
170 - <b> Outer chart angle </b> - angle for overlapping parts of chart.
171 - <b> Chart distance </b> - defines a factor used to limit element
172 size by distance to neighbor chart.
173 - <b> Line length </b> - defines a factor used to limit size
174 of elements located near ends of chart boundary curves by length of a
175 chart boundary curve.
176 - <b> Close edges </b> - defines a factor used to limit size
177 of elements located near chart boundary curves by distance to other
178 chart boundary curves.
179 - <b> Surface curvature </b> - defines a factor used to limit size
180 of elements by surface curvature.
181 - <b> Edge angle </b> - defines a factor used to limit size
182 of elements by chart boundary curve curvature.
183 - <b> Surface mesh curvature</b> - defines a number of elements per
184 curvature radius.
185
186 \anchor simple_anchor
187 <h2> NETGEN 2D/3D simple parameters</h2> 
188
189 <b>NETGEN 2D simple parameters</b> and <b>NETGEN 3D simple
190 parameters</b> hypotheses allow defining the size of elements for each
191 dimension.
192
193 \image html netgen2d3d_simple.png
194
195 \b 1D group allows defining the size of 1D elements in either of two ways: 
196 - <b>Number of Segments</b> allows specifying number of segments, that
197 will split each edge, with equidistant distribution.
198 - <b>Local Length</b> defines length of segments.
199
200 \b 2D group allows defining the size of 2D elements 
201 - <b>Length from edges</b> if checked in, size of 
202 2D mesh elements is defined as an average mesh segment length
203 for a given wire, else
204 - <b>Max. Element Area</b> specifies expected maximum element area for
205 each 2d element.
206 - <b>Allow Quadrangles</b> - allows to generate quadrangle elements
207 wherever possible.
208
209 \b 3D groups allows defining the size of 3D elements.
210 - <b>Length from faces</b> if checked in, the area of sides of
211 volumic elements will be equal to an average area of 2D elements, else
212 - <b>Max. Element Volume</b> specifies expected maximum element volume
213 of 3d elements.
214
215 \note NETGEN algorithm does not strictly follow the input
216 parameters. The actual mesh can be more or less dense than
217 required. There are several factors in it:
218 - NETGEN does not actually use <b>Number of Segments</b> parameter for
219 discretization of edge. This parameter is used  only to define the
220 local element size (size at the given point), so local sizes of
221 close edges influence each other.
222 - NETGEN additionally restricts the element size according to edge curvature.
223 - The local size of segments influences the size of close triangles.
224 - The order of elements and their size in the 1D mesh generated by
225 NETGEN differ from those in the 1D mesh generated by Regular_1D
226 algorithm, which results in different 2D and 3D meshes at the same 1D
227 input parameters.
228
229 */