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

Construction of a mesh incrementally. More...

#include <arcane/mesh/DynamicMeshIncrementalBuilder.h>

Inheritance diagram for Arcane::mesh::DynamicMeshIncrementalBuilder:
Collaboration diagram for Arcane::mesh::DynamicMeshIncrementalBuilder:

Classes

struct  NodeInFacePtr
struct  NodeInFace

Public Member Functions

 DynamicMeshIncrementalBuilder (DynamicMesh *mesh)
 Constructs an instance for the mesh mesh.
void addCells (Integer nb_cell, Int64ConstArrayView cell_infos, Integer sub_domain_id, Int32ArrayView cells, bool allow_build_face=true)
 Adds cells to the current mesh.
void addCells2 (Integer nb_cell, Int64ConstArrayView cell_infos, Integer sub_domain_id, Int32ArrayView cells, bool allow_build_face=true)
void addCells3 (Integer nb_cell, Int64ConstArrayView cell_infos, Integer sub_domain_id, Int32ArrayView cells, bool allow_build_face=true)
 Adds cells to the current mesh. Uses generic item addition based on family dependencies.
void addFaces (Integer nb_face, Int64ConstArrayView face_infos, Integer sub_domain_id, Int32ArrayView faces)
 Ajoute des faces au maillage actuel.
void addFaces2 (Integer nb_face, Int64ConstArrayView face_infos, Integer sub_domain_id, Int32ArrayView faces)
 Ajoute des faces au maillage actuel. Utilise l'ajout d'item générique basé sur dépendances entre familles.
void addFaces3 (Integer nb_face, Int64ConstArrayView face_infos, Integer sub_domain_id, Int32ArrayView faces)
void addEdges (Integer nb_edge, Int64ConstArrayView edge_infos, Integer sub_domain_id, Int32ArrayView edges)
 Adds edges to the current mesh.
void addEdges2 (Integer nb_edge, Int64ConstArrayView edge_infos, Integer sub_domain_id, Int32ArrayView edges)
 Adds edges to the current mesh. Uses generic item addition based on family dependencies.
void addEdges3 (Integer nb_edge, Int64ConstArrayView edge_infos, Integer sub_domain_id, Int32ArrayView edges)
void addNodes (Int64ConstArrayView nodes_uid, Integer sub_domain_id, Int32ArrayView nodes)
 Ajoute des noeuds au maillage actuel.
void addNodes2 (Int64ConstArrayView nodes_uid, Integer sub_domain_id, Int32ArrayView nodes)
 Ajoute des noeuds au maillage actuel. Utilise l'ajout d'item générique basé sur dépendances entre familles.
void addItems (ItemDataList &item_info_list)
 Ajout générique d'items d'un ensemble de famille pour lesquelles on fournit un ItemData.
void addItems (ItemDataList &item_info_list, ItemDataList &item_relation_info_list)
void addRelations (ItemDataList &item_relation_list)
void addFamilyItems (ItemData &item_info)
 Ajout générique d'items d'une famille, décrite par son ItemInfo.
void addParentCells (const ItemVectorView &items)
 Add to the current mesh items coming from a parent mesh.
void addParentItems (const ItemVectorView &items, const eItemKind submesh_kind)
 Add to the current mesh items coming from a parent mesh.
void addHChildrenCells (Cell hParent_cell, Integer nb_cell, Int64ConstArrayView cells_infos, Int32 sub_domain_id, Int32ArrayView cells, bool allow_build_face)
 Ajoute des mailles au maillage actuel.
void computeFacesUniqueIds ()
 Calculates the unique IDs for each face.
void addGhostLayers (bool is_allocate)
void addGhostChildFromParent (Array< Int64 > &ghost_cell_to_refine)
 AMR.
void removeGhostCells ()
void removeNeedRemoveMarkedCells ()
void removeNeedRemoveMarkedItems ()
 Removes ghost items.
void readFromDump ()
void setConnectivity (Integer c)
 Sets the active connectivity for the associated mesh.
void resetAfterDeallocate ()
 Resets the structures to allow for a new allocation.
void printInfos ()
void printStats (Int32 level=TraceMessage::DEFAULT_LEVEL)
ItemInternalMapitemsMap (eItemKind ik)
DynamicMeshmesh ()
bool isVerbose () const
bool hasEdge () const
OneMeshItemAdderoneMeshItemAdder () const
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

Private Types

typedef NodeInFace::NodeInFaceSet NodeInFaceSet

Private Member Functions

void _printCellFaceInfos (ItemInternal *cell, const String &str)
void _removeNeedRemoveMarkedItems (ItemInternalMap &map, UniqueArray< Int32 > &items_local_id)
void _fillFaceInfo (Integer &nb_face, Integer nb_cell, Int64Array &faces_infos, Int64ConstArrayView cells_infos, std::map< Int64, Int64SharedArray > &cell_to_face_connectivity_info)
 Adds cells to the current mesh.
