Salome HOME
0022362: EDF SMESH: Quadrangle (mapping) algorithm: enforced vortices
[modules/smesh.git] / doc / salome / gui / SMESH / input / 2d_meshing_hypo.doc
index 05ab6dd362b8301c7068ee1429325fe0a82086f5..e019c8b87ff3c96bc64f282dc329f8b3395aab1b 100644 (file)
 
 \page a2d_meshing_hypo_page 2D Meshing Hypotheses
 
-<br>
-<ul>
-<li>\ref max_element_area_anchor "Max Element Area"</li>
-<li>\ref length_from_edges_anchor "Length from Edges"</li>
-<li>\ref quadrangle_preference_anchor "Quadrangle Preference"</li>
-</ul>
+- \ref max_element_area_anchor "Max Element Area"
+- \ref length_from_edges_anchor "Length from Edges"
+- \ref hypo_quad_params_anchor "Quadrangle parameters"
 
-<br>
 \anchor max_element_area_anchor
 <h2>Max Element Area</h2>
 
-<b>Max Element Area</b> hypothesis is applied for meshing of 2D faces
+<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 meshing elements (depending on
-the chosen meshing algorithm it can be <b>triangles</b> or <b>quadrangles</b>),
-which will compose the mesh of these 2D faces.
+consists of setting the <b>maximum area</b> of mesh elements,
+which will compose the mesh of these faces.
 
 \image html a-maxelarea.png
 
-\image html max_el_area.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. 
+\ref tui_max_element_area "Maximum Element Area" hypothesis operation. 
 
-<br>
 \anchor length_from_edges_anchor
 <h2>Length from Edges</h2>
 
-<b>Length from edges</b> hypothesis builds 2D mesh segments having a
-length calculated as an average edge length for a given wire.
+<b>Length from edges</b> hypothesis builds 2D mesh elements having a
+maximum linear size calculated as an average segment length for a wire
+of a given face.
 
 <b>See Also</b> a sample TUI Script of a 
 \ref tui_length_from_edges "Length from Edges" hypothesis operation.
 
-<br>
-\anchor quadrangle_preference_anchor
-<h2>Quadrangle Preference</h2>
+\anchor hypo_quad_params_anchor
+<h2>Quadrangle parameters</h2>
+
+\image html hypo_quad_params_dialog.png "Quadrangle parameters creation/edition dialog"
+
+<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 faces with a different number of
+segments on opposite sides. 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 sides of the face 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 difference
+  between the numbers of segments on the sides. 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 fourth edge
+(degenerated).
+
+\image html hypo_quad_params_dialog_vert.png "Base Vertex tab of Quadrangle parameters creation/edition dialog"
+
+\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 "Enforced nodes tab of Quadrangle parameters creation/edition dialog"
+
+<b>Enforced nodes</b> tab allows for 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>
+Algorithm of creation of the enforced nodes is following.
+
+\image html hypo_quad_params_enfnodes_algo.png "Steps of the algorithm of creation of the enforced nodes"
+<ol>
+  <li> Left image: Positions of nodes are computed without taking into
+  account the enforced vertex (yellow point).</li> 
+  <li> Middle image: A 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>
+  <li> Right image: The meshed face is thus 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 detected node are
+    moved to the virtual edges and the quadrilateral elements are
+    constructed. 
+</ol>
+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.
 
-This algorithm can be used only together with Quadrangle (Mapping)
-algorithm. It allows to build quadrangular meshes even if the number
-of nodes at the opposite edges of a meshed face is not equal,
-otherwise this mesh will contain some triangular elements.
 <br>
-This hypothesis has one restriction on its work: the total quantity of
-segments on all four sides of the face must be even (divisible by 2).
 */