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

Déraffine un maillage cartésien par 2. Plus de détails...

#include <arcane/cartesianmesh/CartesianMeshCoarsening.h>

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

Fonctions membres publiques

void createCoarseCells ()
 Déraffine le maillage initial par 2.
 
ConstArrayView< Int32 > refinedCells (Int32 index) const
 Liste des localIds() des mailles raffinées pour la maille parente d'indice index.
 
ConstArrayView< Int32 > coarseCells () const
 Liste des localIds() des mailles grossières.
 
void removeRefinedCells ()
 Supprime les mailles raffinées.
 
- 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 privées

 CartesianMeshCoarsening (ICartesianMesh *m)
 
Int64 _getMaxUniqueId (const ItemGroup &group)
 Retourne le max des uniqueId() des entités de group.
 
void _recomputeMeshGenerationInfo ()
 Recalcule les informations sur le nombre de mailles par direction.
 

Attributs privés

friend CartesianMeshImpl
 
ICartesianMeshm_cartesian_mesh = nullptr
 
Int32 m_verbosity_level = false
 
UniqueArray2< Int32 > m_refined_cells
 
UniqueArray< Int32 > m_coarse_cells
 
bool m_is_create_coarse_called = false
 
bool m_is_remove_refined_called = false
 
Int64 m_first_own_cell_unique_id_offset = NULL_ITEM_UNIQUE_ID
 

Membres hérités additionnels

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

Description détaillée

Déraffine un maillage cartésien par 2.

Obsolète:
Cette classe est obsolète. Il faut utiliser la version 2 de l'implémentation (CartesianMeshCoarsening2).

Cette classe permet de déraffiner un maillage cartésien. Les instances de cette classe sont créées via ICartesianMesh::createCartesianMeshCoarsening().

Le maillage initial doit être cartésien et ne doit pas avoir de patchs.

Le maillage doit être un maillage AMR (IMesh::isAmrActivated()==true).

Le nombre de mailles dans chaque dimension doit être un multiple de 2 ainsi que le nombre de mailles locales à chaque sous-domaine.

Le dé-raffinement se fait en deux phases:

  • createCoarseCells() qui créé les mailles grossières. Après appel à cette méthode il est possible d'utiliser coarseCells() pour avoir la liste des mailles grossières et refinedCells() pour avoir pour chaque maille grossière la liste des mailles raffinées correspondantes.
  • removeRefinedCells() qui supprime les mailles autres que les mailles grossière. Après cet appel, il n'y a plus qu'un maillage cartésien avec 2 fois moins de mailles dans chaque direction. Il sera ensuite possible d'appeler les méthodes de raffinement pour créer des niveaux supplémentaires.
IMesh* mesh = cartesian_mesh->mesh();
coarser->createCoarseCells();
Int32 index = 0;
for( Int32 cell_lid : coarser->coarseCells()){
Cell cell = cells[cell_lid];
info() << "Test: CoarseCell= " << ItemPrinter(cell);
ConstArrayView<Int32> sub_cells(coarser->refinedCells(index));
++index;
for( Int32 sub_lid : sub_cells )
info() << "SubCell=" << ItemPrinter(cells[sub_lid]);
}
coarser->removeRefinedCells();
ConstArrayView< Int32 > coarseCells() const
Liste des localIds() des mailles grossières.
Vue sur les informations des mailles.
Maille d'un maillage.
Definition Item.h:1178
Interface d'un maillage cartésien.
virtual Ref< CartesianMeshCoarsening > createCartesianMeshCoarsening()=0
Créé une instance pour gérer le déraffinement du maillage.
virtual IItemFamily * cellFamily()=0
Retourne la famille des mailles.
Classe utilitaire pour imprimer les infos sur une entité.
Definition ItemPrinter.h:35
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
TraceMessage info() const
Flot pour un message d'information.

Définition à la ligne 81 du fichier CartesianMeshCoarsening.h.

Documentation des constructeurs et destructeur

◆ CartesianMeshCoarsening()

