Déraffine un maillage cartésien par 2. Plus de détails...
#include <arcane/cartesianmesh/CartesianMeshCoarsening.h>
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. | |
Déraffine un maillage cartésien par 2.
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:
Définition à la ligne 81 du fichier CartesianMeshCoarsening.h.
|
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.
void Arcane::CartesianMeshCoarsening::createCoarseCells | ( | ) |
Déraffine le maillage initial par 2.
Cette méthode est collective.
Liste de la première fille de chaque maille grossière
Définition à la ligne 70 du fichier CartesianMeshCoarsening.cc.
Références Arcane::MutableItemBase::addFlags(), Arcane::IMeshBase::allCells(), Arcane::IMeshBase::allFaces(), ARCANE_FATAL, Arcane::IMeshBase::cellFamily(), Arcane::IMeshBase::dimension(), ENUMERATE_, Arcane::IMeshBase::faceFamily(), Arcane::Cell::level(), Arcane::IMesh::modifier(), Arcane::Item::mutableItemBase(), Arcane::ItemWithNodes::node(), Arcane::IMeshBase::ownCells(), Arcane::Item::owner(), Arcane::IMesh::parallelMng(), Arcane::MutableItemBase::setOwner(), Arcane::Item::typeInfo(), et Arcane::Item::uniqueId().
|
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.
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().