<li>Quadratic mesh</li>
<li>Quadrangle preference</li>
<li>Triangle preference</li>
+<li>Viscous layers</li>
</ul>
The choice of a hypothesis depends on:
<i>This hypothesis is obsolete now. Use <b>Quadrangle Parameters</b>
hypothesis with type <b>Triangle Preference</b> set instead.</i>
+\anchor viscous_layers_anchor
+<h2>Viscous Layers</h2>
+
+<b>Viscous Layers</b> additional hypotheses can be used together with
+several 3D algorithms: NETGEN 3D, GHS3D and Hexahedron(i,j,k). This
+hypothesis allows creation of layers of highly stretched prisms near
+mesh boundary, which is beneficial for high quality viscous
+computations. The prisms constructed on the quadrangular mesh faces are
+actually the hexahedrons.
+
+
+\image html viscous_layers_hyp.png
+
+<ul>
+<li><b>Name</b> - allows to define the name of the hypothesis.</li>
+<li><b>Total thicknes</b> - gives total thickness of layers of prisms.</li>
+<li><b>Number of layers</b> - defines number of layers of prisms.</li>
+<li><b>Stretch factor</b> - defines factor of growth of height of
+prisms from the mesh boundary towards inside of mesh.</li>
+<li><b>Faces without layers</b> - defines geometrical faces on which
+layers of prisms should not be constructed. By default the layers of
+prisms are not constructed on geometrical faces shared by solids.</li>
+</ul>
+
+\image html viscous_layers_mesh.png A group containing viscous layer prisms.
+
+<br><b>See also</b> a sample TUI script of a \ref tui_viscous_layers
+"Viscous layers construction".
+
+
*/
tgtMesh.Compute()
\endcode
+\anchor tui_viscous_layers
+<h2>Viscous layers construction</h2>
+
+\code
+from smesh import *
+SetCurrentStudy(salome.myStudy)
+
+X = geompy.MakeVectorDXDYDZ( 1,0,0 )
+O = geompy.MakeVertex( 100,50,50 )
+plane = geompy.MakePlane( O, X, 200 ) # plane YZ
+
+box = geompy.MakeBoxDXDYDZ(200,100,100)
+
+shape = geompy.MakeHalfPartition( box, plane )
+
+faces = geompy.SubShapeAllSorted(shape, geompy.ShapeType["FACE"])
+face1 = faces[1]
+ignoreFaces = [ faces[0], faces[-1]]
+
+geompy.addToStudy( shape, "shape" )
+geompy.addToStudyInFather( shape, face1, "face1")
+
+
+mesh = Mesh(shape, "CFD")
+
+mesh.Segment().NumberOfSegments( 4 )
+
+mesh.Triangle(NETGEN_2D)
+mesh.Quadrangle(face1)
+mesh.Compute()
+algo3D = mesh.Tetrahedron(NETGEN)
+
+thickness = 20
+numberOfLayers = 10
+stretchFactor = 1.5
+layersHyp = algo3D.ViscousLayers(thickness,numberOfLayers,stretchFactor,ignoreFaces)
+
+mesh.Compute()
+
+mesh.MakeGroup("Tetras",VOLUME,FT_ElemGeomType,"=",Geom_TETRA)
+mesh.MakeGroup("Pyras",VOLUME,FT_ElemGeomType,"=",Geom_PYRAMID)
+mesh.MakeGroup("Prims",VOLUME,FT_ElemGeomType,"=",Geom_PENTA)
+
+\endcode
+
\n Other meshing algorithms:
<ul>
mesh_duplicate_nodes.png \
mesh_duplicate_nodes_with_elem.png \
mesh_bounding_box.png \
+ mesh_hypo_viscous_layers.png \
+ mesh_tree_hypo_viscous_layers.png \
mesh_min_dist.png
# VSR: little trick to avoid putting if SMESHCatalog.xml to the distribution archive
icon-id="mesh_hypo_length.png"
dim="3"/>
+ <hypothesis type="ViscousLayers"
+ label-id="Viscous Layers"
+ icon-id="mesh_algo_quad.png"
+ auxiliary="true"
+ dim="3"/>
+
<hypothesis type="NumberOfLayers2D"
label-id="Number of Layers"
icon-id="mesh_hypo_length.png"
icon-id="mesh_algo_hexa.png"
input="QUAD"
need-geom="false"
+ opt-hypos="ViscousLayers"
dim="3"/>
<algorithm type="Projection_1D"