Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::MeshPartitionerTester

Classe de test du repartionnement de maillage. Plus de détails...

+ Graphe d'héritage de Arcane::MeshPartitionerTester:
+ Graphe de collaboration de Arcane::MeshPartitionerTester:

Fonctions membres publiques

 MeshPartitionerTester (const ServiceBuildInfo &sbi)
 
IMeshmesh () 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< floatcellsWeight () 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.
 
ILoadBalanceMngloadBalanceMng () const override
 
- Fonctions membres publiques hérités de Arcane::ArcaneMeshPartitionerTesterServiceObject
 ArcaneMeshPartitionerTesterServiceObject (const Arcane::ServiceBuildInfo &sbi)
 Constructeur.
 
virtual ~ArcaneMeshPartitionerTesterServiceObject ()
 Destructeur.
 
CaseOptionsMeshPartitionerTesterServiceoptions () 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 ISubDomainsubDomain ()
 
- Fonctions membres publiques hérités de Arcane::AbstractService
virtual ~AbstractService ()
 Destructeur.
 
virtual IServiceInfoserviceInfo () const
 Accès aux informations du service.
 
virtual IBaseserviceParent () const
 Accès à l'interface de base des principaux objets Arcane.
 
virtual IServiceserviceInterface ()
 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.
 
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
 
virtual ~TraceAccessor ()
 Libère les ressources.
 
ITraceMngtraceMng () 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.
 
VariableNodeReal3nodesCoordinates () 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.
 
IMeshmesh () const
 
const MeshHandlemeshHandle () 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 IPrimaryMeshprimaryMesh () 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< floatm_cells_weight
 
RealUniqueArray m_computation_times
 

Membres hérités additionnels

- Fonctions membres publiques statiques hérités de Arcane::ArcaneMeshPartitionerTesterServiceObject
template<typename ServiceClassType >
static void fillServiceInfo (Arcane::ServiceInfo *si)
 
- Attributs publics hérités de Arcane::CommonVariables
VariableScalarInt32 m_global_iteration
 Itération courante.
 
VariableScalarReal m_global_time
 Temps actuel.
 
VariableScalarReal m_global_deltat
 Delta T global.
 
VariableScalarReal m_global_old_time
 Temps précédent le temps actuel.
 
VariableScalarReal m_global_old_deltat
 Delta T au temps précédent le temps global.
 
VariableScalarReal m_global_final_time
 Temps final du cas.
 
VariableScalarReal m_global_old_cpu_time
 Temps précédent CPU utilisé (en seconde)
 
VariableScalarReal m_global_cpu_time
 Temps CPU utilisé (en seconde)
 
VariableScalarReal m_global_old_elapsed_time
 Temps précédent horloge utilisé (en seconde)
 
VariableScalarReal m_global_elapsed_time
 Temps horloge utilisé (en seconde)
 
- Fonctions membres protégées hérités de Arcane::BasicService
 BasicService (const ServiceBuildInfo &)
 
- Fonctions membres protégées hérités de Arcane::AbstractService
 AbstractService (const ServiceBuildInfo &)
 Constructeur à partir d'un ServiceBuildInfo.
 
- Fonctions membres protégées hérités de Arccore::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
 
Int32 _localVerboseLevel () const
 
- Fonctions membres protégées hérités de Arcane::IService
 IService ()
 Constructeur.
 

Description détaillée

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.

Documentation des constructeurs et destructeur

◆ MeshPartitionerTester()

Arcane::MeshPartitionerTester::MeshPartitionerTester ( const ServiceBuildInfo sbi)

Définition à la ligne 119 du fichier MeshPartitionerTesterService.cc.

Documentation des fonctions membres

◆ build()

void Arcane::MeshPartitionerTester::build ( void  )
inlineoverridevirtual

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.

◆ cellsWeight()

ArrayView< float > Arcane::MeshPartitionerTester::cellsWeight ( ) const
inlineoverridevirtual

Implémente Arcane::IMeshPartitioner.

Définition à la ligne 88 du fichier MeshPartitionerTesterService.cc.

◆ computationTimes()

RealConstArrayView Arcane::MeshPartitionerTester::computationTimes ( ) const
inlineoverridevirtual

Implémente Arcane::IMeshPartitioner.

Définition à la ligne 82 du fichier MeshPartitionerTesterService.cc.

◆ imbalance()

Real Arcane::MeshPartitionerTester::imbalance ( ) const
inlineoverridevirtual

Déséquilibre de temps de calcul.

Implémente Arcane::IMeshPartitioner.

Définition à la ligne 84 du fichier MeshPartitionerTesterService.cc.

◆ loadBalanceMng()