void _fillEdgeInfo (Integer &nb_edge, Integer nb_face, Int64Array &edges_infos, Int64ConstArrayView faces_infos, std::map< std::pair< Int64, Int64 >, Int64 > &edge_uid_map)
void _fillNodeInfo (Integer &nb_node, Integer nb_face, Int64Array &nodes_infos, Int64ConstArrayView faces_infos)
void _fillNodeInfoFromEdge (Integer &nb_node, Integer nb_edge, Int64Array &nodes_infos, Int64ConstArrayView edges_infos)
void _fillCellInfo2 (Integer nb_cell, Int64ConstArrayView cells_infos, Int64Array &cell_infos2, Integer &nb_face, Int64Array &faces_infos, Int64Array &node_uids, bool allow_build_face)
void _fillFaceInfo2 (Integer nb_face, Int64ConstArrayView faces_infos, Int64ArrayView face_info2, Int64Array &node_uids)
void _fillEdgeInfo2 (Integer nb_edge, Int64ConstArrayView edges_infos, Int64ArrayView edge_info2, Int64Array &node_uids)
void _fillEdgeNewInfoNew (Integer nb_edge, Int64ConstArrayView edges_infos, Int64ArrayView edge_new_infos)
void _fillNodeNewInfo (Int64ConstArrayView node_uids, Int64ArrayView node_infos2)
void _fillCellNewInfoNew (Integer nb_cell, Int64ConstArrayView cells_infos, Int64Array &cell_infos2, const std::map< Int64, Int64SharedArray > &cell_to_face_connectivity_info, const std::map< std::pair< Int64, Int64 >, Int64 > &edge_uid_map)
void _fillFaceNewInfoNew (Integer nb_face, Int64ConstArrayView faces_infos, Int64Array &face_infos2, const std::map< std::pair< Int64, Int64 >, Int64 > &edge_uid_map)
void _fillItemInfo2 (ItemDataList &item_data_list, Int64ConstArrayView cells_infos)
void _initNodeRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView faces_info)
void _initEdgeRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView faces_info)
void _initFaceRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView faces_info)
 Initializes face relation info.
void _appendNodeRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView faces_info)
void _appendEdgeRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView faces_info)
void _appendFaceRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView faces_info)
void _fillNodeRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView nodes_info, bool is_source_item_relation_data_emtpy)
void _fillEdgeRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView edges_info, bool is_source_item_relation_data_emtpy)
void _fillFaceRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView faces_info, bool is_source_item_relation_data_emtpy)
void _fillItemRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView source_item_types, bool is_source_item_relation_data_emtpy)
void _initEmptyRelationInfo (Int64Array &source_relation_info, std::map< Int64, Int64SharedArray > &source_to_target_uids, Int64ConstArrayView source_item_uids_and_types, Integer approx_relation_size, IItemFamily const *target_family)
void _appendInitializedRelationInfo (Int64Array &source_relation_info, std::map< Int64, Int64SharedArray > &source_to_target_uids, Int64ConstArrayView source_item_uids_and_types, Integer approx_relation_size, IItemFamily const *target_family)
Int64 _findFaceUniqueId (Int64ConstArrayView work_face_sorted_nodes, NodeInFaceSet &face_nodes_set)
Int64 _findFaceInFaceNodesSet (const NodeInFaceSet &face_nodes_set, Integer index, Int64ConstArrayView face_nodes, NodeInFacePtr node)
void _addFaceNodes (NodeInFaceSet &face_nodes_set, Int64ConstArrayView face_nodes, Int64 face_uid)
void _addFaceInFaceNodesSet (NodeInFaceSet &face_nodes_set, Integer index, Int64ConstArrayView face_nodes, NodeInFacePtr node, Int64 face_uid)
NodeInFacePtr_insertNode (NodeInFaceSet &face_nodes_set, Int64 inserted_node_uid)
void _addItemsOrRelations (ItemDataList &info_list, IItemFamilyNetwork::eSchedulingOrder family_graph_traversal_order)

Private Attributes

DynamicMeshm_mesh
 Associated mesh.
ItemTypeMngm_item_type_mng = nullptr
Integer m_connectivity = 0
 Connectivity info of the current mesh.
bool m_has_edge = false
 Info on the presence of an edge (accelerates access to general connectivity).
bool m_has_amr
 AMR.
bool m_verbose = false
 True if messages are displayed.
OneMeshItemAdderm_one_mesh_item_adder = nullptr
 Mesh building utilities.
GhostLayerBuilderm_ghost_layer_builder = nullptr
 Utility to build ghost elements.
FaceUniqueIdBuilderm_face_unique_id_builder = nullptr
EdgeUniqueIdBuilderm_edge_unique_id_builder = nullptr
Int64 m_face_uid_pool = 0
 uniqueId() number used for generating faces
Int64 m_edge_uid_pool = 0
 uniqueId() number used for generating edges

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Construction of a mesh incrementally.

Definition at line 55 of file DynamicMeshIncrementalBuilder.h.

Member Typedef Documentation

◆ NodeInFaceSet

typedef NodeInFace::NodeInFaceSet Arcane::mesh::DynamicMeshIncrementalBuilder::NodeInFaceSet
private

