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

Face family. More...

#include <arcane/mesh/FaceFamily.h>

Inheritance diagram for Arcane::mesh::FaceFamily:
Collaboration diagram for Arcane::mesh::FaceFamily:

Classes

class  TopologyModifier

Public Member Functions

 FaceFamily (IMesh *mesh, const String &name)
void build () override
virtual void preAllocate (Integer nb_item)
Item allocOne (Int64 uid, ItemTypeId type_id, MeshInfos &mesh_info) override
 Allocates a face with unique number uid and type type. Generic item addition.
Item findOrAllocOne (Int64 uid, ItemTypeId type_id, MeshInfos &mesh_info, bool &is_alloc) override
 Retrieves or allocates a face with unique number uid and type type.
IItemFamilyfamily () override
ItemInternalallocOne (Int64 uid, ItemTypeInfo *type)
 Allocates a face with unique number uid and type type.
ItemInternalfindOrAllocOne (Int64 uid, ItemTypeInfo *type, bool &is_alloc)
 Retrieves or allocates a face with unique number uid and type type.
Face allocOne (Int64 uid, ItemTypeId type)
Face findOrAllocOne (Int64 uid, ItemTypeId type, bool &is_alloc)
void addBackCellToFace (Face face, Cell new_cell)
 Adds a back cell to the face.
void addFrontCellToFace (Face face, Cell new_cell)
 Adds a front cell to the face.
void removeCellFromFace (Face face, ItemLocalId cell_to_remove_lid)
 Removes a cell from the face.
void addEdgeToFace (Face face, Edge new_edge)
 Adds an edge to the face.
void removeEdgeFromFace (Face face, Edge edge_to_remove)
 Removes an edge from the face.
void removeFaceIfNotConnected (Face face)
 Removes the face if it is no longer connected.
void replaceNode (ItemLocalId face, Integer index, ItemLocalId node)
 Replaces the node at index index of the face face with that of localId() node_lid.
void replaceEdge (ItemLocalId face, Integer index, ItemLocalId edge)
 Replaces the edge at index index of the face face with that of localId() edge_lid.
void replaceFace (ItemLocalId face, Integer index, ItemLocalId face2)
 Replaces the face at index index of the face face with that of localId() face_lid.
void replaceCell (ItemLocalId face, Integer index, ItemLocalId cell)
 Replaces the cell at index index of the face face with that of localId() cell_lid.
void setBackAndFrontCells (Face face, Int32 back_cell_lid, Int32 front_cell_lid)
 Positions the cell behind and in front of the face.
void replaceBackCellToFace (Face face, ItemLocalId new_cell)
 AMR.
void replaceFrontCellToFace (Face face, ItemLocalId new_cell)
void addBackFrontCellsFromParentFace (Face subface, Face face)
void replaceBackFrontCellsFromParentFace (Cell subcell, Face subface, Cell cell, Face face)
bool isSubFaceInFace (Face subface, Face face) const
bool isChildOnFace (ItemWithNodes child, Face face) const
void subFaces (Face face, Array< ItemInternal * > &subfaces)
void allSubFaces (Face face, Array< ItemInternal * > &subfaces)
void activeSubFaces (Face face, Array< ItemInternal * > &subfaces)
void familyTree (Array< ItemInternal * > &family, Cell item, const bool reset=true) const
void activeFamilyTree (Array< ItemInternal * > &family, Cell item, const bool reset=true) const
void _addChildFaceToFace (Face parent_face, Face child_face)
void _addParentFaceToFace (Face parent_face, Face child_face)
void setCheckOrientation (bool is_check)
 Indicates whether the orientation of the cells and faces must be checked.
void applyTiedInterface (ITiedInterface *interface)
 Sets the information related to the tied interface interface.
void removeTiedInterface (ITiedInterface *interface)
 Removes the information related to the tied interface interface.
void setConnectivity (const Integer c)
void reorientFacesIfNeeded ()
virtual void computeSynchronizeInfos () override
 Constructs the structures necessary for synchronization.
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< CellInternalConnectivityIndex, IncrementalItemConnectivityCellConnectivity
typedef ItemConnectivitySelectorT< HParentInternalConnectivityIndex, IncrementalItemConnectivityHParentConnectivity
typedef ItemConnectivitySelectorT< HChildInternalConnectivityIndex, IncrementalItemConnectivityHChildConnectivity

Private Member Functions

