Salome HOME
IPAL53073: Hexotic Mesh is not compute
[modules/smesh.git] / doc / salome / gui / SMESH / input / 2d_meshing_hypo.doc
index 05ab6dd362b8301c7068ee1429325fe0a82086f5..308a6899ad1abbb854117cf134461fd32f26987c 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 faces,
+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 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.
 
-<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: Transition"
+
+<b>Quadrangle parameters</b> is a hypothesis for \ref quad_ijk_algo_page.
+
+<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.
 
-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).
 */