Definition at line 205 of file DynamicMeshIncrementalBuilder.h.

Constructor & Destructor Documentation

◆ DynamicMeshIncrementalBuilder()

Arcane::mesh::DynamicMeshIncrementalBuilder::DynamicMeshIncrementalBuilder ( DynamicMesh * mesh)
explicit

Constructs an instance for the mesh mesh.

Definition at line 59 of file DynamicMeshIncrementalBuilder.cc.

References m_has_amr, m_mesh, m_one_mesh_item_adder, m_verbose, Arcane::TraceAccessor::TraceAccessor(), and Arcane::TraceAccessor::traceMng().

Here is the call graph for this function:

◆ ~DynamicMeshIncrementalBuilder()

Arcane::mesh::DynamicMeshIncrementalBuilder::~DynamicMeshIncrementalBuilder ( )

Definition at line 74 of file DynamicMeshIncrementalBuilder.cc.

Member Function Documentation

◆ _addFaceInFaceNodesSet()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_addFaceInFaceNodesSet ( NodeInFaceSet & face_nodes_set,
Integer index,
Int64ConstArrayView face_nodes,
NodeInFacePtr node,
Int64 face_uid )
private

Definition at line 807 of file DynamicMeshIncrementalBuilder.cc.

◆ _addFaceNodes()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_addFaceNodes ( NodeInFaceSet & face_nodes_set,
Int64ConstArrayView face_nodes,
Int64 face_uid )
private

Definition at line 797 of file DynamicMeshIncrementalBuilder.cc.

◆ _addItemsOrRelations()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_addItemsOrRelations ( ItemDataList & info_list,
IItemFamilyNetwork::eSchedulingOrder family_graph_traversal_order )
private

Definition at line 1050 of file DynamicMeshIncrementalBuilder.cc.

◆ _appendEdgeRelationInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_appendEdgeRelationInfo ( ItemData & source_item_relation_data,
const ItemData & target_item_dependencies_data,
Int64ConstArrayView faces_info )
private

Definition at line 586 of file DynamicMeshIncrementalBuilder.cc.

◆ _appendFaceRelationInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_appendFaceRelationInfo ( ItemData & source_item_relation_data,
const ItemData & target_item_dependencies_data,
Int64ConstArrayView faces_info )
private

Definition at line 551 of file DynamicMeshIncrementalBuilder.cc.

◆ _appendInitializedRelationInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_appendInitializedRelationInfo ( Int64Array & source_relation_info,
std::map< Int64, Int64SharedArray > & source_to_target_uids,
Int64ConstArrayView source_item_uids_and_types,
Integer approx_relation_size,
IItemFamily const * target_family )
private

Definition at line 715 of file DynamicMeshIncrementalBuilder.cc.

◆ _appendNodeRelationInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_appendNodeRelationInfo ( ItemData & source_item_relation_data,
const ItemData & target_item_dependencies_data,
Int64ConstArrayView faces_info )
private

Definition at line 620 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillCellInfo2()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillCellInfo2 ( Integer nb_cell,
Int64ConstArrayView cells_infos,
Int64Array & cell_infos2,
Integer & nb_face,
Int64Array & faces_infos,
Int64Array & node_uids,
bool allow_build_face )
private

Definition at line 463 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillCellNewInfoNew()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillCellNewInfoNew ( Integer nb_cell,
Int64ConstArrayView cells_infos,
Int64Array & cell_infos2,
const std::map< Int64, Int64SharedArray > & cell_to_face_connectivity_info,
const std::map< std::pair< Int64, Int64 >, Int64 > & edge_uid_map )
private

Definition at line 407 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillEdgeInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillEdgeInfo ( Integer & nb_edge,
Integer nb_face,
Int64Array & edges_infos,
Int64ConstArrayView faces_infos,
std::map< std::pair< Int64, Int64 >, Int64 > & edge_uid_map )
private

Definition at line 329 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillEdgeInfo2()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillEdgeInfo2 ( Integer nb_edge,
Int64ConstArrayView edges_infos,
Int64ArrayView edge_info2,
Int64Array & node_uids )
private

Definition at line 1465 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillEdgeNewInfoNew()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillEdgeNewInfoNew ( Integer nb_edge,
Int64ConstArrayView edges_infos,
Int64ArrayView edge_new_infos )
private

Definition at line 1491 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillEdgeRelationInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillEdgeRelationInfo ( ItemData & source_item_relation_data,
const ItemData & target_item_dependencies_data,
Int64ConstArrayView edges_info,
bool is_source_item_relation_data_emtpy )
private

Definition at line 594 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillFaceInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillFaceInfo ( Integer & nb_face,
Integer nb_cell,
Int64Array & faces_infos,
Int64ConstArrayView cells_infos,
std::map< Int64, Int64SharedArray > & cell_to_face_connectivity_info )
private

Adds cells to the current mesh.

Parameters
mesh_nb_cellnumber of cells to add
cells_infosmesh information (see IMesh::allocateMesh())
sub_domain_idsub-domain to which the cells will belong
cellsreturns, if not empty, contains the created cells.

