Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::IMeshModifierabstract

Interface de modification du maillage. Plus de détails...

#include <arcane/core/IMeshModifier.h>

+ Graphe d'héritage de Arcane::IMeshModifier:
+ Graphe de collaboration de Arcane::IMeshModifier:

Fonctions membres publiques

virtual void build ()=0
 
virtual IMeshmesh ()=0
 Maillage associé
 
virtual void setDynamic (bool v)=0
 Positionne la propriété indiquant si le maillage peut évoluer.
 
virtual void addCells (Integer nb_cell, Int64ConstArrayView cell_infos, Int32ArrayView cells_lid=Int32ArrayView())=0
 Ajoute des mailles.
 
virtual void addCells (const MeshModifierAddCellsArgs &args)
 Ajoute des mailles.
 
virtual void addFaces (Integer nb_face, Int64ConstArrayView face_infos, Int32ArrayView face_lids=Int32ArrayView())=0
 Ajoute des faces.
 
virtual void addFaces (const MeshModifierAddFacesArgs &args)
 Ajoute des faces.
 
virtual void addEdges (Integer nb_edge, Int64ConstArrayView edge_infos, Int32ArrayView edge_lids=Int32ArrayView())=0
 Ajoute des arêtes.
 
virtual void addNodes (Int64ConstArrayView nodes_uid, Int32ArrayView nodes_lid=Int32ArrayView())=0
 Ajoute des noeuds.
 
virtual void removeCells (Int32ConstArrayView cells_local_id)=0
 Supprime des mailles.
 
virtual void removeCells (Int32ConstArrayView cells_local_id, bool update_ghost)=0
 
virtual void detachCells (Int32ConstArrayView cells_local_id)=0
 Détache des mailles du maillage.
 
virtual void removeDetachedCells (Int32ConstArrayView cells_local_id)=0
 Supprime les mailles détachées.
 
virtual void flagCellToRefine (Int32ConstArrayView cells_lids)=0
 AMR.
 
virtual void flagCellToCoarsen (Int32ConstArrayView cells_lids)=0
 
virtual void refineItems ()=0
 
virtual void coarsenItems ()=0
 
virtual void coarsenItemsV2 (bool update_parent_flag)=0
 
virtual bool adapt ()=0
 
virtual void registerCallBack (IAMRTransportFunctor *f)=0
 
virtual void unRegisterCallBack (IAMRTransportFunctor *f)=0
 
virtual void addHChildrenCells (Cell parent_cell, Integer nb_cell, Int64ConstArrayView cells_infos, Int32ArrayView cells_lid=Int32ArrayView())=0
 
virtual void addParentCellToCell (Cell child, Cell parent)=0
 
virtual void addChildCellToCell (Cell parent, Cell child)=0
 
virtual void addParentFaceToFace (Face child, Face parent)=0
 
virtual void addChildFaceToFace (Face parent, Face child)=0
 
virtual void addParentNodeToNode (Node child, Node parent)=0
 
virtual void addChildNodeToNode (Node parent, Node child)=0
 
virtual void clearItems ()=0
 Supprime toutes les entitées de toutes les familles de ce maillage.
 
virtual ARCANE_DEPRECATED_240 void addCells (ISerializer *buffer)=0
 Ajoute les mailles à partir des données contenues dans buffer.
 
virtual ARCANE_DEPRECATED_240 void addCells (ISerializer *buffer, Int32Array &cells_local_id)=0
 Ajoute les mailles à partir des données contenues dans buffer.
 
virtual void endUpdate ()=0
 Notifie l'instance de la fin de la modification du maillage.
 
virtual void endUpdate (bool update_ghost_layer, bool remove_old_ghost)=0
 
virtual void updateGhostLayers ()=0
 Mise à jour de la couche fantôme.
 
virtual void updateGhostLayerFromParent (Array< Int64 > &ghost_cell_to_refine, Array< Int64 > &ghost_cell_to_coarsen, bool remove_old_ghost)=0
 AMR.
 
virtual void addExtraGhostCellsBuilder (IExtraGhostCellsBuilder *builder)=0
 ajout du algorithme d'ajout de mailles fantômes "extraordinaires".
 
virtual void removeExtraGhostCellsBuilder (IExtraGhostCellsBuilder *builder)=0
 Supprime l'association à l'instance builder.
 
