diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp index d1ca9a4c866a99bcfa024c498d1fb4727abcfc93..3210e78003f64c9f7c3b5c4f51839464a6011be0 100644 --- a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp +++ b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp @@ -929,7 +929,8 @@ void NodeWiseMeshPartitioner::writeBinary(const std::string& file_name_base) void NodeWiseMeshPartitioner::writeOtherMesh( std::string const& output_filename_base, - std::vector<Partition> const& partitions) const + std::vector<Partition> const& partitions, + MeshLib::Properties const& partitioned_properties) const { writeNodesBinary(output_filename_base, partitions, _nodes_global_ids); @@ -942,6 +943,11 @@ void NodeWiseMeshPartitioner::writeOtherMesh( std::get<1>(elem_integers); writeElementsBinary(output_filename_base, partitions, num_elem_integers, num_g_elem_integers); + + writePropertiesBinary(output_filename_base, partitioned_properties, + partitions, MeshLib::MeshItemType::Node); + writePropertiesBinary(output_filename_base, partitioned_properties, + partitions, MeshLib::MeshItemType::Cell); } void NodeWiseMeshPartitioner::writeConfigDataASCII( diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h index 0fe7d460a6a00e669a4f19df3d10a812b322a1de..c95bdedcd07b03fab2018337a7d7b8baaf3f632c 100644 --- a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h +++ b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h @@ -93,8 +93,10 @@ public: /// \param file_name_base The prefix of the file name. void writeBinary(const std::string& file_name_base); - void writeOtherMesh(std::string const& output_filename_base, - std::vector<Partition> const& partitions) const; + void writeOtherMesh( + std::string const& output_filename_base, + std::vector<Partition> const& partitions, + MeshLib::Properties const& partitioned_properties) const; void resetPartitionIdsForNodes( std::vector<std::size_t>&& node_partition_ids) diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/PartitionMesh.cpp b/Applications/Utils/ModelPreparation/PartitionMesh/PartitionMesh.cpp index 22d81be90e3ef1ca72505f32d3c388f79a953052..7cdb623852894633a8a23f03cb182d292314de16 100644 --- a/Applications/Utils/ModelPreparation/PartitionMesh/PartitionMesh.cpp +++ b/Applications/Utils/ModelPreparation/PartitionMesh/PartitionMesh.cpp @@ -182,8 +182,11 @@ int main(int argc, char* argv[]) BaseLib::extractBaseNameWithoutExtension(filename)); auto const partitions = mesh_partitioner.partitionOtherMesh( *mesh, is_mixed_high_order_linear_elems); + + auto const partitioned_properties = + partitionProperties(mesh->getProperties(), partitions); mesh_partitioner.writeOtherMesh(output_file_name_wo_extension, - partitions); + partitions, partitioned_properties); } if (ascii_flag.getValue())