ILoadBalanceMng * Arcane::MeshPartitionerTester::loadBalanceMng ( ) const
inlineoverridevirtual

Implémente Arcane::IMeshPartitioner.

Définition à la ligne 101 du fichier MeshPartitionerTesterService.cc.

◆ maxImbalance()

Real Arcane::MeshPartitionerTester::maxImbalance ( ) const
inlineoverridevirtual

Déséquilibre maximal autorisé

Implémente Arcane::IMeshPartitioner.

Définition à la ligne 86 du fichier MeshPartitionerTesterService.cc.

◆ maximumComputationTime()

Real Arcane::MeshPartitionerTester::maximumComputationTime ( ) const
inlineoverridevirtual

Implémente Arcane::IMeshPartitioner.

Définition à la ligne 80 du fichier MeshPartitionerTesterService.cc.

◆ mesh()

IMesh * Arcane::MeshPartitionerTester::mesh ( ) const
inlineoverridevirtual

Maillage associé au partitionneur.

Implémente Arcane::IMeshPartitioner.

Définition à la ligne 64 du fichier MeshPartitionerTesterService.cc.

Référencé par partitionMesh().

◆ notifyEndPartition()

void Arcane::MeshPartitionerTester::notifyEndPartition ( )
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.

◆ partitionMesh() [1/2]

void Arcane::MeshPartitionerTester::partitionMesh ( bool  initial_partition)
overridevirtual

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.

Note
Cette méthode est réservée aux développeurs Arcane. Si un module souhaite effectuer un repartitionnement, il faut appeler la méthode IMeshUtilities::partitionAndExchangeMeshWithReplication() qui gère à la fois le partitionnement et l'échange des informations et supporte la réplication de domaine.

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().

◆ partitionMesh() [2/2]

void Arcane::MeshPartitionerTester::partitionMesh ( bool  initial_partition,
Int32  nb_part 
)
inlineoverridevirtual

Implémente Arcane::IMeshPartitioner.

Définition à la ligne 68 du fichier MeshPartitionerTesterService.cc.

◆ setCellsWeight()

void Arcane::MeshPartitionerTester::setCellsWeight ( ArrayView< float weights,
Integer  nb_weight 
)
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.

◆ setComputationTimes()

void Arcane::MeshPartitionerTester::setComputationTimes ( RealConstArrayView  v)
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().

◆ setILoadBalanceMng()

void Arcane::MeshPartitionerTester::setILoadBalanceMng ( ILoadBalanceMng mng)
inlineoverridevirtual

Change le ILoadBalanceMng à utiliser.

Implémente Arcane::IMeshPartitioner.

Définition à la ligne 96 du fichier MeshPartitionerTesterService.cc.

◆ setImbalance()

void Arcane::MeshPartitionerTester::setImbalance ( Real  v)
inlineoverridevirtual

Positionne le déséquilibre de temps de calcul.

Implémente Arcane::IMeshPartitioner.

Définition à la ligne 83 du fichier MeshPartitionerTesterService.cc.

◆ setMaxImbalance()

void Arcane::MeshPartitionerTester::setMaxImbalance ( Real  v)
inlineoverridevirtual

Positionne le déséquilibre maximal autorisé

Implémente Arcane::IMeshPartitioner.

Définition à la ligne 85 du fichier MeshPartitionerTesterService.cc.

◆ setMaximumComputationTime()

void Arcane::MeshPartitionerTester::setMaximumComputationTime ( Real  v)
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.

Documentation des données membres

◆ m_cells_weight

ArrayView<float> Arcane::MeshPartitionerTester::m_cells_weight
private

Définition à la ligne 112 du fichier MeshPartitionerTesterService.cc.

◆ m_computation_times

RealUniqueArray Arcane::MeshPartitionerTester::m_computation_times
private

Définition à la ligne 113 du fichier MeshPartitionerTesterService.cc.

◆ m_imbalance

Real Arcane::MeshPartitionerTester::m_imbalance
private

Définition à la ligne 108 du fichier MeshPartitionerTesterService.cc.

◆ m_max_computation_time

Real Arcane::MeshPartitionerTester::m_max_computation_time
private

Définition à la ligne 110 du fichier MeshPartitionerTesterService.cc.

◆ m_max_imbalance

Real Arcane::MeshPartitionerTester::m_max_imbalance
private

Définition à la ligne 109 du fichier MeshPartitionerTesterService.cc.

◆ m_nb_weight

Integer Arcane::MeshPartitionerTester::m_nb_weight
private

Définition à la ligne 111 du fichier MeshPartitionerTesterService.cc.


La documentation de cette classe a été générée à partir du fichier suivant :