virtual void addExtraGhostParticlesBuilder (IExtraGhostParticlesBuilder *builder)=0
 Ajout du algorithme d'ajout de particules fantômes "extraordinaires".
 
virtual void removeExtraGhostParticlesBuilder (IExtraGhostParticlesBuilder *builder)=0
 Supprime l'association à l'instance builder.
 
virtual void mergeMeshes (ConstArrayView< IMesh * > meshes)=0
 Fusionne les maillages de meshes avec le maillage actuel.
 
virtual IMeshModifierInternal_modifierInternalApi ()=0
 API interne à Arcane.
 

Description détaillée

Interface de modification du maillage.

Cette interface fournit les services permettant de modifier un maillage.

Définition à la ligne 134 du fichier IMeshModifier.h.

Documentation des constructeurs et destructeur

◆ ~IMeshModifier()

virtual Arcane::IMeshModifier::~IMeshModifier ( )
inlinevirtual

Définition à la ligne 138 du fichier IMeshModifier.h.

Documentation des fonctions membres

◆ _modifierInternalApi()

virtual IMeshModifierInternal * Arcane::IMeshModifier::_modifierInternalApi ( )
pure virtual

API interne à Arcane.

Implémenté dans Arcane::mesh::DynamicMesh.

◆ addCells() [1/4]

void Arcane::IMeshModifier::addCells ( const MeshModifierAddCellsArgs args)
virtual

Ajoute des mailles.

Réimplémentée dans Arcane::mesh::DynamicMesh.

Définition à la ligne 269 du fichier InterfaceImpl.cc.

Références addCells().

◆ addCells() [2/4]

virtual void Arcane::IMeshModifier::addCells ( Integer  nb_cell,
Int64ConstArrayView  cell_infos,
Int32ArrayView  cells_lid = Int32ArrayView() 
)
pure virtual

Ajoute des mailles.

Ajoute des mailles. Le format de cells_infos est identiques à celui de la méthode IMesh::allocateCells(). Si cells_lid n'est pas vide, il contiendra en retour les numéros locaux des mailles créées. Il est possible de faire plusieurs ajouts successifs. Une fois les ajouts terminés, il faut appeler la méthode endUpdate(). Si une maille ajoutée possède le même uniqueId() qu'une des mailles existantes, la maille existante est conservée telle qu'elle et rien ne se passe.

Les mailles créées sont considérées comme appartenant à ce sous-domaine Si ce n'est pas le cas, il faut ensuite modifier leur appartenance.

Cette méthode est collective. Si un sous-domaine ne souhaite pas ajouter de mailles, il est possible de passer un tableau vide.

Implémenté dans Arcane::mesh::DynamicMesh.

Référencé par addCells().

◆ addCells() [3/4]

virtual ARCANE_DEPRECATED_240 void Arcane::IMeshModifier::addCells ( ISerializer buffer)
pure virtual

Ajoute les mailles à partir des données contenues dans buffer.

buffer doit contenir des mailles sérialisées, par exemple par l'appel à IMesh::serializeCells().

Obsolète:
Utiliser IMesh::cellFamily()->policyMng()->createSerializer() à la place.

Implémenté dans Arcane::mesh::DynamicMesh.

◆ addCells() [4/4]

virtual ARCANE_DEPRECATED_240 void Arcane::IMeshModifier::addCells ( ISerializer buffer,
Int32Array cells_local_id 
)
pure virtual

Ajoute les mailles à partir des données contenues dans buffer.

buffer doit contenir des mailles sérialisées, par exemple par l'appel à IMesh::serializeCells(). En retour cells_local_id contient la liste des localId() des mailles désérialisées. Une maille peut être présente plusieurs fois dans cette liste si elle est présente plusieurs fois dans buffer.

Obsolète:
Utiliser IMesh::cellFamily()->policyMng()->createSerializer() à la place.

Implémenté dans Arcane::mesh::DynamicMesh.

◆ addEdges()

virtual void Arcane::IMeshModifier::addEdges ( Integer  nb_edge,
Int64ConstArrayView  edge_infos,
Int32ArrayView  edge_lids = Int32ArrayView() 
)
pure virtual

Ajoute des arêtes.

Ajoute des arêtes. Le format de edge_infos est identiques à celui de la méthode IMesh::allocateCells(). Si edge_lids n'est pas vide, il contiendra en retour les numéros locaux des arêtes créées. Il est possible de faire plusieurs ajouts successifs. Une fois les ajouts terminés, il faut appeler la méthode endUpdate(). Si une face ajoutée possède le même uniqueId() qu'une des arêtes existantes, la arête existante est conservée telle qu'elle et rien ne se passe.

