20 #ifndef LIBMESH_METIS_PARTITIONER_H 21 #define LIBMESH_METIS_PARTITIONER_H 24 #include "libmesh/partitioner.h" 60 virtual std::unique_ptr<Partitioner>
clone ()
const override 62 return std::make_unique<MetisPartitioner>(*this);
73 const unsigned int n)
override;
81 const unsigned int n)
override;
86 #endif // LIBMESH_METIS_PARTITIONER_H The definition of the element_iterator struct.
virtual ~MetisPartitioner()=default
MetisPartitioner()=default
Ctors, assignment operators, and destructor are all explicitly defaulted for this class...
The ErrorVector is a specialization of the StatisticsVector for error data computed on a finite eleme...
virtual void partition_range(MeshBase &mesh, MeshBase::element_iterator it, MeshBase::element_iterator end, const unsigned int n) override
Called by the SubdomainPartitioner to partition elements in the range (it, end).
The MetisPartitioner uses the Metis graph partitioner to partition the elements.
The libMesh namespace provides an interface to certain functionality in the library.
This is the MeshBase class.
The Partitioner class provides a uniform interface for partitioning algorithms.
ErrorVector * _weights
The weights that might be used for partitioning.
PartitionerType
Defines an enum for mesh partitioner types.
virtual void attach_weights(ErrorVector *weights) override
Attach weights that can be used for partitioning.
MetisPartitioner & operator=(const MetisPartitioner &)=default
virtual std::unique_ptr< Partitioner > clone() const override
virtual void _do_partition(MeshBase &mesh, const unsigned int n) override
Partition the MeshBase into n subdomains.
virtual PartitionerType type() const override