Interface d'un partitionneur de maillage. Plus de détails...
#include <arcane/core/IMeshPartitioner.h>
Fonctions membres publiques | |
virtual | ~IMeshPartitioner () |
Libère les ressources. | |
virtual void | build ()=0 |
virtual void | partitionMesh (bool initial_partition, Int32 nb_part)=0 |
virtual IMesh * | mesh () const =0 |
Maillage associé au partitionneur. | |
virtual IPrimaryMesh * | primaryMesh () override |
Maillage associé | |
virtual void | partitionMesh (bool initial_partition)=0 |
compact | |
{ Proportion du temps de calcul de ce sous-domaine par rapport à celui du sous-domaine qui à le temps de calcul de plus élevé. | |
virtual ARCANE_DEPRECATED_116 void | setMaximumComputationTime (Real v)=0 |
Positionne la proportion du temps de calcul. | |
virtual ARCANE_DEPRECATED_116 Real | maximumComputationTime () const =0 |
virtual ARCANE_DEPRECATED_116 void | setComputationTimes (RealConstArrayView v)=0 |
Temps de calcul de se sous-domaine. Le premier élément indique le temps de calcul du sous-domaine correspondante aux calcul dont le cout est proportionnel aux mailles. Les suivants doivent être associées à une variable (à faire). | |
virtual ARCANE_DEPRECATED_116 RealConstArrayView | computationTimes () const =0 |
imbalance | |
Déséquilibre de temps calcul. Il est calculé comme suit imbalance = (max_computation_time - min_computation_time) / min_computation_time; | |
virtual void | setImbalance (Real v)=0 |
Positionne le déséquilibre de temps de calcul. | |
virtual Real | imbalance () const =0 |
Déséquilibre de temps de calcul. | |
virtual void | setMaxImbalance (Real v)=0 |
Positionne le déséquilibre maximal autorisé | |
virtual Real | maxImbalance () const =0 |
Déséquilibre maximal autorisé | |
virtual ARCANE_DEPRECATED_116 void | setCellsWeight (ArrayView< float > weights, Integer nb_weight)=0 |
Permet de définir les poids des objets à partitionner : on doit utiliser le ILoadBalanceMng maintenant. | |
virtual ARCANE_DEPRECATED_116 ArrayView< float > | cellsWeight () const =0 |
virtual void | setILoadBalanceMng (ILoadBalanceMng *mng)=0 |
Change le ILoadBalanceMng à utiliser. | |
virtual ILoadBalanceMng * | loadBalanceMng () const =0 |
Fonctions membres publiques hérités de Arcane::IMeshPartitionerBase | |
virtual | ~IMeshPartitionerBase ()=default |
Libère les ressources. | |
virtual void | notifyEndPartition ()=0 |
Notification lors de la fin d'un repartionnement (après échange des entités) | |
Interface d'un partitionneur de maillage.
Le partitionneur réaffecte les propriétaires des entités. Il n'effectue pas directement l'échange d'entité. Le partitionneur peut utiliser certaines informations comme le timeRatio() ou imbalance() pour calculer un partionnement efficace.
Définition à la ligne 40 du fichier IMeshPartitioner.h.
|
inlinevirtual |
Libère les ressources.
Définition à la ligne 45 du fichier IMeshPartitioner.h.
|
pure virtual |
Déséquilibre de temps de calcul.
Implémenté dans Arcane::MeshPartitionerBase, et Arcane::MeshPartitionerTester.
|
pure virtual |
Déséquilibre maximal autorisé
Implémenté dans Arcane::MeshPartitionerBase, et Arcane::MeshPartitionerTester.
Maillage associé au partitionneur.
Implémenté dans Arcane::MeshPartitionerBase, et Arcane::MeshPartitionerTester.
Référencé par primaryMesh().
Repartitionne le maillage mesh
Cette méthode change les propriétaires des entités et remplit la variable IItemFamily::itemsNewOwner() de chaque famille d'entité du maillage mesh avec le numéro du nouveau sous-domaine propriétaire.
Implémente Arcane::IMeshPartitionerBase.
Réimplémentée dans Arcane::SplitSDMeshPartitioner, Arcane::ZoltanMeshPartitioner, Arcane::MeshPartitionerTester, Arcane::MetisMeshPartitioner, et Arcane::PTScotchMeshPartitioner.
|
overridevirtual |
Maillage associé
Implémente Arcane::IMeshPartitionerBase.
Définition à la ligne 196 du fichier InterfaceImpl.cc.
Références ARCANE_CHECK_POINTER, et mesh().
|
pure virtual |
Permet de définir les poids des objets à partitionner : on doit utiliser le ILoadBalanceMng maintenant.
Implémenté dans Arcane::MeshPartitionerBase, et Arcane::MeshPartitionerTester.
|
pure virtual |
Temps de calcul de se sous-domaine. Le premier élément indique le temps de calcul du sous-domaine correspondante aux calcul dont le cout est proportionnel aux mailles. Les suivants doivent être associées à une variable (à faire).
Implémenté dans Arcane::MeshPartitionerBase, et Arcane::MeshPartitionerTester.
|
pure virtual |
Change le ILoadBalanceMng à utiliser.
Implémenté dans Arcane::MeshPartitionerTester, et Arcane::MeshPartitionerBase.
Positionne le déséquilibre de temps de calcul.
Implémenté dans Arcane::MeshPartitionerBase, et Arcane::MeshPartitionerTester.
Positionne le déséquilibre maximal autorisé
Implémenté dans Arcane::MeshPartitionerBase, et Arcane::MeshPartitionerTester.
|
pure virtual |
Positionne la proportion du temps de calcul.
Proportion du temps de calcul Temps de calcul du sous-domaine le plus chargé
Implémenté dans Arcane::MeshPartitionerTester, et Arcane::MeshPartitionerBase.