Arcane  4.1.11.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::mesh::MeshPartitionConstraintMng

Mesh partitioning constraint manager. Plus de détails...

#include <arcane/mesh/MeshPartitionConstraintMng.h>

Graphe d'héritage de Arcane::mesh::MeshPartitionConstraintMng:
Graphe de collaboration de Arcane::mesh::MeshPartitionConstraintMng:

Classes

class  Helper
 Helper for constraint management. Plus de détails...

Fonctions membres publiques

 MeshPartitionConstraintMng (IMesh *mesh)
virtual void addConstraint (IMeshPartitionConstraint *constraint)
 Ajoute une contrainte.
virtual void removeConstraint (IMeshPartitionConstraint *constraint)
 Supprime une contrainte.
virtual void computeAndApplyConstraints ()
 Calcule et applique des contraintes.
virtual void computeConstraintList (Int64MultiArray2 &tied_uids)
 Calcule les contraintes et retourne une liste d'entités liées.
virtual void addWeakConstraint (IMeshPartitionConstraint *constraint)
 Ajoute une contrainte.
virtual void removeWeakConstraint (IMeshPartitionConstraint *constraint)
 Supprime une contrainte.
virtual void computeAndApplyWeakConstraints ()
 Calcule et applique des contraintes.
virtual void computeWeakConstraintList (Int64MultiArray2 &tied_uids)
 Calcule les contraintes et retourne une liste d'entités liées.
Fonctions membres publiques hérités de Arcane::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::IMeshPartitionConstraintMng
virtual ~IMeshPartitionConstraintMng ()=default
 Libère les ressources.

Fonctions membres privées

void _computeAndApplyConstraints (Helper &h)
void _computeAndApplyWeakConstraints (Helper &h)

Attributs privés

IMeshm_mesh
bool m_is_debug
List< IMeshPartitionConstraint * > m_constraints
List< IMeshPartitionConstraint * > m_weak_constraints

Membres hérités additionnels

Fonctions membres protégées hérités de Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Description détaillée

Mesh partitioning constraint manager.

Définition à la ligne 36 du fichier MeshPartitionConstraintMng.h.

Documentation des constructeurs et destructeur

◆ MeshPartitionConstraintMng()

Arcane::mesh::MeshPartitionConstraintMng::MeshPartitionConstraintMng ( IMesh * mesh)

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

◆ ~MeshPartitionConstraintMng()

Arcane::mesh::MeshPartitionConstraintMng::~MeshPartitionConstraintMng ( )
virtual

Définition à la ligne 93 du fichier MeshPartitionConstraintMng.cc.

Documentation des fonctions membres

◆ _computeAndApplyConstraints()

void Arcane::mesh::MeshPartitionConstraintMng::_computeAndApplyConstraints ( Helper & h)
private

Définition à la ligne 146 du fichier MeshPartitionConstraintMng.cc.

◆ _computeAndApplyWeakConstraints()

void Arcane::mesh::MeshPartitionConstraintMng::_computeAndApplyWeakConstraints ( Helper & h)
private

Définition à la ligne 158 du fichier MeshPartitionConstraintMng.cc.

◆ addConstraint()

void Arcane::mesh::MeshPartitionConstraintMng::addConstraint ( IMeshPartitionConstraint * constraint)
virtual

Ajoute une contrainte.

Implémente Arcane::IMeshPartitionConstraintMng.

Définition à la ligne 106 du fichier MeshPartitionConstraintMng.cc.

◆ addWeakConstraint()

void Arcane::mesh::MeshPartitionConstraintMng::addWeakConstraint ( IMeshPartitionConstraint * constraint)
virtual

Ajoute une contrainte.

Implémente Arcane::IMeshPartitionConstraintMng.

Définition à la ligne 173 du fichier MeshPartitionConstraintMng.cc.

Références Arcane::Array< DataType >::add().

Voici le graphe d'appel pour cette fonction :

◆ computeAndApplyConstraints()

void Arcane::mesh::MeshPartitionConstraintMng::computeAndApplyConstraints ( )
virtual

Calcule et applique des contraintes.

Calcule les contraintes sur le maillage en appliquant pour chaque contrainte la méthode IMeshPartitionConstraint::addLinkedCell() et les applique en modifiant la variable IItemFamily::itemsNewOwner() des mailles. Toutes les mailles qui doivent être liées en elle sont alors mises dans une même partition.

