File: xdmf_time_series_PR1464.patch

package info (click to toggle)
python-meshio 7.0.0-really-5.3.5-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,952 kB
  • sloc: python: 14,908; makefile: 19
file content (110 lines) | stat: -rw-r--r-- 3,789 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
From a24d088877bd95370486602fc2539d1b08d11c95 Mon Sep 17 00:00:00 2001
From: Lars Kaiser <71793357+kaiserls@users.noreply.github.com>
Date: Sat, 16 Mar 2024 01:07:56 +0100
Subject: [PATCH 1/2] [XdmfTimeSeries] Fix lines type in xdmf time series files

---
 src/meshio/xdmf/time_series.py |  2 +-
 tests/test_xdmf.py             | 23 +++++++++++++++--------
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/meshio/xdmf/time_series.py b/src/meshio/xdmf/time_series.py
index a3f85030a..3276d8788 100644
--- a/src/meshio/xdmf/time_series.py
+++ b/src/meshio/xdmf/time_series.py
@@ -410,7 +410,7 @@ def cells(
             # number of nodes. Hence, prepend 2.
             for c in cell_blocks:
                 if c.type == "line":
-                    c.data[:] = np.insert(c.data, 0, 2, axis=1)
+                    c.data = np.insert(c.data, 0, 2, axis=1)
                     dim += len(c.data)
             dim = str(dim)
             cd = np.concatenate(
diff --git a/tests/test_xdmf.py b/tests/test_xdmf.py
index e962f98d0..217a889d8 100644
--- a/tests/test_xdmf.py
+++ b/tests/test_xdmf.py
@@ -6,7 +6,7 @@
 from . import helpers
 
 test_set_full = [
-    helpers.empty_mesh,
+    #helpers.empty_mesh,
     helpers.line_mesh,
     helpers.tri_mesh,
     helpers.line_tri_mesh,
@@ -59,26 +59,33 @@ def test_generic_io(tmp_path):
     # With additional, insignificant suffix:
     helpers.generic_io(tmp_path / "test.0.xdmf")
 
-
-def test_time_series():
+@pytest.mark.parametrize("mesh", test_set_full)
+def test_time_series(mesh):
     # write the data
     filename = "out.xdmf"
 
     with meshio.xdmf.TimeSeriesWriter(filename) as writer:
-        writer.write_points_cells(helpers.tri_mesh_2d.points, helpers.tri_mesh_2d.cells)
-        n = helpers.tri_mesh_2d.points.shape[0]
+        writer.write_points_cells(mesh.points, mesh.cells)
+        n = mesh.points.shape[0]
 
         times = np.linspace(0.0, 1.0, 5)
         point_data = [
             {
                 "phi": np.full(n, t),
-                "u": np.full(helpers.tri_mesh_2d.points.shape, t),
+                "u": np.full(mesh.points.shape, t),
+            }
+            for t in times
+        ]
+        cell_data = [
+            {
+                "a": [np.full(c.data.shape[0], t) for c in mesh.cells],
+                "b": [np.full(c.data.shape[0], t) for c in mesh.cells]
             }
             for t in times
         ]
-        for t, pd in zip(times, point_data):
+        for t, pd, cd in zip(times, point_data, cell_data):
             writer.write_data(
-                t, point_data=pd, cell_data={"a": {"triangle": [3.0, 4.2]}}
+                t, point_data=pd, cell_data=cd
             )
 
     # read it back in

From 843b96041dca7f823f9430e55397f9924adbfc75 Mon Sep 17 00:00:00 2001
From: Lars Kaiser <71793357+kaiserls@users.noreply.github.com>
Date: Sat, 16 Mar 2024 23:17:12 +0100
Subject: [PATCH 2/2] [Tests] Disable empty mesh test for TimeSeriesWriter and
 reintroduce for xdmf3

---
 tests/test_xdmf.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/test_xdmf.py b/tests/test_xdmf.py
index 217a889d8..60f043e21 100644
--- a/tests/test_xdmf.py
+++ b/tests/test_xdmf.py
@@ -6,7 +6,7 @@
 from . import helpers
 
 test_set_full = [
-    #helpers.empty_mesh,
+    helpers.empty_mesh,
     helpers.line_mesh,
     helpers.tri_mesh,
     helpers.line_tri_mesh,
@@ -59,7 +59,7 @@ def test_generic_io(tmp_path):
     # With additional, insignificant suffix:
     helpers.generic_io(tmp_path / "test.0.xdmf")
 
-@pytest.mark.parametrize("mesh", test_set_full)
+@pytest.mark.parametrize("mesh", [mesh for mesh in test_set_full if mesh != helpers.empty_mesh])
 def test_time_series(mesh):
     # write the data
     filename = "out.xdmf"