Arcane  v4.1.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::mesh::DynamicMeshChecker
+ Graphe d'héritage de Arcane::mesh::DynamicMeshChecker:
+ Graphe de collaboration de Arcane::mesh::DynamicMeshChecker:

Fonctions membres publiques

 DynamicMeshChecker (IMesh *mesh)
 
IMeshmesh () override
 Maillage associé
 
void setCheckLevel (Integer level) override
 Positionne le niveau de vérification du maillage.
 
Integer checkLevel () const override
 Niveau actuel de vérification.
 
void checkValidMesh () override
 Vérification sommaire de la validité du maillage. Les vérifications portent sur les points suivants:
 
void checkValidMeshFull () override
 Vérification de la validité du maillage.
 
void checkValidReplication () override
 Vérifie que les sous-domaines sont correctement répliqués.
 
void checkVariablesSynchronization () override
 Vérifie la synchronisation des variables.
 
void checkItemGroupsSynchronization () override
 Vérifie la synchronisation sur les groupes d'entités.
 
void setIsCheckItemsOwner (bool v) override
 Indique si on active la vérification des propriétaires des entités.
 
bool isCheckItemsOwner () const override
 Indique si la vérification des propriétaires des entités (vrai par défaut)
 
void checkValidConnectivity ()
 
void checkGhostCells ()
 Vérifie que la couche de mailles fantômes est correcte.
 
void checkMeshFromReferenceFile ()
 
void updateAMRFaceOrientation ()
 
void updateAMRFaceOrientation (ArrayView< Int64 > ghost_cell_to_refine)
 
- 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::IMeshChecker
virtual ~IMeshChecker ()=default
 Libère les ressources.
 

Fonctions membres privées

void _checkFacesOrientation ()
 Vérifie que les faces sont correctement orientées et connectées.
 
void _checkValidItemOwner (IItemFamily *family)
 
void _checkReplicationFamily (IItemFamily *family)
 

Attributs privés

IMeshm_mesh = nullptr
 
Integer m_check_level = 0
 
VariableCellArrayInt64m_var_cells_faces = nullptr
 
VariableCellArrayInt64m_var_cells_nodes = nullptr
 
bool m_compare_reference_file = false
 
bool m_is_check_items_owner = true
 

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

Définition à la ligne 39 du fichier DynamicMeshChecker.h.

Documentation des constructeurs et destructeur

◆ DynamicMeshChecker()

Arcane::mesh::DynamicMeshChecker::DynamicMeshChecker ( IMesh * mesh)
explicit

Définition à la ligne 45 du fichier DynamicMeshChecker.cc.

◆ ~DynamicMeshChecker()

Arcane::mesh::DynamicMeshChecker::~DynamicMeshChecker ( )

Définition à la ligne 57 du fichier DynamicMeshChecker.cc.

Documentation des fonctions membres

◆ _checkFacesOrientation()

void Arcane::mesh::DynamicMeshChecker::_checkFacesOrientation ( )
private

Vérifie que les faces sont correctement orientées et connectées.

Définition à la ligne 441 du fichier DynamicMeshChecker.cc.

Références ARCANE_FATAL, Arcane::Face::backCell(), ENUMERATE_, Arcane::Cell::face(), Arcane::ItemTypeId::fromInteger(), Arcane::Face::frontCell(), Arcane::ItemTypeInfo::LocalFace::nbNode(), Arcane::ItemWithNodes::nbNode(), Arcane::ItemTypeInfo::LocalFace::node(), Arcane::ItemWithNodes::node(), Arcane::Item::null(), Arcane::Array< DataType >::resize(), Arcane::ItemTypeInfo::LocalFace::typeId(), Arcane::Item::typeInfo(), et Arcane::Item::uniqueId().

Référencé par checkValidConnectivity().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ _checkReplicationFamily()

void Arcane::mesh::DynamicMeshChecker::_checkReplicationFamily ( IItemFamily * family)
private

Définition à la ligne 756 du fichier DynamicMeshChecker.cc.

◆ _checkValidItemOwner()

void Arcane::mesh::DynamicMeshChecker::_checkValidItemOwner ( IItemFamily * family)
private

Définition à la ligne 517 du fichier DynamicMeshChecker.cc.

◆ checkGhostCells()

void Arcane::mesh::DynamicMeshChecker::checkGhostCells ( )

Vérifie que la couche de mailles fantômes est correcte.

Vérifie que toutes les mailles fantômes sont bien connectés à une maille de ce sous-domaine (cas où il n'y a qu'une couche de mailles fantômes).

A faire

Vérifier qu'aucune maille du bord n'appartient à ce sous-domaine

Supporter plusieurs couches de mailles fantômes.

Définition à la ligne 638 du fichier DynamicMeshChecker.cc.