Definition at line 283 of file DynamicMeshIncrementalBuilder.cc.

References Arcane::Array< T >::add(), Arcane::Array< T >::addRange(), Arcane::ItemTypeInfo::localFace(), m_face_uid_pool, Arcane::ItemTypeInfo::nbLocalFace(), Arcane::ItemTypeInfo::nbLocalNode(), Arcane::ItemTypeInfo::LocalFace::nbNode(), Arcane::ItemTypeInfo::LocalFace::node(), Arcane::Array< T >::reserve(), Arcane::Array< T >::resize(), Arcane::ConstArrayView< T >::size(), Arcane::ItemTypeMng::typeFromId(), and Arcane::ItemTypeInfo::LocalFace::typeId().

Referenced by addCells3().

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

◆ _fillFaceInfo2()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillFaceInfo2 ( Integer nb_face,
Int64ConstArrayView faces_infos,
Int64ArrayView face_info2,
Int64Array & node_uids )
private

Definition at line 1315 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillFaceNewInfoNew()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillFaceNewInfoNew ( Integer nb_face,
Int64ConstArrayView faces_infos,
Int64Array & face_infos2,
const std::map< std::pair< Int64, Int64 >, Int64 > & edge_uid_map )
private

Definition at line 1261 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillFaceRelationInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillFaceRelationInfo ( ItemData & source_item_relation_data,
const ItemData & target_item_dependencies_data,
Int64ConstArrayView faces_info,
bool is_source_item_relation_data_emtpy )
private

Definition at line 559 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillItemRelationInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillItemRelationInfo ( ItemData & source_item_relation_data,
const ItemData & target_item_dependencies_data,
Int64ConstArrayView source_item_types,
bool is_source_item_relation_data_emtpy )
private

Definition at line 643 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillNodeInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillNodeInfo ( Integer & nb_node,
Integer nb_face,
Int64Array & nodes_infos,
Int64ConstArrayView faces_infos )
private

Definition at line 365 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillNodeInfoFromEdge()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillNodeInfoFromEdge ( Integer & nb_node,
Integer nb_edge,
Int64Array & nodes_infos,
Int64ConstArrayView edges_infos )
private

Definition at line 389 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillNodeNewInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillNodeNewInfo ( Int64ConstArrayView node_uids,
Int64ArrayView node_infos2 )
private

Definition at line 988 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillNodeRelationInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_fillNodeRelationInfo ( ItemData & source_item_relation_data,
const ItemData & target_item_dependencies_data,
Int64ConstArrayView nodes_info,
bool is_source_item_relation_data_emtpy )
private

Definition at line 628 of file DynamicMeshIncrementalBuilder.cc.

◆ _findFaceInFaceNodesSet()

Int64 Arcane::mesh::DynamicMeshIncrementalBuilder::_findFaceInFaceNodesSet ( const NodeInFaceSet & face_nodes_set,
Integer index,
Int64ConstArrayView face_nodes,
NodeInFacePtr node )
private

Definition at line 781 of file DynamicMeshIncrementalBuilder.cc.

◆ _findFaceUniqueId()

Int64 Arcane::mesh::DynamicMeshIncrementalBuilder::_findFaceUniqueId ( Int64ConstArrayView work_face_sorted_nodes,
NodeInFaceSet & face_nodes_set )
private

Definition at line 770 of file DynamicMeshIncrementalBuilder.cc.

◆ _initEdgeRelationInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_initEdgeRelationInfo ( ItemData & source_item_relation_data,
const ItemData & target_item_dependencies_data,
Int64ConstArrayView faces_info )
private

Definition at line 578 of file DynamicMeshIncrementalBuilder.cc.

◆ _initEmptyRelationInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_initEmptyRelationInfo ( Int64Array & source_relation_info,
std::map< Int64, Int64SharedArray > & source_to_target_uids,
Int64ConstArrayView source_item_uids_and_types,
Integer approx_relation_size,
IItemFamily const * target_family )
private

Definition at line 692 of file DynamicMeshIncrementalBuilder.cc.

◆ _initFaceRelationInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_initFaceRelationInfo ( ItemData & source_item_relation_data,
const ItemData & target_item_dependencies_data,
Int64ConstArrayView faces_info )
private

Initializes face relation info.

Parameters
source_item_relation_dataThe destination ItemData for face relations.
target_item_dependencies_dataThe source ItemData containing dependencies.
faces_infoThe constant array view of face information.
is_source_relation_data_emptyFlag indicating if the source relation data is empty.

Definition at line 543 of file DynamicMeshIncrementalBuilder.cc.

Referenced by addCells3().

Here is the caller graph for this function:

◆ _initNodeRelationInfo()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_initNodeRelationInfo ( ItemData & source_item_relation_data,
const ItemData & target_item_dependencies_data,
Int64ConstArrayView faces_info )
private

Definition at line 612 of file DynamicMeshIncrementalBuilder.cc.

◆ _insertNode()

