1 # -*- coding: utf-8 -*-
10 theStudy = salome.myStudy
12 cpu_count = multiprocessing.cpu_count()
19 from salome.geom import geomBuilder
24 geompy = geomBuilder.New(theStudy)
26 O = geompy.MakeVertex(0, 0, 0)
27 OX = geompy.MakeVectorDXDYDZ(1, 0, 0)
28 OY = geompy.MakeVectorDXDYDZ(0, 1, 0)
29 OZ = geompy.MakeVectorDXDYDZ(0, 0, 1)
30 flight_solid_brep_1 = geompy.ImportBREP(os.path.join(os.getenv("DATA_DIR"),"Shapes/Brep/flight_solid.brep" ))
31 geompy.addToStudy( O, 'O' )
32 geompy.addToStudy( OX, 'OX' )
33 geompy.addToStudy( OY, 'OY' )
34 geompy.addToStudy( OZ, 'OZ' )
35 geompy.addToStudy( flight_solid_brep_1, 'flight_solid.brep_1' )
41 import SMESH, SALOMEDS
42 from salome.smesh import smeshBuilder
44 smesh = smeshBuilder.New(theStudy)
46 Mesh_1 = smesh.Mesh(flight_solid_brep_1)
47 MG_CADSurf = Mesh_1.Triangle(algo=smeshBuilder.MG_CADSurf)
48 MG_CADSurf_Parameters_1 = MG_CADSurf.Parameters()
49 MG_CADSurf_Parameters_1.SetPhySize( 1 )
50 MG_CADSurf_Parameters_1.SetMaxSize( 1 )
51 MG_CADSurf_Parameters_1.SetGradation( 1.05 )
52 MG_CADSurf_Parameters_1.SetAngleMesh( 1 )
53 MG_CADSurf_Parameters_1.SetChordalError( 2.40018 )
54 # 4 procs are used by default
55 # => No need to set an option
58 isDone = Mesh_1.Compute()
61 time_multithread = time1-time0
63 print "Time in 4 proc: %.3s"%(time_multithread)
65 Mesh_2 = smesh.Mesh(flight_solid_brep_1)
66 MG_CADSurf = Mesh_2.Triangle(algo=smeshBuilder.MG_CADSurf)
67 MG_CADSurf_Parameters_2 = MG_CADSurf.Parameters()
68 MG_CADSurf_Parameters_2.SetPhySize( 1 )
69 MG_CADSurf_Parameters_2.SetMaxSize( 1 )
70 MG_CADSurf_Parameters_2.SetGradation( 1.05 )
71 MG_CADSurf_Parameters_2.SetAngleMesh( 1 )
72 MG_CADSurf_Parameters_2.SetChordalError( 2.40018 )
74 MG_CADSurf_Parameters_2.SetMaxNumberOfThreads( 1 )
77 isDone = Mesh_2.Compute()
80 time_singlethread = time3-time2
81 print "Time in 1 proc: %.3s"%(time_singlethread)
84 print "Warning: cannot validate test - only 1 cpu core is available"
86 assert time_multithread < time_singlethread/2.
88 if salome.sg.hasDesktop():
89 salome.sg.updateObjBrowser(True)