diff --git a/pyproject.toml b/pyproject.toml index e20abe8..178ad65 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ requires = ["setuptools>=61.0.0", "wheel"] [project] name = "io4dolfinx" -version = "1.1.2" +version = "1.2.0" description = "Checkpointing functionality for DOLFINx meshes/functions with ADIOS2" authors = [ { name = "Jørgen S. Dokken", email = "dokken@simula.no" }, @@ -99,7 +99,7 @@ tag = true sign_tags = false tag_name = "v{new_version}" tag_message = "Bump version: {current_version} → {new_version}" -current_version = "1.1.2" +current_version = "1.2.0" [[tool.bumpversion.files]] diff --git a/src/io4dolfinx/backends/pyvista/backend.py b/src/io4dolfinx/backends/pyvista/backend.py index e875706..0dcf0b7 100644 --- a/src/io4dolfinx/backends/pyvista/backend.py +++ b/src/io4dolfinx/backends/pyvista/backend.py @@ -44,6 +44,14 @@ 74: "pyramid", } +_quadratric_vtk = { + 21: "interval", + 22: "triangle", + 23: "quadrilateral", + 24: "tetrahedron", + 25: "hexahedron", +} + read_mode = ReadMode.serial @@ -161,9 +169,14 @@ def read_mesh_data( if (cell_type := cell_types[0]) in _first_order_vtk.keys(): cell_type = _first_order_vtk[cell_type] order = 1 + elif cell_type in _quadratric_vtk.keys(): + cell_type = _quadratric_vtk[cell_type] + order = 2 elif cell_type in _arbitrary_lagrange_vtk.keys(): cell_type = _arbitrary_lagrange_vtk[cell_type] order = _cell_degree(cell_type, cells.shape[1]) + else: + raise NotImplementedError(f"Cell type {cell_type} not supported in Pyvista backend.") perm = dolfinx.cpp.io.perm_vtk(dolfinx.mesh.to_type(cell_type), cells.shape[1]) cells = cells[:, perm] lvar = int(basix.LagrangeVariant.equispaced)