Références ENUMERATE_CELL, Arcane::TraceAccessor::info(), Arcane::Item::isOwn(), Arcane::ItemWithNodes::nodes(), et Arcane::TraceAccessor::pwarning().

+ Voici le graphe d'appel pour cette fonction :

◆ checkItemGroupsSynchronization()

void Arcane::mesh::DynamicMeshChecker::checkItemGroupsSynchronization ( )
overridevirtual

Vérifie la synchronisation sur les groupes d'entités.

Vérifie pour chaque groupe de chaque famille (autre que les particules) que les entités sont les mêmes sur chaque sous-domaine.

Lève une exception FatalErrorException en cas d'erreur.

Implémente Arcane::IMeshChecker.

Définition à la ligne 610 du fichier DynamicMeshChecker.cc.

Références ARCANE_FATAL, et Arcane::ItemGroupsSynchronize::checkSynchronize().

+ Voici le graphe d'appel pour cette fonction :

◆ checkLevel()

Integer Arcane::mesh::DynamicMeshChecker::checkLevel ( ) const
inlineoverridevirtual

Niveau actuel de vérification.

Implémente Arcane::IMeshChecker.

Définition à la ligne 52 du fichier DynamicMeshChecker.h.

◆ checkMeshFromReferenceFile()

void Arcane::mesh::DynamicMeshChecker::checkMeshFromReferenceFile ( )

Définition à la ligne 663 du fichier DynamicMeshChecker.cc.

◆ checkValidConnectivity()

◆ checkValidMesh()

void Arcane::mesh::DynamicMeshChecker::checkValidMesh ( )
overridevirtual

Vérification sommaire de la validité du maillage. Les vérifications portent sur les points suivants:

  • pas d'entités du maillage ayant un indice nul.
  • pour les faces, vérifie qu'il existe au moins une frontCell ou une backCell. Une erreur fatale est générée en cas de non respect de ces règles.

Implémente Arcane::IMeshChecker.

Définition à la ligne 74 du fichier DynamicMeshChecker.cc.

Références Arcane::IItemFamily::checkValid(), checkValidConnectivity(), checkValidMeshFull(), ENUMERATE_CELL, Arcane::Cell::face(), Arcane::TraceAccessor::info(), Arcane::IItemFamily::itemKind(), Arcane::Cell::nbFace(), Arcane::ItemWithNodes::nbNode(), Arcane::ItemWithNodes::node(), et Arcane::Item::uniqueId().

+ Voici le graphe d'appel pour cette fonction :

◆ checkValidMeshFull()

void Arcane::mesh::DynamicMeshChecker::checkValidMeshFull ( )
overridevirtual

Vérification de la validité du maillage.

Il s'agit d'une vérification globale entre tous les sous-domaines.

Elle vérifie notamment que la connectivité est cohérente entre les sous-domaines.

La vérification peut-être assez coûteuse en temps CPU. Cette méthode est collective.

Implémente Arcane::IMeshChecker.

Définition à la ligne 132 du fichier DynamicMeshChecker.cc.

Références ARCANE_FATAL, Arcane::Face::backCell(), Arcane::TraceAccessor::debug(), ENUMERATE_CELL, ENUMERATE_FACE, Arcane::TraceAccessor::error(), Arcane::Face::frontCell(), Arcane::TraceAccessor::info(), Arcane::IVariable::itemFamily(), Arcane::IVariable::itemFamilyName(), Arcane::MeshVariableScalarRefT< ItemTypeT, DataTypeT >::itemGroup(), Arcane::IVariable::itemGroupName(), Arcane::Item::null(), Arcane::Item::type(), Arcane::Item::uniqueId(), et Arcane::VariableRef::variable().

Référencé par checkValidMesh().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ checkValidReplication()

void Arcane::mesh::DynamicMeshChecker::checkValidReplication ( )
overridevirtual

Vérifie que les sous-domaines sont correctement répliqués.

Les vérifications suivantes sont faites:

  • mêmes familles d'entité et mêmes valeurs pour ces familles.
  • mêmes coordonnées des noeuds du maillage.

Implémente Arcane::IMeshChecker.

Définition à la ligne 694 du fichier DynamicMeshChecker.cc.

Références Arcane::Array< DataType >::add(), Arcane::ValueChecker::areEqual(), Arcane::ValueChecker::areEqualArray(), Arcane::Array< DataType >::copy(), ENUMERATE_ITEM, Arcane::IParallelReplication::hasReplication(), Arcane::IK_Particle, Arcane::TraceAccessor::info(), Arcane::IItemFamily::itemKind(), Arcane::IParallelMng::reduce(), Arcane::MessagePassing::ReduceMax, Arcane::IParallelReplication::replicaParallelMng(), Arcane::IParallelMng::replication(), Arcane::Array< DataType >::resize(), Arcane::AbstractArray< T >::size(), Arcane::ItemGroup::size(), et Arcane::Array< DataType >::view().

