2 # -*- coding: utf-8 -*-
5 Checks the availability of the external plugins :
8 3 MG-CADSURF (BLSURFPLUGIN)
9 4 MG-TETRA (GHS3DPLUGIN)
10 5 MG-HEXA (HEXOTICPLUGIN)
11 6 MG-HYBRID (HYBRIDPLUGIN)
12 7 MG-TETRA-PARALLELE (GHS3DPRLPLUGIN)
13 Copyright EDF R&D 2017
17 # Computation of the meshes: T/F
23 theStudy = salome.myStudy
26 IPAR = iparameters.IParameters(salome.myStudy.GetCommonParameters("Interface Applicative", 1))
28 # fill list AP_MODULES_LIST
29 IPAR.append("AP_MODULES_LIST", "Geometry")
30 IPAR.append("AP_MODULES_LIST", "Mesh")
41 from salome.geom import geomBuilder
42 geompy = geomBuilder.New()
43 O = geompy.MakeVertex(0, 0, 0, "0")
44 OX = geompy.MakeVectorDXDYDZ(1, 0, 0, "OX")
45 OY = geompy.MakeVectorDXDYDZ(0, 1, 0, "OY")
46 OZ = geompy.MakeVectorDXDYDZ(0, 0, 1, "OZ")
47 BOX = geompy.MakeBoxDXDYDZ(200, 200, 200, "BOX")
50 ### B. SMESH component
54 from salome.smesh import smeshBuilder
56 smesh = smeshBuilder.New()
59 TEXTE = "NETGEN_1D2D3D"
60 MESH_1 = smesh.Mesh(BOX)
61 smesh.SetName(MESH_1.GetMesh(), "M_"+TEXTE)
63 NETGEN_2D3D = MESH_1.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D)
65 MESSAGE += "\nImpossible d'utiliser "+TEXTE
69 smesh.SetName(NETGEN_2D3D.GetAlgorithm(), TEXTE)
70 OK_COMPUTE = MESH_1.Compute()
72 MESSAGE += "\nErreur avec "+TEXTE
79 MESH_2 = smesh.Mesh(BOX)
80 smesh.SetName(MESH_2.GetMesh(), "M_"+TEXTE)
82 GMSH = MESH_2.Tetrahedron(algo=smeshBuilder.GMSH)
84 MESSAGE += "\nImpossible d'utiliser "+TEXTE
88 smesh.SetName(GMSH.GetAlgorithm(), TEXTE)
89 OK_COMPUTE = MESH_2.Compute()
91 MESSAGE += "\nErreur avec "+TEXTE
98 MESH_3 = smesh.Mesh(BOX)
99 smesh.SetName(MESH_3.GetMesh(), "M_"+TEXTE)
101 MG_CADSurf = MESH_3.Triangle(algo=smeshBuilder.MG_CADSurf)
103 MESSAGE += "\nImpossible d'utiliser "+TEXTE
105 # On arrete tout en cas de problème car les suivants en dépendent
109 smesh.SetName(MG_CADSurf.GetAlgorithm(), TEXTE)
110 OK_COMPUTE = MESH_3.Compute()
112 MESSAGE += "\nErreur avec "+TEXTE
119 MESH_4 = smesh.Mesh(BOX)
120 smesh.SetName(MESH_4.GetMesh(), "M_"+TEXTE)
121 MG_CADSurf_Te = MESH_4.Triangle(algo=smeshBuilder.MG_CADSurf)
123 MG_Tetra = MESH_4.Tetrahedron(algo=smeshBuilder.MG_Tetra)
125 MESSAGE += "\nImpossible d'utiliser "+TEXTE
129 smesh.SetName(MG_Tetra.GetAlgorithm(), TEXTE)
130 OK_COMPUTE = MESH_4.Compute()
132 MESSAGE += "\nErreur avec "+TEXTE
139 MESH_5 = smesh.Mesh(BOX)
140 smesh.SetName(MESH_5.GetMesh(), "M_"+TEXTE)
141 MG_CADSurf_He = MESH_5.Triangle(algo=smeshBuilder.MG_CADSurf)
143 MG_Hexa = MESH_5.Hexahedron(algo=smeshBuilder.MG_Hexa)
145 MESSAGE += "\nImpossible d'utiliser "+TEXTE
149 smesh.SetName(MG_Hexa.GetAlgorithm(), TEXTE)
150 OK_COMPUTE = MESH_5.Compute()
152 MESSAGE += "\nErreur avec "+TEXTE
159 MESH_6 = smesh.Mesh(BOX)
160 smesh.SetName(MESH_6.GetMesh(), "M_"+TEXTE)
161 MG_CADSurf_Hy = MESH_6.Triangle(algo=smeshBuilder.MG_CADSurf)
163 MG_Hybrid = MESH_6.Tetrahedron(algo=smeshBuilder.HYBRID)
165 MESSAGE += "\nImpossible d'utiliser "+TEXTE
169 smesh.SetName(MG_Hybrid.GetAlgorithm(), TEXTE)
170 OK_COMPUTE = MESH_6.Compute()
172 MESSAGE += "\nErreur avec "+TEXTE
177 # B.7. MG_Tetra_Parallel
178 TEXTE = "MG_Tetra_Parallel"
179 MESH_7 = smesh.Mesh(BOX)
180 smesh.SetName(MESH_7.GetMesh(), "M_"+TEXTE)
181 MG_CADSurf_Tp = MESH_7.Triangle(algo=smeshBuilder.MG_CADSurf)
183 MG_Tetra_Parallel = MESH_7.Tetrahedron(algo=smeshBuilder.MG_Tetra_Parallel)
185 MESSAGE += "\nImpossible d'utiliser "+TEXTE
189 smesh.SetName(MG_Tetra_Parallel.GetAlgorithm(), TEXTE)
190 OK_COMPUTE = MESH_7.Compute()
192 MESSAGE += "\nErreur avec "+TEXTE
203 raise Exception("\n\nNombre d'erreurs : %d" % ERROR + MESSAGE + "\n")
205 print("\nAucun problème\n")