Classe de test du repartionnement de maillage. Plus de détails...
Fonctions membres publiques | |
MeshPartitionerTester (const ServiceBuildInfo &sbi) | |
IMesh * | mesh () const override |
Maillage associé au partitionneur. | |
void | build () override |
Construction de niveau build du service. | |
void | partitionMesh (bool initial_partition) override |
void | partitionMesh (bool initial_partition, Int32 nb_part) override |
void | notifyEndPartition () override |
Notification lors de la fin d'un repartionnement (après échange des entités) | |
void | setMaximumComputationTime (Real v) override |
Positionne la proportion du temps de calcul. | |
Real | maximumComputationTime () const override |
void | setComputationTimes (RealConstArrayView v) override |
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). | |
RealConstArrayView | computationTimes () const override |
void | setImbalance (Real v) override |
Positionne le déséquilibre de temps de calcul. | |
Real | imbalance () const override |
Déséquilibre de temps de calcul. | |
void | setMaxImbalance (Real v) override |
Positionne le déséquilibre maximal autorisé | |
Real | maxImbalance () const override |
Déséquilibre maximal autorisé | |
ArrayView< float > | cellsWeight () const override |
void | setCellsWeight (ArrayView< float > weights, Integer nb_weight) override |
Permet de définir les poids des objets à partitionner : on doit utiliser le ILoadBalanceMng maintenant. | |
void | setILoadBalanceMng (ILoadBalanceMng *) override |
Change le ILoadBalanceMng à utiliser. | |
ILoadBalanceMng * | loadBalanceMng () const override |
Fonctions membres publiques hérités de Arcane::ArcaneMeshPartitionerTesterServiceObject | |
ArcaneMeshPartitionerTesterServiceObject (const Arcane::ServiceBuildInfo &sbi) | |
Constructeur. | |
virtual | ~ArcaneMeshPartitionerTesterServiceObject () |
Destructeur. | |
CaseOptionsMeshPartitionerTesterService * | options () const |
Options du jeu de données du service. | |
Fonctions membres publiques hérités de Arcane::BasicService | |
~BasicService () override | |
Libère les ressources. | |
virtual ISubDomain * | subDomain () |
Fonctions membres publiques hérités de Arcane::AbstractService | |
virtual | ~AbstractService () |
Destructeur. | |
virtual IServiceInfo * | serviceInfo () const |
Accès aux informations du service. | |
virtual IBase * | serviceParent () const |
Accès à l'interface de base des principaux objets Arcane. | |
virtual IService * | serviceInterface () |
Retourne l'interface bas niveau IService du service. | |
Fonctions membres publiques hérités de Arccore::TraceAccessor | |
TraceAccessor (ITraceMng *m) | |
Construit un accesseur via le gestionnaire de trace m. | |
TraceAccessor (const TraceAccessor &rhs) | |
Constructeur par recopie. | |
TraceAccessor & | operator= (const TraceAccessor &rhs) |
Opérateur de recopie. | |
virtual | ~TraceAccessor () |
Libère les ressources. | |
ITraceMng * | traceMng () const |
Gestionnaire de trace. | |
TraceMessage | info () const |
Flot pour un message d'information. | |
TraceMessage | pinfo () const |
Flot pour un message d'information en parallèle. | |
TraceMessage | info (char category) const |
Flot pour un message d'information d'une catégorie donnée. | |
TraceMessage | pinfo (char category) const |
Flot pour un message d'information parallèle d'une catégorie donnée. | |
TraceMessage | info (bool v) const |
Flot pour un message d'information. | |
TraceMessage | warning () const |
Flot pour un message d'avertissement. | |
TraceMessage | pwarning () const |
TraceMessage | error () const |
Flot pour un message d'erreur. | |
TraceMessage | perror () const |
TraceMessage | log () const |
Flot pour un message de log. | |
TraceMessage | plog () const |
Flot pour un message de log. | |
TraceMessage | logdate () const |
Flot pour un message de log précédé de la date. | |
TraceMessage | fatal () const |
Flot pour un message d'erreur fatale. | |
TraceMessage | pfatal () const |
Flot pour un message d'erreur fatale en parallèle. | |
TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
Flot pour un message de debug. | |
Trace::eDebugLevel | configDbgLevel () const |
Niveau debug du fichier de configuration. | |
TraceMessage | info (Int32 verbose_level) const |
Flot pour un message d'information d'un niveau donné | |
TraceMessage | linfo () const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
TraceMessage | linfo (Int32 relative_level) const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
void | fatalMessage (const StandaloneTraceMessage &o) const |
Fonctions membres publiques hérités de Arcane::IService | |
virtual | ~IService () |
Libère les ressources. | |
Fonctions membres publiques hérités de Arcane::MeshAccessor | |
MeshAccessor (ISubDomain *sd) | |
MeshAccessor (IMesh *mesh) | |
MeshAccessor (const MeshHandle &mesh_handle) | |
Integer | nbCell () const |
Retourne le nombre de mailles du maillage. | |
Integer | nbFace () const |
Retourne le nombre de faces du maillage. | |
Integer | nbEdge () const |
Retourne le nombre d'arêtes du maillage. | |
Integer | nbNode () const |
Retourne le nombre de noeuds du maillage. | |
VariableNodeReal3 & | nodesCoordinates () const |
Retourne les coordonnées des noeuds du maillage. | |
NodeGroup | allNodes () const |
Retourne le groupe contenant tous les noeuds. | |
EdgeGroup | allEdges () const |
Retourne le groupe contenant toutes les arêtes. | |
FaceGroup | allFaces () const |
Retourne le groupe contenant toutes les faces. | |
CellGroup | allCells () const |
Retourne le groupe contenant toutes les mailles. | |
FaceGroup | outerFaces () const |
Retourne le groupe contenant toutes les faces de le frontière. | |
NodeGroup | ownNodes () const |
Retourne le groupe contenant tous les noeuds propres à ce domaine. | |
CellGroup | ownCells () const |
Retourne le groupe contenant toutes les mailles propres à ce domaine. | |
FaceGroup | ownFaces () const |
Groupe contenant toutes les faces propres à ce domaine. | |
EdgeGroup | ownEdges () const |
Groupe contenant toutes les arêtes propres à ce domaine. | |
IMesh * | mesh () const |
const MeshHandle & | meshHandle () const |
Fonctions membres publiques hérités de Arcane::CommonVariables | |
CommonVariables (IModule *c) | |
Construit les références des variables communes pour le module c. | |
CommonVariables (IVariableMng *variable_mng) | |
Construit les références des variables communes pour le gestionnaire variable_mng. | |
CommonVariables (ISubDomain *sd) | |
Construit les références des variables communes pour le sous-domaine sd. | |
virtual | ~CommonVariables () |
Libère les ressources. | |
Int32 | globalIteration () const |
Numéro de l'itération courante. | |
Real | globalTime () const |
Temps courant. | |
Real | globalOldTime () const |
Temps courant précédent. | |
Real | globalFinalTime () const |
Temps final de la simulation. | |
Real | globalDeltaT () const |
Delta T courant. | |
Real | globalCPUTime () const |
Temps CPU utilisé (en seconde) | |
Real | globalOldCPUTime () const |
Temps CPU utilisé précédent (en seconde) | |
Real | globalElapsedTime () const |
Temps horloge (elapsed) utilisé (en seconde) | |
Real | globalOldElapsedTime () const |
Temps horloge (elapsed) utilisé précédent (en seconde) | |
Fonctions membres publiques hérités de Arcane::IMeshPartitioner | |
virtual | ~IMeshPartitioner () |
Libère les ressources. | |
virtual IPrimaryMesh * | primaryMesh () override |
Maillage associé | |
Fonctions membres publiques hérités de Arcane::IMeshPartitionerBase | |
virtual | ~IMeshPartitionerBase ()=default |
Libère les ressources. | |
Attributs privés | |
Real | m_imbalance |
Real | m_max_imbalance |
Real | m_max_computation_time |
Integer | m_nb_weight |
ArrayView< float > | m_cells_weight |
RealUniqueArray | m_computation_times |
Classe de test du repartionnement de maillage.
Cette classe sert uniquement à tester le repartitionnement de maillage. Elle change simplement le propriétaire des mailles en se basant sur le numérotation et sans tenir compte des éventuels déséquilibre en temps de calcul.
Définition à la ligne 52 du fichier MeshPartitionerTesterService.cc.
Arcane::MeshPartitionerTester::MeshPartitionerTester | ( | const ServiceBuildInfo & | sbi | ) |
Définition à la ligne 119 du fichier MeshPartitionerTesterService.cc.
Construction de niveau build du service.
L'appel à build est effectué au moment de sa construction, usuellement au niveau de sa lecture dans les options en phase1.
Réimplémentée à partir de Arcane::AbstractService.
Définition à la ligne 66 du fichier MeshPartitionerTesterService.cc.
Implémente Arcane::IMeshPartitioner.
Définition à la ligne 88 du fichier MeshPartitionerTesterService.cc.
|
inlineoverridevirtual |
Implémente Arcane::IMeshPartitioner.
Définition à la ligne 82 du fichier MeshPartitionerTesterService.cc.
|
inlineoverridevirtual |
Déséquilibre de temps de calcul.
Implémente Arcane::IMeshPartitioner.
Définition à la ligne 84 du fichier MeshPartitionerTesterService.cc.
|
inlineoverridevirtual |
Implémente Arcane::IMeshPartitioner.
Définition à la ligne 101 du fichier MeshPartitionerTesterService.cc.
|
inlineoverridevirtual |
Déséquilibre maximal autorisé
Implémente Arcane::IMeshPartitioner.
Définition à la ligne 86 du fichier MeshPartitionerTesterService.cc.
|
inlineoverridevirtual |
Implémente Arcane::IMeshPartitioner.
Définition à la ligne 80 du fichier MeshPartitionerTesterService.cc.
|
inlineoverridevirtual |
Maillage associé au partitionneur.
Implémente Arcane::IMeshPartitioner.
Définition à la ligne 64 du fichier MeshPartitionerTesterService.cc.
Référencé par partitionMesh().
|
inlineoverridevirtual |
Notification lors de la fin d'un repartionnement (après échange des entités)
Implémente Arcane::IMeshPartitionerBase.
Définition à la ligne 75 du fichier MeshPartitionerTesterService.cc.
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.
Réimplémentée à partir de Arcane::IMeshPartitioner.
Définition à la ligne 132 du fichier MeshPartitionerTesterService.cc.
Références Arcane::IParallelMng::commRank(), Arcane::IParallelMng::commSize(), ENUMERATE_CELL, Arcane::IK_Cell, Arccore::TraceAccessor::info(), mesh(), Arcane::ArcaneMeshPartitionerTesterServiceObject::options(), Arcane::IMeshBase::ownCells(), Arcane::Item::owner(), Arcane::IMesh::partitionConstraintMng(), Arcane::CheckedConvert::toInt32(), Arcane::IMesh::toPrimaryMesh(), Arcane::IMesh::utilities(), et Arccore::TraceAccessor::warning().
|
inlineoverridevirtual |
Implémente Arcane::IMeshPartitioner.
Définition à la ligne 68 du fichier MeshPartitionerTesterService.cc.
|
inlineoverridevirtual |
Permet de définir les poids des objets à partitionner : on doit utiliser le ILoadBalanceMng maintenant.
Implémente Arcane::IMeshPartitioner.
Définition à la ligne 90 du fichier MeshPartitionerTesterService.cc.
|
inlineoverridevirtual |
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émente Arcane::IMeshPartitioner.
Définition à la ligne 81 du fichier MeshPartitionerTesterService.cc.
Références Arccore::Array< T >::copy().
|
inlineoverridevirtual |
Change le ILoadBalanceMng à utiliser.
Implémente Arcane::IMeshPartitioner.
Définition à la ligne 96 du fichier MeshPartitionerTesterService.cc.
|
inlineoverridevirtual |
Positionne le déséquilibre de temps de calcul.
Implémente Arcane::IMeshPartitioner.
Définition à la ligne 83 du fichier MeshPartitionerTesterService.cc.
|
inlineoverridevirtual |
Positionne le déséquilibre maximal autorisé
Implémente Arcane::IMeshPartitioner.
Définition à la ligne 85 du fichier MeshPartitionerTesterService.cc.
|
inlineoverridevirtual |
Positionne la proportion du temps de calcul.
Proportion du temps de calcul Temps de calcul du sous-domaine le plus chargé
Implémente Arcane::IMeshPartitioner.
Définition à la ligne 79 du fichier MeshPartitionerTesterService.cc.
Définition à la ligne 112 du fichier MeshPartitionerTesterService.cc.
|
private |
Définition à la ligne 113 du fichier MeshPartitionerTesterService.cc.
|
private |
Définition à la ligne 108 du fichier MeshPartitionerTesterService.cc.
|
private |
Définition à la ligne 110 du fichier MeshPartitionerTesterService.cc.
|
private |
Définition à la ligne 109 du fichier MeshPartitionerTesterService.cc.
|
private |
Définition à la ligne 111 du fichier MeshPartitionerTesterService.cc.