Salome HOME
Add a test interpolate_field_float
authorChristophe Bourcier <christophe.bourcier@cea.fr>
Fri, 17 Sep 2021 09:23:02 +0000 (11:23 +0200)
committerChristophe Bourcier <christophe.bourcier@cea.fr>
Fri, 17 Sep 2021 09:23:02 +0000 (11:23 +0200)
src/MEDCalc/test/tui/CMakeLists.txt
src/MEDCalc/test/tui/interpolate_field_float.py [new file with mode: 0644]
src/MEDCalc/test/tui/medfiles/source_1.med [new file with mode: 0644]
src/MEDCalc/test/tui/medfiles/target_1.med [new file with mode: 0644]
src/MEDCalc/test/tui/tests.set

index af50a807b80119321a7cecf3162cf4264c62ca4f..66de6ad98505c7512887881cc0b338587ab3795c 100644 (file)
@@ -24,6 +24,8 @@ SET(_test_files
     medfiles/agitateur.med
     medfiles/deplacements.med
     medfiles/portico_elno.med
+    medfiles/source_1.med
+    medfiles/target_1.med
 )
 
 SET(TEST_INSTALL_DIRECTORY ${SALOME_FIELDS_INSTALL_TEST}/MEDCalc/tui)
diff --git a/src/MEDCalc/test/tui/interpolate_field_float.py b/src/MEDCalc/test/tui/interpolate_field_float.py
new file mode 100644 (file)
index 0000000..c8d2405
--- /dev/null
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+
+import os
+import sys
+import salome
+
+salome.salome_init()
+
+###
+### FIELDS component
+###
+
+import pvsimple as pvs
+
+import medcalc
+medcalc.medconsole.setConsoleGlobals(globals())
+import MEDCALC
+from medcalc.medconsole import accessField
+
+from medcalc_testutils import GetMEDFileDirTUI
+
+source_file = os.path.join(GetMEDFileDirTUI(), "source_1.med")
+target_file = os.path.join(GetMEDFileDirTUI(), "target_1.med")
+
+source_id = medcalc.LoadDataSource(source_file)
+
+presentation_id = medcalc.MakeMeshView(medcalc.GetFirstMeshFromDataSource(source_id), viewMode=MEDCALC.VIEW_MODE_REPLACE)
+
+target_id = medcalc.LoadDataSource(target_file)
+
+presentation_id = medcalc.MakeMeshView(medcalc.GetFirstMeshFromDataSource(target_id), viewMode=MEDCALC.VIEW_MODE_REPLACE)
+
+result_id = medcalc.InterpolateField(fieldId=0,meshId=1,precision=1e-12,
+                                     defaultValue=0,reverse=0,
+                                     method='P0P0',nature='IntensiveConservation',intersectionType='Triangulation')
+
+presentation_id = medcalc.MakeScalarMap(accessField(result_id), viewMode=MEDCALC.VIEW_MODE_REPLACE)
+
+source = pvs.GetActiveSource()
+
+presentation_id = medcalc.MakeMeshView(0, viewMode=MEDCALC.VIEW_MODE_OVERLAP)
+
+if source:
+  mini, maxi = source.CellData.GetArray("Mesh_field").GetRange()
+  mini_ref = 0.5294822392944354
+  maxi_ref = 0.8495972706827812
+
+  assert abs(mini-mini_ref)<1e-5
+  assert abs(maxi-maxi_ref)<1e-5
+
+if salome.sg.hasDesktop():
+  salome.sg.updateObjBrowser()
diff --git a/src/MEDCalc/test/tui/medfiles/source_1.med b/src/MEDCalc/test/tui/medfiles/source_1.med
new file mode 100644 (file)
index 0000000..dfb9e2c
Binary files /dev/null and b/src/MEDCalc/test/tui/medfiles/source_1.med differ
diff --git a/src/MEDCalc/test/tui/medfiles/target_1.med b/src/MEDCalc/test/tui/medfiles/target_1.med
new file mode 100644 (file)
index 0000000..a22d333
Binary files /dev/null and b/src/MEDCalc/test/tui/medfiles/target_1.med differ
index 7613ae9079ad9e0f61f9c8cc2842516d4b095a16..5cf926f24d92fee5cdc0d13309cd237c134e324b 100644 (file)
@@ -31,4 +31,5 @@ SET(TEST_NAMES
 #  vector_field
 #  deflection_shape
 #  elno_field
+#  interpolate_field_float
 )