Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::CartesianMeshImpl

Infos spécifiques à un maillage cartésien. Plus de détails...

Fonctions membres publiques

 CartesianMeshImpl (IMesh *mesh)
 
void build () override
 
IMeshmesh () const override
 Maillage associé à ce maillage cartésien.
 
ITraceMngtraceMng () const override
 Gestionnaire de trace associé.
 
CellDirectionMng cellDirection (eMeshDirection dir) override
 Liste des mailles dans la direction dir.
 
CellDirectionMng cellDirection (Integer idir) override
 Liste des mailles dans la direction dir (0, 1 ou 2)
 
FaceDirectionMng faceDirection (eMeshDirection dir) override
 Liste des faces dans la direction dir.
 
FaceDirectionMng faceDirection (Integer idir) override
 Liste des faces dans la direction dir (0, 1 ou 2)
 
NodeDirectionMng nodeDirection (eMeshDirection dir) override
 Liste des noeuds dans la direction dir.
 
NodeDirectionMng nodeDirection (Integer idir) override
 Liste des noeuds dans la direction dir (0, 1 ou 2)
 
void computeDirections () override
 Calcule les infos pour les accès par direction.
 
void recreateFromDump () override
 Recalcule les informations de cartésiennes après une reprise.
 
CartesianConnectivity connectivity () override
 Informations sur la connectivité
 
Int32 nbPatch () const override
 Nombre de patchs du maillage.
 
ICartesianMeshPatchpatch (Int32 index) const override
 Retourne le index-ième patch du maillage.
 
CartesianPatch amrPatch (Int32 index) const override
 Retourne le index-ième patch du maillage.
 
CartesianMeshPatchListView patches () const override
 Vue sur la liste des patchs.
 
void refinePatch2D (Real2 position, Real2 length) override
 Raffine en 2D un bloc du maillage cartésien.
 
void refinePatch3D (Real3 position, Real3 length) override
 Raffine en 3D un bloc du maillage cartésien.
 
void refinePatch (const AMRZonePosition &position) override
 Raffine un bloc du maillage cartésien.
 
void coarseZone2D (Real2 position, Real2 length) override
 Dé-raffine en 2D un bloc du maillage cartésien.
 
void coarseZone3D (Real3 position, Real3 length) override
 Dé-raffine en 3D un bloc du maillage cartésien.
 
void coarseZone (const AMRZonePosition &position) override
 Dé-raffine un bloc du maillage cartésien.
 
Integer reduceNbGhostLayers (Integer level, Integer target_nb_ghost_layers) override
 Méthode permettant de supprimer une ou plusieurs couches de mailles fantômes sur un niveau de raffinement défini.
 
void renumberItemsUniqueId (const CartesianMeshRenumberingInfo &v) override
 Renumérote les uniqueId() des entités.
 
void checkValid () const override
 Effectue des vérifications sur la validité de l'instance.
 
Ref< CartesianMeshCoarseningcreateCartesianMeshCoarsening () override
 Créé une instance pour gérer le déraffinement du maillage.
 
ICartesianMeshInternal * _internalApi () override
 API interne à Arcane.
 
- 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.
 
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 publiques statiques hérités de Arcane::ICartesianMesh
static ICartesianMeshgetReference (const MeshHandleOrMesh &mesh, bool create=true)
 Récupère ou créé la référence associée à mesh.
 
- Fonctions membres protégées hérités de Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
 
Int32 _localVerboseLevel () const
 

Description détaillée

Infos spécifiques à un maillage cartésien.

Définition à la ligne 75 du fichier CartesianMesh.cc.

Documentation des constructeurs et destructeur

◆ CartesianMeshImpl()

Arcane::CartesianMeshImpl::CartesianMeshImpl ( IMesh * mesh)
explicit

Définition à la ligne 267 du fichier CartesianMesh.cc.

Documentation des fonctions membres

◆ _internalApi()

ICartesianMeshInternal * Arcane::CartesianMeshImpl::_internalApi ( )
inlineoverridevirtual

API interne à Arcane.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 205 du fichier CartesianMesh.cc.

◆ amrPatch()

CartesianPatch Arcane::CartesianMeshImpl::amrPatch ( Int32 index) const
inlineoverridevirtual

Retourne le index-ième patch du maillage.

