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

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

#include <arcane/cartesianmesh/CartesianMeshCoarsening2.h>

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

Fonctions membres publiques

void createCoarseCells ()
 Déraffine le maillage initial par 2.
 
void removeRefinedCells ()
 
- 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

 CartesianMeshCoarsening2 (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.
 
void _writeMeshSVG (const String &name)
 
void _doDoubleGhostLayers ()
 Double la couche de mailles fantômes du maillage initial.
 
void _createCoarseCells2D ()
 
void _createCoarseCells3D ()
 

Attributs privés

friend CartesianMeshImpl
 
ICartesianMeshm_cartesian_mesh = nullptr
 
Int32 m_verbosity_level = false
 
UniqueArray< Int64 > m_coarse_cells_uid
 uniqueId() des mailles grossières
 
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.

Avertissement
Cette méthode est expérimentale.

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 lors de l'appel à createCoarseCell(). Après cet appel on a la structure suivante pour le maillage :

  • des mailles grossières sont créées pour chaque quadruplet de mailles existantes qui deviennent donc des mailles raffinées.
  • chaque maille grossière est de niveau 0 (Cell::level()) et chaque maille initiale est de niveau 1.
  • on peut accéder à ces mailles filles via les méthodes Cell::nbHChildren() et Cell::hChild().
  • il y aura deux patchs dans le maillage. Le premier contiendra les mailles de niveau zéro et le second contiendra les mailles de niveau 1 qui sont les anciennes mailles avant dé-raffinement.

Il est ensuite possible de ne conserver que les mailles grossières et de supprimer les mailles raffinées par la'appel à la méthode.

  • 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. Voici un exemple de code utilisateur:
Ref<CartesianMeshCoarsening> coarser = CartesianMeshUtils::createCartesianMeshCoarsening(cartesian_mesh);
coarser->createCoarseCells();
Interface d'un maillage cartésien.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120

Définition à la ligne 78 du fichier CartesianMeshCoarsening2.h.

Documentation des constructeurs et destructeur

◆ CartesianMeshCoarsening2()

Arcane::CartesianMeshCoarsening2::CartesianMeshCoarsening2 ( ICartesianMesh m)
explicitprivate

Définition à la ligne 47 du fichier CartesianMeshCoarsening2.cc.

Documentation des fonctions membres

◆ _createCoarseCells2D()

◆ _createCoarseCells3D()

◆ _doDoubleGhostLayers()

void Arcane::CartesianMeshCoarsening2::_doDoubleGhostLayers ( )
private

Double la couche de mailles fantômes du maillage initial.

Cela permettra ensuite d'avoir la bonne valeur de couches de mailles fantômes pour le maillage final grossier.

Définition à la ligne 100 du fichier CartesianMeshCoarsening2.cc.

Références Arcane::IMesh::ghostLayerMng(), et Arcane::IMesh::modifier().

◆ _getMaxUniqueId()

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

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

Définition à la ligne 60 du fichier CartesianMeshCoarsening2.cc.

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

◆ _recomputeMeshGenerationInfo()

void Arcane::CartesianMeshCoarsening2::_recomputeMeshGenerationInfo ( )
private

Recalcule les informations sur le nombre de mailles par direction.

Définition à la ligne 678 du fichier CartesianMeshCoarsening2.cc.

◆ _writeMeshSVG()

void Arcane::CartesianMeshCoarsening2::_writeMeshSVG ( const String name)
private

Définition à la ligne 75 du fichier CartesianMeshCoarsening2.cc.

◆ createCoarseCells()

◆ removeRefinedCells()

void Arcane::CartesianMeshCoarsening2::removeRefinedCells ( )

Définition à la ligne 707 du fichier CartesianMeshCoarsening2.cc.

Documentation des données membres

◆ CartesianMeshImpl

friend Arcane::CartesianMeshCoarsening2::CartesianMeshImpl
private

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

◆ m_cartesian_mesh

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

Définition à la ligne 100 du fichier CartesianMeshCoarsening2.h.

◆ m_coarse_cells_uid

UniqueArray<Int64> Arcane::CartesianMeshCoarsening2::m_coarse_cells_uid
private

uniqueId() des mailles grossières

Définition à la ligne 103 du fichier CartesianMeshCoarsening2.h.

◆ m_first_own_cell_unique_id_offset

Int64 Arcane::CartesianMeshCoarsening2::m_first_own_cell_unique_id_offset = NULL_ITEM_UNIQUE_ID
private

Définition à la ligne 106 du fichier CartesianMeshCoarsening2.h.

◆ m_is_create_coarse_called

bool Arcane::CartesianMeshCoarsening2::m_is_create_coarse_called = false
private

Définition à la ligne 104 du fichier CartesianMeshCoarsening2.h.

◆ m_is_remove_refined_called

bool Arcane::CartesianMeshCoarsening2::m_is_remove_refined_called = false
private

Définition à la ligne 105 du fichier CartesianMeshCoarsening2.h.

◆ m_verbosity_level

Int32 Arcane::CartesianMeshCoarsening2::m_verbosity_level = false
private

Définition à la ligne 101 du fichier CartesianMeshCoarsening2.h.


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