Déraffine un maillage cartésien par 2. Plus de détails...
#include <arcane/cartesianmesh/CartesianMeshCoarsening2.h>
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. | |
TraceAccessor & | operator= (const TraceAccessor &rhs) |
Opérateur de recopie. | |
virtual | ~TraceAccessor () |
Libère les ressources. | |
ITraceMng * | traceMng () 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 |
ICartesianMesh * | m_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 |
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 lors de l'appel à createCoarseCell(). Après cet appel on a la structure suivante pour le maillage :
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.
Définition à la ligne 78 du fichier CartesianMeshCoarsening2.h.
|
explicitprivate |
Définition à la ligne 47 du fichier CartesianMeshCoarsening2.cc.
|
private |
Liste de la première fille de chaque maille grossière
Définition à la ligne 240 du fichier CartesianMeshCoarsening2.cc.
Références Arcane::MutableItemBase::addFlags(), Arcane::IMeshBase::allCells(), ARCANE_CHECK_POINTER, ARCANE_FATAL, Arcane::IMeshBase::cellFamily(), Arcane::IParallelMng::commRank(), ENUMERATE_, Arcane::Cell::face(), Arcane::IMeshBase::faceFamily(), Arcane::Item::localId(), Arcane::IMesh::modifier(), Arcane::Item::mutableItemBase(), Arcane::Item::owner(), Arcane::IMesh::parallelMng(), Arcane::MutableItemBase::setOwner(), Arcane::Item::typeInfo(), et Arcane::Item::uniqueId().
|
private |
Liste de la première fille de chaque maille grossière
Définition à la ligne 434 du fichier CartesianMeshCoarsening2.cc.
Références Arcane::MutableItemBase::addFlags(), Arcane::IMeshBase::allCells(), ARCANE_CHECK_POINTER, ARCANE_FATAL, Arcane::IMeshBase::cellFamily(), Arcane::IParallelMng::commRank(), ENUMERATE_, Arcane::Cell::face(), Arcane::IMeshBase::faceFamily(), Arcane::Item::localId(), Arcane::IMesh::modifier(), Arcane::Item::mutableItemBase(), Arcane::Item::owner(), Arcane::IMesh::parallelMng(), Arcane::MutableItemBase::setOwner(), Arcane::Item::typeInfo(), et Arcane::Item::uniqueId().
|
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().
|
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().
|
private |
Recalcule les informations sur le nombre de mailles par direction.
Définition à la ligne 678 du fichier CartesianMeshCoarsening2.cc.
Définition à la ligne 75 du fichier CartesianMeshCoarsening2.cc.
void Arcane::CartesianMeshCoarsening2::createCoarseCells | ( | ) |
Déraffine le maillage initial par 2.
Cette méthode est collective.
Créé le patch avec les mailles filles
Définition à la ligne 128 du fichier CartesianMeshCoarsening2.cc.
Références Arcane::IMeshBase::allCells(), Arcane::IMeshBase::allFaces(), Arcane::IMesh::allLevelCells(), ARCANE_FATAL, Arcane::IMesh::computeSynchronizeInfos(), Arcane::IMeshBase::dimension(), ENUMERATE_, Arcane::Cell::face(), Arcane::Cell::level(), Arcane::IMesh::modifier(), Arcane::Cell::nbFace(), Arcane::ItemWithNodes::nbNode(), Arcane::ItemWithNodes::node(), Arcane::IMesh::parallelMng(), Arcane::IParallelMng::reduce(), et Arcane::Item::uniqueId().
void Arcane::CartesianMeshCoarsening2::removeRefinedCells | ( | ) |
Définition à la ligne 707 du fichier CartesianMeshCoarsening2.cc.
|
private |
Définition à la ligne 81 du fichier CartesianMeshCoarsening2.h.
|
private |
Définition à la ligne 100 du fichier CartesianMeshCoarsening2.h.
|
private |
uniqueId() des mailles grossières
Définition à la ligne 103 du fichier CartesianMeshCoarsening2.h.
|
private |
Définition à la ligne 106 du fichier CartesianMeshCoarsening2.h.
Définition à la ligne 104 du fichier CartesianMeshCoarsening2.h.
Définition à la ligne 105 du fichier CartesianMeshCoarsening2.h.
|
private |
Définition à la ligne 101 du fichier CartesianMeshCoarsening2.h.