DynamicMeshIncrementalBuilder::NodeInFacePtr & Arcane::mesh::DynamicMeshIncrementalBuilder::_insertNode ( NodeInFaceSet & face_nodes_set,
Int64 inserted_node_uid )
private

Definition at line 826 of file DynamicMeshIncrementalBuilder.cc.

◆ _printCellFaceInfos()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_printCellFaceInfos ( ItemInternal * cell,
const String & str )
private

Definition at line 86 of file DynamicMeshIncrementalBuilder.cc.

◆ _removeNeedRemoveMarkedItems()

void Arcane::mesh::DynamicMeshIncrementalBuilder::_removeNeedRemoveMarkedItems ( ItemInternalMap & map,
UniqueArray< Int32 > & items_local_id )
private

Definition at line 1639 of file DynamicMeshIncrementalBuilder.cc.

◆ addCells()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addCells ( Integer nb_cell,
Int64ConstArrayView cells_infos,
Integer sub_domain_id,
Int32ArrayView cells,
bool allow_build_face = true )

Adds cells to the current mesh.

Parameters
mesh_nb_cellnumber of cells to add
cells_infosmesh information (see IMesh::allocateMesh())
sub_domain_idsub-domain to which the cells will belong
cellsreturns, if not empty, contains the created cells.

Definition at line 124 of file DynamicMeshIncrementalBuilder.cc.

References ARCANE_THROW, Arcane::ItemBase::localId(), m_one_mesh_item_adder, Arcane::ItemTypeInfo::nbLocalNode(), Arcane::ArrayView< T >::size(), and Arcane::ItemTypeMng::typeFromId().

Here is the call graph for this function:

◆ addCells2()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addCells2 ( Integer nb_cell,
Int64ConstArrayView cell_infos,
Integer sub_domain_id,
Int32ArrayView cells,
bool allow_build_face = true )

Definition at line 233 of file DynamicMeshIncrementalBuilder.cc.

◆ addCells3()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addCells3 ( Integer nb_cell,
Int64ConstArrayView cells_infos,
Integer sub_domain_id,
Int32ArrayView cells,
bool allow_build_face = true )

Adds cells to the current mesh. Uses generic item addition based on family dependencies.

Parameters
mesh_nb_cellnumber of cells to add
cells_infosmesh information (see IMesh::allocateMesh())
sub_domain_idsub-domain to which the cells will belong
cellsreturns, if not empty, contains the created cells.

Definition at line 167 of file DynamicMeshIncrementalBuilder.cc.

References _fillFaceInfo(), _initFaceRelationInfo(), addItems(), Arcane::IK_Edge, Arcane::IK_Face, m_mesh, Arcane::Array< T >::resize(), and Arcane::ArrayView< T >::size().

Here is the call graph for this function:

◆ addEdges()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addEdges ( Integer nb_edge,
Int64ConstArrayView edge_infos,
Integer sub_domain_id,
Int32ArrayView edges )

Adds edges to the current mesh.

Parameters
nb_facenumber of faces to add
edge_infosedge information (see IMesh::allocateCells() without type identifier)
sub_domain_idsub-domain to which the edges will belong
edgesreturns, if not empty, contains the created edges.

Definition at line 1362 of file DynamicMeshIncrementalBuilder.cc.

References Arcane::ItemBase::localId(), m_one_mesh_item_adder, and Arcane::ArrayView< T >::size().

Here is the call graph for this function:

◆ addEdges2()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addEdges2 ( Integer nb_edge,
Int64ConstArrayView edge_infos,
Integer sub_domain_id,
Int32ArrayView edges )

Adds edges to the current mesh. Uses generic item addition based on family dependencies.

Parameters
nb_facenumber of faces to add
edge_infosedge information (see IMesh::allocateCells() without type identifier)
sub_domain_idsub-domain to which the edges will belong
edgesreturns, if not empty, contains the created edges.

Definition at line 1397 of file DynamicMeshIncrementalBuilder.cc.

References addItems(), m_mesh, Arcane::AbstractArray< T >::size(), Arcane::ArrayView< T >::size(), Arcane::ConstArrayView< T >::size(), and Arcane::Array< T >::view().

Here is the call graph for this function:

◆ addEdges3()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addEdges3 ( Integer nb_edge,
Int64ConstArrayView edge_infos,
Integer sub_domain_id,
Int32ArrayView edges )

Definition at line 1429 of file DynamicMeshIncrementalBuilder.cc.

◆ addFaces()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addFaces ( Integer nb_face,
Int64ConstArrayView faces_infos,
Integer sub_domain_id,
Int32ArrayView faces )

Ajoute des faces au maillage actuel.

Parameters
nb_facenombre de faces à ajouter
faces_infosinfos sur les faces (voir IMesh::allocateCells())
sub_domain_idsous-domaine auquel les faces appartiendront
facesen retour, si non vide, contient les faces créées.

Definition at line 1122 of file DynamicMeshIncrementalBuilder.cc.

