Arcane  v3.14.10.0
Documentation utilisateur
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
 

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:
ICartesianMesh* cartesian_mesh = ...;
Ref<CartesianMeshCoarsening> coarser = CartesianMeshUtils::createCartesianMeshCoarsening(cartesian_mesh);
coarser->createCoarseCells();
Interface d'un maillage cartésien.

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

Documentation des fonctions membres

◆ createCoarseCells()

◆ removeRefinedCells()

void Arcane::CartesianMeshCoarsening2::removeRefinedCells ( )

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


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