Cette opération ne garantit pas que les partitions résultantes soient équilibrées au niveau de la charge. Pour cela, il faut utiliser un service de re-partionnement (IMeshPartitioner) qui prennent en compte ces contraintes.

Cette opération est collective.

Implémente Arcane::IMeshPartitionConstraintMng.

Définition à la ligne 124 du fichier MeshPartitionConstraintMng.cc.

◆ computeAndApplyWeakConstraints()

void Arcane::mesh::MeshPartitionConstraintMng::computeAndApplyWeakConstraints ( )
virtual

Calcule et applique des contraintes.

Calcule les contraintes sur le maillage en appliquant pour chaque contrainte la méthode IMeshPartitionConstraint::addLinkedCell() et les applique en modifiant la variable IItemFamily::itemsNewOwner() des mailles. Toutes les mailles qui doivent être liées en elle sont alors mises dans une même partition.

Cette opération ne garantit pas que les partitions résultantes soient équilibrées au niveau de la charge. Pour cela, il faut utiliser un service de re-partionnement (IMeshPartitioner) qui prennent en compte ces contraintes.

Cette opération est collective.

Implémente Arcane::IMeshPartitionConstraintMng.

Définition à la ligne 185 du fichier MeshPartitionConstraintMng.cc.

◆ computeConstraintList()

void Arcane::mesh::MeshPartitionConstraintMng::computeConstraintList ( Int64MultiArray2 & tied_uids)
virtual

Calcule les contraintes et retourne une liste d'entités liées.

Calcule les contraintes comme pour computeAndApplyConstraints() mais ne modifie pas le propriétaire. A la place, retourne une liste contenant les listes des uniqueId() des entités qui doivent être liées.

Cette opération est collective.

Implémente Arcane::IMeshPartitionConstraintMng.

Définition à la ligne 135 du fichier MeshPartitionConstraintMng.cc.

◆ computeWeakConstraintList()

void Arcane::mesh::MeshPartitionConstraintMng::computeWeakConstraintList ( Int64MultiArray2 & tied_uids)
virtual

Calcule les contraintes et retourne une liste d'entités liées.

Calcule les contraintes comme pour computeAndApplyConstraints() mais ne modifie pas le propriétaire. A la place, retourne une liste contenant les listes des uniqueId() des entités qui doivent être liées.

Cette opération est collective.

Implémente Arcane::IMeshPartitionConstraintMng.

Définition à la ligne 193 du fichier MeshPartitionConstraintMng.cc.

◆ removeConstraint()

void Arcane::mesh::MeshPartitionConstraintMng::removeConstraint ( IMeshPartitionConstraint * constraint)
virtual

Supprime une contrainte.

L'appelant devient propriétaire de constraint et doit gérer sa destruction.

Implémente Arcane::IMeshPartitionConstraintMng.

Définition à la ligne 115 du fichier MeshPartitionConstraintMng.cc.

◆ removeWeakConstraint()

void Arcane::mesh::MeshPartitionConstraintMng::removeWeakConstraint ( IMeshPartitionConstraint * constraint)
virtual

Supprime une contrainte.

L'appelant devient propriétaire de constraint et doit gérer sa destruction.

Implémente Arcane::IMeshPartitionConstraintMng.

Définition à la ligne 179 du fichier MeshPartitionConstraintMng.cc.

Documentation des données membres

◆ m_constraints

List<IMeshPartitionConstraint*> Arcane::mesh::MeshPartitionConstraintMng::m_constraints
private

Définition à la ligne 65 du fichier MeshPartitionConstraintMng.h.

◆ m_is_debug

bool Arcane::mesh::MeshPartitionConstraintMng::m_is_debug
private

Définition à la ligne 64 du fichier MeshPartitionConstraintMng.h.

◆ m_mesh

IMesh* Arcane::mesh::MeshPartitionConstraintMng::m_mesh
private

Définition à la ligne 63 du fichier MeshPartitionConstraintMng.h.

◆ m_weak_constraints

List<IMeshPartitionConstraint*> Arcane::mesh::MeshPartitionConstraintMng::m_weak_constraints
private

Définition à la ligne 66 du fichier MeshPartitionConstraintMng.h.


La documentation de cette classe a été générée à partir des fichiers suivants :