References Arcane::ItemTypeId::fromInteger(), Arcane::ItemBase::localId(), m_one_mesh_item_adder, Arcane::ItemTypeInfo::nbLocalNode(), Arcane::ArrayView< T >::size(), and Arcane::ItemTypeMng::typeFromId().

Here is the call graph for this function:

◆ addFaces2()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addFaces2 ( Integer nb_face,
Int64ConstArrayView faces_infos,
Integer sub_domain_id,
Int32ArrayView faces )

Ajoute des faces au maillage actuel. Utilise l'ajout d'item générique basé sur dépendances entre familles.

Parameters
nb_facenombre de faces à ajouter
faces_infosinfos sur les faces (voir IMesh::allocateCells())
sub_domain_idsous-domaine auquel les faces appartiendront
facesen retour, si non vide, contient les faces créées.

Definition at line 1164 of file DynamicMeshIncrementalBuilder.cc.

References addItems(), m_mesh, Arcane::AbstractArray< T >::size(), Arcane::ArrayView< T >::size(), Arcane::ConstArrayView< T >::size(), and Arcane::Array< T >::view().

Here is the call graph for this function:

◆ addFaces3()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addFaces3 ( Integer nb_face,
Int64ConstArrayView face_infos,
Integer sub_domain_id,
Int32ArrayView faces )

Definition at line 1208 of file DynamicMeshIncrementalBuilder.cc.

◆ addFamilyItems()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addFamilyItems ( ItemData & item_info)

Ajout générique d'items d'une famille, décrite par son ItemInfo.

Definition at line 1070 of file DynamicMeshIncrementalBuilder.cc.

References Arcane::ItemBase::localId(), m_one_mesh_item_adder, Arcane::ArrayView< T >::size(), and Arcane::ConstArrayView< T >::subView().

Here is the call graph for this function:

◆ addGhostChildFromParent()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addGhostChildFromParent ( Array< Int64 > & ghost_cell_to_refine)

AMR.

Definition at line 1627 of file DynamicMeshIncrementalBuilder.cc.

References Arcane::TraceAccessor::debug(), and m_ghost_layer_builder.

Here is the call graph for this function:

◆ addGhostLayers()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addGhostLayers ( bool is_allocate)

Definition at line 1614 of file DynamicMeshIncrementalBuilder.cc.

◆ addHChildrenCells()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addHChildrenCells ( Cell hParent_cell,
Integer nb_cell,
Int64ConstArrayView cells_infos,
Int32 sub_domain_id,
Int32ArrayView cells,
bool allow_build_face )

Ajoute des mailles au maillage actuel.

AMR Add to the current mesh the child cells the parent cell hParent_cell

Parameters
mesh_nb_cellnombre de mailles à ajouter
cells_infosinfos sur les maillage (voir IMesh::allocateMesh())
sub_domain_idsous-domaine auquel les mailles appartiendront
cellsen retour, si non vide, contient les mailles créées.

Definition at line 867 of file DynamicMeshIncrementalBuilder.cc.

References Arcane::mesh::CellFamily::_addParentCellToCell(), Arcane::TraceAccessor::debug(), Arcane::Trace::Highest, Arcane::ItemBase::localId(), m_mesh, m_one_mesh_item_adder, Arcane::ItemTypeInfo::nbLocalNode(), Arcane::ArrayView< T >::size(), and Arcane::ItemTypeMng::typeFromId().

Here is the call graph for this function:

◆ addItems() [1/2]

void Arcane::mesh::DynamicMeshIncrementalBuilder::addItems ( ItemDataList & item_info_list)

Ajout générique d'items d'un ensemble de famille pour lesquelles on fournit un ItemData.

L'objet ItemDataList est une map <family_index,ItemData> où family_index est pris égal à l'item_kind de la famille et où ItemData aggrège les informations id/connectivités des items Le tableau item_infos (ItemData::itemInfos()) à la structure suivante : item_infos[0] = nb_connected_families // Only constitutive (owning) connections. item_infos[i] = first_item_type item_infos[i+1] = first_item_uid item_infos[i+2] = first_family_id item_infos[i+3] = nb_connected_items_in_first_family item_infos[i+4...i+n] = first_family items uids item_infos[i+n+1] = second_family_id item_infos[i+n+1...i+m] = second_family items uids item_infos[i+m+1] = second_item_uid ...idem first item La méthode parcours le graphe des connectivités du maillage pour créer les items de toute les familles La méthode addFamilyItems(ItemInfo&) crée les items d'une famille donnée

Definition at line 1021 of file DynamicMeshIncrementalBuilder.cc.

Referenced by addCells3(), addEdges2(), addFaces2(), and addNodes2().

Here is the caller graph for this function:

◆ addItems() [2/2]

void Arcane::mesh::DynamicMeshIncrementalBuilder::addItems ( ItemDataList & item_info_list,
ItemDataList & item_relation_info_list )

Definition at line 1030 of file DynamicMeshIncrementalBuilder.cc.

◆ addNodes()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addNodes ( Int64ConstArrayView nodes_uid,
Integer owner,
Int32ArrayView nodes )

Ajoute des noeuds au maillage actuel.

