Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::mesh::TiedInterfacePartitionConstraint Class Reference
Inheritance diagram for Arcane::mesh::TiedInterfacePartitionConstraint:
Collaboration diagram for Arcane::mesh::TiedInterfacePartitionConstraint:

Public Member Functions

 TiedInterfacePartitionConstraint (IMesh *mesh, ConstArrayView< FaceGroup > slave_interfaces, bool is_debug)
virtual void addLinkedCells (Int64Array &linked_cells, Int32Array &linked_owners)
 Adds a set of constraints on the cells.
virtual void setInitialRepartition (bool is_initial)
void _addLinkedCells (ITiedInterface *interface, Int64Array &linked_cells, Int32Array &linked_owners)
Public Member Functions inherited from Arcane::IMeshPartitionConstraint
virtual ~IMeshPartitionConstraint ()=default
 Releases resources.

Private Attributes

IMeshm_mesh
UniqueArray< FaceGroupm_slave_interfaces
bool m_is_debug
bool m_is_initial

Detailed Description

Definition at line 1834 of file TiedInterface.cc.

Constructor & Destructor Documentation

◆ TiedInterfacePartitionConstraint()

Arcane::mesh::TiedInterfacePartitionConstraint::TiedInterfacePartitionConstraint ( IMesh * mesh,
ConstArrayView< FaceGroup > slave_interfaces,
bool is_debug )
inline

Definition at line 1839 of file TiedInterface.cc.

Member Function Documentation

◆ _addLinkedCells()

void Arcane::mesh::TiedInterfacePartitionConstraint::_addLinkedCells ( ITiedInterface * interface,
Int64Array & linked_cells,
Int32Array & linked_owners )
inline

Definition at line 1877 of file TiedInterface.cc.

◆ addLinkedCells()

virtual void Arcane::mesh::TiedInterfacePartitionConstraint::addLinkedCells ( Int64Array & linked_cells,
Int32Array & linked_owners )
inlinevirtual

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.

Implements Arcane::IMeshPartitionConstraint.

Definition at line 1849 of file TiedInterface.cc.

References Arcane::mesh::TiedInterfaceBuilder::changeOwners(), Arcane::mesh::TiedInterfaceBuilder::computeInterfaceConnections(), Arcane::ITraceMng::info(), Arcane::AbstractArray< T >::size(), and Arcane::IParallelMng::traceMng().

Here is the call graph for this function:

◆ setInitialRepartition()

virtual void Arcane::mesh::TiedInterfacePartitionConstraint::setInitialRepartition ( bool is_initial)
inlinevirtual

Member Data Documentation

◆ m_is_debug

bool Arcane::mesh::TiedInterfacePartitionConstraint::m_is_debug
private

Definition at line 1907 of file TiedInterface.cc.

◆ m_is_initial

bool Arcane::mesh::TiedInterfacePartitionConstraint::m_is_initial
private

Definition at line 1908 of file TiedInterface.cc.

◆ m_mesh

IMesh* Arcane::mesh::TiedInterfacePartitionConstraint::m_mesh
private

Definition at line 1905 of file TiedInterface.cc.

◆ m_slave_interfaces

UniqueArray<FaceGroup> Arcane::mesh::TiedInterfacePartitionConstraint::m_slave_interfaces
private

Definition at line 1906 of file TiedInterface.cc.


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