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 Copyright EDF R&D 2017
16 # Computation of the meshes: T/F
22 theStudy = salome.myStudy
25 IPAR = iparameters.IParameters(salome.myStudy.GetCommonParameters("Interface Applicative", 1))
27 # fill list AP_MODULES_LIST
28 IPAR.append("AP_MODULES_LIST", "Geometry")
29 IPAR.append("AP_MODULES_LIST", "Mesh")
40 from salome.geom import geomBuilder
41 geompy = geomBuilder.New()
42 O = geompy.MakeVertex(0, 0, 0, "0")
43 OX = geompy.MakeVectorDXDYDZ(1, 0, 0, "OX")
44 OY = geompy.MakeVectorDXDYDZ(0, 1, 0, "OY")
45 OZ = geompy.MakeVectorDXDYDZ(0, 0, 1, "OZ")
46 BOX = geompy.MakeBoxDXDYDZ(200, 200, 200, "BOX")
49 ### B. SMESH component
53 from salome.smesh import smeshBuilder
55 smesh = smeshBuilder.New()
58 TEXTE = "NETGEN_1D2D3D"
59 MESH_1 = smesh.Mesh(BOX)
60 smesh.SetName(MESH_1.GetMesh(), "M_"+TEXTE)
62 NETGEN_2D3D = MESH_1.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D)
64 MESSAGE += "\nImpossible d'utiliser "+TEXTE
68 smesh.SetName(NETGEN_2D3D.GetAlgorithm(), TEXTE)
69 OK_COMPUTE = MESH_1.Compute()
71 MESSAGE += "\nErreur avec "+TEXTE
78 MESH_2 = smesh.Mesh(BOX)
79 smesh.SetName(MESH_2.GetMesh(), "M_"+TEXTE)
81 GMSH = MESH_2.Tetrahedron(algo=smeshBuilder.GMSH)
83 MESSAGE += "\nImpossible d'utiliser "+TEXTE
87 smesh.SetName(GMSH.GetAlgorithm(), TEXTE)
88 OK_COMPUTE = MESH_2.Compute()
90 MESSAGE += "\nErreur avec "+TEXTE
97 MESH_3 = smesh.Mesh(BOX)
98 smesh.SetName(MESH_3.GetMesh(), "M_"+TEXTE)
100 MG_CADSurf = MESH_3.Triangle(algo=smeshBuilder.MG_CADSurf)
102 MESSAGE += "\nImpossible d'utiliser "+TEXTE
104 # On arrete tout en cas de problème car les suivants en dépendent
108 smesh.SetName(MG_CADSurf.GetAlgorithm(), TEXTE)
109 OK_COMPUTE = MESH_3.Compute()
111 MESSAGE += "\nErreur avec "+TEXTE
118 MESH_4 = smesh.Mesh(BOX)
119 smesh.SetName(MESH_4.GetMesh(), "M_"+TEXTE)
120 MG_CADSurf_Te = MESH_4.Triangle(algo=smeshBuilder.MG_CADSurf)
122 MG_Tetra = MESH_4.Tetrahedron(algo=smeshBuilder.MG_Tetra)
124 MESSAGE += "\nImpossible d'utiliser "+TEXTE
128 smesh.SetName(MG_Tetra.GetAlgorithm(), TEXTE)
129 OK_COMPUTE = MESH_4.Compute()
131 MESSAGE += "\nErreur avec "+TEXTE
138 MESH_5 = smesh.Mesh(BOX)
139 smesh.SetName(MESH_5.GetMesh(), "M_"+TEXTE)
140 MG_CADSurf_He = MESH_5.Triangle(algo=smeshBuilder.MG_CADSurf)
142 MG_Hexa = MESH_5.Hexahedron(algo=smeshBuilder.MG_Hexa)
144 MESSAGE += "\nImpossible d'utiliser "+TEXTE
148 smesh.SetName(MG_Hexa.GetAlgorithm(), TEXTE)
149 OK_COMPUTE = MESH_5.Compute()
151 MESSAGE += "\nErreur avec "+TEXTE
158 MESH_6 = smesh.Mesh(BOX)
159 smesh.SetName(MESH_6.GetMesh(), "M_"+TEXTE)
160 MG_CADSurf_Hy = MESH_6.Triangle(algo=smeshBuilder.MG_CADSurf)
162 MG_Hybrid = MESH_6.Tetrahedron(algo=smeshBuilder.HYBRID)
164 MESSAGE += "\nImpossible d'utiliser "+TEXTE
168 smesh.SetName(MG_Hybrid.GetAlgorithm(), TEXTE)
169 OK_COMPUTE = MESH_6.Compute()
171 MESSAGE += "\nErreur avec "+TEXTE
182 raise Exception("\n\nNombre d'erreurs : %d" % ERROR + MESSAGE + "\n")
184 print("\nAucun problème\n")