#include <arcane/mesh/NodeFamily.h>
Classes | |
| class | TopologyModifier |
| class | ItemCompare2 |
| class | ItemCompare3 |
Public Member Functions | |
| NodeFamily (IMesh *mesh, const String &name) | |
| void | build () override |
| void | computeSynchronizeInfos () override |
| Constructs the structures necessary for synchronization. | |
| void | _endAllocate () override |
| void | preAllocate (Integer nb_item) |
| Item | allocOne (Int64 uid, ItemTypeId type_id, MeshInfos &mesh_info) override |
| Allocates a face with a unique number uid and type type. | |
| ItemInternal * | allocOne (Int64 uid) |
| Item | findOrAllocOne (Int64 uid, ItemTypeId type_id, MeshInfos &mesh_info, bool &is_alloc) override |
| ItemInternal * | findOrAllocOne (Int64 uid, bool &is_alloc) |
| IItemFamily * | family () override |
| void | replaceEdge (ItemLocalId node, Integer index, ItemLocalId edge) |
| Replaces the edge index index of the node node with that of localId() face_lid. | |
| void | replaceFace (ItemLocalId node, Integer index, ItemLocalId face) |
| Replaces the face index index of the node node with that of localId() face_lid. | |
| void | replaceCell (ItemLocalId node, Integer index, ItemLocalId cell) |
| Replaces the cell index index of the node node with that of localId() node_lid. | |
| IncrementalItemConnectivity * | edgeConnectivity () const |
| The true connectivity behind the selector, for a bulk fill. | |
| IncrementalItemConnectivity * | cellConnectivity () const |
| IncrementalItemConnectivity * | faceConnectivity () const |
| void | allocateItemsBulk (Int64ConstArrayView uids, Int32 owner, Int32ArrayView lids) |
| Allocates every node of uids at once, in one pass per family array. | |
| void | addCellToNode (Node node, Cell new_cell) |
| void | addFaceToNode (Node node, Face new_face) |
| void | addEdgeToNode (Node node, Edge new_edge) |
| void | removeEdgeFromNode (ItemLocalId node, ItemLocalId edge_to_remove) |
| void | removeFaceFromNode (ItemLocalId node, ItemLocalId face_to_remove) |
| void | removeCellFromNode (Node node, ItemLocalId cell_to_remove_lid) |
| void | removeNodeIfNotConnected (Node node) |
| Removes the node if it is no longer connected. | |
| VariableNodeReal3 & | nodesCoordinates () |
| void | setConnectivity (const Integer c) |
| Sets the active connectivity for the associated mesh. | |
| void | sortInternalReferences () |
| void | notifyItemsUniqueIdChanged () override |
| Notifies that the unique IDs of the entities have been modified. | |
| void | _addChildNodeToNode (Node parent_node, Node child_node) |
| void | _addParentNodeToNode (Node parent_node, Node child_node) |
| Public Member Functions inherited from Arcane::mesh::ItemFamily | |
| ItemFamily (IMesh *mesh, eItemKind ik, const String &name) | |
| 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 | 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 | 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. | |
| bool | canAllocateBulk () const |
| Whether _allocateInfosBulk() can be used: nothing allocated, nothing freed. | |
| 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 | _removeNode (Node node) |
| void | _sortConnectedItems (IItemFamily *family, IncrementalItemConnectivity *connectivity) |
Private Attributes | |
| ItemTypeInfo * | m_node_type = nullptr |
| Instance containing the node type. | |
| Integer | m_edge_prealloc = 0 |
| Integer | m_face_prealloc = 0 |
| Integer | m_cell_prealloc = 0 |
| Integer | m_mesh_connectivity = 0 |
| bool | m_no_face_connectivity = false |
| VariableNodeReal3 * | m_nodes_coords = nullptr |
| EdgeConnectivity * | m_edge_connectivity = nullptr |
| FaceConnectivity * | m_face_connectivity = nullptr |
| CellConnectivity * | m_cell_connectivity = nullptr |
| HParentConnectivity * | m_hparent_connectivity = nullptr |
| HChildConnectivity * | m_hchild_connectivity = nullptr |
| FaceFamily * | m_face_family = nullptr |
| EdgeFamily * | m_edge_family = nullptr |
| bool | m_is_sort_connected_faces_and_edges = false |
| Indicates if connected faces and edges are sorted by nodes. | |
Node family.
Definition at line 34 of file NodeFamily.h.
|
private |
Definition at line 44 of file NodeFamily.h.
|
private |
Definition at line 42 of file NodeFamily.h.
|
private |
Definition at line 43 of file NodeFamily.h.
|
private |
Definition at line 46 of file NodeFamily.h.
|
private |
Definition at line 45 of file NodeFamily.h.
Definition at line 80 of file NodeFamily.cc.
|
virtual |
Definition at line 94 of file NodeFamily.cc.
Definition at line 483 of file NodeFamily.cc.
Definition at line 474 of file NodeFamily.cc.
|
overridevirtual |
Reimplemented from Arcane::mesh::ItemFamily.
Definition at line 191 of file NodeFamily.cc.
|
inlineprivate |
Definition at line 296 of file NodeFamily.cc.
|
private |
Definition at line 419 of file NodeFamily.cc.
Definition at line 202 of file NodeFamily.cc.
Definition at line 226 of file NodeFamily.cc.
Definition at line 213 of file NodeFamily.cc.
| void Arcane::mesh::NodeFamily::allocateItemsBulk | ( | Int64ConstArrayView | uids, |
| Int32 | owner, | ||
| Int32ArrayView | lids ) |
Allocates every node of uids at once, in one pass per family array.
Definition at line 180 of file NodeFamily.cc.
References Arcane::mesh::ItemFamily::_allocateInfosBulk(), and m_node_type.
Referenced by Arcane::mesh::DynamicMeshIncrementalBuilder::addCellsBulk().
|
inline |
Definition at line 84 of file NodeFamily.h.
|
inlineoverridevirtual |
Allocates a face with a unique number uid and type type.
This version is designed to be called in a generic block that ignores the type of the item. The update of the mesh's item count is therefore done in this method, and not in the calling block.
Implements Arcane::IItemFamilyModifier.
Definition at line 76 of file NodeFamily.h.
References allocOne(), and Arcane::mesh::MeshInfos::nbNode().
Referenced by allocOne().
|
overridevirtual |
Reimplemented from Arcane::mesh::ItemFamily.
Definition at line 103 of file NodeFamily.cc.
| IncrementalItemConnectivity * Arcane::mesh::NodeFamily::cellConnectivity | ( | ) | const |
Definition at line 162 of file NodeFamily.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.
Reimplemented from Arcane::mesh::ItemFamily.
Definition at line 286 of file NodeFamily.cc.
References Arcane::mesh::ItemFamily::computeSynchronizeInfos(), and Arcane::TraceAccessor::debug().
| IncrementalItemConnectivity * Arcane::mesh::NodeFamily::edgeConnectivity | ( | ) | const |
The true connectivity behind the selector, for a bulk fill.
Definition at line 153 of file NodeFamily.cc.
Referenced by Arcane::mesh::DynamicMeshIncrementalBuilder::addCellsBulk().
| IncrementalItemConnectivity * Arcane::mesh::NodeFamily::faceConnectivity | ( | ) | const |
Definition at line 171 of file NodeFamily.cc.
|
inlineoverridevirtual |
Implements Arcane::IItemFamilyModifier.
Definition at line 114 of file NodeFamily.h.
|
inline |
Definition at line 103 of file NodeFamily.h.
|
inlineoverridevirtual |
Implements Arcane::IItemFamilyModifier.
Definition at line 93 of file NodeFamily.h.
|
inline |
Definition at line 137 of file NodeFamily.h.
|
overridevirtual |
Notifies that the unique IDs of the entities have been modified.
Reimplemented from Arcane::mesh::ItemFamily.
Definition at line 461 of file NodeFamily.cc.
References Arcane::mesh::ItemFamily::notifyItemsUniqueIdChanged().
| void Arcane::mesh::NodeFamily::preAllocate | ( | Integer | nb_item | ) |
Definition at line 144 of file NodeFamily.cc.
| void Arcane::mesh::NodeFamily::removeCellFromNode | ( | Node | node, |
| ItemLocalId | cell_to_remove_lid ) |
Definition at line 262 of file NodeFamily.cc.
| void Arcane::mesh::NodeFamily::removeEdgeFromNode | ( | ItemLocalId | node, |
| ItemLocalId | edge_to_remove ) |
Definition at line 239 of file NodeFamily.cc.
| void Arcane::mesh::NodeFamily::removeFaceFromNode | ( | ItemLocalId | node, |
| ItemLocalId | face_to_remove ) |
Definition at line 250 of file NodeFamily.cc.
| void Arcane::mesh::NodeFamily::removeNodeIfNotConnected | ( | Node | node | ) |
Removes the node if it is no longer connected.
Definition at line 272 of file NodeFamily.cc.
References Arcane::ItemBase::isSuppressed(), Arcane::Item::itemBase(), and Arcane::Node::nbCell().
| void Arcane::mesh::NodeFamily::replaceCell | ( | ItemLocalId | node, |
| Integer | index, | ||
| ItemLocalId | cell ) |
Replaces the cell index index of the node node with that of localId() node_lid.
Definition at line 313 of file NodeFamily.cc.
| void Arcane::mesh::NodeFamily::replaceEdge | ( | ItemLocalId | node, |
| Integer | index, | ||
| ItemLocalId | edge ) |
Replaces the edge index index of the node node with that of localId() face_lid.
Definition at line 325 of file NodeFamily.cc.
| void Arcane::mesh::NodeFamily::replaceFace | ( | ItemLocalId | node, |
| Integer | index, | ||
| ItemLocalId | face ) |
Replaces the face index index of the node node with that of localId() face_lid.
Definition at line 337 of file NodeFamily.cc.
| void Arcane::mesh::NodeFamily::setConnectivity | ( | const Integer | c | ) |
Sets the active connectivity for the associated mesh.
This conditions the connectivities to the charge of this family
Definition at line 346 of file NodeFamily.cc.
References Arcane::TraceAccessor::debug(), Arcane::IK_Cell, Arcane::IK_Edge, Arcane::IK_Face, Arcane::IK_Node, and Arcane::mesh::ItemFamily::name().
| void Arcane::mesh::NodeFamily::sortInternalReferences | ( | ) |
Definition at line 441 of file NodeFamily.cc.
|
private |
Definition at line 165 of file NodeFamily.h.
|
private |
Definition at line 159 of file NodeFamily.h.
|
private |
Definition at line 163 of file NodeFamily.h.
|
private |
Definition at line 170 of file NodeFamily.h.
|
private |
Definition at line 157 of file NodeFamily.h.
|
private |
Definition at line 164 of file NodeFamily.h.
|
private |
Definition at line 169 of file NodeFamily.h.
|
private |
Definition at line 158 of file NodeFamily.h.
|
private |
Definition at line 167 of file NodeFamily.h.
|
private |
Definition at line 166 of file NodeFamily.h.
|
private |
Indicates if connected faces and edges are sorted by nodes.
Definition at line 172 of file NodeFamily.h.
|
private |
Definition at line 160 of file NodeFamily.h.
|
private |
Definition at line 161 of file NodeFamily.h.
|
private |
Instance containing the node type.
Definition at line 156 of file NodeFamily.h.
Referenced by allocateItemsBulk().
|
private |
Definition at line 162 of file NodeFamily.h.