From 8e8aae103a798698df59ffa7c56de7d79cdecaf1 Mon Sep 17 00:00:00 2001 From: Tom Fischer <thomas.fischer@ufz.de> Date: Thu, 7 Nov 2024 12:02:36 +0100 Subject: [PATCH] [MeL/IO/XDMF] Init tuple_size with correct value --- MeshLib/IO/XDMF/transformData.cpp | 15 ++++++++++----- MeshLib/IO/XDMF/writeXdmf.cpp | 6 ++++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/MeshLib/IO/XDMF/transformData.cpp b/MeshLib/IO/XDMF/transformData.cpp index f5354095b4c..1cff421eb70 100644 --- a/MeshLib/IO/XDMF/transformData.cpp +++ b/MeshLib/IO/XDMF/transformData.cpp @@ -395,11 +395,16 @@ XdmfHdfData transformTopology(std::vector<std::size_t> const& values, unsigned int const chunk_size_bytes) { std::string const name = "topology"; - HdfData const hdf = { - values.data(), values.size(), 1, name, MeshPropertyDataType::uint64, - n_files, chunk_size_bytes}; - XdmfData const xdmf{values.size(), - 1, + auto const tuple_size = ParentDataType2String(parent_data_type).second; + HdfData const hdf = {values.data(), + values.size() / tuple_size, + tuple_size, + name, + MeshPropertyDataType::uint64, + n_files, + chunk_size_bytes}; + XdmfData const xdmf{values.size() / tuple_size, + tuple_size, MeshPropertyDataType::uint64, name, std::nullopt, diff --git a/MeshLib/IO/XDMF/writeXdmf.cpp b/MeshLib/IO/XDMF/writeXdmf.cpp index f190de381a5..788d4be89f8 100644 --- a/MeshLib/IO/XDMF/writeXdmf.cpp +++ b/MeshLib/IO/XDMF/writeXdmf.cpp @@ -204,12 +204,14 @@ std::function<std::string(std::vector<double>)> write_xdmf( { return fmt::format( fmt::runtime("\n\t<Topology Type=\"{topology_type}\" " - "NodesPerElement=\"{nodes_per_element}\">{dataitem}" + "NodesPerElement=\"{nodes_per_element}\" " + "NumberOfElements=\"{number_of_elements}\">{dataitem}" "\n\t</Topology>"), "topology_type"_a = ParentDataType2String(*topology.parent_data_type), "dataitem"_a = dataitem_transform(topology), - "nodes_per_element"_a = nodes_per_element); + "nodes_per_element"_a = nodes_per_element, + "number_of_elements"_a = topology.size_partitioned_dim); }; // Define content of <Topology> in XDMF, same as attribute_transform -- GitLab