Parameters
nodes_uididentifiant unique des noeuds à créer.
ownersous-domaine auquel les noeuds appartiendront.
nodesen retour, si non vide, contient les noeuds correspodants aux nodes_uid

Definition at line 943 of file DynamicMeshIncrementalBuilder.cc.

References Arcane::ItemBase::localId(), m_one_mesh_item_adder, Arcane::ArrayView< T >::size(), and Arcane::ConstArrayView< T >::size().

Here is the call graph for this function:

◆ addNodes2()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addNodes2 ( Int64ConstArrayView nodes_uid,
Integer owner,
Int32ArrayView nodes )

Ajoute des noeuds au maillage actuel. Utilise l'ajout d'item générique basé sur dépendances entre familles.

Parameters
nodes_uididentifiant unique des noeuds à créer.
ownersous-domaine auquel les noeuds appartiendront.
nodesen retour, si non vide, contient les noeuds correspodants aux nodes_uid

Definition at line 967 of file DynamicMeshIncrementalBuilder.cc.

References addItems(), m_mesh, Arcane::ArrayView< T >::size(), and Arcane::ConstArrayView< T >::size().

Here is the call graph for this function:

◆ addParentCells()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addParentCells ( const ItemVectorView & items)

Add to the current mesh items coming from a parent mesh.

Ajoute des items du maillage parent au en tant que maille au maillage actuel.

Parameters
itemsitems à ajouter (vu depuis la maillage parent)
sub_domain_idsous-domaine auquel les mailles appartiendront

Definition at line 846 of file DynamicMeshIncrementalBuilder.cc.

References Arcane::IK_Cell, m_one_mesh_item_adder, and Arcane::ItemVectorView::size().

Here is the call graph for this function:

◆ addParentItems()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addParentItems ( const ItemVectorView & items,
const eItemKind submesh_kind )

Add to the current mesh items coming from a parent mesh.

Ajoute des items du maillage parent au en tant qu'items fantomes au maillage actuel.

Parameters
itemsitems à ajouter (vu depuis la maillage parent)
sub_domain_idsous-domaine auquel les mailles appartiendront

Definition at line 924 of file DynamicMeshIncrementalBuilder.cc.

References m_one_mesh_item_adder, and Arcane::ItemVectorView::size().

Here is the call graph for this function:

◆ addRelations()

void Arcane::mesh::DynamicMeshIncrementalBuilder::addRelations ( ItemDataList & item_relation_list)

Definition at line 1041 of file DynamicMeshIncrementalBuilder.cc.

◆ computeFacesUniqueIds()

void Arcane::mesh::DynamicMeshIncrementalBuilder::computeFacesUniqueIds ( )

Calculates the unique IDs for each face.

The algorithm must work in a way that gives the same face numbering sequentially and in parallel regardless of the decomposition, to facilitate debugging.

The numbering principle is as follows: we traverse the cells in increasing order of their unique_id, and for each cell, we traverse the list of faces. A face is numbered if and only if its backCell() is the current cell or if its frontCell() is the current cell but it is a boundary face (nbCell()==1). When numbering the faces of the current cell, we first number the faces for which it is the backCell(), then the faces for which it is the frontCell().

This small detail is explained to simplify the determination of numbering in the parallel case (todo: explain why...)

Warning
This method should only be called during the initial mesh creation.

Definition at line 1597 of file DynamicMeshIncrementalBuilder.cc.

References m_has_edge.

◆ hasEdge()

bool Arcane::mesh::DynamicMeshIncrementalBuilder::hasEdge ( ) const
inline

Definition at line 140 of file DynamicMeshIncrementalBuilder.h.

◆ isVerbose()

bool Arcane::mesh::DynamicMeshIncrementalBuilder::isVerbose ( ) const
inline

Definition at line 139 of file DynamicMeshIncrementalBuilder.h.

◆ mesh()

DynamicMesh * Arcane::mesh::DynamicMeshIncrementalBuilder::mesh ( )
inline

Definition at line 138 of file DynamicMeshIncrementalBuilder.h.

◆ oneMeshItemAdder()

OneMeshItemAdder * Arcane::mesh::DynamicMeshIncrementalBuilder::oneMeshItemAdder ( ) const
inline

Definition at line 142 of file DynamicMeshIncrementalBuilder.h.

◆ printInfos()

void Arcane::mesh::DynamicMeshIncrementalBuilder::printInfos ( )

Definition at line 1547 of file DynamicMeshIncrementalBuilder.cc.

◆ printStats()

void Arcane::mesh::DynamicMeshIncrementalBuilder::printStats ( Int32 level = TraceMessage::DEFAULT_LEVEL)

Definition at line 1561 of file DynamicMeshIncrementalBuilder.cc.

◆ readFromDump()

void Arcane::mesh::DynamicMeshIncrementalBuilder::readFromDump ( )

Definition at line 1517 of file DynamicMeshIncrementalBuilder.cc.

◆ removeNeedRemoveMarkedItems()

void Arcane::mesh::DynamicMeshIncrementalBuilder::removeNeedRemoveMarkedItems ( )