Les arêtes créées sont considérées comme appartenant à ce sous-domaine Si ce n'est pas le cas, il faut ensuite modifier leur appartenance.

Cette méthode est collective. Si un sous-domaine ne souhaite pas ajouter de arêtes, il est possible de passer un tableau vide.

Implémenté dans Arcane::mesh::DynamicMesh.

◆ addExtraGhostCellsBuilder()

virtual void Arcane::IMeshModifier::addExtraGhostCellsBuilder ( IExtraGhostCellsBuilder builder)
pure virtual

ajout du algorithme d'ajout de mailles fantômes "extraordinaires".

Implémenté dans Arcane::mesh::DynamicMesh.

◆ addExtraGhostParticlesBuilder()

virtual void Arcane::IMeshModifier::addExtraGhostParticlesBuilder ( IExtraGhostParticlesBuilder builder)
pure virtual

Ajout du algorithme d'ajout de particules fantômes "extraordinaires".

Implémenté dans Arcane::mesh::DynamicMesh.

◆ addFaces() [1/2]

void Arcane::IMeshModifier::addFaces ( const MeshModifierAddFacesArgs args)
virtual

Ajoute des faces.

Réimplémentée dans Arcane::mesh::DynamicMesh.

Définition à la ligne 275 du fichier InterfaceImpl.cc.

Références addFaces().

◆ addFaces() [2/2]

virtual void Arcane::IMeshModifier::addFaces ( Integer  nb_face,
Int64ConstArrayView  face_infos,
Int32ArrayView  face_lids = Int32ArrayView() 
)
pure virtual

Ajoute des faces.

Ajoute des faces. Le format de face_infos est identiques à celui de la méthode IMesh::allocateCells(). Si face_lids n'est pas vide, il contiendra en retour les numéros locaux des faces créées. Il est possible de faire plusieurs ajouts successifs. Une fois les ajouts terminés, il faut appeler la méthode endUpdate(). Si une face ajoutée possède le même uniqueId() qu'une des faces existantes, la face existante est conservée telle qu'elle et rien ne se passe.

Les faces créées sont considérées comme appartenant à ce sous-domaine Si ce n'est pas le cas, il faut ensuite modifier leur appartenance.

Cette méthode est collective. Si un sous-domaine ne souhaite pas ajouter de faces, il est possible de passer un tableau vide.

Implémenté dans Arcane::mesh::DynamicMesh.

Référencé par addFaces().

◆ addHChildrenCells()

virtual void Arcane::IMeshModifier::addHChildrenCells ( Cell  parent_cell,
Integer  nb_cell,
Int64ConstArrayView  cells_infos,
Int32ArrayView  cells_lid = Int32ArrayView() 
)
pure virtual

Implémenté dans Arcane::mesh::DynamicMesh.

◆ addNodes()

virtual void Arcane::IMeshModifier::addNodes ( Int64ConstArrayView  nodes_uid,
Int32ArrayView  nodes_lid = Int32ArrayView() 
)
pure virtual

Ajoute des noeuds.

Ajoute des noeuds avec comme identifiant unique les valeurs du tableau nodes_uid. Si nodes_lid n'est pas vide, il contiendra en retour les numéros locaux des noeuds créés. Il est possible de faire plusieurs ajouts successifs. Une fois les ajouts terminés, il faut appeler la méthode endUpdate(). Il est possible de spécifier un uniqueId() déjà existant. Dans ce cas le noeud est simplement ignoré.

Les noeuds créés sont considérés comme appartenant à ce sous-domaine Si ce n'est pas le cas, il faut ensuite modifier leur appartenance.

Cette méthode est collective. Si un sous-domaine ne souhaite pas ajouter de noeuds, il est possible de passer un tableau vide.

Implémenté dans Arcane::mesh::DynamicMesh.

◆ build()

virtual void Arcane::IMeshModifier::build ( )
pure virtual

Implémenté dans Arcane::mesh::DynamicMesh.

◆ clearItems()

virtual void Arcane::IMeshModifier::clearItems ( )
pure virtual

Supprime toutes les entitées de toutes les familles de ce maillage.

