Public Member Functions | |
| ExternalPartitionConstraint (IMesh *mesh, ArrayView< ItemGroup > constraints) | |
| virtual void | addLinkedCells (Int64Array &linked_cells, Int32Array &linked_owners) |
| Adds a set of constraints on the cells. | |
| Public Member Functions inherited from Arcane::IMeshPartitionConstraint | |
| virtual | ~IMeshPartitionConstraint ()=default |
| Releases resources. | |
Private Attributes | |
| IMesh * | m_mesh = nullptr |
| UniqueArray< ItemGroup > | m_constraints |
Definition at line 30 of file core/ExternalPartitionConstraint.h.
|
inline |
Definition at line 35 of file core/ExternalPartitionConstraint.h.
|
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:
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:
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
Implements Arcane::IMeshPartitionConstraint.
Definition at line 31 of file ExternalPartitionConstraint.cc.
References Arcane::Array< T >::add(), ENUMERATE_CELL, ENUMERATE_FACE, ENUMERATE_NODE, Arcane::Array< T >::fill(), Arcane::IK_Cell, Arcane::IK_Face, Arcane::IK_Node, Arcane::Item::owner(), Arcane::Array< T >::resize(), Arcane::AbstractArray< T >::size(), and Arcane::Item::uniqueId().
|
private |
Definition at line 46 of file core/ExternalPartitionConstraint.h.
|
private |
Definition at line 45 of file core/ExternalPartitionConstraint.h.