+ Voici le graphe d'appel pour cette fonction :

◆ checkVariablesSynchronization()

void Arcane::mesh::DynamicMeshChecker::checkVariablesSynchronization ( )
overridevirtual

Vérifie la synchronisation des variables.

Vérifie pour chaque variable que ses valeurs sur les entités fantômes sont les mêmes que la valeur sur le sous-domaine propriétaire de l'entité.

Les variables sur les particules ne sont pas comparées.

Lève une exception FatalErrorException en cas d'erreur.

Implémente Arcane::IMeshChecker.

Définition à la ligne 583 du fichier DynamicMeshChecker.cc.

Références ARCANE_FATAL, Arcane::IVariable::checkIfSync(), Arcane::IK_Cell, Arcane::IK_DoF, Arcane::IK_Edge, Arcane::IK_Face, Arcane::IK_Node, Arcane::IK_Particle, Arcane::IK_Unknown, et Arcane::IVariable::itemKind().

+ Voici le graphe d'appel pour cette fonction :

◆ isCheckItemsOwner()

bool Arcane::mesh::DynamicMeshChecker::isCheckItemsOwner ( ) const
inlineoverridevirtual

Indique si la vérification des propriétaires des entités (vrai par défaut)

Implémente Arcane::IMeshChecker.

Définition à la ligne 61 du fichier DynamicMeshChecker.h.

◆ mesh()

IMesh * Arcane::mesh::DynamicMeshChecker::mesh ( )
inlineoverridevirtual

Maillage associé

Implémente Arcane::IMeshChecker.

Définition à la ligne 50 du fichier DynamicMeshChecker.h.

◆ setCheckLevel()

void Arcane::mesh::DynamicMeshChecker::setCheckLevel ( Integer level)
inlineoverridevirtual

Positionne le niveau de vérification du maillage.

0 - tests désactivés 1 - tests partiels, après les endUpdate() 2 - tests complets, après les endUpdate()

Implémente Arcane::IMeshChecker.

Définition à la ligne 51 du fichier DynamicMeshChecker.h.

◆ setIsCheckItemsOwner()

void Arcane::mesh::DynamicMeshChecker::setIsCheckItemsOwner ( bool v)
inlineoverridevirtual

Indique si on active la vérification des propriétaires des entités.

Cette vérification est effectuée lors de l'appel à checkValidConnectivity(). Si elle est active, on vérifie que les noeuds, arêtes et faces ont bien le même propriétaire qu'une des mailles auxquels ils sont connectés.

C'est toujours le cas si lorsque les propriétaires sont gérés par Arcane et il est donc préférable de toujours faire cette vérification pour garantir la cohérence des informations en parallèle. Cependant, si la gestion des propriétaires est faite par l'utilisateur, il est possible de désactiver cette vérification.

Implémente Arcane::IMeshChecker.

Définition à la ligne 60 du fichier DynamicMeshChecker.h.

◆ updateAMRFaceOrientation() [1/2]

void Arcane::mesh::DynamicMeshChecker::updateAMRFaceOrientation ( )

Définition à la ligne 388 du fichier DynamicMeshChecker.cc.

◆ updateAMRFaceOrientation() [2/2]

void Arcane::mesh::DynamicMeshChecker::updateAMRFaceOrientation ( ArrayView< Int64 > ghost_cell_to_refine)

Définition à la ligne 413 du fichier DynamicMeshChecker.cc.

Documentation des données membres

◆ m_check_level

Integer Arcane::mesh::DynamicMeshChecker::m_check_level = 0
private

Définition à la ligne 80 du fichier DynamicMeshChecker.h.

◆ m_compare_reference_file

bool Arcane::mesh::DynamicMeshChecker::m_compare_reference_file = false
private

Définition à la ligne 85 du fichier DynamicMeshChecker.h.

◆ m_is_check_items_owner

bool Arcane::mesh::DynamicMeshChecker::m_is_check_items_owner = true
private

Définition à la ligne 86 du fichier DynamicMeshChecker.h.

◆ m_mesh

IMesh* Arcane::mesh::DynamicMeshChecker::m_mesh = nullptr
private

Définition à la ligne 79 du fichier DynamicMeshChecker.h.

◆ m_var_cells_faces

VariableCellArrayInt64* Arcane::mesh::DynamicMeshChecker::m_var_cells_faces = nullptr
private

Définition à la ligne 82 du fichier DynamicMeshChecker.h.

◆ m_var_cells_nodes

VariableCellArrayInt64* Arcane::mesh::DynamicMeshChecker::m_var_cells_nodes = nullptr
private

Définition à la ligne 83 du fichier DynamicMeshChecker.h.


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