Interface of a mesh partitioner. More...
#include <arcane/core/IMeshPartitioner.h>
Public Member Functions | |
| virtual void | build ()=0 |
| virtual void | partitionMesh (bool initial_partition, Int32 nb_part)=0 |
| virtual IMesh * | mesh () const =0 |
| Mesh associated with the partitioner. | |
| virtual IPrimaryMesh * | primaryMesh () override |
| Associated mesh. | |
| virtual void | partitionMesh (bool initial_partition)=0 |
compact | |
{ Proportion of computation time of this subdomain compared to that of the subdomain that has the highest computation time. | |
| virtual ARCANE_DEPRECATED_116 void | setMaximumComputationTime (Real v)=0 |
| Sets the proportion of computation time. | |
| virtual ARCANE_DEPRECATED_116 Real | maximumComputationTime () const =0 |
| virtual ARCANE_DEPRECATED_116 void | setComputationTimes (RealConstArrayView v)=0 |
| Computation time of this subdomain. The first element indicates the computation time of the subdomain corresponding to calculations whose cost is proportional to the cells. The following must be associated with a variable (to be done). | |
| virtual ARCANE_DEPRECATED_116 RealConstArrayView | computationTimes () const =0 |
imbalance | |
Computation time imbalance. It is calculated as follows imbalance = (max_computation_time - min_computation_time) / min_computation_time; | |
| virtual void | setImbalance (Real v)=0 |
| Sets the computation time imbalance. | |
| virtual Real | imbalance () const =0 |
| Computation time imbalance. | |
| virtual void | setMaxImbalance (Real v)=0 |
| Sets the maximum allowed imbalance. | |
| virtual Real | maxImbalance () const =0 |
| Maximum allowed imbalance. | |
| virtual ARCANE_DEPRECATED_116 void | setCellsWeight (ArrayView< float > weights, Integer nb_weight)=0 |
| Allows defining the weights of objects to be partitioned: ILoadBalanceMng must now be used. | |
| virtual ARCANE_DEPRECATED_116 ArrayView< float > | cellsWeight () const =0 |
| virtual void | setILoadBalanceMng (ILoadBalanceMng *mng)=0 |
| Changes the ILoadBalanceMng to use. | |
| virtual ILoadBalanceMng * | loadBalanceMng () const =0 |
| Public Member Functions inherited from Arcane::IMeshPartitionerBase | |
| virtual | ~IMeshPartitionerBase ()=default |
| Releases resources. | |
| virtual void | notifyEndPartition ()=0 |
| Notification when a re-partitioning finishes (after entity exchange). | |
Interface of a mesh partitioner.
The partitioner reassigns entity owners. It does not directly perform entity exchange. The partitioner can use certain information such as timeRatio() or imbalance() to calculate an efficient partitioning.
Definition at line 36 of file IMeshPartitioner.h.
|
virtual |
Re-partitions the mesh mesh
This method changes the owners of the entities and fills the IItemFamily::itemsNewOwner() variable of each entity family of the mesh mesh with the number of the new owning subdomain.
Implements Arcane::IMeshPartitionerBase.
|
overridevirtual |
Associated mesh.
Implements Arcane::IMeshPartitionerBase.
Definition at line 213 of file InterfaceImpl.cc.
References ARCANE_CHECK_POINTER, mesh(), and Arcane::IMesh::toPrimaryMesh().
Referenced by mesh().
|
pure virtual |
Sets the proportion of computation time.
Proportion of computation time Computation time of the most heavily loaded subdomain
References setMaximumComputationTime().
Referenced by setMaximumComputationTime().