Arcane::CartesianMeshCoarsening::CartesianMeshCoarsening ( ICartesianMesh m)
explicitprivate

Définition à la ligne 42 du fichier CartesianMeshCoarsening.cc.

Documentation des fonctions membres

◆ _getMaxUniqueId()

Int64 Arcane::CartesianMeshCoarsening::_getMaxUniqueId ( const ItemGroup group)
private

Retourne le max des uniqueId() des entités de group.

Définition à la ligne 55 du fichier CartesianMeshCoarsening.cc.

Références ENUMERATE_, et Arcane::Item::uniqueId().

◆ _recomputeMeshGenerationInfo()

void Arcane::CartesianMeshCoarsening::_recomputeMeshGenerationInfo ( )
private

Recalcule les informations sur le nombre de mailles par direction.

Définition à la ligne 333 du fichier CartesianMeshCoarsening.cc.

◆ coarseCells()

ConstArrayView< Int32 > Arcane::CartesianMeshCoarsening::coarseCells ( ) const
inline

Liste des localIds() des mailles grossières.

Cette méthode n'est valide qu'après appel à createCoarseCells().

Définition à la ligne 116 du fichier CartesianMeshCoarsening.h.

◆ createCoarseCells()

◆ refinedCells()

ConstArrayView< Int32 > Arcane::CartesianMeshCoarsening::refinedCells ( Int32  index) const
inline

Liste des localIds() des mailles raffinées pour la maille parente d'indice index.

Cette méthode n'est valide qu'après appel à createCoarseCells().

En 2D, il y a 4 mailles raffinées par maille grossière. En 3D il y en a 8.

Définition à la ligne 107 du fichier CartesianMeshCoarsening.h.

◆ removeRefinedCells()

void Arcane::CartesianMeshCoarsening::removeRefinedCells ( )

Supprime les mailles raffinées.

Il faut avoir appeler createCoarseCells() avant.

Définition à la ligne 283 du fichier CartesianMeshCoarsening.cc.

Références ARCANE_FATAL, ENUMERATE_, Arcane::Item::isOwn(), Arcane::IMesh::modifier(), Arcane::IMeshBase::ownCells(), et Arcane::IMesh::parallelMng().

Documentation des données membres

◆ CartesianMeshImpl

friend Arcane::CartesianMeshCoarsening::CartesianMeshImpl
private

Définition à la ligne 84 du fichier CartesianMeshCoarsening.h.

◆ m_cartesian_mesh

ICartesianMesh* Arcane::CartesianMeshCoarsening::m_cartesian_mesh = nullptr
private

Définition à la ligne 127 du fichier CartesianMeshCoarsening.h.

◆ m_coarse_cells

UniqueArray<Int32> Arcane::CartesianMeshCoarsening::m_coarse_cells
private

Définition à la ligne 130 du fichier CartesianMeshCoarsening.h.

◆ m_first_own_cell_unique_id_offset

Int64 Arcane::CartesianMeshCoarsening::m_first_own_cell_unique_id_offset = NULL_ITEM_UNIQUE_ID
private

Définition à la ligne 133 du fichier CartesianMeshCoarsening.h.

◆ m_is_create_coarse_called

bool Arcane::CartesianMeshCoarsening::m_is_create_coarse_called = false
private

Définition à la ligne 131 du fichier CartesianMeshCoarsening.h.

◆ m_is_remove_refined_called

bool Arcane::CartesianMeshCoarsening::m_is_remove_refined_called = false
private

Définition à la ligne 132 du fichier CartesianMeshCoarsening.h.

◆ m_refined_cells

UniqueArray2<Int32> Arcane::CartesianMeshCoarsening::m_refined_cells
private

Définition à la ligne 129 du fichier CartesianMeshCoarsening.h.

◆ m_verbosity_level

Int32 Arcane::CartesianMeshCoarsening::m_verbosity_level = false
private

Définition à la ligne 128 du fichier CartesianMeshCoarsening.h.


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