Si le maillage est cartésien, il n'y a qu'un seul patch.

L'instance retournée reste valide tant que cette instance n'est pas détruite.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 185 du fichier CartesianMesh.cc.

◆ build()

void Arcane::CartesianMeshImpl::build ( )
overridevirtual

Implémente Arcane::ICartesianMesh.

Définition à la ligne 288 du fichier CartesianMesh.cc.

◆ cellDirection() [1/2]

CellDirectionMng Arcane::CartesianMeshImpl::cellDirection ( eMeshDirection dir)
inlineoverridevirtual

Liste des mailles dans la direction dir.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 144 du fichier CartesianMesh.cc.

◆ cellDirection() [2/2]

CellDirectionMng Arcane::CartesianMeshImpl::cellDirection ( Integer idir)
inlineoverridevirtual

Liste des mailles dans la direction dir (0, 1 ou 2)

Implémente Arcane::ICartesianMesh.

Définition à la ligne 149 du fichier CartesianMesh.cc.

◆ checkValid()

void Arcane::CartesianMeshImpl::checkValid ( ) const
overridevirtual

Effectue des vérifications sur la validité de l'instance.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 1047 du fichier CartesianMesh.cc.

Références Arcane::ICartesianMeshPatch::checkValid(), Arcane::TraceAccessor::info(), nbPatch(), et patch().

Référencé par computeDirections().

◆ coarseZone()

void Arcane::CartesianMeshImpl::coarseZone ( const AMRZonePosition & position)
overridevirtual

Dé-raffine un bloc du maillage cartésien.

Cette méthode ne peut être appelée que si le maillage est un maillage AMR (IMesh::isAmrActivated()==true).

Les mailles dont les positions des centres sont comprises entre position et (position+length) sont dé-raffinées et les informations de connectivité correspondantes sont mises à jour.

Toutes les mailles dans la zone de dé-raffinement doivent être du même niveau.

Les patchs ne contenant plus de mailles après l'appel à cette méthode seront supprimés.

Cette opération est collective.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 722 du fichier CartesianMesh.cc.

Référencé par coarseZone2D(), et coarseZone3D().

◆ coarseZone2D()

void Arcane::CartesianMeshImpl::coarseZone2D ( Real2 position,
Real2 length )
overridevirtual

Dé-raffine en 2D un bloc du maillage cartésien.

Cette méthode ne peut être appelée que si le maillage est un maillage AMR (IMesh::isAmrActivated()==true).

Les mailles dont les positions des centres sont comprises entre position et (position+length) sont dé-raffinées et les informations de connectivité correspondantes sont mises à jour.

Toutes les mailles dans la zone de dé-raffinement doivent être du même niveau.

Les patchs ne contenant plus de mailles après l'appel à cette méthode seront supprimés.

Cette opération est collective.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 702 du fichier CartesianMesh.cc.

Références coarseZone(), et Arcane::TraceAccessor::info().

◆ coarseZone3D()

void Arcane::CartesianMeshImpl::coarseZone3D ( Real3 position,
Real3 length )
overridevirtual

Dé-raffine en 3D un bloc du maillage cartésien.

Cette méthode ne peut être appelée que si le maillage est un maillage AMR (IMesh::isAmrActivated()==true).

Les mailles dont les positions des centres sont comprises entre position et (position+length) sont dé-raffinées et les informations de connectivité correspondantes sont mises à jour.

Toutes les mailles dans la zone de dé-raffinement doivent être du même niveau.

Les patchs ne contenant plus de mailles après l'appel à cette méthode seront supprimés.

Cette opération est collective.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 712 du fichier CartesianMesh.cc.

Références coarseZone(), et Arcane::TraceAccessor::info().

◆ computeDirections()

void Arcane::CartesianMeshImpl::computeDirections ( )
overridevirtual

Calcule les infos pour les accès par direction.

Actuellement, les restrictions suivantes existent:

  • calcule uniquement les infos sur les entités mailles.
  • suppose que la maille 0 est dans un coin (ne fonctionne que pour le meshgenerator).
  • les informations de direction sont invalidées si le maillage évolue.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 378 du fichier CartesianMesh.cc.

