|
PanNDE
|
#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.