]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
0023591: [EDF] Add test to check meshing plug-ins to SMESH module
authorvsr <vsr@opencascade.com>
Fri, 14 Sep 2018 09:14:51 +0000 (12:14 +0300)
committervsr <vsr@opencascade.com>
Fri, 14 Sep 2018 10:09:23 +0000 (13:09 +0300)
doc/salome/examples/CMakeLists.txt
doc/salome/examples/creating_meshes_ex05.py
doc/salome/examples/filters_ex24.py
doc/salome/examples/test_smeshplugins.py [new file with mode: 0644]
doc/salome/examples/tests.set

index 01ed3f5aca924bcc614c9f3bae08b6fadd23afc3..7aa40fe8d158de56875b8a332c5cbeabf97b6229 100644 (file)
@@ -34,7 +34,7 @@ SALOME_INSTALL_SCRIPTS("${EXAMPLES_TESTS}" ${SALOME_INSTALL_DOC}/examples/SMESH)
 # Application tests
 
 SET(TEST_INSTALL_DIRECTORY ${SALOME_INSTALL_SCRIPT_SCRIPTS}/test)
-INSTALL(FILES ${GOOD_TESTS} DESTINATION ${TEST_INSTALL_DIRECTORY})
+INSTALL(FILES ${GOOD_TESTS} ${BAD_TESTS} DESTINATION ${TEST_INSTALL_DIRECTORY})
 
 INSTALL(FILES CTestTestfileInstall.cmake
         DESTINATION ${TEST_INSTALL_DIRECTORY}
index ae1d073b4260139f5deb0c7502f018dae48cbbcd..5806d52277e9982ee2bc9540369149b95db379f5 100644 (file)
@@ -46,13 +46,13 @@ import MEDLoader, os
 # exported mesh is in 2D space because it is a planar mesh lying
 # on XOY plane, and autoDimension=True by default
 mesh2D.ExportMED( medFile )
-medMesh = MEDLoader.MEDLoader.ReadUMeshFromFile(medFile,mesh2D.GetName(),0)
+medMesh = MEDLoader.ReadUMeshFromFile(medFile,mesh2D.GetName(),0)
 print "autoDimension==True, exported mesh is in %sD"%medMesh.getSpaceDimension()
 
 # exported mesh is in 3D space, same as in Mesh module,
 # thanks to autoDimension=False
 mesh2D.ExportMED( medFile, autoDimension=False )
-medMesh = MEDLoader.MEDLoader.ReadUMeshFromFile(medFile,mesh2D.GetName(),0)
+medMesh = MEDLoader.ReadUMeshFromFile(medFile,mesh2D.GetName(),0)
 print "autoDimension==False, exported mesh is in %sD"%medMesh.getSpaceDimension()
 
 os.remove( medFile )
index bab47e2a7f5da58fce099f495d322428196db7cc..8d97a43343e6f40c46ca410081e5ba9bb1ce3299 100644 (file)
@@ -5,7 +5,7 @@ from SMESH_mechanic import *
 mesh.Tetrahedron()
 mesh.Compute()
 # remove some volumes to have volumes with bare borders
-mesh.RemoveElements( mesh.GetElementsByType(VOLUME)[0:5] )
+mesh.RemoveElements( mesh.GetElementsByType(SMESH.VOLUME)[0:5] )
 # get all volumes with bare borders
 filter = smesh.GetFilter(SMESH.VOLUME, SMESH.FT_BareBorderVolume)
 ids = mesh.GetIdsFromFilter(filter)
diff --git a/doc/salome/examples/test_smeshplugins.py b/doc/salome/examples/test_smeshplugins.py
new file mode 100644 (file)
index 0000000..d3111e6
--- /dev/null
@@ -0,0 +1,206 @@
+#!/usr/bin/env python\r
+# -*- coding: utf-8 -*-\r
+"""\r
+Test000\r
+Checks the availability of the external plugins :\r
+ 1 NETGENPLUGIN\r
+ 2 GMSHPLUGIN\r
+ 3 MG-CADSURF           (BLSURFPLUGIN)\r
+ 4 MG-TETRA             (GHS3DPLUGIN)\r
+ 5 MG-HEXA              (HEXOTICPLUGIN)\r
+ 6 MG-HYBRID            (HYBRIDPLUGIN)\r
+ 7 MG-TETRA-PARALLELE   (GHS3DPRLPLUGIN)\r
+Copyright EDF R&D 2017\r
+"""\r
+__revision__ = "V1.0"\r
+#\r
+# Computation of the meshes: T/F\r
+ComputeMeshes = True\r
+\r
+import salome\r
+\r
+salome.salome_init()\r
+theStudy = salome.myStudy\r
+#\r
+import iparameters\r
+IPAR = iparameters.IParameters(salome.myStudy.GetCommonParameters("Interface Applicative", 1))\r
+\r
+# fill list AP_MODULES_LIST\r
+IPAR.append("AP_MODULES_LIST", "Geometry")\r
+IPAR.append("AP_MODULES_LIST", "Mesh")\r
+\r
+ERROR = 0\r
+MESSAGE = ""\r
+#\r
+while not ERROR :\r
+\r
+###\r
+### A. GEOM component\r
+###\r
+  import GEOM\r
+  from salome.geom import geomBuilder\r
+  geompy = geomBuilder.New(theStudy)\r
+  O = geompy.MakeVertex(0, 0, 0, "0")\r
+  OX = geompy.MakeVectorDXDYDZ(1, 0, 0, "OX")\r
+  OY = geompy.MakeVectorDXDYDZ(0, 1, 0, "OY")\r
+  OZ = geompy.MakeVectorDXDYDZ(0, 0, 1, "OZ")\r
+  BOX = geompy.MakeBoxDXDYDZ(200, 200, 200, "BOX")\r
+\r
+###\r
+### B. SMESH component\r
+###\r
+\r
+  import  SMESH\r
+  from salome.smesh import smeshBuilder\r
+\r
+  smesh = smeshBuilder.New(theStudy)\r
+\r
+# B.1. NETGEN\r
+  TEXTE = "NETGEN_1D2D3D"\r
+  MESH_1 = smesh.Mesh(BOX)\r
+  smesh.SetName(MESH_1.GetMesh(), "M_"+TEXTE)\r
+  try :\r
+    NETGEN_2D3D = MESH_1.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D)\r
+  except :\r
+    MESSAGE += "\nImpossible d'utiliser "+TEXTE\r
+    ERROR += 1\r
+  else :\r
+    if ComputeMeshes :\r
+      smesh.SetName(NETGEN_2D3D.GetAlgorithm(), TEXTE)\r
+      OK_COMPUTE = MESH_1.Compute()\r
+      if not OK_COMPUTE :\r
+        MESSAGE += "\nErreur avec "+TEXTE\r
+        ERROR += 1\r
+      else :\r
+        print TEXTE+": OK"\r
+\r
+# B.2. Gmsh\r
+  TEXTE = "Gmsh"\r
+  MESH_2 = smesh.Mesh(BOX)\r
+  smesh.SetName(MESH_2.GetMesh(), "M_"+TEXTE)\r
+  try :\r
+    GMSH = MESH_2.Tetrahedron(algo=smeshBuilder.GMSH)\r
+  except :\r
+    MESSAGE += "\nImpossible d'utiliser "+TEXTE\r
+    ERROR += 1\r
+  else :\r
+    if ComputeMeshes :\r
+      smesh.SetName(GMSH.GetAlgorithm(), TEXTE)\r
+      OK_COMPUTE = MESH_2.Compute()\r
+      if not OK_COMPUTE :\r
+        MESSAGE += "\nErreur avec "+TEXTE\r
+        ERROR += 1\r
+      else :\r
+        print TEXTE+": OK"\r
+\r
+# B.3. MG_CADSurf\r
+  TEXTE = "MG_CADSurf"\r
+  MESH_3 = smesh.Mesh(BOX)\r
+  smesh.SetName(MESH_3.GetMesh(), "M_"+TEXTE)\r
+  try :\r
+    MG_CADSurf = MESH_3.Triangle(algo=smeshBuilder.MG_CADSurf)\r
+  except :\r
+    MESSAGE += "\nImpossible d'utiliser "+TEXTE\r
+    ERROR += 1\r
+#   On arrete tout en cas de problème car les suivants en dépendent\r
+    break\r
+  else :\r
+    if ComputeMeshes :\r
+      smesh.SetName(MG_CADSurf.GetAlgorithm(), TEXTE)\r
+      OK_COMPUTE = MESH_3.Compute()\r
+      if not OK_COMPUTE :\r
+        MESSAGE += "\nErreur avec "+TEXTE\r
+        ERROR += 1\r
+      else :\r
+        print TEXTE+": OK"\r
+\r
+# B.4. MG_Tetra\r
+  TEXTE = "MG_Tetra"\r
+  MESH_4 = smesh.Mesh(BOX)\r
+  smesh.SetName(MESH_4.GetMesh(), "M_"+TEXTE)\r
+  MG_CADSurf_Te = MESH_4.Triangle(algo=smeshBuilder.MG_CADSurf)\r
+  try :\r
+    MG_Tetra = MESH_4.Tetrahedron(algo=smeshBuilder.MG_Tetra)\r
+  except :\r
+    MESSAGE += "\nImpossible d'utiliser "+TEXTE\r
+    ERROR += 1\r
+  else :\r
+    if ComputeMeshes :\r
+      smesh.SetName(MG_Tetra.GetAlgorithm(), TEXTE)\r
+      OK_COMPUTE = MESH_4.Compute()\r
+      if not OK_COMPUTE :\r
+        MESSAGE += "\nErreur avec "+TEXTE\r
+        ERROR += 1\r
+      else :\r
+        print TEXTE+": OK"\r
+\r
+# B.5. MG_Hexa\r
+  TEXTE = "MG_Hexa"\r
+  MESH_5 = smesh.Mesh(BOX)\r
+  smesh.SetName(MESH_5.GetMesh(), "M_"+TEXTE)\r
+  MG_CADSurf_He = MESH_5.Triangle(algo=smeshBuilder.MG_CADSurf)\r
+  try :\r
+    MG_Hexa = MESH_5.Hexahedron(algo=smeshBuilder.MG_Hexa)\r
+  except :\r
+    MESSAGE += "\nImpossible d'utiliser "+TEXTE\r
+    ERROR += 1\r
+  else :\r
+    if ComputeMeshes :\r
+      smesh.SetName(MG_Hexa.GetAlgorithm(), TEXTE)\r
+      OK_COMPUTE = MESH_5.Compute()\r
+      if not OK_COMPUTE :\r
+        MESSAGE += "\nErreur avec "+TEXTE\r
+        ERROR += 1\r
+      else :\r
+        print TEXTE+": OK"\r
+\r
+# B.6. MG_Hybrid\r
+  TEXTE = "MG_Hybrid"\r
+  MESH_6 = smesh.Mesh(BOX)\r
+  smesh.SetName(MESH_6.GetMesh(), "M_"+TEXTE)\r
+  MG_CADSurf_Hy = MESH_6.Triangle(algo=smeshBuilder.MG_CADSurf)\r
+  try :\r
+    MG_Hybrid = MESH_6.Tetrahedron(algo=smeshBuilder.HYBRID)\r
+  except :\r
+    MESSAGE += "\nImpossible d'utiliser "+TEXTE\r
+    ERROR += 1\r
+  else :\r
+    if ComputeMeshes :\r
+      smesh.SetName(MG_Hybrid.GetAlgorithm(), TEXTE)\r
+      OK_COMPUTE = MESH_6.Compute()\r
+      if not OK_COMPUTE :\r
+        MESSAGE += "\nErreur avec "+TEXTE\r
+        ERROR += 1\r
+      else :\r
+        print TEXTE+": OK"\r
+\r
+# B.7. MG_Tetra_Parallel\r
+  TEXTE = "MG_Tetra_Parallel"\r
+  MESH_7 = smesh.Mesh(BOX)\r
+  smesh.SetName(MESH_7.GetMesh(), "M_"+TEXTE)\r
+  MG_CADSurf_Tp = MESH_7.Triangle(algo=smeshBuilder.MG_CADSurf)\r
+  try :\r
+    MG_Tetra_Parallel = MESH_7.Tetrahedron(algo=smeshBuilder.MG_Tetra_Parallel)\r
+  except :\r
+    MESSAGE += "\nImpossible d'utiliser "+TEXTE\r
+    ERROR += 1\r
+  else :\r
+    if ComputeMeshes :\r
+      smesh.SetName(MG_Tetra_Parallel.GetAlgorithm(), TEXTE)\r
+      OK_COMPUTE = MESH_7.Compute()\r
+      if not OK_COMPUTE :\r
+        MESSAGE += "\nErreur avec "+TEXTE\r
+        ERROR += 1\r
+      else :\r
+        print TEXTE+": OK"\r
+\r
+  break\r
+\r
+###\r
+### C. End\r
+###\r
+if ERROR :\r
+  raise Exception("\n\nNombre d'erreurs : %d" % ERROR + MESSAGE + "\n")\r
+else :\r
+  print "\nAucun problème\n"\r
+\r
index 2cf9698d1328353250a00758a9613157b47af6d0..34237bccf4b95ef476d4376cae02d1f71b2d1413 100644 (file)
@@ -42,6 +42,7 @@ SET(BAD_TESTS
   quality_controls_ex21.py
   quality_controls_ex22.py
   viewing_meshes_ex01.py
+  test_smeshplugins.py
   )
 
 SET(GOOD_TESTS