void _addMasterFaceToFace (Face face, Face master_face)
void _addSlaveFacesToFace (Face face, Int32ConstArrayView slave_faces_lid)
void _removeMasterFaceToFace (Face face)
void _removeSlaveFacesToFace (Face face)
void _removeFace (Face face)
Real3 _computeFaceNormal (Face face, const SharedVariableNodeReal3 &nodes_coord) const
void _createOne (ItemInternal *item, Int64 uid, ItemTypeInfo *type)
void _createOne (ItemInternal *item, Int64 uid, ItemTypeId type_id)

Private Attributes

Integer m_node_prealloc = 0
Integer m_edge_prealloc = 0
Integer m_cell_prealloc = 0
Integer m_mesh_connectivity = 0
NodeFamilym_node_family = nullptr
 Node family associated with this family.
EdgeFamilym_edge_family = nullptr
 Edge family associated with this family.
bool m_check_orientation = true
 Indicates whether to check the orientation.
NodeConnectivity * m_node_connectivity = 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
bool m_has_face = true

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

Face family.

This class manages a face family of the mesh. The face has the characteristic of being oriented, and consequently, it possesses a so-called back cell (Face::backCell()) and a front cell (Face::frontCell()).

Generally, a face is not connected to other faces, except for tied interfaces, where the slave faces have a reference to the corresponding master face.

Definition at line 50 of file FaceFamily.h.

Member Typedef Documentation

◆ CellConnectivity

typedef ItemConnectivitySelectorT<CellInternalConnectivityIndex, IncrementalItemConnectivity> Arcane::mesh::FaceFamily::CellConnectivity
private

Definition at line 58 of file FaceFamily.h.

◆ EdgeConnectivity

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

Definition at line 56 of file FaceFamily.h.

◆ FaceConnectivity

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

Definition at line 57 of file FaceFamily.h.

◆ HChildConnectivity

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

Definition at line 60 of file FaceFamily.h.

◆ HParentConnectivity

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

Definition at line 59 of file FaceFamily.h.

◆ NodeConnectivity

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

Definition at line 55 of file FaceFamily.h.

Constructor & Destructor Documentation

◆ FaceFamily()

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

Definition at line 91 of file FaceFamily.cc.

◆ ~FaceFamily()

Arcane::mesh::FaceFamily::~FaceFamily ( )
virtual

Definition at line 101 of file FaceFamily.cc.

Member Function Documentation

◆ _addChildFaceToFace()

void Arcane::mesh::FaceFamily::_addChildFaceToFace ( Face parent_face,
Face child_face )

Definition at line 739 of file FaceFamily.cc.

◆ _addMasterFaceToFace()

void Arcane::mesh::FaceFamily::_addMasterFaceToFace ( Face face,
Face master_face )
private

Definition at line 918 of file FaceFamily.cc.

◆ _addParentFaceToFace()

void Arcane::mesh::FaceFamily::_addParentFaceToFace ( Face parent_face,
Face child_face )

Definition at line 730 of file FaceFamily.cc.

◆ _addSlaveFacesToFace()

void Arcane::mesh::FaceFamily::_addSlaveFacesToFace ( Face face,
Int32ConstArrayView slave_faces_lid )
private

Definition at line 928 of file FaceFamily.cc.

◆ _computeFaceNormal()

Real3 Arcane::mesh::FaceFamily::_computeFaceNormal ( Face face,
const SharedVariableNodeReal3 & nodes_coord ) const
private

Definition at line 798 of file FaceFamily.cc.

◆ _createOne() [1/2]

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

Definition at line 159 of file FaceFamily.cc.

◆ _createOne() [2/2]

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

Definition at line 146 of file FaceFamily.cc.

◆ _removeFace()

void Arcane::mesh::FaceFamily::_removeFace ( Face face)
inlineprivate

Definition at line 777 of file FaceFamily.cc.

◆ _removeMasterFaceToFace()

void Arcane::mesh::FaceFamily::_removeMasterFaceToFace ( Face face)
private

Definition at line 940 of file FaceFamily.cc.

◆ _removeSlaveFacesToFace()

void Arcane::mesh::FaceFamily::_removeSlaveFacesToFace ( Face face)
private

Definition at line 950 of file FaceFamily.cc.

◆ activeFamilyTree()

void Arcane::mesh::FaceFamily::activeFamilyTree ( Array< ItemInternal * > & family,
Cell item,
const bool reset = true ) const

Definition at line 709 of file FaceFamily.cc.

◆ activeSubFaces()

void Arcane::mesh::FaceFamily::activeSubFaces ( Face face,
Array< ItemInternal * > & subfaces )

Definition at line 643 of file FaceFamily.cc.

◆ addBackCellToFace()

void Arcane::mesh::FaceFamily::addBackCellToFace ( Face face,
Cell new_cell )

