Salome HOME
22874: [CEA 1425] Performance SMESH Module
[modules/smesh.git] / doc / salome / gui / SMESH / input / constructing_submeshes.doc
index 9f6254cb2f21de45f05494dc1c16618e077c5337..cf276a57ba70310ec455769135e1539043e236fb 100644 (file)
@@ -2,33 +2,76 @@
 
 \page constructing_submeshes_page Constructing sub-meshes
 
 
 \page constructing_submeshes_page Constructing sub-meshes
 
-Sub-mesh is a mesh on a geometrical sub-object created with algorithms
-and/or hypotheses other than the algorithms and hypotheses assigned to
-the parent mesh on the parent object.
-<br><br>
-If a geometrical sub-object belongs to several geometrical objects
-having different meshes or sub-meshes, it will be meshed with the
-hypotheses of a sub-mesh of a lower dimension.<br>
-For example, a face of a box is meshed with a sub-mesh using algorithms
-and hypotheses other than the parent mesh on the whole box. The face
-and the box share four edges, which will be meshed with algorithms and
-hypotheses of the sub-mesh on the face, because the face is a 2D object
-while the box is a 3D object.  <br>
- If the dimensions are the same, an arbitrary algorithm/hypothesis
- will be used. This means that an edge shared by two faces each having
- its own different sub-mesh, will be meshed using algorithms and
- hypotheses of any of the two, chosen randomly. This indeterminacy can
- be fixed by defining \ref submesh_order_anchor "Sub-mesh priority".
-<br>
+By purpose, the sub-mesh is an object used to assign to a sub-shape
+different meshing parameters than those assigned to the main shape.
+
+Structurally, the sub-mesh is a mesh on a certain sub-shape, or a group of
+sub-shapes, possibly generated using different meshing algorithms
+and/or hypotheses than those used to generate the mesh on other
+sub-shapes.
+
+Creation of a sub-mesh allows to control individually meshing of a
+certain sub-shape, thus allowing to get mesh locally coarser or finer, to get
+elements of different types in the same mesh etc.
+
+A sub-shape to create a sub-mesh on should be retrieved from the main shape
+in one of the following ways: <ul>
+<li> In Geometry module, via <em>New Entity > Explode</em> menu.</li>
+<li> In Geometry module, by creation of a group (<em>New Entity >
+    Group > Create Group</em> menu).</li> 
+<li> In Mesh module, by
+  \ref subshape_by_mesh_elem "selecting a mesh element" generated on a
+  sub-shape of interest. This way is accessible if the mesh is
+  already computed.</li> 
+<li> In Mesh module, by clicking <em>Publish Sub-shape</em> button in a
+      dialog showing \ref meshing_failed_anchor "meshing errors".</li> 
+</ul>
+
+Internally, definition of meshing parameters to apply for
+discretization of a certain sub-shape, for example an edge of a
+compound of solids, starts from searching an algorithm, 1D as for the
+edge. The following sub-shapes are sequentially checked for presence
+of a sub-mesh where 1D algorithm is assigned:
+<ul>
+<li> the \b edge it-self</li>
+<li> <b>groups of edges</b> containing the edge, if any</li>
+<li> \b wires sharing the edge</li>
+<li> \b faces sharing the edge</li>
+<li> <b>groups of faces</b> sharing the edge, if any</li>
+<li> \b shells sharing the edge</li>
+<li> \b solids sharing the edge</li>
+<li> <b>groups of solids</b> sharing the edge, if any</li>
+<li> the <b>main shape</b></li>
+</ul>
+(This sequence of sub-shapes defines priority of sub-meshes. Thus more
+local, i.e. assigned to sub-shape of lower dimension, algorithms and
+hypotheses have higher priority during the search of hypotheses to
+apply.)
+
+As soon as an 1D algorithm is found the search stops and the same
+sequence of sub-shapes is checked to find a main and additional 1D
+hypotheses the found 1D algorithm can take into account. 
+
+The multi-dimensional algorithms have higher priority than
+uni-dimensional algorithms if they are assigned to sub-meshes of the
+same priority.
+
+If meshing parameters are defined on sub-meshes of the same priority,
+for example different 1D hypotheses are assigned to two faces sharing
+an edge, an arbitrary algorithm/hypothesis will be used for
+meshing. This indeterminacy can be fixed by 
+\ref submesh_order_anchor "Changing" mutual priority of such
+concurrent sub-meshes.
+
 
 \n Construction of a sub-mesh consists of:
 <ul>
 <li>Selecting a mesh which will encapsulate your sub-mesh</li>
 
 \n Construction of a sub-mesh consists of:
 <ul>
 <li>Selecting a mesh which will encapsulate your sub-mesh</li>
