Arcane  v3.15.3.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 ()
 

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.
Référence à une instance.

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 :