Adds a back cell to the face.

Definition at line 380 of file FaceFamily.cc.

References ARCANE_FATAL, Arcane::Face::backCell(), Arcane::Face::cellId(), Arcane::Item::hasFlags(), Arcane::ItemFlags::II_HasBackCell, Arcane::Item::localId(), m_check_orientation, Arcane::Face::nbCell(), and setBackAndFrontCells().

Here is the call graph for this function:

◆ addBackFrontCellsFromParentFace()

void Arcane::mesh::FaceFamily::addBackFrontCellsFromParentFace ( Face subface,
Face face )

Definition at line 472 of file FaceFamily.cc.

◆ addEdgeToFace()

void Arcane::mesh::FaceFamily::addEdgeToFace ( Face face,
Edge new_edge )

Adds an edge to the face.

Definition at line 750 of file FaceFamily.cc.

◆ addFrontCellToFace()

void Arcane::mesh::FaceFamily::addFrontCellToFace ( Face face,
Cell new_cell )

Adds a front cell to the face.

Definition at line 414 of file FaceFamily.cc.

References ARCANE_FATAL, Arcane::Face::cellId(), Arcane::Face::frontCell(), Arcane::Item::hasFlags(), Arcane::ItemFlags::II_HasFrontCell, Arcane::Item::localId(), m_check_orientation, Arcane::Face::nbCell(), and setBackAndFrontCells().

Here is the call graph for this function:

◆ allocOne() [1/3]

Face Arcane::mesh::FaceFamily::allocOne ( Int64 uid,
ItemTypeId type )

Definition at line 236 of file FaceFamily.cc.

◆ allocOne() [2/3]

Item Arcane::mesh::FaceFamily::allocOne ( Int64 uid,
ItemTypeId type_id,
MeshInfos & mesh_info )
overridevirtual

Allocates a face with unique number uid and type type. Generic item addition.

This version is intended to be called in a generic block ignoring the item type of the item. The update of the mesh item count is therefore done in this method, and not in the calling block.

Implements Arcane::IItemFamilyModifier.

Definition at line 174 of file FaceFamily.cc.

References allocOne(), and Arcane::mesh::MeshInfos::nbFace().

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::FaceFamily::allocOne ( Int64 uid,
ItemTypeInfo * type )

Allocates a face with unique number uid and type type.

Definition at line 186 of file FaceFamily.cc.

◆ allSubFaces()

void Arcane::mesh::FaceFamily::allSubFaces ( Face face,
Array< ItemInternal * > & subfaces )

Definition at line 610 of file FaceFamily.cc.

◆ applyTiedInterface()

void Arcane::mesh::FaceFamily::applyTiedInterface ( ITiedInterface * interface)

Sets the information related to the tied interface interface.

Definition at line 960 of file FaceFamily.cc.

References Arcane::Array< T >::add(), Arcane::Array< T >::clear(), ENUMERATE_FACE, Arcane::TiedFace::face(), Arcane::Item::localId(), Arcane::ITiedInterface::masterInterface(), Arcane::ConstArrayView< T >::size(), and Arcane::ITiedInterface::tiedFaces().

Referenced by Arcane::mesh::TiedInterfaceExchanger::finalize().

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

◆ build()

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

Implements Arcane::IItemFamily.

Definition at line 109 of file FaceFamily.cc.

◆ computeSynchronizeInfos()

void Arcane::mesh::FaceFamily::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 279 of file FaceFamily.cc.

References Arcane::mesh::ItemFamily::computeSynchronizeInfos(), and Arcane::TraceAccessor::debug().

Here is the call graph for this function:

◆ family()

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

Implements Arcane::IItemFamilyModifier.

Definition at line 77 of file FaceFamily.h.

◆ familyTree()

void Arcane::mesh::FaceFamily::familyTree ( Array< ItemInternal * > & family,
Cell item,
const bool reset = true ) const

Definition at line 687 of file FaceFamily.cc.

◆ findOrAllocOne() [1/3]

Face Arcane::mesh::FaceFamily::findOrAllocOne ( Int64 uid,
ItemTypeId type,
bool & is_alloc )

Definition at line 247 of file FaceFamily.cc.

◆ findOrAllocOne() [2/3]

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

Retrieves or allocates a face with unique number uid and type type.

This version is intended to be called in a generic block ignoring the item type of the item. The update of the mesh item count is therefore done in this method, and not in the calling block. If a face with unique number uid already exists, it is returned. Otherwise, the face is created. is_alloc is true if the face has just been created.

Implements Arcane::IItemFamilyModifier.

Definition at line 206 of file FaceFamily.cc.

