32 std::vector<MeshLib::Node*>
nodes;
47 std::vector<std::size_t>
const& global_node_ids)
const;
55 std::vector<Partition>
const& partitions);
69 std::unique_ptr<MeshLib::Mesh>&&
mesh)
86 bool const is_mixed_high_order_linear_elems)
const;
92 std::vector<Partition>
const& local_partitions)
const;
98 std::vector<Partition>
const& local_partitions)
const;
102 void write(
const std::string& file_name_base);
105 std::string
const& output_filename_base,
106 std::vector<Partition>
const& partitions,
110 std::vector<std::size_t>&& node_partition_ids)
125 std::unique_ptr<MeshLib::Mesh>
_mesh;
140 const bool is_mixed_high_order_linear_elems);
Definition of the Element class.
Definition of the Mesh class.
Definition of the Node class.
void processPartition(std::size_t const part_id, const bool is_mixed_high_order_linear_elems)
void renumberBulkElementIdsProperty(MeshLib::PropertyVector< std::size_t > *const bulk_element_ids_pv, std::vector< Partition > const &local_partitions) const
void partitionByMETIS(const bool is_mixed_high_order_linear_elems)
MeshLib::Mesh const & mesh() const
NodeWiseMeshPartitioner(const IntegerType num_partitions, std::unique_ptr< MeshLib::Mesh > &&mesh)
void write(const std::string &file_name_base)
void renumberBulkNodeIdsProperty(MeshLib::PropertyVector< std::size_t > *const bulk_node_ids, std::vector< Partition > const &local_partitions) const
std::unique_ptr< MeshLib::Mesh > _mesh
Pointer to a mesh object.
MeshLib::Properties _partitioned_properties
Properties where values at ghost nodes and extra nodes are inserted.
std::vector< Partition > partitionOtherMesh(MeshLib::Mesh const &mesh, bool const is_mixed_high_order_linear_elems) const
void resetPartitionIdsForNodes(std::vector< std::size_t > &&node_partition_ids)
std::vector< std::size_t > _nodes_global_ids
Global IDs of all nodes after partitioning.
void renumberNodeIndices(const bool is_mixed_high_order_linear_elems)
std::vector< Partition > _partitions
Data for all partitions.
std::vector< std::size_t > _nodes_partition_ids
Partition IDs of each nodes.
void writeOtherMesh(std::string const &output_filename_base, std::vector< Partition > const &partitions, MeshLib::Properties const &partitioned_properties) const
Property manager on mesh items. Class Properties manages scalar, vector or matrix properties....
MeshLib::Properties partitionProperties(MeshLib::Properties const &properties, std::vector< Partition > const &partitions)
Partition existing properties and add vtkGhostType cell data array property.
std::size_t number_of_mesh_base_nodes
std::size_t number_of_base_nodes
std::size_t number_of_regular_nodes
std::ostream & writeConfig(std::ostream &os) const
std::size_t number_of_mesh_all_nodes
std::vector< MeshLib::Node * > nodes
nodes.
std::size_t numberOfMeshItems(MeshLib::MeshItemType const item_type) const
std::vector< bool > duplicate_ghost_cell
std::size_t number_of_regular_base_nodes
std::vector< const MeshLib::Element * > regular_elements
Non ghost elements.
std::vector< const MeshLib::Element * > ghost_elements
std::ostream & writeNodes(std::ostream &os, std::vector< std::size_t > const &global_node_ids) const