Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::mesh::CellFamily Class Reference

Cell Family. More...

#include <arcane/mesh/CellFamily.h>

Inheritance diagram for Arcane::mesh::CellFamily:
Collaboration diagram for Arcane::mesh::CellFamily:

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
IItemFamilyfamily () 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.
ItemInternalallocOne (Int64 uid, ItemTypeInfo *type)
ItemInternalfindOrAllocOne (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.
VariableItemInt32itemsNewOwner () override
 Variable containing the number of the new subdomain owning the entity.
IItemFamilyparentFamily () 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.
ISubDomainsubDomain () const override
 Associated sub-domain.
ITraceMngtraceMng () const override
 Associated trace manager.
IMeshmesh () const override
 Associated mesh.
IParallelMngparallelMng () const override
 Associated parallelism manager.
IItemConnectivityInfolocalConnectivityInfos () const override
 Information on local connectivity within the subdomain for this family.
IItemConnectivityInfoglobalConnectivityInfos () 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.
ItemInternalfindOneItem (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.
IVariablefindVariable (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.
Int64ArrayViewuniqueIds ()
ItemSharedInfocommonItemSharedInfo ()
const DynamicMeshKindInfosinfos () 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.
IVariableSynchronizerallItemsSynchronizer () 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.
IParticleFamilytoParticleFamily () override
 Returns the interface of the particle family for this family.
void setItemSortFunction (IItemInternalSortFunction *sort_function) override
 Positions the entity sorting function.
IItemInternalSortFunctionitemSortFunction () 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.
IItemFamilyPolicyMngpolicyMng () override
 Interface of behaviors/policies associated with this family.
Propertiesproperties () 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)
ItemInternalConnectivityListitemInternalConnectivityList ()
 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.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () 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 IDoFFamilytoDoFFamily ()
 Returns the interface of the particle family for this family.
Public Member Functions inherited from Arcane::IItemFamilyModifier
virtual ~IItemFamilyModifier ()
ItemInternalallocOne (Int64 uid, ItemTypeInfo *type, mesh::MeshInfos &mesh_info)
ItemInternalfindOrAllocOne (Int64 uid, ItemTypeInfo *type, mesh::MeshInfos &mesh_info, bool &is_alloc)

Private Types

typedef ItemConnectivitySelectorT< NodeInternalConnectivityIndex, IncrementalItemConnectivityNodeConnectivity
typedef ItemConnectivitySelectorT< EdgeInternalConnectivityIndex, IncrementalItemConnectivityEdgeConnectivity
typedef ItemConnectivitySelectorT< FaceInternalConnectivityIndex, IncrementalItemConnectivityFaceConnectivity
typedef ItemConnectivitySelectorT< HParentInternalConnectivityIndex, IncrementalItemConnectivityHParentConnectivity
typedef ItemConnectivitySelectorT< HChildInternalConnectivityIndex, IncrementalItemConnectivityHChildConnectivity

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
NodeFamilym_node_family
EdgeFamilym_edge_family
FaceFamilym_face_family
NodeConnectivity * m_node_connectivity
EdgeConnectivity * m_edge_connectivity
FaceConnectivity * m_face_connectivity
HParentConnectivity * m_hparent_connectivity
HChildConnectivity * m_hchild_connectivity

Additional Inherited Members

Public Types inherited from Arcane::mesh::ItemFamily
using ItemInternalMap = ::Arcane::mesh::ItemInternalMap
Protected Types inherited from Arcane::mesh::ItemFamily
typedef std::set< IItemConnectivity * > ItemConnectivitySet
Protected Member Functions inherited from Arcane::mesh::ItemFamily
void _removeOne (Item item)
void _detachOne (Item item)
ItemInternalList _itemsInternal ()
ItemInternal_itemInternal (Int32 local_id)
ItemInternal_allocOne (Int64 unique_id)
ItemInternal_allocOne (Int64 unique_id, bool &need_alloc)
ItemInternal_findOrAllocOne (Int64 uid, bool &is_alloc)
void _setHasUniqueIdMap (bool v)
void _removeMany (Int32ConstArrayView local_ids)
void _removeDetachedOne (Item item)
const DynamicMeshKindInfos_infos () const
void _detachCells2 (Int32ConstArrayView local_ids)
virtual void _endAllocate ()
virtual void _notifyEndUpdateFromMesh ()
void _checkNeedEndUpdate () const
void _updateSharedInfo ()
void _allocateInfos (ItemInternal *item, Int64 uid, ItemSharedInfoWithType *isi)
void _allocateInfos (ItemInternal *item, Int64 uid, ItemTypeInfo *type)
void _endUpdate (bool need_check_remove)
bool _partialEndUpdate ()
void _updateGroup (ItemGroup group, bool need_check_remove)
void _updateVariable (IVariable *var)
void _addConnectivitySelector (ItemConnectivitySelector *selector)
void _buildConnectivitySelectors ()
void _preAllocate (Int32 nb_item, bool pre_alloc_connectivity)
ItemInternalConnectivityList_unstructuredItemInternalConnectivityList ()
ItemTypeMng_itemTypeMng () const
virtual IItemInternalSortFunction_defaultItemSortFunction ()
void _reserveInfosMemory (Integer memory)
void _resizeInfos (Integer memory)
ItemSharedInfoWithType_findSharedInfo (ItemTypeInfo *type)
Integer _allocMany (Integer memory)
void _setSharedInfosPtr (Integer *ptr)
void _checkValid ()
void _checkValidConnectivity ()
void _notifyDataIndexChanged ()
void _processNewGroup (ItemGroup group)
String _variableName (const String &base_name) const
template<class Type>
void _synchronizeVariable (IVariable *var, Type *var_value, Integer nb_elem)
void _updateGroups (bool check_need_remove)
void _compactFromParentFamily (const ItemFamilyCompactInfos &compact_infos)
 Compresses the connectivities.
void _checkComputeSynchronizeInfos (Int32 changed)
 Test collectif permettant de savoir s'il faut mettre à jour les infos de synchro.
void _readGroups ()
 Relit les groupes depuis une protection et les recréer si besoin.
void _invalidateComputedGroups ()
void _compactItems (bool do_sort)
 Compresses the entities.
void _compactOnlyItems (bool do_sort)
 Compresses the entities without updating references.
void _applyCheckNeedUpdateOnGroups ()
void _setTopologyModifier (IItemFamilyTopologyModifier *tm)
void _checkValidItem (ItemInternal *item)
void _checkValidSourceTargetItems (ItemInternal *source, ItemInternal *target)
void _checkValidItem (Item item)
void _checkValidSourceTargetItems (Item source, Item target)
Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const
Protected Attributes inherited from Arcane::mesh::ItemFamily
String m_name
String m_full_name
IMeshm_mesh = nullptr
InternalApim_internal_api = nullptr
ISubDomainm_sub_domain = nullptr
IItemFamilym_parent_family = nullptr
Integer m_parent_family_depth = 0
ItemGroupList m_item_groups
bool m_need_prepare_dump = true
MeshItemInternalListm_item_internal_list = nullptr
ItemSharedInfoListm_item_shared_infos = nullptr
ObserverPool m_observers
Ref< IVariableSynchronizerm_variable_synchronizer
Integer m_current_variable_item_size = 0
IItemInternalSortFunctionm_item_sort_function = nullptr
std::set< IVariable *, decltype(&_cmpIVariablePtr)> m_used_variables
std::set< IVariable *, decltype(&_cmpIVariablePtr)> m_used_shmem_variables
UniqueArray< ItemFamily * > m_child_families
ItemConnectivityInfom_local_connectivity_info = nullptr
ItemConnectivityInfom_global_connectivity_info = nullptr
Propertiesm_properties = nullptr
ItemConnectivitySet m_source_item_connectivities
ItemConnectivitySet m_target_item_connectivities
 connectivite ou ItemFamily == SourceFamily
IItemConnectivityMngm_connectivity_mng = nullptr
 connectivite ou ItemFamily == TargetFamily
IItemFamilyPolicyMngm_policy_mng = nullptr
Int32 m_sub_domain_id = A_NULL_RANK

Detailed Description

Cell Family.

Definition at line 44 of file CellFamily.h.

Member Typedef Documentation

◆ EdgeConnectivity

typedef ItemConnectivitySelectorT<EdgeInternalConnectivityIndex, IncrementalItemConnectivity> Arcane::mesh::CellFamily::EdgeConnectivity
private

Definition at line 50 of file CellFamily.h.

◆ FaceConnectivity

typedef ItemConnectivitySelectorT<FaceInternalConnectivityIndex, IncrementalItemConnectivity> Arcane::mesh::CellFamily::FaceConnectivity
private

Definition at line 51 of file CellFamily.h.

◆ HChildConnectivity

typedef ItemConnectivitySelectorT<HChildInternalConnectivityIndex, IncrementalItemConnectivity> Arcane::mesh::CellFamily::HChildConnectivity
private

Definition at line 53 of file CellFamily.h.

◆ HParentConnectivity

typedef ItemConnectivitySelectorT<HParentInternalConnectivityIndex, IncrementalItemConnectivity> Arcane::mesh::CellFamily::HParentConnectivity
private

Definition at line 52 of file CellFamily.h.

◆ NodeConnectivity

typedef ItemConnectivitySelectorT<NodeInternalConnectivityIndex, IncrementalItemConnectivity> Arcane::mesh::CellFamily::NodeConnectivity
private

Definition at line 49 of file CellFamily.h.

Constructor & Destructor Documentation

◆ CellFamily()

Arcane::mesh::CellFamily::CellFamily ( IMesh * mesh,
const String & name )

Definition at line 83 of file CellFamily.cc.

◆ ~CellFamily()

Arcane::mesh::CellFamily::~CellFamily ( )
virtual

Definition at line 104 of file CellFamily.cc.

Member Function Documentation

◆ _addChildCellToCell()

void Arcane::mesh::CellFamily::_addChildCellToCell ( Cell parent_cell,
Integer rank,
Cell child_cell )

Definition at line 503 of file CellFamily.cc.

◆ _addChildCellToCell2()

void Arcane::mesh::CellFamily::_addChildCellToCell2 ( Cell parent_cell,
Cell child_cell )

Definition at line 494 of file CellFamily.cc.

◆ _addChildrenCellsToCell()

void Arcane::mesh::CellFamily::_addChildrenCellsToCell ( Cell parent_cell,
Int32ConstArrayView children_cells_lid )

Definition at line 522 of file CellFamily.cc.

◆ _addParentCellToCell()

void Arcane::mesh::CellFamily::_addParentCellToCell ( Cell cell,
Cell parent_cell )

AMR.

Definition at line 485 of file CellFamily.cc.

Referenced by Arcane::mesh::DynamicMeshIncrementalBuilder::addHChildrenCells().

Here is the caller graph for this function:

◆ _createOne() [1/2]

void Arcane::mesh::CellFamily::_createOne ( ItemInternal * item,
Int64 uid,
ItemTypeId type_id )
inlineprivate

Definition at line 172 of file CellFamily.cc.

◆ _createOne() [2/2]

void Arcane::mesh::CellFamily::_createOne ( ItemInternal * item,
Int64 uid,
ItemTypeInfo * type )
inlineprivate

Definition at line 153 of file CellFamily.cc.

◆ _removeChildCellToCell()

void Arcane::mesh::CellFamily::_removeChildCellToCell ( Cell parent_cell,
Cell cell )

Definition at line 552 of file CellFamily.cc.

◆ _removeChildrenCellsToCell()

void Arcane::mesh::CellFamily::_removeChildrenCellsToCell ( Cell parent_cell)

Definition at line 562 of file CellFamily.cc.

◆ _removeNotConnectedSubItems()

void Arcane::mesh::CellFamily::_removeNotConnectedSubItems ( Cell cell)
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _removeParentCellToCell()

void Arcane::mesh::CellFamily::_removeParentCellToCell ( Cell cell)

Definition at line 543 of file CellFamily.cc.

◆ _removeSubItems()

void Arcane::mesh::CellFamily::_removeSubItems ( Cell cell)
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ allocOne() [1/3]

Cell Arcane::mesh::CellFamily::allocOne ( Int64 uid,
ItemTypeId type )

Definition at line 203 of file CellFamily.cc.

◆ allocOne() [2/3]

Item Arcane::mesh::CellFamily::allocOne ( Int64 uid,
ItemTypeId type_id,
MeshInfos & mesh_info )
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ allocOne() [3/3]

ItemInternal * Arcane::mesh::CellFamily::allocOne ( Int64 uid,
ItemTypeInfo * type )

Definition at line 223 of file CellFamily.cc.

◆ build()

void Arcane::mesh::CellFamily::build ( )
overridevirtual

Implements Arcane::IItemFamily.

Definition at line 112 of file CellFamily.cc.

◆ computeSynchronizeInfos()

void Arcane::mesh::CellFamily::computeSynchronizeInfos ( )
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().

Here is the call graph for this function:

◆ detachCell()

void Arcane::mesh::CellFamily::detachCell ( Cell cell)

Detaches the cell cell from the mesh without deleting it

Parameters
cellthe 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().

Here is the call graph for this function:

◆ detachCells2()

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.

Parameters
cells_local_idlocal identifiers of the cells to detach

Definition at line 343 of file CellFamily.cc.

◆ family()

IItemFamily * Arcane::mesh::CellFamily::family ( )
inlineoverridevirtual

Implements Arcane::IItemFamilyModifier.

Definition at line 70 of file CellFamily.h.

◆ findOrAllocOne() [1/3]

Cell Arcane::mesh::CellFamily::findOrAllocOne ( Int64 uid,
ItemTypeId type_id,
bool & is_alloc )

Definition at line 214 of file CellFamily.cc.

◆ findOrAllocOne() [2/3]

Item Arcane::mesh::CellFamily::findOrAllocOne ( Int64 uid,
ItemTypeId type_id,
MeshInfos & mesh_info,
bool & is_alloc )
overridevirtual

Implements Arcane::IItemFamilyModifier.

Definition at line 191 of file CellFamily.cc.

◆ findOrAllocOne() [3/3]

ItemInternal * Arcane::mesh::CellFamily::findOrAllocOne ( Int64 uid,
ItemTypeInfo * type,
bool & is_alloc )

Definition at line 234 of file CellFamily.cc.

◆ internalRemoveItems()

void Arcane::mesh::CellFamily::internalRemoveItems ( Int32ConstArrayView local_ids,
bool keep_ghost = false )
overridevirtual

Removes the group of entities local_ids

Parameters
local_idsthe group of cells to remove

Implements Arcane::IItemFamily.

Definition at line 392 of file CellFamily.cc.

References removeCell(), and Arcane::ConstArrayView< T >::size().

Here is the call graph for this function:

◆ preAllocate()

void Arcane::mesh::CellFamily::preAllocate ( Integer nb_item)
virtual

Definition at line 247 of file CellFamily.cc.

◆ removeCell()

void Arcane::mesh::CellFamily::removeCell ( Cell cell)

Remove the cell cell

Parameters
cellthe 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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ removeDetachedCell()

void Arcane::mesh::CellFamily::removeDetachedCell ( Cell cell)

Destroys the cell cell that has already been detached from the mesh

Parameters
cellthe detached cell to destroy

Definition at line 380 of file CellFamily.cc.

References _removeNotConnectedSubItems().

Here is the call graph for this function:

◆ replaceEdge()

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.

◆ replaceFace()

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.

◆ replaceHChild()

void Arcane::mesh::CellFamily::replaceHChild ( ItemLocalId cell,
Integer index,
ItemLocalId child_cell )

Definition at line 443 of file CellFamily.cc.

◆ replaceHParent()

void Arcane::mesh::CellFamily::replaceHParent ( ItemLocalId cell,
Integer index,
ItemLocalId parent_cell )

Definition at line 452 of file CellFamily.cc.

◆ replaceNode()

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.

◆ setConnectivity()

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().

Here is the call graph for this function:

Member Data Documentation

◆ m_edge_connectivity

EdgeConnectivity* Arcane::mesh::CellFamily::m_edge_connectivity
private

Definition at line 163 of file CellFamily.h.

◆ m_edge_family

EdgeFamily* Arcane::mesh::CellFamily::m_edge_family
private

Definition at line 159 of file CellFamily.h.

◆ m_edge_prealloc

Integer Arcane::mesh::CellFamily::m_edge_prealloc
private

Definition at line 154 of file CellFamily.h.

◆ m_face_connectivity

FaceConnectivity* Arcane::mesh::CellFamily::m_face_connectivity
private

Definition at line 164 of file CellFamily.h.

◆ m_face_family

FaceFamily* Arcane::mesh::CellFamily::m_face_family
private

Definition at line 160 of file CellFamily.h.

◆ m_face_prealloc

Integer Arcane::mesh::CellFamily::m_face_prealloc
private

Definition at line 155 of file CellFamily.h.

◆ m_hchild_connectivity

HChildConnectivity* Arcane::mesh::CellFamily::m_hchild_connectivity
private

Definition at line 166 of file CellFamily.h.

◆ m_hparent_connectivity

HParentConnectivity* Arcane::mesh::CellFamily::m_hparent_connectivity
private

Definition at line 165 of file CellFamily.h.

◆ m_mesh_connectivity

Integer Arcane::mesh::CellFamily::m_mesh_connectivity
private

Definition at line 156 of file CellFamily.h.

◆ m_node_connectivity

NodeConnectivity* Arcane::mesh::CellFamily::m_node_connectivity
private

Definition at line 162 of file CellFamily.h.

◆ m_node_family

NodeFamily* Arcane::mesh::CellFamily::m_node_family
private

Definition at line 158 of file CellFamily.h.

◆ m_node_prealloc

Integer Arcane::mesh::CellFamily::m_node_prealloc
private

Definition at line 153 of file CellFamily.h.


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