14#include "arcane/core/ExternalPartitionConstraint.h"
16#include "arcane/utils/ITraceMng.h"
17#include "arcane/utils/NotImplementedException.h"
19#include "arcane/core/IMesh.h"
20#include "arcane/core/IMeshPartitionConstraint.h"
34 m_mesh->traceMng()->info()<<
"ExternalPartitionConstraint::addLinkedCells(...)";
37 UniqueArray<Integer> filtre_cell;
38 filtre_cell.resize(m_mesh->allCells().size());
40 filtre_cell.fill(marque);
46 UniqueArray<Cell> cells;
47 if (group.itemKind() ==
IK_Cell){
54 else if (group.itemKind() ==
IK_Face){
57 for(
Node node : iface->nodes()){
58 for(
Cell cell : node.cells()){
59 if (filtre_cell[cell.localId()]!=marque){
61 filtre_cell[cell.localId()]=marque;
67 else if (group.itemKind() ==
IK_Node){
69 for(
Cell cell : inode->cells()){
79 Cell cell0 = cells[0];
83 for (
Integer i=1; i<cells.size(); ++i){
86 linked_cells.add(uid0);
87 linked_cells.add(uidi);
90 linked_cells.add(uidi);
91 linked_cells.add(uid0);
93 linked_owners.add(owner0);
96 m_mesh->traceMng()->info()<<
"cells.size() = "<<cells.size();
virtual void addLinkedCells(Int64Array &linked_cells, Int32Array &linked_owners)
Ajoute un ensemble de contraintes sur les mailles.
Groupe d'entités de maillage.
Identifiant unique d'une entité.
Int32 owner() const
Numéro du sous-domaine propriétaire de l'entité
ItemUniqueId uniqueId() const
Identifiant unique sur tous les domaines.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Array< Int64 > Int64Array
Tableau dynamique à une dimension d'entiers 64 bits.
Int32 Integer
Type représentant un entier.
@ IK_Node
Entité de maillage de genre noeud.
@ IK_Cell
Entité de maillage de genre maille.
@ IK_Face
Entité de maillage de genre face.
Array< Int32 > Int32Array
Tableau dynamique à une dimension d'entiers 32 bits.
std::int32_t Int32
Type entier signé sur 32 bits.