From 749ca2a75e6c57dec43699114573411be4970e09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vicente=20Mataix=20Ferr=C3=A1ndiz?= Date: Fri, 12 Jun 2026 11:37:33 +0200 Subject: [PATCH 1/2] [Core] Fix `ModelPartIO` to write the submodelparts names without spaces --- kratos/sources/model_part_io.cpp | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/kratos/sources/model_part_io.cpp b/kratos/sources/model_part_io.cpp index 344cb8afc941..efd40c7ca666 100644 --- a/kratos/sources/model_part_io.cpp +++ b/kratos/sources/model_part_io.cpp @@ -2190,11 +2190,11 @@ void ModelPartIO::ReadGeometriesBlock(ModelPart& rModelPart) KRATOS_ERROR << buffer.str() << std::endl; return; } + GeometryType const& r_clone_geometry = KratosComponents::Get(geometry_name); SizeType number_of_nodes = r_clone_geometry.size(); Element::NodesArrayType temp_geometry_nodes; - std::vector aux_geometries; - aux_geometries.reserve(1024); + ModelPart::GeometryContainerType aux_geometries; while(!mpStream->eof()) { ReadWord(word); // Reading the geometry id or End @@ -2203,17 +2203,16 @@ void ModelPartIO::ReadGeometriesBlock(ModelPart& rModelPart) ExtractValue(word,id); temp_geometry_nodes.clear(); - for(SizeType i = 0; i < number_of_nodes; ++i) { + for(SizeType i = 0 ; i < number_of_nodes ; i++) { ReadWord(word); // Reading the node id; ExtractValue(word, node_id); - temp_geometry_nodes.push_back(*(FindKey(rModelPart.Nodes(), ReorderedNodeId(node_id), "Node").base())); + temp_geometry_nodes.push_back( *(FindKey(rModelPart.Nodes(), ReorderedNodeId(node_id), "Node").base())); } - aux_geometries.push_back(r_clone_geometry.Create(ReorderedGeometryId(id), temp_geometry_nodes)); - ++number_of_read_geometries; + rModelPart.AddGeometry(r_clone_geometry.Create(ReorderedGeometryId(id), temp_geometry_nodes)); + number_of_read_geometries++; + } - - rModelPart.AddGeometries(aux_geometries.begin(), aux_geometries.end()); KRATOS_INFO("") << number_of_read_geometries << " geometries read] [Type: " < Date: Fri, 12 Jun 2026 11:41:09 +0200 Subject: [PATCH 2/2] Fix --- kratos/sources/model_part_io.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/kratos/sources/model_part_io.cpp b/kratos/sources/model_part_io.cpp index efd40c7ca666..b80c41acf5a9 100644 --- a/kratos/sources/model_part_io.cpp +++ b/kratos/sources/model_part_io.cpp @@ -2190,11 +2190,11 @@ void ModelPartIO::ReadGeometriesBlock(ModelPart& rModelPart) KRATOS_ERROR << buffer.str() << std::endl; return; } - GeometryType const& r_clone_geometry = KratosComponents::Get(geometry_name); SizeType number_of_nodes = r_clone_geometry.size(); Element::NodesArrayType temp_geometry_nodes; - ModelPart::GeometryContainerType aux_geometries; + std::vector aux_geometries; + aux_geometries.reserve(1024); while(!mpStream->eof()) { ReadWord(word); // Reading the geometry id or End @@ -2203,16 +2203,17 @@ void ModelPartIO::ReadGeometriesBlock(ModelPart& rModelPart) ExtractValue(word,id); temp_geometry_nodes.clear(); - for(SizeType i = 0 ; i < number_of_nodes ; i++) { + for(SizeType i = 0; i < number_of_nodes; ++i) { ReadWord(word); // Reading the node id; ExtractValue(word, node_id); - temp_geometry_nodes.push_back( *(FindKey(rModelPart.Nodes(), ReorderedNodeId(node_id), "Node").base())); + temp_geometry_nodes.push_back(*(FindKey(rModelPart.Nodes(), ReorderedNodeId(node_id), "Node").base())); } - rModelPart.AddGeometry(r_clone_geometry.Create(ReorderedGeometryId(id), temp_geometry_nodes)); - number_of_read_geometries++; - + aux_geometries.push_back(r_clone_geometry.Create(ReorderedGeometryId(id), temp_geometry_nodes)); + ++number_of_read_geometries; } + + rModelPart.AddGeometries(aux_geometries.begin(), aux_geometries.end()); KRATOS_INFO("") << number_of_read_geometries << " geometries read] [Type: " <