References findOrAllocOne(), and Arcane::mesh::MeshInfos::nbFace().

Referenced by findOrAllocOne().

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

◆ findOrAllocOne() [3/3]

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

Retrieves or allocates a face with unique number uid and type type.

If a face with unique number uid already exists, it is returned. Otherwise, the face is created. is_alloc is true if the face has just been created.

Definition at line 223 of file FaceFamily.cc.

◆ isChildOnFace()

bool Arcane::mesh::FaceFamily::isChildOnFace ( ItemWithNodes child,
Face face ) const

Definition at line 562 of file FaceFamily.cc.

◆ isSubFaceInFace()

bool Arcane::mesh::FaceFamily::isSubFaceInFace ( Face subface,
Face face ) const

Definition at line 533 of file FaceFamily.cc.

◆ preAllocate()

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

Definition at line 260 of file FaceFamily.cc.

◆ removeCellFromFace()

void Arcane::mesh::FaceFamily::removeCellFromFace ( Face face,
ItemLocalId cell_to_remove_lid )

Removes a cell from the face.

AMR

Definition at line 834 of file FaceFamily.cc.

References ARCANE_FATAL, Arcane::Face::backCell(), Arcane::Face::cellId(), Arcane::Face::frontCell(), Arcane::Cell::isActive(), Arcane::ItemBase::isSuppressed(), Arcane::Item::itemBase(), Arcane::Cell::level(), Arcane::Face::nbCell(), setBackAndFrontCells(), Arcane::AbstractArray< T >::size(), and Arcane::Item::uniqueId().

Here is the call graph for this function:

◆ removeEdgeFromFace()

void Arcane::mesh::FaceFamily::removeEdgeFromFace ( Face face,
Edge edge_to_remove )

Removes an edge from the face.

No notion of no_destroy because the consistency is determined by the cells and not the edges

Definition at line 764 of file FaceFamily.cc.

◆ removeFaceIfNotConnected()

void Arcane::mesh::FaceFamily::removeFaceIfNotConnected ( Face face)

Removes the face if it is no longer connected.

Definition at line 905 of file FaceFamily.cc.

References Arcane::ItemBase::isSuppressed(), Arcane::Item::itemBase(), and Arcane::Face::nbCell().

Here is the call graph for this function:

◆ removeTiedInterface()

void Arcane::mesh::FaceFamily::removeTiedInterface ( ITiedInterface * interface)

Removes the information related to the tied interface interface.

Definition at line 985 of file FaceFamily.cc.

References ENUMERATE_FACE, Arcane::TiedFace::face(), Arcane::ITiedInterface::masterInterface(), Arcane::ConstArrayView< T >::size(), and Arcane::ITiedInterface::tiedFaces().

Referenced by Arcane::mesh::TiedInterfaceExchanger::initialize().

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

◆ reorientFacesIfNeeded()

void Arcane::mesh::FaceFamily::reorientFacesIfNeeded ( )

Definition at line 1030 of file FaceFamily.cc.

◆ replaceBackCellToFace()

void Arcane::mesh::FaceFamily::replaceBackCellToFace ( Face face,
ItemLocalId new_cell )

AMR.

Definition at line 448 of file FaceFamily.cc.

References Arcane::mesh::ItemFamily::_topologyModifier(), Arcane::Face::backCell(), Arcane::IItemFamilyTopologyModifier::findAndReplaceCell(), and Arcane::Face::nbCell().

Here is the call graph for this function:

◆ replaceBackFrontCellsFromParentFace()

void Arcane::mesh::FaceFamily::replaceBackFrontCellsFromParentFace ( Cell subcell,
Face subface,
Cell cell,
Face face )

Definition at line 496 of file FaceFamily.cc.

◆ replaceCell()

void Arcane::mesh::FaceFamily::replaceCell ( ItemLocalId face,
Integer index,
ItemLocalId cell )

Replaces the cell at index index of the face face with that of localId() cell_lid.

Definition at line 328 of file FaceFamily.cc.

◆ replaceEdge()

void Arcane::mesh::FaceFamily::replaceEdge ( ItemLocalId face,
Integer index,
ItemLocalId edge )

Replaces the edge at index index of the face face with that of localId() edge_lid.

Definition at line 304 of file FaceFamily.cc.

◆ replaceFace()

void Arcane::mesh::FaceFamily::replaceFace ( ItemLocalId face,
Integer index,
ItemLocalId face2 )

Replaces the face at index index of the face face with that of localId() face_lid.

Definition at line 316 of file FaceFamily.cc.

◆ replaceFrontCellToFace()

