4 from salome.geom import geomBuilder
5 geompy = geomBuilder.New(salome.myStudy)
7 from salome.smesh import smeshBuilder
8 smesh = smeshBuilder.New(salome.myStudy)
11 disk = geompy.MakeDiskR(100., 1, theName="disk")
13 # triangulate the disk
14 mesh = smesh.Mesh( disk )
15 cadsurf = mesh.Triangle( smeshBuilder.MG_CADSurf )
16 cadsurf.SetQuadAllowed( True )
19 # extrude the 2D mesh into a prismatic mesh
20 mesh.ExtrusionSweepObject( mesh, [0,0,10], 7 )
22 # split prisms into tetrahedra
23 mesh.SplitVolumesIntoTetra( mesh )
25 # copy the mesh into a new mesh, since only a mesh not based of geometry
26 # can be optimized using MG-Tetra Optimization
27 optMesh = smesh.CopyMesh( mesh, "optimization" )
29 # add MG-Tetra Optimization
30 mg_opt = optMesh.Tetrahedron( smeshBuilder.MG_Tetra_Optimization )
31 mg_opt.SetSmoothOffSlivers( True )
32 mg_opt.SetOptimizationLevel( smeshBuilder.Strong_Optimization )
37 print("Nb tetra before optimization", mesh.NbTetras())
38 print("Nb tetra after optimization", optMesh.NbTetras())