1 # -*- coding: utf-8 -*-
14 from salome.geom import geomBuilder
19 geompy = geomBuilder.New()
23 O = geompy.MakeVertex(0, 0, 0)
24 OX = geompy.MakeVectorDXDYDZ(1, 0, 0)
25 OY = geompy.MakeVectorDXDYDZ(0, 1, 0)
26 OZ = geompy.MakeVectorDXDYDZ(0, 0, 1)
27 Box_1 = geompy.MakeBoxDXDYDZ(box_side, box_side, box_side)
28 geompy.addToStudy( O, 'O' )
29 geompy.addToStudy( OX, 'OX' )
30 geompy.addToStudy( OY, 'OY' )
31 geompy.addToStudy( OZ, 'OZ' )
32 geompy.addToStudy( Box_1, 'Box_1' )
38 import SMESH, SALOMEDS
39 from salome.smesh import smeshBuilder
41 smesh = smeshBuilder.New()
42 Mesh_1 = smesh.Mesh(Box_1)
43 MG_CADSurf = Mesh_1.Triangle(algo=smeshBuilder.MG_CADSurf)
44 MG_CADSurf_Parameters_1 = MG_CADSurf.Parameters()
45 MG_CADSurf_Parameters_1.SetPhySize( 10 )
46 MG_CADSurf_Parameters_1.SetMinSize( 0.34641 )
47 MG_CADSurf_Parameters_1.SetMaxSize( 69.282 )
49 isDone = Mesh_1.Compute()
52 Mesh_2 = smesh.CopyMesh( Mesh_1, 'Mesh_2', 0, 0)
55 HYBRID_3D = Mesh_1.Tetrahedron(algo=smeshBuilder.HYBRID)
56 MG_Hybrid_Parameters_1 = HYBRID_3D.Parameters()
57 MG_Hybrid_Parameters_1.SetElementGeneration( 1 )
58 MG_Hybrid_Parameters_1.SetHeightFirstLayer( 1 )
59 MG_Hybrid_Parameters_1.SetNbOfBoundaryLayers( 3 )
63 isDone = Mesh_1.Compute()
66 vol_mesh_1 = smesh.GetVolume(Mesh_1)
68 assert abs(vol_mesh_1-vol_box)/vol_box < 1e-4
70 # Check number of pyramids
71 assert Mesh_1.NbPyramids() > 1000
73 # Add hybrid to skin mesh
74 HYBRID_3D_1 = Mesh_2.Tetrahedron(algo=smeshBuilder.HYBRID,geom=None)
75 status = Mesh_2.AddHypothesis(MG_Hybrid_Parameters_1,None)
77 # Compute mesh without CAD
78 # ========================
79 isDone = Mesh_2.Compute()
82 vol_mesh_2 = smesh.GetVolume(Mesh_2)
84 assert abs(vol_mesh_2-vol_box)/vol_box < 1e-4
86 # Check number of pyramids
87 assert Mesh_2.NbPyramids() > 1000