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 Arcane::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 | |
| CartesianMeshCoarsening (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. | |
Attributs privés | |
| friend | CartesianMeshImpl |
| ICartesianMesh * | m_cartesian_mesh = nullptr |
| Int32 | m_verbosity_level = false |
| UniqueArray2< Int32 > | m_refined_cells |
| UniqueArray< Int32 > | m_coarse_cells |
| 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 Arcane::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 fait en deux phases:
Définition à la ligne 81 du fichier CartesianMeshCoarsening.h.
|
explicitprivate |
Définition à la ligne 42 du fichier CartesianMeshCoarsening.cc.
Retourne le max des uniqueId() des entités de group.
Définition à la ligne 55 du fichier CartesianMeshCoarsening.cc.
Références ENUMERATE_, et Arcane::Item::uniqueId().
Référencé par createCoarseCells().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :
|
private |
Recalcule les informations sur le nombre de mailles par direction.
Définition à la ligne 333 du fichier CartesianMeshCoarsening.cc.
Référencé par removeRefinedCells().
Voici le graphe des appelants de cette fonction :
|
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 _getMaxUniqueId(), Arcane::Array< DataType >::add(), Arcane::MutableItemBase::addFlags(), ARCANE_FATAL, Arcane::IParallelMng::commRank(), Arcane::CartesianGridDimension::FaceUniqueIdComputer2D::computeForCell(), ENUMERATE_, Arcane::ItemBase::flags(), Arcane::CartesianGridDimension::getCellComputer2D(), Arcane::CartesianGridDimension::getFaceComputer2D(), Arcane::CartesianGridDimension::getNodeComputer2D(), Arcane::CellDirectionMng::globalNbCell(), Arcane::ItemFlags::II_UserMark1, Arcane::TraceAccessor::info(), Arcane::Item::itemBase(), Arcane::Cell::itemLocalId(), Arcane::IItemFamily::itemsUniqueIdToLocalId(), Arcane::Cell::level(), Arcane::ItemTypeInfo::localFace(), Arcane::Item::localId(), Arcane::String::localstr(), Arcane::math::max(), Arcane::Item::mutableItemBase(), Arcane::ItemTypeInfo::LocalFace::node(), Arcane::ItemWithNodes::node(), Arcane::IItemFamily::notifyItemsOwnerChanged(), Arcane::Item::owner(), Arcane::CellDirectionMng::ownNbCell(), Arcane::IParallelMng::reduce(), Arcane::MessagePassing::ReduceMax, Arcane::MutableItemBase::removeFlags(), Arcane::Array< DataType >::resize(), Arcane::MutableItemBase::setOwner(), Arcane::Item::typeInfo(), Arcane::Item::uniqueId(), Arcane::IItemFamily::view(), et Arcane::SimpleSVGMeshExporter::write().
Voici le graphe d'appel pour cette fonction :
|
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 _recomputeMeshGenerationInfo(), Arcane::Array< DataType >::add(), ARCANE_FATAL, Arcane::MeshStats::dumpStats(), Arcane::IMeshModifier::endUpdate(), ENUMERATE_, Arcane::Item::isOwn(), Arcane::IMeshModifier::removeCells(), Arcane::IMeshModifier::setDynamic(), Arcane::TraceAccessor::traceMng(), et Arcane::IMeshModifier::updateGhostLayers().
Voici le graphe d'appel pour cette fonction :
|
private |
Définition à la ligne 84 du fichier CartesianMeshCoarsening.h.
|
private |
Définition à la ligne 127 du fichier CartesianMeshCoarsening.h.
|
private |
Définition à la ligne 130 du fichier CartesianMeshCoarsening.h.
|
private |
Définition à la ligne 133 du fichier CartesianMeshCoarsening.h.
|
private |
Définition à la ligne 131 du fichier CartesianMeshCoarsening.h.
|
private |
Définition à la ligne 132 du fichier CartesianMeshCoarsening.h.
|
private |
Définition à la ligne 129 du fichier CartesianMeshCoarsening.h.
|
private |
Définition à la ligne 128 du fichier CartesianMeshCoarsening.h.