smesh/doc/salome/gui/SMESH/input/1d_meshing_hypo.doc

303 lines
12 KiB
Plaintext

/*!
\page a1d_meshing_hypo_page 1D Meshing Hypotheses
<br>
<ul>
<li>\ref adaptive_1d_anchor "Adaptive"</li>
<li>\ref arithmetic_1d_anchor "Arithmetic 1D"</li>
<li>\ref geometric_1d_anchor "Geometric Progression"</li>
<li>\ref average_length_anchor "Local Length"</li>
<li>\ref max_length_anchor "Max Size"</li>
<li>\ref deflection_1d_anchor "Deflection 1D"</li>
<li>\ref number_of_segments_anchor "Number of segments"</li>
<li>\ref start_and_end_length_anchor "Start and end length"</li>
<li>\ref automatic_length_anchor "Automatic Length"</li>
<li>\ref fixed_points_1d_anchor "Fixed points 1D"</li>
</ul>
<br>
\anchor adaptive_1d_anchor
<h2>Adaptive hypothesis</h2>
<b>Adaptive</b> hypothesis allows to split edges into segments with a
length that depends on the curvature of edges and faces and is limited by <b>Min. Size</b>
and <b>Max Size</b>. The length of a segment also depends on the lengths
of adjacent segments (that can't differ more than twice) and on the
distance to close geometrical entities (edges and faces) to avoid
creation of narrow 2D elements.
\image html adaptive1d.png
- <b>Min size</b> parameter limits the minimal segment size.
- <b>Max size</b> parameter defines the length of segments on straight edges.
- \b Deflection parameter gives maximal distance of a segment from a curved edge.
\image html adaptive1d_sample_mesh.png "Adaptive hypothesis and Netgen 2D algorithm - the size of mesh segments reflects the size of geometrical features"
<b>See Also</b> a \ref tui_1d_adaptive "sample TUI Script" that uses Adaptive hypothesis.
<br>
\anchor arithmetic_1d_anchor
<h2>Arithmetic 1D hypothesis</h2>
<b>Arithmetic 1D</b> hypothesis allows to split edges into segments with a
length that changes in arithmetic progression (Lk = Lk-1 + d)
beginning from a given starting length and up to a given end length.
The splitting direction is defined by the orientation of the
underlying geometrical edge.
<b>Reverse Edges</b> list box allows specifying the edges, for which
the splitting should be made in the direction opposite to their
orientation. This list box is usable only if a geometry object is
selected for meshing. In this case it is possible to select edges to
be reversed either directly picking them in the 3D viewer or by
selecting the edges or groups of edges in the Object Browser. Use \b
Add button to add the selected edges to the list.
\image html a-arithmetic1d.png
\image html b-ithmetic1d.png "Arithmetic 1D hypothesis - the size of mesh elements gradually increases"
<b>See Also</b> a sample TUI Script of a
\ref tui_1d_arithmetic "Defining Arithmetic 1D and Geometric Progression hypothesis" operation.
<br>
\anchor geometric_1d_anchor
<h2>Geometric Progression hypothesis</h2>
<b>Geometric Progression</b> hypothesis allows splitting edges into
segments with a length that changes in geometric progression (Lk =
Lk-1 * d) starting from a given <b>Start Length</b> and with a given
<b>Common Ratio</b>.
The splitting direction is defined by the orientation of the
underlying geometrical edge.
<b>Reverse Edges</b> list box allows specifying the edges, for which
the splitting should be made in the direction opposite to their
orientation. This list box is usable only if a geometry object is
selected for meshing. In this case it is possible to select edges to
be reversed either directly picking them in the 3D viewer or by
selecting the edges or groups of edges in the Object Browser. Use \b
Add button to add the selected edges to the list.
\image html a-geometric1d.png
<b>See Also</b> a sample TUI Script of a
\ref tui_1d_arithmetic "Defining Arithmetic 1D and Geometric Progression hypothesis" operation.
<br>
\anchor deflection_1d_anchor
<h2>Deflection 1D hypothesis</h2>
<b>Deflection 1D</b> hypothesis can be applied for meshing curvilinear edges
composing your geometrical object. It uses only one parameter: the
value of deflection.
\n A geometrical edge is divided into equal segments. The maximum
distance between a point on the edge within a segment and the line
connecting the ends of the segment should not exceed the specified
value of deflection . Then mesh nodes are constructed at end segment
locations and 1D mesh elements are constructed on segments.
\image html a-deflection1d.png
\image html b-flection1d.png "Deflection 1D hypothesis - useful for meshing curvilinear edges"
<b>See Also</b> a sample TUI Script of a
\ref tui_deflection_1d "Defining Deflection 1D hypothesis" operation.
<br>
\anchor average_length_anchor
<h2>Local Length hypothesis</h2>
<b>Local Length</b> hypothesis can be applied for meshing of edges
composing your geometrical object. Definition of this hypothesis
consists of setting the \b length of segments, which will split these
edges, and the \b precision of rounding. The points on the edges
generated by these segments will represent nodes of your mesh.
Later these nodes will be used for meshing of the faces abutting to
these edges.
The \b precision parameter is used to allow rounding a number of
segments, calculated from the edge length and average length of
segment, to the lower integer, if this value outstands from it in
bounds of the precision. Otherwise, the number of segments is rounded
to the higher integer. Use value 0.5 to provide rounding to the
nearest integer, 1.0 for the lower integer, 0.0 for the higher
integer. Default value is 1e-07.
\image html image41.gif
\image html a-averagelength.png
\image html b-erage_length.png "Local Length hypothesis - all 1D mesh elements are roughly equal"
<b>See Also</b> a sample TUI Script of a
\ref tui_average_length "Defining Local Length" hypothesis
operation.
<br>\anchor max_length_anchor
<h2>Max Size</h2>
<b>Max Size</b> hypothesis allows splitting geometrical edges into
segments not longer than the given length. Definition of this hypothesis
consists of setting the maximal allowed \b length of segments.
<b>Use preestimated length</b> check box lets you specify \b length
automatically calculated basing on size of your geometrical object,
namely as diagonal of bounding box divided by ten. The divider can be
changed via "Ratio Bounding Box Diagonal / Max Size"
preference parameter.
<b>Use preestimated length</b> check box is enabled only if the
geometrical object has been selected before hypothesis definition.
\image html a-maxsize1d.png
<br>
\anchor number_of_segments_anchor
<h2>Number of segments hypothesis</h2>
<b>Number of segments</b> hypothesis can be applied for meshing of edges
composing your geometrical object. Definition of this hypothesis
consists of setting the number of segments, which will split these
edges. In other words your edges will be split into a definite number
of segments with approximately the same length. The points on the
edges generated by these segments will represent nodes of your
mesh. Later these nodes will be used for meshing of the faces abutting
to these edges.
The direction of the splitting is defined by the orientation of the
underlying geometrical edge. <b>"Reverse Edges"</b> list box allows to
specify the edges for which the splitting should be made in the
direction opposing to their orientation. This list box is enabled only
if the geometry object is selected for the meshing. In this case the
user can select edges to be reversed either by directly picking them
in the 3D viewer or by selecting the edges or groups of edges in the
Object Browser.
\image html image46.gif
You can set the type of distribution for this hypothesis in the
<b>Hypothesis Construction</b> dialog bog :
\image html a-nbsegments1.png
<br><b>Equidistant Distribution</b> - all segments will have the same
length, you define only the <b>Number of Segments</b>.
<br><b>Scale Distribution</b> - length of segments gradually changes
depending on the <b>Scale Factor</b>, which is a ratio of the first
segment length to the last segment length.<br>
Length of segments changes in geometric progression with the common
ratio (A) depending on the <b>Scale Factor</b> (S) and <b>Number of
Segments</b> (N) as follows: <code> A = S**(1/(N-1))</code>. For an
edge of length L, length of the first segment is
<code>L * (1 - A)/(1 - A**N)</code>.
\image html a-nbsegments2.png
<br><b>Distribution with Analytic Density</b> - you input the formula,
which will rule the change of length of segments and the module shows
in the plot the density function curve in red and the node
distribution as blue crosses.
\image html distributionwithanalyticdensity.png
<br>
\anchor analyticdensity_anchor
The node distribution is computed so that to have the density function
integral on the range between two nodes equal for all segments.
\image html analyticdensity.png
<br><b>Distribution with Table Density</b> - you input a number of
pairs <b>t - F(t)</b>, where \b t ranges from 0 to 1, and the module computes the
formula, which will rule the change of length of segments and shows
in the plot the density function curve in red and the node
distribution as blue crosses. The node distribution is computed the
same way as for
\ref analyticdensity_anchor "Distribution with Analytic Density". You
can select the <b>Conversion mode</b> from\b Exponent and <b>Cut
negative</b>.
\image html distributionwithtabledensity.png
<b>See Also</b> a sample TUI Script of a
\ref tui_deflection_1d "Defining Number of Segments" hypothesis
operation.
<br>
\anchor start_and_end_length_anchor
<h2>Start and End Length hypothesis</h2>
<b>Start and End Length</b> hypothesis allows to divide a geometrical edge
into segments so that the first and the last segments have a specified
length. The length of medium segments changes with automatically chosen
geometric progression. Then mesh nodes are
constructed at segment ends location and 1D mesh elements are
constructed on them.
The direction of the splitting is defined by the orientation of the
underlying geometrical edge. <b>"Reverse Edges"</b> list box allows to
specify the edges for which the splitting should be made in the
direction opposing to their orientation. This list box is enabled only
if the geometry object is selected for the meshing. In this case the
user can select edges to be reversed either by directly picking them
in the 3D viewer or by selecting the edges or groups of edges in the
Object Browser.
\image html a-startendlength.png
\image html b-art_end_length.png "The lengths of the first and the last segment are strictly defined"
<b>See Also</b> a sample TUI Script of a
\ref tui_start_and_end_length "Defining Start and End Length"
hypothesis operation.
<br>
\anchor automatic_length_anchor
<h2>Automatic Length</h2>
This hypothesis is automatically applied when you select <b>Assign a
set of hypotheses</b> option in Create Mesh menu.
\image html automaticlength.png
The dialog box prompts you to define the quality of the future mesh by
only one parameter, which is \b Fineness, ranging from 0 (coarse mesh,
low number of elements) to 1 (extremely fine mesh, great number of
elements). Compare one and the same object (sphere) meshed with
minimum and maximum value of this parameter.
\image html image147.gif "Example of a very rough mesh. Automatic Length works for 0."
\image html image148.gif "Example of a very fine mesh. Automatic Length works for 1."
<br>
\anchor fixed_points_1d_anchor
<h2>Fixed points 1D hypothesis</h2>
<b>Fixed points 1D</b> hypothesis allows splitting edges through a
set of points parameterized on the edge (from 1 to 0) and a number of segments for each
interval limited by the points.
\image html hypo_fixedpnt_dlg.png
It is possible to check in <b>Same Nb. Segments for all intervals</b>
option and to define one value for all intervals.
The splitting direction is defined by the orientation of the
underlying geometrical edge. <b>"Reverse Edges"</b> list box allows to
specify the edges for which the splitting should be made in the
direction opposite to their orientation. This list box is enabled only
if the geometrical object is selected for meshing. In this case it is
possible to select the edges to be reversed either directly picking them in
the 3D viewer or selecting the edges or groups of edges in the
Object Browser.
\image html mesh_fixedpnt.png "Example of a submesh on the edge built using Fixed points 1D hypothesis"
<b>See Also</b> a sample TUI Script of a
\ref tui_fixed_points "Defining Fixed Points" hypothesis operation.
*/