Salome HOME
Merge branch 'occ/shaper2smesh'
[modules/smesh.git] / doc / salome / gui / SMESH / input / additional_hypo.rst
1 .. _additional_hypo_page: 
2
3 *********************
4 Additional Hypotheses
5 *********************
6
7 **Additional Hypotheses** can be applied as a supplement to the main hypotheses, introducing additional concepts to mesh creation.
8
9 An **Additional Hypothesis** can be defined in the same way as any main hypothesis in :ref:`Create Mesh <create_mesh_anchor>` or :ref:`Create Sub-Mesh <constructing_submeshes_page>` dialog.
10
11 The following additional hypothesis are available:
12  
13 * :ref:`propagation_anchor` and :ref:`propagofdistribution_anchor` hypotheses are useful for creation of quadrangle and hexahedral meshes.
14 * :ref:`Viscous Layers <viscous_layers_anchor>` and :ref:`Viscous Layers 2D <viscous_layers_anchor>` hypotheses allow creation of layers of highly stretched elements near mesh boundary, which is beneficial for high quality viscous computations.
15 * :ref:`quadratic_mesh_anchor` hypothesis allows generation of second order meshes. 
16 * :ref:`quadrangle_preference_anchor` hypothesis enables generation of quadrangles.
17
18
19
20 .. _propagation_anchor:
21
22 Propagation of 1D Hypothesis on opposite edges
23 ##############################################
24
25 **Propagation of 1D Hypothesis on opposite edges** allows to mesh
26 opposite sides of a quadrangle face and other adjacent quadrangles,
27 using the same hypothesis assigned to only one edge.
28 Thus you define a sub-mesh on the edge where you define 1D meshing
29 parameters and the **Propagation hypothesis**. These local meshing
30 parameters will be propagated via opposite sides of quadrangles to the
31 whole geometry, and this propagation stops at an edge with other local
32 meshing parameters.
33
34 This hypothesis can be taken into account by 
35 :ref:`Wire Discretization <a1d_algos_anchor>` and 
36 :ref:`Composite Side Discretization <a1d_algos_anchor>` algorithms.
37
38 **See Also** a sample TUI Script of a :ref:`Propagation hypothesis <tui_propagation>` operation
39
40 .. _propagofdistribution_anchor:
41
42 Propagation of Node Distribution on Opposite Edges
43 ##################################################
44
45 **Propagation of Node Distribution on Opposite Edges** allows to propagate
46 distribution of nodes onto an opposite edge. If a local hypothesis and
47 propagation are defined on an edge of a quadrangular face, the
48 opposite edge will have the same number of nodes and the same
49 relations between segment lengths, unless another hypothesis
50 has been locally defined on the opposite edge.
51  
52 This hypothesis can be taken into account by 
53 :ref:`Wire Discretization <a1d_algos_anchor>` and 
54 :ref:`Composite Side Discretization <a1d_algos_anchor>` algorithms.
55
56 **See Also** a sample TUI Script of a :ref:`Propagation hypothesis <tui_propagation>` operation
57
58 .. _viscous_layers_anchor:
59
60 Viscous Layers and Viscous Layers 2D
61 ####################################
62
63 **Viscous Layers** and **Viscous Layers 2D** additional
64 hypotheses can be used by several 3D algorithms, for example
65 Hexahedron(i,j,k), or 2D algorithms, for example Triangle
66 (MEFISTO), correspondingly. These hypotheses allow creation of layers
67 of highly stretched elements, prisms in 3D and quadrilaterals in 2D,
68 near mesh boundary, which is beneficial for high quality viscous
69 computations.
70
71 .. image:: ../images/viscous_layers_hyp.png
72         :align: center
73
74 .. image:: ../images/viscous_layers_2d_hyp.png
75         :align: center
76    
77
78 * **Name** - allows to define the name of the hypothesis.
79 * **Total thickness** - gives the total thickness of element layers.
80 * **Number of layers** - defines the number of element layers.
81 * **Stretch factor** - defines the growth factor of element height from the mesh boundary inwards.
82 * **Extrusion method** (available in 3D only) - defines how positions of nodes are found during prism construction and how the creation of distorted and intersecting prisms is prevented.
83
84   * **Surface offset + smooth** method extrudes nodes along the normal to the underlying geometrical surface. Smoothing of the internal surface of element layers is possible to avoid creation of invalid prisms.
85   * **Face offset** method extrudes nodes along the average normal of surrounding mesh faces to the intersection with a neighbor mesh face translated along its own normal by the thickness of layers. The thickness of layers can be limited to avoid creation of invalid prisms.
86   * **Node offset** method extrudes nodes along the average normal of surrounding mesh faces by the thickness of layers. The thickness of layers can be limited to avoid creation of invalid prisms. 
87
88         .. image:: ../images/viscous_layers_extrusion_method.png 
89                 :align: center
90
91         .. centered::
92                 Prisms created by the tree extrusion methods at the same other parameters
93
94 * **Specified Faces/Edges are** - defines how the shapes specified by the next parameter are used.      
95 * **Faces/Edges with/without layers** - defines geometrical faces or edges on which element layers either should be or should not be constructed, depending on the value of the previous parameter (**Specified Faces/Edges are**). Faces (or edges) can be selected either in the Object Browser or in the VTK Viewer. **Add** button becomes active as soon as a suitable sub-shape is selected.
96
97   .. note:: 
98         A mesh shown in the 3D Viewer can prevent selection of faces and edges, just hide the mesh to avoid this. If a face, which should be selected, is hidden by other faces, consider creating a group of faces to be selected in the Geometry module. To avoid a long wait when a geometry with many faces (or edges) is displayed, the number of faces (edges) shown at a time is limited by the value of :ref:`Sub-shapes preview chunk size <chunk_size_pref>` preference (in Preferences/Mesh/General tab).
99
100
101   If faces/edges without layers are specified, the element layers are
102   not constructed on geometrical faces shared by several solids in 3D
103   case and edges shared by several faces in 2D case. In other words,
104   in this mode the element layers can be constructed on boundary faces
105   and edges only, and are not constructed on internal faces and
106   edges. There is an exception to this rule: if a hypothesis is
107   assigned to a sub-mesh, the element layers can be constructed on
108   boundary faces/edges of the shape of this sub-mesh, at same time
109   possibly being internal faces/edges within the whole model.
110
111 * **Create groups from layers** - activates creation of a group containing elements of the layers.
112
113   .. image:: ../images/viscous_layers_on_submesh.png 
114      :align: center
115
116   .. centered::
117         2D viscous layers constructed on boundary edges of a sub-mesh on a disk face.
118
119   If you use **several** hypotheses to define viscous layers on faces of
120   one solid, keep in mind the following. Each hypothesis defines a set
121   of faces with viscous layers (even if you specify faces without
122   layers). The sets of faces with viscous layers defined by several
123   hypotheses should not intersect, else the module won't add an
124   hypothesis that is incompatible with another one.
125   Also you can't define different number of layers on adjacent faces
126   of a solid.
127   This logic is also valid for the 2D hypothesis.
128
129
130
131 .. image:: ../images/viscous_layers_mesh.png
132         :align: center
133
134 .. centered::
135         A group containing viscous layer prisms.
136
137 **See also** a sample TUI script of a :ref:`tui_viscous_layers`.
138
139
140 .. _quadratic_mesh_anchor:
141
142 Quadratic Mesh
143 ##############
144
145 Quadratic Mesh hypothesis allows to build a quadratic mesh (in which
146 links between element nodes are not straight but curved lines due to
147 presence of an additional mid-side node).
148
149 This 1D hypothesis can be taken into account by 
150 :ref:`Wire Discretization <a1d_algos_anchor>` and 
151 :ref:`Composite Side Discretization <a1d_algos_anchor>` algorithms. To create a quadratic mes assign this hypothesis at 
152 :ref:`mesh construction <constructing_meshes_page>`.
153
154 See :ref:`adding_quadratic_elements_page` for more information about quadratic meshes.
155
156
157 .. _quadrangle_preference_anchor:
158
159 Quadrangle Preference
160 #####################
161
162 This additional hypothesis can be used together with 2D triangulation algorithms.
163 It allows 2D triangulation algorithms to build quadrangular meshes.
164
165 Usage of this hypothesis with :ref:`Quadrangle: Mapping <quad_ijk_algo_page>` meshing algorithm is obsolete since introducing :ref:`Quadrangle parameters <hypo_quad_params_anchor>` hypothesis.
166 Usage of this hypothesis with :ref:`Quadrangle: Mapping <quad_ijk_algo_page>` meshing algorithm corresponds to specifying *Quadrangle Preference* transition type of :ref:`Quadrangle parameters <hypo_quad_params_anchor>` hypothesis.
167
168 .. note::
169         *Quadrangle Preference* transition type can be used only if the total quantity of segments on all sides of the face is even (divisible by 2), else *Standard* transition type is used.