#include "modules/Controller/include/Partitioner.hpp"
Public Member Functions | |
virtual void | partitionMesh (int Nparts, std::shared_ptr< PanNDE::Mesh > global_mesh)=0 |
virtual std::shared_ptr< PanNDE::Array< std::shared_ptr< PanNDE::Mesh > > > | distributeMeshPartitions (std::shared_ptr< PanNDE::Array< int >> partitionIds, std::shared_ptr< PanNDE::MeshFactory > maker, int mesh_source_rank=0)=0 |
virtual std::shared_ptr< PanNDE::Array< std::shared_ptr< PanNDE::Field > > > | distributeFieldPartitions (std::shared_ptr< PanNDE::Array< int >> partitionIds, std::shared_ptr< PanNDE::FieldFactory > maker, std::shared_ptr< PanNDE::Field > global_field=nullptr, int field_source_rank=0)=0 |
Defines the required externally faced operations for partitioning and distributing a mesh and it's associated fields
|
pure virtual |
distribute a field
partitionIds | which partitions the local process is requesting |
maker | the field factory |
global_field | the field that must be partitioned that is currently on the field_source_rank process |
field_source_rank | process which has the global field and is distributing the field partitions |
Implemented in NetMPI::MetisPartitioner.
|
pure virtual |
distribute the mesh
partitionIds | which partitions the local process is requesting |
maker | the mesh factory |
mesh_source_rank | process which has the global mesh and is distributing the mesh partitions |
Implemented in NetMPI::MetisPartitioner.
|
pure virtual |
partition a mesh
Nparts | number of parts to decompose the mesh into |
global_mesh | the monolithic mesh to partition |
Implemented in NetMPI::MetisPartitioner.