1 # Viscous layers construction
6 from salome.geom import geomBuilder
7 geompy = geomBuilder.New(salome.myStudy)
10 from salome.smesh import smeshBuilder
11 smesh = smeshBuilder.New(salome.myStudy)
13 X = geompy.MakeVectorDXDYDZ( 1,0,0 )
14 O = geompy.MakeVertex( 100,50,50 )
15 plane = geompy.MakePlane( O, X, 200 ) # plane YZ
17 box = geompy.MakeBoxDXDYDZ(200,100,100)
19 shape = geompy.MakeHalfPartition( box, plane )
21 faces = geompy.SubShapeAllSorted(shape, geompy.ShapeType["FACE"])
23 ignoreFaces = [ faces[0], faces[-1]]
25 geompy.addToStudy( shape, "shape" )
26 geompy.addToStudyInFather( shape, face1, "face1")
30 mesh = smesh.Mesh(shape, "CFD")
32 mesh.Segment().NumberOfSegments( 4 )
35 mesh.Quadrangle(face1)
37 algo3D = mesh.Tetrahedron()
42 layersHyp = algo3D.ViscousLayers(thickness,numberOfLayers,stretchFactor,ignoreFaces)
46 mesh.MakeGroup("Tetras",SMESH.VOLUME,SMESH.FT_ElemGeomType,"=",SMESH.Geom_TETRA)
47 mesh.MakeGroup("Pyras",SMESH.VOLUME,SMESH.FT_ElemGeomType,"=",SMESH.Geom_PYRAMID)
48 mesh.MakeGroup("Prims",SMESH.VOLUME,SMESH.FT_ElemGeomType,"=",SMESH.Geom_PENTA)
52 # 3 edges of the 4 edges of face1
53 edgeIds = geompy.SubShapeAllIDs( face1, geompy.ShapeType["EDGE"])[:-1]
55 mesh = smesh.Mesh(face1,"VicsousLayers2D")
56 mesh.Segment().NumberOfSegments( 5 )
58 # viscous layers should be created on 1 edge, as we set 3 edges to ignore
59 vlHyp = mesh.Triangle().ViscousLayers2D( 2, 3, 1.5, edgeIds, isEdgesToIgnore=True )
63 # viscous layers should be created on 3 edges, as we pass isEdgesToIgnore=False
64 vlHyp.SetEdges( edgeIds, False )