Références Arcane::IItemFamily::allItems(), Arcane::arcaneIsCheck(), checkValid(), ENUMERATE_CELL, ENUMERATE_FACE, Arcane::Cell::face(), Arcane::TraceAccessor::info(), Arcane::MD_DirX, Arcane::MD_DirY, Arcane::MD_DirZ, mesh(), Arcane::ItemGroup::name(), Arcane::Cell::nbFace(), Arcane::ItemWithNodes::nbNode(), Arcane::ItemWithNodes::node(), Arcane::ItemWithNodes::nodeIds(), patch(), Arcane::ItemGroup::size(), Arcane::IMesh::timestamp(), Arcane::ItemGroup::view(), Arcane::Real3POD::x, Arcane::Real3POD::y, et Arcane::Real3POD::z.

Référencé par recreateFromDump(), reduceNbGhostLayers(), et renumberItemsUniqueId().

◆ connectivity()

CartesianConnectivity Arcane::CartesianMeshImpl::connectivity ( )
inlineoverridevirtual

Informations sur la connectivité

Implémente Arcane::ICartesianMesh.

Définition à la ligne 178 du fichier CartesianMesh.cc.

◆ createCartesianMeshCoarsening()

Ref< CartesianMeshCoarsening > Arcane::CartesianMeshImpl::createCartesianMeshCoarsening ( )
overridevirtual

Créé une instance pour gérer le déraffinement du maillage.

Obsolète
Utiliser Arcane::CartesianMeshUtils::createCartesianMeshCoarsening2() à la place.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 1103 du fichier CartesianMesh.cc.

Références Arcane::makeRef().

◆ faceDirection() [1/2]

FaceDirectionMng Arcane::CartesianMeshImpl::faceDirection ( eMeshDirection dir)
inlineoverridevirtual

Liste des faces dans la direction dir.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 154 du fichier CartesianMesh.cc.

◆ faceDirection() [2/2]

FaceDirectionMng Arcane::CartesianMeshImpl::faceDirection ( Integer idir)
inlineoverridevirtual

Liste des faces dans la direction dir (0, 1 ou 2)

Implémente Arcane::ICartesianMesh.

Définition à la ligne 159 du fichier CartesianMesh.cc.

◆ mesh()

IMesh * Arcane::CartesianMeshImpl::mesh ( ) const
inlineoverridevirtual

Maillage associé à ce maillage cartésien.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 139 du fichier CartesianMesh.cc.

Référencé par computeDirections().

◆ nbPatch()

Int32 Arcane::CartesianMeshImpl::nbPatch ( ) const
inlineoverridevirtual

Nombre de patchs du maillage.

Il y a toujours au moins un patch qui représente la maillage cartésien

Implémente Arcane::ICartesianMesh.

Définition à la ligne 183 du fichier CartesianMesh.cc.

Référencé par checkValid().

◆ nodeDirection() [1/2]

NodeDirectionMng Arcane::CartesianMeshImpl::nodeDirection ( eMeshDirection dir)
inlineoverridevirtual

Liste des noeuds dans la direction dir.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 164 du fichier CartesianMesh.cc.

◆ nodeDirection() [2/2]

NodeDirectionMng Arcane::CartesianMeshImpl::nodeDirection ( Integer idir)
inlineoverridevirtual

Liste des noeuds dans la direction dir (0, 1 ou 2)

Implémente Arcane::ICartesianMesh.

Définition à la ligne 169 du fichier CartesianMesh.cc.

◆ patch()

ICartesianMeshPatch * Arcane::CartesianMeshImpl::patch ( Int32 index) const
inlineoverridevirtual

Retourne le index-ième patch du maillage.

Si le maillage est cartésien, il n'y a qu'un seul patch.

L'instance retournée reste valide tant que cette instance n'est pas détruite.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 184 du fichier CartesianMesh.cc.

Référencé par checkValid(), et computeDirections().

◆ patches()

CartesianMeshPatchListView Arcane::CartesianMeshImpl::patches ( ) const
inlineoverridevirtual

Vue sur la liste des patchs.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 186 du fichier CartesianMesh.cc.

◆ recreateFromDump()

void Arcane::CartesianMeshImpl::recreateFromDump ( )
overridevirtual

Recalcule les informations de cartésiennes après une reprise.

Cette méthode doit être appelée à la place de computeDirections() lors d'une reprise.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 332 du fichier CartesianMesh.cc.

