Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::IMeshPartitionConstraint Class Referenceabstract

Interface of a mesh partitioning constraint. More...

#include <arcane/core/IMeshPartitionConstraint.h>

Public Member Functions

virtual ~IMeshPartitionConstraint ()=default
 Releases resources.
virtual void addLinkedCells (Int64Array &linked_cells, Int32Array &linked_owners)=0
 Adds a set of constraints on the cells.

Detailed Description

Interface of a mesh partitioning constraint.

Instances of this interface are managed by an IMeshPartitionConstraintMng.

Definition at line 34 of file IMeshPartitionConstraint.h.

Member Function Documentation

◆ addLinkedCells()

virtual void Arcane::IMeshPartitionConstraint::addLinkedCells ( Int64Array & linked_cells,
Int32Array & linked_owners )
pure virtual

Adds a set of constraints on the cells.

Adds to the linked_cells array a set of pairs of uniqueId() of cells that must remain in the same partition. For example, if cells 25 and 23 must remain connected, it is enough to call:

linked_cells.add(23);
linked_cells.add(25);

You must always add pairs of uniqueId(), potentially repeating the cells. For example, if one wishes that cells 35, 37, and 39, one must do as follows:

linked_cells.add(35);
linked_cells.add(37);
linked_cells.add(35);
linked_cells.add(39);

The linked_cells array must have a size that is a multiple of 2. The linked owners array indicates for each pair which subdomain it must belong to.

TODO: Remove linked_owners

Warning
: each pair must start with the cell having the smallest uid. The "owner" indicates for every couple that corresponds to the first cell.

Implemented in Arcane::ExternalPartitionConstraint.


The documentation for this class was generated from the following file: