diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp index de71ebd4842f9b27203a50a0e432a60834d23fc2..ea475303c2ba979dd4b0d0c4479ab1ad6b675e5e 100644 --- a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp +++ b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.cpp @@ -108,6 +108,23 @@ std::ostream& Partition::writeConfigBinary(std::ostream& os) const sizeof(data)); } +void splitOffHigherOrderNode(std::vector<MeshLib::Node*> const& nodes, + bool const is_mixed_high_order_linear_elems, + unsigned const node_id, + unsigned const n_base_nodes, + std::vector<MeshLib::Node*>& base_nodes, + std::vector<MeshLib::Node*>& extra_nodes) +{ + if (!is_mixed_high_order_linear_elems || node_id > n_base_nodes) + { + base_nodes.push_back(nodes[node_id]); + } + else + { + extra_nodes.push_back(nodes[node_id]); + } +} + void NodeWiseMeshPartitioner::findNonGhostNodesInPartition( std::size_t const part_id, const bool is_mixed_high_order_linear_elems, @@ -121,6 +138,7 @@ void NodeWiseMeshPartitioner::findNonGhostNodesInPartition( if (_nodes_partition_ids[i] == part_id) { splitOffHigherOrderNode(nodes, is_mixed_high_order_linear_elems, i, + _mesh->getNumberOfBaseNodes(), partition.nodes, extra_nodes); } } @@ -190,31 +208,14 @@ void NodeWiseMeshPartitioner::findGhostNodesInPartition( if (_nodes_partition_ids[node_id] != part_id) { splitOffHigherOrderNode(nodes, is_mixed_high_order_linear_elems, - node_id, partition.nodes, extra_nodes); + node_id, _mesh->getNumberOfBaseNodes(), + partition.nodes, extra_nodes); nodes_reserved[node_id] = true; } } } } -void NodeWiseMeshPartitioner::splitOffHigherOrderNode( - std::vector<MeshLib::Node*> const& nodes, - bool const is_mixed_high_order_linear_elems, - unsigned const node_id, - std::vector<MeshLib::Node*>& base_nodes, - std::vector<MeshLib::Node*>& extra_nodes) -{ - auto const n_base_nodes = _mesh->getNumberOfBaseNodes(); - if (!is_mixed_high_order_linear_elems || node_id > n_base_nodes) - { - base_nodes.push_back(nodes[node_id]); - } - else - { - extra_nodes.push_back(nodes[node_id]); - } -} - void NodeWiseMeshPartitioner::processPartition( std::size_t const part_id, const bool is_mixed_high_order_linear_elems) { diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h index c7439c4e93086c3268dfdb20946ffc7fe76e3b1f..4f295f9869b7819e5404388f3b44ce19d020c091 100644 --- a/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h +++ b/Applications/Utils/ModelPreparation/PartitionMesh/NodeWiseMeshPartitioner.h @@ -139,12 +139,6 @@ private: const bool is_mixed_high_order_linear_elems, std::vector<MeshLib::Node*>& extra_nodes); - void splitOffHigherOrderNode(std::vector<MeshLib::Node*> const& nodes, - bool const is_mixed_high_order_linear_elems, - unsigned const node_id, - std::vector<MeshLib::Node*>& base_nodes, - std::vector<MeshLib::Node*>& extra_nodes); - void processPartition(std::size_t const part_id, const bool is_mixed_high_order_linear_elems);