#include <arcane/mesh/CellFamily.h>
Classes | |
| class | TopologyModifier |
Public Member Functions | |
| CellFamily (IMesh *mesh, const String &name) | |
| virtual void | build () override |
| virtual void | preAllocate (Integer nb_item) |
| Item | allocOne (Int64 uid, ItemTypeId type_id, MeshInfos &mesh_info) override |
| Allocates an element in the family and updates the corresponding mesh_info. | |
| Item | findOrAllocOne (Int64 uid, ItemTypeId type_id, MeshInfos &mesh_info, bool &is_alloc) override |
| IItemFamily * | family () override |
| Cell | allocOne (Int64 uid, ItemTypeId type) |
| Cell | findOrAllocOne (Int64 uid, ItemTypeId type_id, bool &is_alloc) |
| void | removeCell (Cell cell) |
| void | removeCells (ConstArrayView< Int32 > cells_local_id) |
| Removes the cells whose local numbers are cells_local_id. | |
| void | detachCell (Cell cell) |
| void | detachCells2 (Int32ConstArrayView cell_local_ids) |
| void | removeDetachedCell (Cell cell) |
| virtual void | internalRemoveItems (Int32ConstArrayView local_ids, bool keep_ghost=false) override |
| void | setConnectivity (const Integer c) |
| Defines the active connectivity for the associated mesh. | |
| void | replaceNode (ItemLocalId cell, Integer index, ItemLocalId node) |
| Replaces the node at index index of the cell cell with that of localId() node. | |
| void | replaceEdge (ItemLocalId cell, Integer index, ItemLocalId edge) |
| Replaces the edge at index index of the cell cell with that of localId() edge. | |
| void | replaceFace (ItemLocalId cell, Integer index, ItemLocalId face) |
| Replaces the face at index index of the cell cell with that of localId() face. | |
| void | replaceHChild (ItemLocalId cell, Integer index, ItemLocalId child_cell) |
| void | replaceHParent (ItemLocalId cell, Integer index, ItemLocalId parent_cell) |
| void | _addParentCellToCell (Cell cell, Cell parent_cell) |
| AMR. | |
| void | _addChildCellToCell (Cell parent_cell, Integer rank, Cell child_cell) |
| void | _addChildCellToCell2 (Cell parent_cell, Cell child_cell) |
| void | _addChildrenCellsToCell (Cell parent_cell, Int32ConstArrayView children_cells_lid) |
| void | _removeParentCellToCell (Cell cell) |
| void | _removeChildCellToCell (Cell parent_cell, Cell cell) |
| void | _removeChildrenCellsToCell (Cell parent_cell) |
| virtual void | computeSynchronizeInfos () override |
| Constructs the structures necessary for synchronization. | |
| ItemInternal * | allocOne (Int64 uid, ItemTypeInfo *type) |
| ItemInternal * | findOrAllocOne (Int64 uid, ItemTypeInfo *type, bool &is_alloc) |
| Public Member Functions inherited from Arcane::mesh::ItemFamily | |
| ItemFamily (IMesh *mesh, eItemKind ik, const String &name) | |
| void | build () override |
| String | name () const override |
| Family name. | |
| String | fullName () const override |
| Full family name (with the mesh's name). | |
| eItemKind | itemKind () const override |
| Entity kind. | |
| Integer | nbItem () const override |
| Number of entities. | |
| Int32 | maxLocalId () const override |
| ItemInternalList | itemsInternal () override |
| Internal array of entities. | |
| ItemInfoListView | itemInfoListView () override |
| View on the entity information list. | |
| VariableItemInt32 & | itemsNewOwner () override |
| Variable containing the number of the new subdomain owning the entity. | |
| IItemFamily * | parentFamily () const override |
| IItemFamily parent. | |
| void | setParentFamily (IItemFamily *parent) override |
| Positions the parent IItemFamily. | |
| Integer | parentFamilyDepth () const override |
| Gives the nesting depth of the current mesh. | |
| void | addChildFamily (IItemFamily *family) override |
| Adds a family as a dependency. | |
| IItemFamilyCollection | childFamilies () override |
| Child families of this family. | |
| void | checkValid () override |
| Check the validity of internal structures (internal). | |
| void | checkValidConnectivity () override |
| Verification of the validity of internal structures concerning connectivity. | |
| void | checkUniqueIds (Int64ConstArrayView unique_ids) override |
| Checks that the unique_ids are truly unique for all subdomains. | |
| ItemInternalMap & | itemsMap () |
| void | endUpdate () override |
| Notifies the end of modification of the entity list. | |
| void | partialEndUpdate () override |
| Partial update. | |
| void | partialEndUpdateGroup (const ItemGroup &group) override |
| Updates a group. | |
| void | partialEndUpdateVariable (IVariable *variable) override |
| Updates a variable. | |
| void | itemsUniqueIdToLocalId (ArrayView< Int64 > ids, bool do_fatal=true) const |
| void | itemsUniqueIdToLocalId (Int32ArrayView local_ids, Int64ConstArrayView unique_ids, bool do_fatal) const override |
| Converts an array of unique numbers to local numbers. | |
| void | itemsUniqueIdToLocalId (Int32ArrayView local_ids, ConstArrayView< ItemUniqueId > unique_ids, bool do_fatal) const override |
| Converts an array of unique numbers to local numbers. | |
| ISubDomain * | subDomain () const override |
| Associated sub-domain. | |
| ITraceMng * | traceMng () const override |
| Associated trace manager. | |
| IMesh * | mesh () const override |
| Associated mesh. | |
| IParallelMng * | parallelMng () const override |
| Associated parallelism manager. | |
| IItemConnectivityInfo * | localConnectivityInfos () const override |
| Information on local connectivity within the subdomain for this family. | |
| IItemConnectivityInfo * | globalConnectivityInfos () const override |
| Information on global connectivity across all subdomains. | |
| void | internalRemoveItems (Int32ConstArrayView local_ids, bool keep_ghost=false) override |
| Removes the entities given by local_ids. | |
| void | removeItems2 (ItemDataList &item_data_list) override |
| Removes entities. | |
| void | removeNeedRemoveMarkedItems () override |
| Removes entities and updates connectivities. | |
| ItemVectorView | view (Int32ConstArrayView local_ids) override |
| View on the entities. | |
| ItemVectorView | view () override |
| View on all entities in the family. | |
| ItemInternal * | findOneItem (Int64 uid) override |
| Unique ID entity unique_id. | |
| ItemGroup | allItems () const override |
| Group of all entities. | |
| void | notifyItemsOwnerChanged () override |
| Notifies that the entities specific to the family's subdomain have been modified. | |
| ItemGroup | findGroup (const String &name) const override |
| Searches for a group. | |
| ItemGroup | findGroup (const String &name, bool create_if_needed) override |
| Searches for a group. | |
| ItemGroup | createGroup (const String &name, Int32ConstArrayView elements, bool do_override=false) override |
| Creates an entity group named name containing the entities local_ids. | |
| ItemGroup | createGroup (const String &name) override |
| Creates an entity group named name. | |
| ItemGroup | createGroup (const String &name, const ItemGroup &parent, bool do_override=false) override |
| ItemGroupCollection | groups () const override |
| Collection of groups in this family. | |
| void | notifyItemsUniqueIdChanged () override |
| Notifies that the unique IDs of the entities have been modified. | |
| void | destroyGroups () override |
| Deletes all groups in this family. | |
| IVariable * | findVariable (const String &name, bool throw_exception) override |
| Searches for the variable name name associated with this family. | |
| void | usedVariables (VariableCollection collection) override |
| Adds the list of variables used by this family to the collection. | |
| void | prepareForDump () override |
| Prepares data for dumping. | |
| void | readFromDump () override |
| Reads data from a dump. | |
| void | copyItemsValues (Int32ConstArrayView source, Int32ConstArrayView destination) override |
| void | copyItemsMeanValues (Int32ConstArrayView first_source, Int32ConstArrayView second_source, Int32ConstArrayView destination) override |
| void | compactItems (bool do_sort) override |
| Compresses the entities. | |
| void | clearItems () override |
| Deletes all entities in the family. | |
| Int64ArrayView * | uniqueIds () |
| ItemSharedInfo * | commonItemSharedInfo () |
| const DynamicMeshKindInfos & | infos () const |
| void | setHasUniqueIdMap (bool v) override |
| Indicates whether the family has a conversion table from uniqueId to localId. | |
| bool | hasUniqueIdMap () const override |
| Indicates if the family has a uniqueId to localId conversion table. | |
| void | computeSynchronizeInfos () override |
| Constructs the structures necessary for synchronization. | |
| void | getCommunicatingSubDomains (Int32Array &sub_domains) const override |
| List of communicating sub-domains for the entities. | |
| void | synchronize (VariableCollection variables) override |
| Synchronizes the variables variables. | |
| void | synchronize (VariableCollection variables, Int32ConstArrayView local_ids) override |
| Synchronizes the variables variables on a list of entities. | |
| IVariableSynchronizer * | allItemsSynchronizer () override |
| Synchronizer on all entities of the family. | |
| void | reduceFromGhostItems (IVariable *v, IDataOperation *operation) override |
| Applies a reduction operation from ghost items. | |
| void | reduceFromGhostItems (IVariable *v, Parallel::eReduceType operation) override |
| Applies a reduction operation from ghost items. | |
| ItemPairGroup | findAdjencyItems (const ItemGroup &group, const ItemGroup &sub_group, eItemKind link_kind, Integer layer) override |
| Searches for an adjacency list. | |
| ItemPairGroup | findAdjacencyItems (const ItemGroup &group, const ItemGroup &sub_group, eItemKind link_kind, Integer layer) override |
| Searches for an adjacency list. | |
| IParticleFamily * | toParticleFamily () override |
| Returns the interface of the particle family for this family. | |
| void | setItemSortFunction (IItemInternalSortFunction *sort_function) override |
| Positions the entity sorting function. | |
| IItemInternalSortFunction * | itemSortFunction () const override |
| Entity sorting function. | |
| void | addSourceConnectivity (IItemConnectivity *connectivity) override |
| void | addTargetConnectivity (IItemConnectivity *connectivity) override |
| void | removeSourceConnectivity (IItemConnectivity *connectivity) override |
| void | removeTargetConnectivity (IItemConnectivity *connectivity) override |
| void | setConnectivityMng (IItemConnectivityMng *connectivity_mng) override |
| void | addGhostItems (Int64ConstArrayView unique_ids, Int32ArrayView items, Int32ConstArrayView owners) override |
| Allocates ghost entities. | |
| EventObservableView< const ItemFamilyItemListChangedEventArgs & > | itemListChangedEvent () override |
| Event for entity addition and deletion. | |
| void | experimentalChangeUniqueId (ItemLocalId local_id, ItemUniqueId unique_id) override |
| Changes the unique number of the entity. | |
| IItemFamilyPolicyMng * | policyMng () override |
| Interface of behaviors/policies associated with this family. | |
| Properties * | properties () override |
| Properties associated with this family. | |
| IItemFamilyInternal * | _internalApi () override |
| Internal Arcane API. | |
| virtual void | setPolicyMng (IItemFamilyPolicyMng *policy_mng) |
| void | beginCompactItems (ItemFamilyCompactInfos &compact_infos) |
| void | compactVariablesAndGroups (const ItemFamilyCompactInfos &compact_infos) |
| Compresses the variables and groups. | |
| void | finishCompactItems (ItemFamilyCompactInfos &compact_infos) |
| void | removeItem (Item item) |
| ItemInternalConnectivityList * | itemInternalConnectivityList () |
| Accessor for connectivities via Item and ItemInternal. | |
| IItemFamilyTopologyModifier * | _topologyModifier () override |
| Topology modifier interface. | |
| void | resizeVariables (bool force_resize) override |
| Resizes the variables of this family. | |
| Public Member Functions inherited from Arcane::TraceAccessor | |
| TraceAccessor (ITraceMng *m) | |
| Constructs an accessor via the trace manager m. | |
| TraceAccessor (const TraceAccessor &rhs) | |
| Copy constructor. | |
| TraceAccessor & | operator= (const TraceAccessor &rhs) |
| Copy assignment operator. | |
| virtual | ~TraceAccessor () |
| Frees resources. | |
| ITraceMng * | traceMng () const |
| Trace manager. | |
| TraceMessage | info () const |
| Flow for an information message. | |
| TraceMessage | pinfo () const |
| Flow for a parallel information message. | |
| TraceMessage | info (char category) const |
| Flow for an information message of a given category. | |
| TraceMessage | pinfo (char category) const |
| Flow for a parallel information message of a given category. | |
| TraceMessage | info (bool v) const |
| Flow for an information message. | |
| TraceMessage | warning () const |
| Flow for a warning message. | |
| TraceMessage | pwarning () const |
| TraceMessage | error () const |
| Flow for an error message. | |
| TraceMessage | perror () const |
| TraceMessage | log () const |
| Flow for a log message. | |
| TraceMessage | plog () const |
| Flow for a log message. | |
| TraceMessage | logdate () const |
| Flow for a log message preceded by the date. | |
| TraceMessage | fatal () const |
| Flow for a fatal error message. | |
| TraceMessage | pfatal () const |
| Flow for a parallel fatal error message. | |
| TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
| Flow for a debug message. | |
| Trace::eDebugLevel | configDbgLevel () const |
| Debug level of the configuration file. | |
| TraceMessage | info (Int32 verbose_level) const |
| Flow for an information message of a given level. | |
| TraceMessage | linfo () const |
| Flow for an information message with the local information level of this instance. | |
| TraceMessage | linfo (Int32 relative_level) const |
| Flow for an information message with the local information level of this instance. | |
| void | fatalMessage (const StandaloneTraceMessage &o) const |
| Public Member Functions inherited from Arcane::IItemFamily | |
| virtual IDoFFamily * | toDoFFamily () |
| Returns the interface of the particle family for this family. | |
| Public Member Functions inherited from Arcane::IItemFamilyModifier | |
| virtual | ~IItemFamilyModifier () |
| ItemInternal * | allocOne (Int64 uid, ItemTypeInfo *type, mesh::MeshInfos &mesh_info) |
| ItemInternal * | findOrAllocOne (Int64 uid, ItemTypeInfo *type, mesh::MeshInfos &mesh_info, bool &is_alloc) |
Private Member Functions | |
| void | _removeSubItems (Cell cell) |
| void | _removeNotConnectedSubItems (Cell cell) |
| Removes cell sub-entities that are not connected to any cell. | |
| void | _createOne (ItemInternal *item, Int64 uid, ItemTypeInfo *type) |
| void | _createOne (ItemInternal *item, Int64 uid, ItemTypeId type_id) |
Private Attributes | |
| Integer | m_node_prealloc |
| Integer | m_edge_prealloc |
| Integer | m_face_prealloc |
| Integer | m_mesh_connectivity |
| NodeFamily * | m_node_family |
| EdgeFamily * | m_edge_family |
| FaceFamily * | m_face_family |
| NodeConnectivity * | m_node_connectivity |
| EdgeConnectivity * | m_edge_connectivity |
| FaceConnectivity * | m_face_connectivity |
| HParentConnectivity * | m_hparent_connectivity |
| HChildConnectivity * | m_hchild_connectivity |
Cell Family.
Definition at line 44 of file CellFamily.h.
|
private |
Definition at line 50 of file CellFamily.h.
|
private |
Definition at line 51 of file CellFamily.h.
|
private |
Definition at line 53 of file CellFamily.h.
|
private |
Definition at line 52 of file CellFamily.h.
|
private |
Definition at line 49 of file CellFamily.h.
Definition at line 83 of file CellFamily.cc.
|
virtual |
Definition at line 104 of file CellFamily.cc.
| void Arcane::mesh::CellFamily::_addChildCellToCell | ( | Cell | parent_cell, |
| Integer | rank, | ||
| Cell | child_cell ) |
Definition at line 503 of file CellFamily.cc.
Definition at line 494 of file CellFamily.cc.
| void Arcane::mesh::CellFamily::_addChildrenCellsToCell | ( | Cell | parent_cell, |
| Int32ConstArrayView | children_cells_lid ) |
Definition at line 522 of file CellFamily.cc.
AMR.
Definition at line 485 of file CellFamily.cc.
Referenced by Arcane::mesh::DynamicMeshIncrementalBuilder::addHChildrenCells().
|
inlineprivate |
Definition at line 172 of file CellFamily.cc.
|
inlineprivate |
Definition at line 153 of file CellFamily.cc.
Definition at line 552 of file CellFamily.cc.
| void Arcane::mesh::CellFamily::_removeChildrenCellsToCell | ( | Cell | parent_cell | ) |
Definition at line 562 of file CellFamily.cc.
|
private |
Removes cell sub-entities that are not connected to any cell.
Definition at line 358 of file CellFamily.cc.
References Arcane::Cell::edges(), Arcane::Cell::faces(), and Arcane::ItemWithNodes::nodes().
Referenced by removeCell(), and removeDetachedCell().
| void Arcane::mesh::CellFamily::_removeParentCellToCell | ( | Cell | cell | ) |
Definition at line 543 of file CellFamily.cc.
|
private |
Assimilable à _removeOne dans les autres familles
Definition at line 266 of file CellFamily.cc.
References Arcane::Cell::edges(), Arcane::Cell::faces(), Arcane::Item::localId(), and Arcane::ItemWithNodes::nodes().
Referenced by detachCell(), and removeCell().
| Cell Arcane::mesh::CellFamily::allocOne | ( | Int64 | uid, |
| ItemTypeId | type ) |
Definition at line 203 of file CellFamily.cc.
|
overridevirtual |
Allocates an element in the family and updates the corresponding mesh_info.
Implements Arcane::IItemFamilyModifier.
Definition at line 181 of file CellFamily.cc.
References allocOne(), and Arcane::mesh::MeshInfos::nbCell().
Referenced by allocOne().
| ItemInternal * Arcane::mesh::CellFamily::allocOne | ( | Int64 | uid, |
| ItemTypeInfo * | type ) |
Definition at line 223 of file CellFamily.cc.
|
overridevirtual |
Implements Arcane::IItemFamily.
Definition at line 112 of file CellFamily.cc.
|
overridevirtual |
Constructs the structures necessary for synchronization.
This operation must be performed every time the entities of the mesh change ownership (for example, during a load balancing).
This operation is collective.
Implements Arcane::IItemFamily.
Definition at line 256 of file CellFamily.cc.
References Arcane::mesh::ItemFamily::computeSynchronizeInfos(), and Arcane::TraceAccessor::debug().
| void Arcane::mesh::CellFamily::detachCell | ( | Cell | cell | ) |
Detaches the cell cell from the mesh without deleting it
| cell | the cell to detach |
AMR
Definition at line 321 of file CellFamily.cc.
References _removeSubItems(), ARCANE_FATAL, Arcane::Cell::hParent(), Arcane::ItemBase::isSuppressed(), Arcane::Item::itemBase(), Arcane::Cell::level(), and Arcane::Item::uniqueId().
| void Arcane::mesh::CellFamily::detachCells2 | ( | Int32ConstArrayView | cell_local_ids | ) |
Detaches the cells with local identifiers cell_local_ids from the mesh without deleting them. Based on the dependency graph of ItemFamilyNetwork families.
| cells_local_id | local identifiers of the cells to detach |
Definition at line 343 of file CellFamily.cc.
|
inlineoverridevirtual |
Implements Arcane::IItemFamilyModifier.
Definition at line 70 of file CellFamily.h.
| Cell Arcane::mesh::CellFamily::findOrAllocOne | ( | Int64 | uid, |
| ItemTypeId | type_id, | ||
| bool & | is_alloc ) |
Definition at line 214 of file CellFamily.cc.
|
overridevirtual |
Implements Arcane::IItemFamilyModifier.
Definition at line 191 of file CellFamily.cc.
| ItemInternal * Arcane::mesh::CellFamily::findOrAllocOne | ( | Int64 | uid, |
| ItemTypeInfo * | type, | ||
| bool & | is_alloc ) |
Definition at line 234 of file CellFamily.cc.
|
overridevirtual |
Removes the group of entities local_ids
| local_ids | the group of cells to remove |
Implements Arcane::IItemFamily.
Definition at line 392 of file CellFamily.cc.
References removeCell(), and Arcane::ConstArrayView< T >::size().
|
virtual |
Definition at line 247 of file CellFamily.cc.
| void Arcane::mesh::CellFamily::removeCell | ( | Cell | cell | ) |
Remove the cell cell
| cell | the cell to remove |
AMR
Definition at line 287 of file CellFamily.cc.
References _removeNotConnectedSubItems(), _removeSubItems(), ARCANE_FATAL, Arcane::Cell::hParent(), Arcane::ItemBase::isSuppressed(), Arcane::Item::itemBase(), Arcane::Cell::level(), and Arcane::Item::uniqueId().
Referenced by internalRemoveItems(), and removeCells().
| void Arcane::mesh::CellFamily::removeCells | ( | ConstArrayView< Int32 > | cells_local_id | ) |
Removes the cells whose local numbers are cells_local_id.
Definition at line 310 of file CellFamily.cc.
References removeCell().
Referenced by Arcane::mesh::DynamicMeshIncrementalBuilder::removeNeedRemoveMarkedItems().
| void Arcane::mesh::CellFamily::removeDetachedCell | ( | Cell | cell | ) |
Destroys the cell cell that has already been detached from the mesh
| cell | the detached cell to destroy |
Definition at line 380 of file CellFamily.cc.
References _removeNotConnectedSubItems().
| void Arcane::mesh::CellFamily::replaceEdge | ( | ItemLocalId | cell, |
| Integer | index, | ||
| ItemLocalId | edge ) |
Replaces the edge at index index of the cell cell with that of localId() edge.
Definition at line 421 of file CellFamily.cc.
| void Arcane::mesh::CellFamily::replaceFace | ( | ItemLocalId | cell, |
| Integer | index, | ||
| ItemLocalId | face ) |
Replaces the face at index index of the cell cell with that of localId() face.
Definition at line 434 of file CellFamily.cc.
| void Arcane::mesh::CellFamily::replaceHChild | ( | ItemLocalId | cell, |
| Integer | index, | ||
| ItemLocalId | child_cell ) |
Definition at line 443 of file CellFamily.cc.
| void Arcane::mesh::CellFamily::replaceHParent | ( | ItemLocalId | cell, |
| Integer | index, | ||
| ItemLocalId | parent_cell ) |
Definition at line 452 of file CellFamily.cc.
| void Arcane::mesh::CellFamily::replaceNode | ( | ItemLocalId | cell, |
| Integer | index, | ||
| ItemLocalId | node ) |
Replaces the node at index index of the cell cell with that of localId() node.
Definition at line 408 of file CellFamily.cc.
| void Arcane::mesh::CellFamily::setConnectivity | ( | const Integer | c | ) |
Defines the active connectivity for the associated mesh.
This conditions the connectivities to the responsibility of this family
Definition at line 461 of file CellFamily.cc.
References Arcane::TraceAccessor::debug(), Arcane::IK_Cell, Arcane::IK_Edge, Arcane::IK_Face, Arcane::IK_Node, Arcane::mesh::ItemFamily::mesh(), and Arcane::mesh::ItemFamily::name().
|
private |
Definition at line 163 of file CellFamily.h.
|
private |
Definition at line 159 of file CellFamily.h.
|
private |
Definition at line 154 of file CellFamily.h.
|
private |
Definition at line 164 of file CellFamily.h.
|
private |
Definition at line 160 of file CellFamily.h.
|
private |
Definition at line 155 of file CellFamily.h.
|
private |
Definition at line 166 of file CellFamily.h.
|
private |
Definition at line 165 of file CellFamily.h.
|
private |
Definition at line 156 of file CellFamily.h.
|
private |
Definition at line 162 of file CellFamily.h.
|
private |
Definition at line 158 of file CellFamily.h.
|
private |
Definition at line 153 of file CellFamily.h.