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

Service de partitionnement externe du maillage. Plus de détails...

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

Fonctions membres publiques

 ArcaneCasePartitioner (const ServiceBuildInfo &sbi)
 
void build () override
 Construction de niveau build du service.
 
void execute () override
 Exécute l'opération du service.
 
void setParallelMng (IParallelMng *) override
 Positionne le gestionnaire de parallèlisme associé. Cette méthode doit être appelée avant execute()
 
bool isActive () const override
 Vrai si le service est actif.
 
- Fonctions membres publiques hérités de Arcane::ArcaneArcaneCasePartitionerObject
 ArcaneArcaneCasePartitionerObject (const Arcane::ServiceBuildInfo &sbi)
 Constructeur.
 
virtual ~ArcaneArcaneCasePartitionerObject ()
 Destructeur.
 
CaseOptionsArcaneCasePartitioneroptions () 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::IDirectExecution
virtual ~IDirectExecution ()
 Libère les ressources.
 

Fonctions membres privées

void _initCorrespondance (Int32 my_rank)
 Ouverture du fichier Correspondance (seulement sur le proc 0)
 
void _writeCorrespondance (Int32 rank, Int64Array &nodesUniqueId, Int64Array &cellsUniqueId)
 Ecriture du fichier Correspondance.
 
void _finalizeCorrespondance (Int32 my_rank)
 Fermeture du fichier Correspondance (seulement sur le proc 0)
 
void _partitionMesh (Int32 nb_part)
 
void _computeGroups (IItemFamily *current_family, IItemFamily *new_family)
 Recopie les groupes de la famille courante dans la nouvelle.
 
void _addGhostLayers (CellGroup current_all_cells, Array< Cell > &cells_selected_for_new_mesh, Integer nb_layer, Integer maxLocalIdCell, Integer maxLocalIdNode)
 
void _addGhostGroups (IMesh *new_mesh, Array< Cell > &cells_selected_for_new_mesh, VariableCellInt32 &true_cells_owner, VariableNodeInt32 &true_nodes_owner, Int32Array &new_cells_local_id, Integer id_loc)
 

Attributs privés

std::ofstream m_sortiesCorrespondance
 
ArcaneInitialPartitionerm_init_part = nullptr
 

Membres hérités additionnels

- Fonctions membres publiques statiques hérités de Arcane::ArcaneArcaneCasePartitionerObject
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

Service de partitionnement externe du maillage.

Définition à la ligne 104 du fichier ArcaneCasePartitioner.cc.

Documentation des constructeurs et destructeur

◆ ArcaneCasePartitioner()

Arcane::ArcaneCasePartitioner::ArcaneCasePartitioner ( const ServiceBuildInfo sbi)
explicit

Définition à la ligne 314 du fichier ArcaneCasePartitioner.cc.

◆ ~ArcaneCasePartitioner()

Arcane::ArcaneCasePartitioner::~ArcaneCasePartitioner ( )
override

Définition à la ligne 326 du fichier ArcaneCasePartitioner.cc.

Documentation des fonctions membres

◆ _addGhostGroups()

void Arcane::ArcaneCasePartitioner::_addGhostGroups ( IMesh new_mesh,
Array< Cell > &  cells_selected_for_new_mesh,
VariableCellInt32 true_cells_owner,
VariableNodeInt32 true_nodes_owner,
Int32Array new_cells_local_id,
Integer  id_loc 
)
private

Définition à la ligne 762 du fichier ArcaneCasePartitioner.cc.

◆ _addGhostLayers()

void Arcane::ArcaneCasePartitioner::_addGhostLayers ( CellGroup  current_all_cells,
Array< Cell > &  cells_selected_for_new_mesh,
Integer  nb_layer,
Integer  maxLocalIdCell,
Integer  maxLocalIdNode 
)
private

Définition à la ligne 708 du fichier ArcaneCasePartitioner.cc.

◆ _computeGroups()

void Arcane::ArcaneCasePartitioner::_computeGroups ( IItemFamily current_family,
IItemFamily new_family 
)
private

Recopie les groupes de la famille courante dans la nouvelle.

Le principe est le suivant:

  1. pour chaque genre d'entité, détermine la liste des localId() des entités de ce genre dans le maillage d'origine.
  2. A partir de cette liste, construit un tableau indiquant pour chaque localId() du maillage d'origine son localId() dans le nouveau maillage (ou NULL_ITEM_LOCAL_ID si l'entité est absente).
  3. Parcours les groupes d'origine et construit pour chacun la liste des entités à ajouter au nouveau maillage.

Définition à la ligne 659 du fichier ArcaneCasePartitioner.cc.

Références ENUMERATE_ITEM, Arccore::TraceAccessor::info(), Arcane::ItemGroup::isAllItems(), Arcane::ItemGroup::isOwn(), et Arcane::ItemGroup::name().

◆ _finalizeCorrespondance()

void Arcane::ArcaneCasePartitioner::_finalizeCorrespondance ( Int32  my_rank)
private

Fermeture du fichier Correspondance (seulement sur le proc 0)

Définition à la ligne 635 du fichier ArcaneCasePartitioner.cc.

◆ _initCorrespondance()

void Arcane::ArcaneCasePartitioner::_initCorrespondance ( Int32  my_rank)
private

Ouverture du fichier Correspondance (seulement sur le proc 0)

Définition à la ligne 589 du fichier ArcaneCasePartitioner.cc.

Références Arccore::TraceAccessor::info(), et Arccore::TraceAccessor::pfatal().

◆ _partitionMesh()

void Arcane::ArcaneCasePartitioner::_partitionMesh ( Int32  nb_part)
private

Définition à la ligne 351 du fichier ArcaneCasePartitioner.cc.

◆ _writeCorrespondance()

void Arcane::ArcaneCasePartitioner::_writeCorrespondance ( Int32  rank,
Int64Array nodesUniqueId,
Int64Array cellsUniqueId 
)
private

Ecriture du fichier Correspondance.

Définition à la ligne 611 du fichier ArcaneCasePartitioner.cc.

Références Arccore::TraceAccessor::info().

◆ build()

void Arcane::ArcaneCasePartitioner::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 116 du fichier ArcaneCasePartitioner.cc.

◆ execute()

void Arcane::ArcaneCasePartitioner::execute ( )
overridevirtual

Exécute l'opération du service.

Implémente Arcane::IDirectExecution.

Définition à la ligne 334 du fichier ArcaneCasePartitioner.cc.

Références Arccore::TraceAccessor::info(), et Arcane::ArcaneArcaneCasePartitionerObject::options().

◆ isActive()

bool Arcane::ArcaneCasePartitioner::isActive ( ) const
inlineoverridevirtual

Vrai si le service est actif.

Implémente Arcane::IDirectExecution.

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

◆ setParallelMng()

void Arcane::ArcaneCasePartitioner::setParallelMng ( IParallelMng pm)
inlineoverridevirtual

Positionne le gestionnaire de parallèlisme associé. Cette méthode doit être appelée avant execute()

.

Implémente Arcane::IDirectExecution.

Définition à la ligne 118 du fichier ArcaneCasePartitioner.cc.

Documentation des données membres

◆ m_init_part

ArcaneInitialPartitioner* Arcane::ArcaneCasePartitioner::m_init_part = nullptr
private

Définition à la ligne 137 du fichier ArcaneCasePartitioner.cc.

◆ m_sortiesCorrespondance

std::ofstream Arcane::ArcaneCasePartitioner::m_sortiesCorrespondance
private

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


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