smesh/doc/salome/gui/SMESH/input/2d_meshing_hypo.doc
2015-05-28 11:15:18 +03:00

147 lines
6.0 KiB
Plaintext

/*!
\page a2d_meshing_hypo_page 2D Meshing Hypotheses
- \ref max_element_area_anchor "Max Element Area"
- \ref length_from_edges_anchor "Length from Edges"
- \ref hypo_quad_params_anchor "Quadrangle parameters"
\anchor max_element_area_anchor
<h2>Max Element Area</h2>
<b>Max Element Area</b> hypothesis is applied for meshing of faces
composing your geometrical object. Definition of this hypothesis
consists of setting the <b>maximum area</b> of mesh faces,
which will compose the mesh of these faces.
\image html a-maxelarea.png
\n
\image html max_el_area.png "In this example, Max. element area is very small compared to the 1D hypothesis"
<b>See Also</b> a sample TUI Script of a
\ref tui_max_element_area "Maximum Element Area" hypothesis operation.
\anchor length_from_edges_anchor
<h2>Length from Edges</h2>
<b>Length from edges</b> hypothesis defines the maximum linear size of
mesh faces as an average length of mesh edges approximating
the meshed face boundary.
<b>See Also</b> a sample TUI Script of a
\ref tui_length_from_edges "Length from Edges" hypothesis operation.
\anchor hypo_quad_params_anchor
<h2>Quadrangle parameters</h2>
\image html hypo_quad_params_dialog.png "Quadrangle parameters: Transition"
<b>Quadrangle parameters</b> is a hypothesis for Quadrangle (Mapping) algorithm.
<b>Transition</b> tab is used to define the algorithm of transition
between opposite sides of the face with a different number of
segments on them. The following types of transition
algorithms are available:
- <b>Standard</b> is the default case, when both triangles and quadrangles
are possible in the transition area along the finer meshed sides.
- <b>Triangle preference</b> forces building only triangles in the
transition area along the finer meshed sides.
\note This type corresponds to <b>Triangle Preference</b> additional hypothesis,
which is obsolete now.
- <b>Quadrangle preference</b> forces building only quadrangles in the
transition area along the finer meshed sides. This hypothesis has a
restriction: the total quantity of segments on all
four face sides must be even (divisible by 2).
\note This type corresponds to <b>Quadrangle Preference</b> additional hypothesis,
which is obsolete now.
- <b>Quadrangle preference (reversed)</b> works in the same way and
with the same restriction as <b>Quadrangle preference</b>, but
the transition area is located along the coarser meshed sides.
- <b>Reduced</b> type forces building only quadrangles and the transition
between the sides is made gradually, layer by layer. This type has
a limitation on the number of segments: one pair of opposite sides must have
the same number of segments, the other pair must have an even total
number of segments. In addition, the number of rows
between sides with different discretization
should be enough for the transition. Following the fastest transition
pattern, three segments become one (see the image below), hence
the least number of face rows needed to reduce from Nmax segments
to Nmin segments is log<sub>3</sub>( Nmax / Nmin ). The number of
face rows is equal to the number of segments on each of equally
discretized sides.
\image html reduce_three_to_one.png "The fastest transition pattern: 3 to 1"
<b>Base vertex</b> tab allows using Quadrangle (Mapping)
algorithm for meshing of trilateral faces. In this case it is
necessary to select the vertex, which will be used as the forth
degenerated side of quadrangle.
\image html hypo_quad_params_dialog_vert.png "Quadrangle parameters: Base Vertex"
\image html hypo_quad_params_1.png "A face built from 3 edges"
\image html hypo_quad_params_res.png "The resulting mesh"
This parameter can be also used to mesh a segment of a circular face.
Please, consider that there is a limitation on the selection of the
vertex for the faces built with the angle > 180 degrees (see the picture).
\image html hypo_quad_params_2.png "3/4 of a circular face"
In this case, selection of a wrong vertex for the <b>Base vertex</b>
parameter will generate a wrong mesh. The picture below
shows the good (left) and the bad (right) results of meshing.
\image html hypo_quad_params_res_2.png "The resulting meshes"
\image html hypo_quad_params_dialog_enf.png "Quadrangle parameters: Enforced nodes"
<b>Enforced nodes</b> tab allows defining points, where the
algorithm should create nodes. There are two ways to define positions
of the enforced nodes.
<ul>
<li>\b Vertices group allows to set up shapes whose vertices will
define positions of the enforced nodes. Only vertices successfully
projected to the meshed face and located close enough to the
meshed face will be used to create the enforced nodes.</li>
<li> \b Points group allows to explicitly define coordinates of
points used to create the enforced nodes. Only points successfully
projected to the meshed face and located close enough to the
meshed face will be used to create the enforced nodes.</li>
</ul>
\note <b>Enforced nodes</b> cannot be created at \b Reduced transition type.
Let us see how the algorithm works:
<ul>
<li> Initially positions of nodes are computed without taking into
account the enforced vertex (yellow point).</li>
\image html hypo_quad_params_enfnodes_algo1.png "Initial mesh"
<li> Then the node closest to the enforced vertex is
detected. Extreme nodes of the row and column of the detected node
are used to create virtual edges (yellow lines) ending at the
enforced vertex. </li>
\image html hypo_quad_params_enfnodes_algo2.png "Creation of virtual edges"
<li> Consequently, the meshed face is divided by the virtual
edges into four quadrilateral sub-domains each of which is meshed
as usually: the nodes of the row and column of the detected node are
moved to the virtual edges and the quadrilateral elements are
constructed.
\image html hypo_quad_params_enfnodes_algo3.png "Final mesh"
</ul>
If there are several enforced vertices, the algorithm is applied
recursively to the formed sub-domains.
<b>See Also</b> a sample TUI Script of a
\ref tui_quadrangle_parameters "Quadrangle Parameters" hypothesis.
<br>
*/