Removes ghost items.

Suppresses all items whose owner is not the current sub-domain and which do not belong to any internal elements of this sub-domain. Internal items that are no longer connected to any items are also destroyed

Definition at line 1668 of file DynamicMeshIncrementalBuilder.cc.

References Arcane::Array< T >::add(), ARCANE_CHECK_POINTER, Arcane::mesh::ItemInternalMap::eachItem(), Arcane::ItemBase::flags(), Arcane::mesh::ParticleFamily::getEnableGhostItems(), Arcane::ItemFlags::II_NeedRemove, Arcane::IK_DoF, Arcane::IK_Particle, Arcane::TraceAccessor::info(), Arcane::IItemFamily::itemKind(), Arcane::Item::localId(), m_mesh, Arcane::Item::mutableItemBase(), Arcane::IItemFamily::name(), Arcane::mesh::CellFamily::removeCells(), Arcane::IItemFamily::removeNeedRemoveMarkedItems(), Arcane::Array< T >::reserve(), Arcane::MutableItemBase::setFlags(), and Arcane::AbstractArray< T >::size().

Here is the call graph for this function:

◆ resetAfterDeallocate()

void Arcane::mesh::DynamicMeshIncrementalBuilder::resetAfterDeallocate ( )

Resets the structures to allow for a new allocation.

Definition at line 1764 of file DynamicMeshIncrementalBuilder.cc.

References m_edge_uid_pool, m_face_uid_pool, and m_one_mesh_item_adder.

◆ setConnectivity()

void Arcane::mesh::DynamicMeshIncrementalBuilder::setConnectivity ( Integer c)

Sets the active connectivity for the associated mesh.

This conditions the connectivities to the responsibility of this family

Definition at line 1750 of file DynamicMeshIncrementalBuilder.cc.

References ARCANE_FATAL, m_connectivity, and m_has_edge.

Member Data Documentation

◆ m_connectivity

Integer Arcane::mesh::DynamicMeshIncrementalBuilder::m_connectivity = 0
private

Connectivity info of the current mesh.

Definition at line 257 of file DynamicMeshIncrementalBuilder.h.

Referenced by setConnectivity().

◆ m_edge_uid_pool

Int64 Arcane::mesh::DynamicMeshIncrementalBuilder::m_edge_uid_pool = 0
private

uniqueId() number used for generating edges

Definition at line 272 of file DynamicMeshIncrementalBuilder.h.

Referenced by resetAfterDeallocate().

◆ m_edge_unique_id_builder

EdgeUniqueIdBuilder* Arcane::mesh::DynamicMeshIncrementalBuilder::m_edge_unique_id_builder = nullptr
private

Definition at line 269 of file DynamicMeshIncrementalBuilder.h.

◆ m_face_uid_pool

Int64 Arcane::mesh::DynamicMeshIncrementalBuilder::m_face_uid_pool = 0
private

uniqueId() number used for generating faces

Definition at line 271 of file DynamicMeshIncrementalBuilder.h.

Referenced by _fillFaceInfo(), and resetAfterDeallocate().

◆ m_face_unique_id_builder

FaceUniqueIdBuilder* Arcane::mesh::DynamicMeshIncrementalBuilder::m_face_unique_id_builder = nullptr
private

Definition at line 268 of file DynamicMeshIncrementalBuilder.h.

◆ m_ghost_layer_builder

GhostLayerBuilder* Arcane::mesh::DynamicMeshIncrementalBuilder::m_ghost_layer_builder = nullptr
private

Utility to build ghost elements.

Definition at line 267 of file DynamicMeshIncrementalBuilder.h.

Referenced by addGhostChildFromParent().

◆ m_has_amr

bool Arcane::mesh::DynamicMeshIncrementalBuilder::m_has_amr
private

AMR.

Definition at line 261 of file DynamicMeshIncrementalBuilder.h.

Referenced by DynamicMeshIncrementalBuilder().

◆ m_has_edge

bool Arcane::mesh::DynamicMeshIncrementalBuilder::m_has_edge = false
private

Info on the presence of an edge (accelerates access to general connectivity).

Definition at line 258 of file DynamicMeshIncrementalBuilder.h.

Referenced by computeFacesUniqueIds(), and setConnectivity().

◆ m_item_type_mng

ItemTypeMng* Arcane::mesh::DynamicMeshIncrementalBuilder::m_item_type_mng = nullptr
private

Definition at line 255 of file DynamicMeshIncrementalBuilder.h.

◆ m_mesh

DynamicMesh* Arcane::mesh::DynamicMeshIncrementalBuilder::m_mesh
private

◆ m_one_mesh_item_adder

OneMeshItemAdder* Arcane::mesh::DynamicMeshIncrementalBuilder::m_one_mesh_item_adder = nullptr
private

◆ m_verbose

bool Arcane::mesh::DynamicMeshIncrementalBuilder::m_verbose = false
private

True if messages are displayed.

Definition at line 263 of file DynamicMeshIncrementalBuilder.h.

Referenced by DynamicMeshIncrementalBuilder().


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