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

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.
ICartesianMesh* cartesian_mesh = ...;
Ref<CartesianMeshCoarsening> coarser = m_cartesian_mesh->createCartesianMeshCoarsening();
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 IMesh * mesh() const =0
Maillage associé à ce 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
Vue constante d'un tableau de type T.
TraceMessage info() const
Flot pour un message d'information.

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

Documentation des fonctions membres

◆ 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()

void Arcane::CartesianMeshCoarsening::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()


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