2008-03-07 12:47:05 +05:00
|
|
|
/*!
|
|
|
|
|
|
|
|
\page a2d_meshing_hypo_page 2D Meshing Hypotheses
|
|
|
|
|
2013-12-18 21:08:18 +06:00
|
|
|
- \ref max_element_area_anchor "Max Element Area"
|
|
|
|
- \ref length_from_edges_anchor "Length from Edges"
|
|
|
|
- \ref hypo_quad_params_anchor "Quadrangle parameters"
|
2008-03-07 12:47:05 +05:00
|
|
|
|
|
|
|
\anchor max_element_area_anchor
|
|
|
|
<h2>Max Element Area</h2>
|
|
|
|
|
2013-05-29 19:34:03 +06:00
|
|
|
<b>Max Element Area</b> hypothesis is applied for meshing of faces
|
2008-03-07 12:47:05 +05:00
|
|
|
composing your geometrical object. Definition of this hypothesis
|
2015-02-25 22:07:02 +05:00
|
|
|
consists of setting the <b>maximum area</b> of mesh faces,
|
2013-05-29 19:34:03 +06:00
|
|
|
which will compose the mesh of these faces.
|
2008-03-07 12:47:05 +05:00
|
|
|
|
|
|
|
\image html a-maxelarea.png
|
|
|
|
|
2012-08-09 16:03:55 +06:00
|
|
|
\n
|
|
|
|
|
2009-02-17 10:27:49 +05:00
|
|
|
\image html max_el_area.png "In this example, Max. element area is very small compared to the 1D hypothesis"
|
2008-03-07 12:47:05 +05:00
|
|
|
|
|
|
|
<b>See Also</b> a sample TUI Script of a
|
2013-12-18 21:08:18 +06:00
|
|
|
\ref tui_max_element_area "Maximum Element Area" hypothesis operation.
|
2008-03-07 12:47:05 +05:00
|
|
|
|
|
|
|
\anchor length_from_edges_anchor
|
|
|
|
<h2>Length from Edges</h2>
|
|
|
|
|
2015-05-25 14:40:41 +05:00
|
|
|
<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.
|
2008-03-07 12:47:05 +05:00
|
|
|
|
|
|
|
<b>See Also</b> a sample TUI Script of a
|
|
|
|
\ref tui_length_from_edges "Length from Edges" hypothesis operation.
|
|
|
|
|
2012-08-09 16:03:55 +06:00
|
|
|
\anchor hypo_quad_params_anchor
|
|
|
|
<h2>Quadrangle parameters</h2>
|
2008-03-07 12:47:05 +05:00
|
|
|
|
2014-05-05 11:25:50 +06:00
|
|
|
\image html hypo_quad_params_dialog.png "Quadrangle parameters: Transition"
|
2009-02-17 10:27:49 +05:00
|
|
|
|
2015-09-18 19:10:34 +05:00
|
|
|
<b>Quadrangle parameters</b> is a hypothesis for \ref quad_ijk_algo_page.
|
2012-08-09 16:03:55 +06:00
|
|
|
|
2014-02-14 17:53:14 +06:00
|
|
|
<b>Transition</b> tab is used to define the algorithm of transition
|
2015-02-25 22:07:02 +05:00
|
|
|
between opposite sides of the face with a different number of
|
2014-05-05 11:25:50 +06:00
|
|
|
segments on them. The following types of transition
|
2014-02-14 17:53:14 +06:00
|
|
|
algorithms are available:
|
2012-08-09 16:03:55 +06:00
|
|
|
|
2013-12-18 21:08:18 +06:00
|
|
|
- <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
|
2015-02-25 22:07:02 +05:00
|
|
|
four face sides must be even (divisible by 2).
|
2013-12-18 21:08:18 +06:00
|
|
|
\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
|
2013-05-29 19:34:03 +06:00
|
|
|
with the same restriction as <b>Quadrangle preference</b>, but
|
2013-12-18 21:08:18 +06:00
|
|
|
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
|
2015-02-25 22:07:02 +05:00
|
|
|
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
|
2013-12-18 21:08:18 +06:00
|
|
|
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.
|
2014-02-14 17:53:14 +06:00
|
|
|
|
|
|
|
\image html reduce_three_to_one.png "The fastest transition pattern: 3 to 1"
|
|
|
|
|
2016-10-03 19:53:47 +05:00
|
|
|
<b>Base vertex</b> tab allows using Quadrangle: Mapping
|
2014-02-14 17:53:14 +06:00
|
|
|
algorithm for meshing of trilateral faces. In this case it is
|
2015-02-25 22:07:02 +05:00
|
|
|
necessary to select the vertex, which will be used as the forth
|
|
|
|
degenerated side of quadrangle.
|
2014-02-14 17:53:14 +06:00
|
|
|
|
2014-05-05 11:25:50 +06:00
|
|
|
\image html hypo_quad_params_dialog_vert.png "Quadrangle parameters: Base Vertex"
|
2014-02-14 17:53:14 +06:00
|
|
|
|
|
|
|
\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"
|
|
|
|
|
2014-05-05 11:25:50 +06:00
|
|
|
\image html hypo_quad_params_dialog_enf.png "Quadrangle parameters: Enforced nodes"
|
2014-02-14 17:53:14 +06:00
|
|
|
|
2014-05-05 11:25:50 +06:00
|
|
|
<b>Enforced nodes</b> tab allows defining points, where the
|
2014-02-14 17:53:14 +06:00
|
|
|
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>
|
2015-05-25 14:40:41 +05:00
|
|
|
\note <b>Enforced nodes</b> cannot be created at \b Reduced transition type.
|
2014-02-14 17:53:14 +06:00
|
|
|
|
2014-05-05 11:25:50 +06:00
|
|
|
Let us see how the algorithm works:
|
|
|
|
<ul>
|
|
|
|
<li> Initially positions of nodes are computed without taking into
|
2014-02-14 17:53:14 +06:00
|
|
|
account the enforced vertex (yellow point).</li>
|
2014-05-05 11:25:50 +06:00
|
|
|
\image html hypo_quad_params_enfnodes_algo1.png "Initial mesh"
|
|
|
|
|
|
|
|
<li> Then the node closest to the enforced vertex is
|
2014-02-14 17:53:14 +06:00
|
|
|
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>
|
2014-05-05 11:25:50 +06:00
|
|
|
\image html hypo_quad_params_enfnodes_algo2.png "Creation of virtual edges"
|
|
|
|
|
|
|
|
<li> Consequently, the meshed face is divided by the virtual
|
2014-02-14 17:53:14 +06:00
|
|
|
edges into four quadrilateral sub-domains each of which is meshed
|
2014-05-05 11:25:50 +06:00
|
|
|
as usually: the nodes of the row and column of the detected node are
|
2014-02-14 17:53:14 +06:00
|
|
|
moved to the virtual edges and the quadrilateral elements are
|
|
|
|
constructed.
|
2014-05-05 11:25:50 +06:00
|
|
|
|
|
|
|
\image html hypo_quad_params_enfnodes_algo3.png "Final mesh"
|
|
|
|
|
|
|
|
</ul>
|
2014-02-14 17:53:14 +06:00
|
|
|
If there are several enforced vertices, the algorithm is applied
|
|
|
|
recursively to the formed sub-domains.
|
2012-08-09 16:03:55 +06:00
|
|
|
|
|
|
|
<b>See Also</b> a sample TUI Script of a
|
|
|
|
\ref tui_quadrangle_parameters "Quadrangle Parameters" hypothesis.
|
2009-02-17 10:27:49 +05:00
|
|
|
|
|
|
|
<br>
|
2008-03-07 12:47:05 +05:00
|
|
|
*/
|