void Arcane::mesh::FaceFamily::replaceFrontCellToFace ( Face face,
ItemLocalId new_cell )

Definition at line 460 of file FaceFamily.cc.

◆ replaceNode()

void Arcane::mesh::FaceFamily::replaceNode ( ItemLocalId face,
Integer index,
ItemLocalId node )

Replaces the node at index index of the face face with that of localId() node_lid.

Definition at line 292 of file FaceFamily.cc.

◆ setBackAndFrontCells()

void Arcane::mesh::FaceFamily::setBackAndFrontCells ( Face face,
Int32 iback_cell_lid,
Int32 ifront_cell_lid )

Positions the cell behind and in front of the face.

iback_cell_lid or ifront_cell_lid can have the value NULL_ITEM_LOCAL_ID to indicate that there is no cell behind or in front. If both values are NULL_ITEM_LOCAL_ID it means that the face has no connected cells.

Definition at line 344 of file FaceFamily.cc.

References Arcane::MutableItemBase::_setFaceBackAndFrontCells(), Arcane::Item::localId(), and Arcane::Item::mutableItemBase().

Referenced by addBackCellToFace(), addFrontCellToFace(), and removeCellFromFace().

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

◆ setCheckOrientation()

void Arcane::mesh::FaceFamily::setCheckOrientation ( bool is_check)
inline

Indicates whether the orientation of the cells and faces must be checked.

Normally, this option must be active. However, it is possible in certain cases, such as during refinement, that the orientation is not correct. For example, it is possible to have two cells behind a face. In this case, this option must be deactivated.

Definition at line 134 of file FaceFamily.h.

References m_check_orientation.

◆ setConnectivity()

void Arcane::mesh::FaceFamily::setConnectivity ( const Integer c)

Definition at line 1007 of file FaceFamily.cc.

◆ subFaces()

void Arcane::mesh::FaceFamily::subFaces ( Face face,
Array< ItemInternal * > & subfaces )

Definition at line 578 of file FaceFamily.cc.

Member Data Documentation

◆ m_cell_connectivity

CellConnectivity* Arcane::mesh::FaceFamily::m_cell_connectivity = nullptr
private

Definition at line 169 of file FaceFamily.h.

◆ m_cell_prealloc

Integer Arcane::mesh::FaceFamily::m_cell_prealloc = 0
private

Definition at line 154 of file FaceFamily.h.

◆ m_check_orientation

bool Arcane::mesh::FaceFamily::m_check_orientation = true
private

Indicates whether to check the orientation.

Definition at line 164 of file FaceFamily.h.

Referenced by addBackCellToFace(), addFrontCellToFace(), and setCheckOrientation().

◆ m_edge_connectivity

EdgeConnectivity* Arcane::mesh::FaceFamily::m_edge_connectivity = nullptr
private

Definition at line 167 of file FaceFamily.h.

◆ m_edge_family

EdgeFamily* Arcane::mesh::FaceFamily::m_edge_family = nullptr
private

Edge family associated with this family.

Definition at line 161 of file FaceFamily.h.

◆ m_edge_prealloc

Integer Arcane::mesh::FaceFamily::m_edge_prealloc = 0
private

Definition at line 153 of file FaceFamily.h.

◆ m_face_connectivity

FaceConnectivity* Arcane::mesh::FaceFamily::m_face_connectivity = nullptr
private

Definition at line 168 of file FaceFamily.h.

◆ m_has_face

bool Arcane::mesh::FaceFamily::m_has_face = true
private

Definition at line 173 of file FaceFamily.h.

◆ m_hchild_connectivity

HChildConnectivity* Arcane::mesh::FaceFamily::m_hchild_connectivity = nullptr
private

Definition at line 171 of file FaceFamily.h.

◆ m_hparent_connectivity

HParentConnectivity* Arcane::mesh::FaceFamily::m_hparent_connectivity = nullptr
private

Definition at line 170 of file FaceFamily.h.

◆ m_mesh_connectivity

Integer Arcane::mesh::FaceFamily::m_mesh_connectivity = 0
private

Definition at line 155 of file FaceFamily.h.

◆ m_node_connectivity

NodeConnectivity* Arcane::mesh::FaceFamily::m_node_connectivity = nullptr
private

Definition at line 166 of file FaceFamily.h.

◆ m_node_family

NodeFamily* Arcane::mesh::FaceFamily::m_node_family = nullptr
private

Node family associated with this family.

Definition at line 158 of file FaceFamily.h.

◆ m_node_prealloc

Integer Arcane::mesh::FaceFamily::m_node_prealloc = 0
private

Definition at line 152 of file FaceFamily.h.


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