Références ARCANE_FATAL, computeDirections(), Arcane::IItemFamily::findGroup(), Arcane::TraceAccessor::info(), Arcane::ItemGroup::null(), et Arcane::AbstractArray< T >::size().

◆ reduceNbGhostLayers()

Integer Arcane::CartesianMeshImpl::reduceNbGhostLayers ( Integer level,
Integer target_nb_ghost_layers )
overridevirtual

Méthode permettant de supprimer une ou plusieurs couches de mailles fantômes sur un niveau de raffinement défini.

Le nombre de couches de mailles fantômes souhaité peut être augmenté par la méthode. Il est nécessaire de récupérer la valeur retournée pour avoir le nombre de couches de mailles fantômes final.

Paramètres
levelLe niveau de raffinement concerné par la suppression des mailles fantômes.
target_nb_ghost_layersLe nombre de couches souhaité après appel à cette méthode. ATTENTION : Il peut être ajusté par la méthode.
Renvoie
Le nombre de couches de mailles fantômes final.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 732 du fichier CartesianMesh.cc.

Références Arcane::Array< T >::add(), ARCANE_FATAL, computeDirections(), ENUMERATE_, Arcane::TraceAccessor::info(), Arcane::Item::isOwn(), Arcane::Cell::level(), Arcane::Item::null(), Arcane::MessagePassing::ReduceMax, Arcane::AbstractArray< T >::size(), et Arcane::Convert::toInt32().

◆ refinePatch()

void Arcane::CartesianMeshImpl::refinePatch ( const AMRZonePosition & position)
overridevirtual

Raffine un bloc du maillage cartésien.

Cette méthode ne peut être appelée que si le maillage est un maillage AMR (IMesh::isAmrActivated()==true).

Les mailles dont les positions des centres sont comprises entre position et (position+length) sont raffinées et les informations de connectivité correspondantes sont mises à jour.

Cette opération est collective.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 692 du fichier CartesianMesh.cc.

Référencé par refinePatch2D(), et refinePatch3D().

◆ refinePatch2D()

void Arcane::CartesianMeshImpl::refinePatch2D ( Real2 position,
Real2 length )
overridevirtual

Raffine en 2D un bloc du maillage cartésien.

Cette méthode ne peut être appelée que si le maillage est un maillage AMR (IMesh::isAmrActivated()==true).

Les mailles dont les positions des centres sont comprises entre position et (position+length) sont raffinées et les informations de connectivité correspondantes sont mises à jour.

Cette opération est collective.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 672 du fichier CartesianMesh.cc.

Références Arcane::TraceAccessor::info(), et refinePatch().

◆ refinePatch3D()

void Arcane::CartesianMeshImpl::refinePatch3D ( Real3 position,
Real3 length )
overridevirtual

Raffine en 3D un bloc du maillage cartésien.

Cette méthode ne peut être appelée que si le maillage est un maillage AMR (IMesh::isAmrActivated()==true).

Les mailles dont les positions des centres sont comprises entre position et (position+length) sont raffinées et les informations de connectivité correspondantes sont mises à jour.

Cette opération est collective.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 682 du fichier CartesianMesh.cc.

Références Arcane::TraceAccessor::info(), et refinePatch().

◆ renumberItemsUniqueId()

void Arcane::CartesianMeshImpl::renumberItemsUniqueId ( const CartesianMeshRenumberingInfo & v)
overridevirtual

Renumérote les uniqueId() des entités.

Suivant les valeurs de v, on renumérote les uniqueId() des faces et/ou des entités des patches pour avoir la même numérotation quel que soit le découpage.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 1061 du fichier CartesianMesh.cc.

Références ARCANE_FATAL, ARCANE_THROW, computeDirections(), Arcane::TraceAccessor::info(), et Arcane::TraceAccessor::warning().

◆ traceMng()

ITraceMng * Arcane::CartesianMeshImpl::traceMng ( ) const
inlineoverridevirtual

Gestionnaire de trace associé.

Implémente Arcane::ICartesianMesh.

Définition à la ligne 142 du fichier CartesianMesh.cc.

Références Arcane::TraceAccessor::traceMng().


La documentation de cette classe a été générée à partir du fichier suivant :