Implémenté dans Arcane::mesh::DynamicMesh.

◆ detachCells()

virtual void Arcane::IMeshModifier::detachCells ( Int32ConstArrayView  cells_local_id)
pure virtual

Détache des mailles du maillage.

Les mailles détachées sont déconnectées du maillage. Les noeuds, arêtes et faces de ces mailles ne leur font plus référence et le uniqueId() de ces mailles peuvent être réutilisés. Pour détruire définitivement ces mailles, il faut appeler la méthode removeDetachedCells().

Implémenté dans Arcane::mesh::DynamicMesh.

◆ endUpdate()

virtual void Arcane::IMeshModifier::endUpdate ( )
pure virtual

◆ flagCellToRefine()

virtual void Arcane::IMeshModifier::flagCellToRefine ( Int32ConstArrayView  cells_lids)
pure virtual

AMR.

Implémenté dans Arcane::mesh::DynamicMesh.

◆ mergeMeshes()

virtual void Arcane::IMeshModifier::mergeMeshes ( ConstArrayView< IMesh * >  meshes)
pure virtual

Fusionne les maillages de meshes avec le maillage actuel.

Implémenté dans Arcane::mesh::DynamicMesh.

◆ mesh()

virtual IMesh * Arcane::IMeshModifier::mesh ( )
pure virtual

Maillage associé

Implémenté dans Arcane::mesh::DynamicMesh.

◆ removeCells()

virtual void Arcane::IMeshModifier::removeCells ( Int32ConstArrayView  cells_local_id)
pure virtual

Supprime des mailles.

Supprime les mailles dont les numéros locaux sont données dans cells_local_id. Il est possible de faire plusieurs suppressions successives. Une fois les suppressions terminées, il faut appeler la méthode endUpdate().

Implémenté dans Arcane::mesh::DynamicMesh.

Référencé par Arcane::mesh::MeshRefinement::_contract(), et Arcane::mesh::MeshRefinement::coarsenItemsV2().

◆ removeDetachedCells()

virtual void Arcane::IMeshModifier::removeDetachedCells ( Int32ConstArrayView  cells_local_id)
pure virtual

Supprime les mailles détachées.

Supprime les mailles détachées via detachCells(). Il est possible de faire plusieurs suppressions successives. Une fois les suppressions terminées, il faut appeler la méthode endUpdate().

Implémenté dans Arcane::mesh::DynamicMesh.

◆ removeExtraGhostCellsBuilder()

virtual void Arcane::IMeshModifier::removeExtraGhostCellsBuilder ( IExtraGhostCellsBuilder builder)
pure virtual

Supprime l'association à l'instance builder.

Implémenté dans Arcane::mesh::DynamicMesh.

◆ removeExtraGhostParticlesBuilder()

virtual void Arcane::IMeshModifier::removeExtraGhostParticlesBuilder ( IExtraGhostParticlesBuilder builder)
pure virtual

Supprime l'association à l'instance builder.

Implémenté dans Arcane::mesh::DynamicMesh.

◆ setDynamic()

virtual void Arcane::IMeshModifier::setDynamic ( bool  v)
pure virtual

Positionne la propriété indiquant si le maillage peut évoluer.

Cette propriété doit être positionnée à vrai si l'on souhaite modifier le maillage, par exemple en échangeant des entités par appel à exchangeItems(). Cela ne concerne que les noeuds, arêtes, faces et mailles mais pas les particules qui peuvent toujours être créées et détruites.

Par défaut, isDynamic() est faux.

Le positionnement de la propriété ne peut se faire qu'à l'initialisation.

Implémenté dans Arcane::mesh::DynamicMesh.

Référencé par Arcane::mesh::MeshRefinement::coarsenItemsV2(), Arcane::mesh::MeshRefinement::refineAndCoarsenItems(), et Arcane::mesh::MeshRefinement::refineItems().

◆ updateGhostLayerFromParent()

virtual void Arcane::IMeshModifier::updateGhostLayerFromParent ( Array< Int64 > &  ghost_cell_to_refine,
Array< Int64 > &  ghost_cell_to_coarsen,
bool  remove_old_ghost 
)
pure virtual

◆ updateGhostLayers()

virtual void Arcane::IMeshModifier::updateGhostLayers ( )
pure virtual

Mise à jour de la couche fantôme.

Cette opération est collective.

Implémenté dans Arcane::mesh::DynamicMesh.


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