-<li>Selecting a geometrical object for meshing</li>
-<li>Applying one or several previously described 
+<li>Selecting a sub-shape for meshing</li>
+<li>Applying one or several
 \ref about_hypo_page "hypotheses" and 
 \ref basic_meshing_algos_page "meshing algorithms" which will be used
 \ref about_hypo_page "hypotheses" and 
 \ref basic_meshing_algos_page "meshing algorithms" which will be used
-at computation of this sub-mesh</li>
+for discretization of this sub-shape.</li>
 </ul>
 
 <br><em>To construct a sub-mesh:</em>
 </ul>
 
 <br><em>To construct a sub-mesh:</em>
@@ -50,35 +93,39 @@ The following dialog box will appear:
 \par
 It allows to define the \b Name, the parent \b Mesh and the \b
 Geometry (e.g. a face if the parent mesh has been built on box) of the
 \par
 It allows to define the \b Name, the parent \b Mesh and the \b
 Geometry (e.g. a face if the parent mesh has been built on box) of the
-sub-mesh. You can define algorithms and hypotheses in the same way as
-in \ref constructing_meshes_page "Create mesh" menu.
+sub-mesh. You can define meshing algorithms and hypotheses in the same way as
+in \ref constructing_meshes_page "Create mesh" dialog.
 
 \par
 
 \par
-If the parent mesh is already computed, then you can define 
+\anchor subshape_by_mesh_elem
+If the parent mesh is already computed, then you can define the
 \b Geometry by picking mesh elements computed on a sub-shape of interest
 \b Geometry by picking mesh elements computed on a sub-shape of interest
-in the 3D Viewer, i.e. you don't have to extract this sub-shape
-previously in Geometry module. To start element selection, press \a
+in the 3D Viewer, i.e. you do not have to extract this sub-shape
+in Geometry module beforehand. To start element selection, press \a
 Selection button to the right of \b Geometry label. If this button is
 already down, then click it to release and then click it again. The
 Selection button to the right of \b Geometry label. If this button is
 already down, then click it to release and then click it again. The
-following pop-up menu to choose a way of geometry definition will
+following pop-up menu allowing to choose a way of geometry definition will
 appear.
 
 \par
 \image html choose_geom_selection_way.png
 
 \par
 appear.
 
 \par
 \image html choose_geom_selection_way.png
 
 \par
-There the first item enables selecting the sub-shape in the Object
-Browser, the second one makes appear the following dialog.
+<b>Direct geometry selection</b> enables selecting the sub-shape in the Object
+Browser.
+<b>Find geometry by mesh element selection</b> activates the following dialog.
 
 \par
 \image html find_geom_by_mesh_elem.png
 
 \par
 
 \par
 \image html find_geom_by_mesh_elem.png
 
 \par
-In this dialog, <b> Element Type </b> defines kind of element to pick in the
-Viewer. Instead of picking an element in the Viewer, you can type its
-ID in <b> Element ID</b> field. <b> Geometry name </b> allow you
-define a name of the sub-shape with which it will be published in the Study.
-
+In this dialog, <b> Element Type </b> defines a kind of element to pick in the
+Viewer.
+Instead of picking an element in the Viewer, you can type its
+ID in <b> Element ID</b> field. 
+<b> Geometry name </b> field allows defining a name of the sub-shape, 
+with which the sub-shape will appear in the Object Browser (if not yet
+there).
 
 \par
 In the Object Browser the structure of the new sub-mesh will be
 
 \par
 In the Object Browser the structure of the new sub-mesh will be
@@ -89,11 +136,13 @@ displayed as follows:
 \par
 It contains:
 <ul>
 \par
 It contains:
 <ul>
-<li>a reference to the geometrical object on the basis of which the sub-mesh has been constructed;</li>
+<li>a sub-mesh name (\a SubMeshFace1)
+<li>a reference to the geometrical object on the basis of which the
+  sub-mesh has been constructed (<em>Cylindrical Face_1</em>);</li>
 <li><b>Applied hypotheses</b> folder containing the references to the
 <li><b>Applied hypotheses</b> folder containing the references to the
-hypotheses applied to the construction of the sub-mesh;</li>
+hypotheses selected at the construction of the sub-mesh;</li>
 <li><b>Applied algorithms</b> folder containing the references to the
 <li><b>Applied algorithms</b> folder containing the references to the
-algorithms applied to the construction of the sub-mesh.</li>
+algorithms selected at the construction of the sub-mesh.</li>
 </ul>
 
 <br><b>See Also</b> a sample TUI Script of a 
 </ul>
 
 <br><b>See Also</b> a sample TUI Script of a