Arcane  4.2.3.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)
ItemInternalMap & itemsMap (eItemKind ik)
DynamicMesh * mesh ()
bool isVerbose () const
bool hasEdge () const
OneMeshItemAdder * oneMeshItemAdder () 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.
TraceAccessor & operator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMng * traceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const

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

DynamicMesh * m_mesh
 Associated mesh.
ItemTypeMng * m_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.
OneMeshItemAdder * m_one_mesh_item_adder = nullptr
 Mesh building utilities.
GhostLayerBuilder * m_ghost_layer_builder = nullptr
 Utility to build ghost elements.
FaceUniqueIdBuilder * m_face_unique_id_builder = nullptr
EdgeUniqueIdBuilder * m_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 815 of file DynamicMeshIncrementalBuilder.cc.

◆ _addFaceNodes()

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

Definition at line 805 of file DynamicMeshIncrementalBuilder.cc.

◆ _addItemsOrRelations()

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

Definition at line 1058 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 594 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 559 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 723 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 628 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 471 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 415 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 337 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 1473 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillEdgeNewInfoNew()

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

Definition at line 1499 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 602 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 291 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 1323 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 1269 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 567 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 651 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 373 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 397 of file DynamicMeshIncrementalBuilder.cc.

◆ _fillNodeNewInfo()

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

Definition at line 996 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 636 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 789 of file DynamicMeshIncrementalBuilder.cc.

◆ _findFaceUniqueId()

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

Definition at line 778 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 586 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 700 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 551 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 620 of file DynamicMeshIncrementalBuilder.cc.

◆ _insertNode()

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

Definition at line 834 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 1647 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 241 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 175 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 1370 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 1405 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 1437 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 1130 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 1172 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 1216 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 1078 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 1635 of file DynamicMeshIncrementalBuilder.cc.

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

Here is the call graph for this function:

◆ addGhostLayers()

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

Definition at line 1622 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 875 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 1029 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 1038 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 951 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 975 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 854 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 932 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 1049 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 1605 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 1555 of file DynamicMeshIncrementalBuilder.cc.

◆ printStats()

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

Definition at line 1569 of file DynamicMeshIncrementalBuilder.cc.

◆ readFromDump()

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

Definition at line 1525 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 1676 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 1772 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 1758 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: