Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::mesh::PolyhedralMesh Class Reference
Inheritance diagram for Arcane::mesh::PolyhedralMesh:
Collaboration diagram for Arcane::mesh::PolyhedralMesh:

Public Member Functions

void allocateItems (const Arcane::ItemAllocationInfo &item_allocation_info) override
void allocateItems (const Arcane::ItemAllocationInfo &item_allocation_info, ArrayView< Int32UniqueArray > family_lids)
void scheduleAllocateItems (const Arcane::ItemAllocationInfo::FamilyInfo &family_info, PolyhedralTools::ItemLocalIds &future_item_local_ids)
void applyScheduledAllocateItems (UniqueArray< std::shared_ptr< PolyhedralTools::ItemLocalIds > > item_lids)
void removeNeedRemoveMarkedItems ()
PolyhedralFamilySerializerMng * polyhedralFamilySerializerMng ()
 PolyhedralMesh (ISubDomain *subDomain, const MeshBuildInfo &mbi)
void read (String const &filename)
void endUpdate ()
 Notifies the instance that mesh modification is finished.
const MeshKind meshKind () const override
 Mesh characteristics.
EventObservable< const MeshEventArgs & > & eventObservable (eMeshEventType type) override
 Observable for an event.
Public Member Functions inherited from Arcane::mesh::EmptyMesh
 EmptyMesh (ITraceMng *trace_mng)
MeshHandle handle () const override
 Handle on this mesh.
VariableNodeReal3nodesCoordinates () override
 Node coordinates.
void setDimension (Integer) override
 Positions the mesh dimension (1D, 2D, or 3D).
void reloadMesh () override
 Reloads the mesh from protected variables.
void allocateCells (Integer, Int64ConstArrayView, bool) override
 Allocation of a mesh.
void endAllocate () override
 Indicates the end of cell allocation.
void deallocate () override
 Deallocates the mesh.
VariableItemInt32itemsNewOwner (eItemKind) override
 Variable containing the identifier of the owning subdomain.
void exchangeItems () override
 Changes the owning subdomains of entities.
void setOwnersFromCells () override
 Positions entity owners based on the cell owner.
void setMeshPartInfo (const MeshPartInfo &) override
 Positions partitioning information.
String name () const override
 Mesh name.
Integer nbNode () override
 Number of mesh nodes.
Integer nbEdge () override
 Number of mesh edges.
Integer nbFace () override
 Number of mesh faces.
Integer nbCell () override
 Number of mesh cells.
Integer nbItem (eItemKind) override
 Number of elements of type ik.
ITraceMngtraceMng () override
 Associated message manager.
Integer dimension () override
 Mesh dimension (1D, 2D, or 3D).
NodeGroup allNodes () override
 Group of all nodes.
EdgeGroup allEdges () override
 Group of all edges.
FaceGroup allFaces () override
 Group of all faces.
CellGroup allCells () override
 Group of all cells.
NodeGroup ownNodes () override
 Group of all domain-specific nodes.
EdgeGroup ownEdges () override
 Group of all domain-specific edges.
FaceGroup ownFaces () override
 Group of all domain-specific faces.
CellGroup ownCells () override
 Group of all domain-specific cells.
FaceGroup outerFaces () override
 Group of all faces on the boundary.
IItemFamilycreateItemFamily (eItemKind, const String &) override
 Create a particle family named name.
IItemFamilyfindItemFamily (eItemKind, const String &, bool, bool) override
 Returns the family named name.
IItemFamilyfindItemFamily (const String &, bool) override
 Returns the family named name.
IItemFamilyModifierfindItemFamilyModifier (eItemKind, const String &) override
 Returns the IItemFamilyModifier interface for the family named name and of type ik.
IItemFamilyitemFamily (eItemKind) override
 Returns the entity family of type ik.
IItemFamilynodeFamily () override
 Returns the node family.
IItemFamilyedgeFamily () override
 Returns the edge family.
IItemFamilyfaceFamily () override
 Returns the face family.
IItemFamilycellFamily () override
 Returns the cell family.
IItemFamilyCollection itemFamilies () override
void build () override
String factoryName () const override
 Name of the factory used to create the mesh.
ItemInternalList itemsInternal (eItemKind) override
 Internal array of mesh elements of type type.
SharedVariableNodeReal3 sharedNodesCoordinates () override
 Node coordinates.
void checkValidMesh () override
 Check for the validity of internal mesh structures (internal).
void checkValidMeshFull () override
 Mesh validity check.
void synchronizeGroupsAndVariables () override
 Synchronizes all mesh groups and variables.
bool isAllocated () override
 True if the mesh is allocated.
Int64 timestamp () override
 Counter indicating the time of the last mesh modification.
ISubDomainsubDomain () override
IParallelMngparallelMng () override
 Parallelism manager.
VariableScalarInteger connectivity () override
 Connectivity descriptor.
CellGroup allActiveCells () override
CellGroup ownActiveCells () override
 Group of all active cells specific to the domain.
CellGroup allLevelCells (const Integer &) override
 Group of all cells of level level.
CellGroup ownLevelCells (const Integer &) override
 Group of all cells specific to the domain of level level.
FaceGroup allActiveFaces () override
 Group of all active faces.
FaceGroup ownActiveFaces () override
 Group of all active faces specific to the domain.
FaceGroup innerActiveFaces () override
 Group of all active faces.
FaceGroup outerActiveFaces () override
 Group of all active faces on the boundary.
ItemGroupCollection groups () override
 List of groups.
ItemGroup findGroup (const String &) override
 Returns the group with name name or a null group if none exists.
void destroyGroups () override
 Destroys all groups of all families.
MeshItemInternalListmeshItemInternalList () override
void updateGhostLayers (bool) override
void serializeCells (ISerializer *, Int32ConstArrayView) override
void prepareForDump () override
 Prepares the instance for dumping.
void initializeVariables (const XmlNode &) override
 Initializes variables with values from the configuration file (internal).
void setCheckLevel (Integer) override
 Sets the mesh check level.
Integer checkLevel () const override
 Current check level.
bool isDynamic () const override
 Indicates if the mesh is dynamic (can evolve).
bool isAmrActivated () const override
void computeTiedInterfaces (const XmlNode &) override
 Determines the semi-conforming interfaces.
bool hasTiedInterface () override
 True if semi-conforming interfaces exist in the mesh.
TiedInterfaceCollection tiedInterfaces () override
 List of semi-conforming interfaces.
IMeshPartitionConstraintMngpartitionConstraintMng () override
 Manager of partitioning constraints associated with this mesh.
IMeshUtilitiesutilities () override
 Associated utility functions interface.
Propertiesproperties () override
 Properties associated with this mesh.
IMeshModifiermodifier () override
 Associated modifier interface.
void defineParentForBuild (IMesh *, ItemGroup) override
 Defines the parent mesh and group.
IMeshparentMesh () const override
 Access to the parent mesh.
ItemGroup parentGroup () const override
 Parent group.
void addChildMesh (IMesh *) override
 Adds a sub-mesh to the parent mesh.
MeshCollection childMeshes () const override
 List of sub-meshes of the current mesh.
bool isPrimaryMesh () const override
 Indicates if the instance is a primary mesh.
IPrimaryMeshtoPrimaryMesh () override
 Returns the instance in the form of an IPrimaryMesh.
IUserDataListuserDataList () override
 Associated user data manager.
const IUserDataListuserDataList () const override
 Associated user data manager.
IGhostLayerMngghostLayerMng () const override
 Associated ghost layer manager.
IMeshUniqueIdMngmeshUniqueIdMng () const override
 Unique ID numbering manager.
IMeshCheckerchecker () const override
 Checker interface.
const MeshPartInfomeshPartInfo () const override
 Mesh part information.
bool useMeshItemFamilyDependencies () const override
 check if the network itemFamily dependencies is activated
IItemFamilyNetworkitemFamilyNetwork () override
 Family network interface (connected families).
IIndexedIncrementalItemConnectivityMngindexedConnectivityMng () override
 Interface of the indexed incremental connectivity manager.
IMeshCompactMng_compactMng () override
InternalConnectivityPolicy _connectivityPolicy () const override
 Connectivity usage policy.
IMeshMngmeshMng () const override
 Associated mesh manager.
IVariableMngvariableMng () const override
 Associated variable manager.
ItemTypeMngitemTypeMng () const override
 Associated entity type manager.
void computeSynchronizeInfos () override
 Recalculates synchronization information.
IMeshInternal_internalApi () override
 Internal Arcane API.
Public Member Functions inherited from Arcane::IPrimaryMesh
virtual IMeshInitialAllocatorinitialAllocator ()
 Specific initial allocator.
Public Member Functions inherited from Arcane::IMesh
 ARCANE_DEPRECATED_LONG_TERM ("Y2020: Do not use this method. Try to get 'ISubDomain' from another way") virtual ISubDomain *subDomain()=0
 Associated subdomain.
Public Member Functions inherited from Arcane::mesh::EmptyMeshModifier
void build () override
IMeshmesh () override
 Associated mesh.
void setDynamic (bool) override
 Sets the property indicating whether the mesh can evolve.
void addCells (Integer, Int64ConstArrayView, Int32ArrayView) override
 Adds cells.
void addCells (const MeshModifierAddCellsArgs &)
 Adds cells.
void addFaces (Integer, Int64ConstArrayView, Int32ArrayView) override
 Adds faces.
void addFaces (const MeshModifierAddFacesArgs &)
 Adds faces.
void addEdges (Integer, Int64ConstArrayView, Int32ArrayView) override
 Adds edges.
void addNodes (Int64ConstArrayView, Int32ArrayView) override
 Adds nodes.
void removeCells (Int32ConstArrayView) override
 Removes cells.
void removeCells (Int32ConstArrayView, bool) override
void detachCells (Int32ConstArrayView) override
 Detaches cells from the mesh.
void removeDetachedCells (Int32ConstArrayView) override
 Removes detached cells.
void flagCellToRefine (Int32ConstArrayView) override
 AMR.
void flagCellToCoarsen (Int32ConstArrayView) override
void refineItems () override
void coarsenItems () override
void coarsenItemsV2 (bool) override
bool adapt () override
void registerCallBack (IAMRTransportFunctor *) override
void unRegisterCallBack (IAMRTransportFunctor *) override
void addHChildrenCells (Cell, Integer, Int64ConstArrayView, Int32ArrayView) override
void addParentCellToCell (Cell, Cell) override
void addChildCellToCell (Cell, Cell) override
void addParentFaceToFace (Face, Face) override
void addChildFaceToFace (Face, Face) override
void addParentNodeToNode (Node, Node) override
void addChildNodeToNode (Node, Node) override
void clearItems () override
 Deletes all entities of all families in this mesh.
ARCANE_DEPRECATED_240 void addCells (ISerializer *) override
 Adds cells from the data contained in buffer.
ARCANE_DEPRECATED_240 void addCells (ISerializer *, Int32Array &) override
 Adds cells from the data contained in buffer.
void endUpdate (bool, bool) override
void updateGhostLayers () override
 Updates the ghost layer.
void updateGhostLayerFromParent (Array< Int64 > &, Array< Int64 > &, bool) override
 AMR.
void addExtraGhostCellsBuilder (IExtraGhostCellsBuilder *) override
 addition of the "extraordinary" ghost cells addition algorithm.
void removeExtraGhostCellsBuilder (IExtraGhostCellsBuilder *) override
 Removes the association with the builder instance.
void addExtraGhostParticlesBuilder (IExtraGhostParticlesBuilder *) override
 Addition of the "extraordinary" ghost particle addition algorithm.
void removeExtraGhostParticlesBuilder (IExtraGhostParticlesBuilder *) override
 Removes the association with the builder instance.
void mergeMeshes (ConstArrayView< IMesh * >) override
 Merges the meshes of meshes with the current mesh.
IMeshModifierInternal_modifierInternalApi () override
 Internal API for Arcane.

Static Public Member Functions

static String handleName ()

Private Member Functions

void _errorEmptyMesh () const
void _createUnitMesh ()
void _updateMeshInternalList (eItemKind kind)
PolyhedralMeshImpl_impl ()

Private Attributes

String m_name
ISubDomainm_subdomain
MeshItemInternalList m_mesh_item_internal_list
MeshHandle m_mesh_handle
std::unique_ptr< Propertiesm_properties
std::unique_ptr< PolyhedralMeshImplm_mesh
IParallelMngm_parallel_mng
MeshPartInfo m_mesh_part_info
bool m_is_allocated = false
ItemTypeMngm_item_type_mng = nullptr
MeshKind m_mesh_kind
MeshEventsImpl m_mesh_events
std::unique_ptr< PolyhedralFamilySerializerMng > m_polyhedral_family_serializer_mng
VariableScalarInteger m_connectivity

Static Private Attributes

static const String m_mesh_handle_name = "polyhedral_mesh_handle"

Friends

class PolyhedralFamily
class PolyhedralFamilySerializer

Additional Inherited Members

Public Attributes inherited from Arcane::mesh::EmptyMesh
ITraceMngm_trace_mng

Detailed Description

Definition at line 76 of file PolyhedralMesh.h.

Constructor & Destructor Documentation

◆ PolyhedralMesh()

Arcane::mesh::PolyhedralMesh::PolyhedralMesh ( ISubDomain * subDomain,
const MeshBuildInfo & mbi )

Definition at line 2370 of file PolyhedralMesh.cc.

Member Function Documentation

◆ _errorEmptyMesh()

void Arcane::mesh::PolyhedralMesh::_errorEmptyMesh ( ) const
private

Definition at line 85 of file PolyhedralMesh.cc.

◆ allocateItems()

void Arcane::mesh::PolyhedralMesh::allocateItems ( const Arcane::ItemAllocationInfo & item_allocation_info)
overridevirtual

Implements Arcane::IPolyhedralMeshInitialAllocator.

Definition at line 2391 of file PolyhedralMesh.cc.

◆ endUpdate()

void Arcane::mesh::PolyhedralMesh::endUpdate ( )
virtual

Notifies the instance that mesh modification is finished.

This method is collective.

Reimplemented from Arcane::mesh::EmptyMeshModifier.

◆ eventObservable()

EventObservable< const MeshEventArgs & > & Arcane::mesh::PolyhedralMesh::eventObservable ( eMeshEventType type)
inlineoverridevirtual

Observable for an event.

Implements Arcane::IMesh.

Definition at line 129 of file PolyhedralMesh.h.

◆ handleName()

String Arcane::mesh::PolyhedralMesh::handleName ( )
inlinestatic

Definition at line 121 of file PolyhedralMesh.h.

◆ meshKind()

const MeshKind Arcane::mesh::PolyhedralMesh::meshKind ( ) const
inlineoverridevirtual

Mesh characteristics.

Implements Arcane::IMesh.

Definition at line 127 of file PolyhedralMesh.h.

◆ read()

void Arcane::mesh::PolyhedralMesh::read ( String const & filename)

Definition at line 2382 of file PolyhedralMesh.cc.

◆ PolyhedralFamily

friend class PolyhedralFamily
friend

Definition at line 82 of file PolyhedralMesh.h.

◆ PolyhedralFamilySerializer

friend class PolyhedralFamilySerializer
friend

Definition at line 83 of file PolyhedralMesh.h.

Member Data Documentation

◆ m_connectivity

VariableScalarInteger Arcane::mesh::PolyhedralMesh::m_connectivity
private

Definition at line 101 of file PolyhedralMesh.h.

◆ m_is_allocated

bool Arcane::mesh::PolyhedralMesh::m_is_allocated = false
private

Definition at line 96 of file PolyhedralMesh.h.

◆ m_item_type_mng

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

Definition at line 97 of file PolyhedralMesh.h.

◆ m_mesh

std::unique_ptr<PolyhedralMeshImpl> Arcane::mesh::PolyhedralMesh::m_mesh
private

Definition at line 93 of file PolyhedralMesh.h.

◆ m_mesh_events

MeshEventsImpl Arcane::mesh::PolyhedralMesh::m_mesh_events
private

Definition at line 99 of file PolyhedralMesh.h.

◆ m_mesh_handle

MeshHandle Arcane::mesh::PolyhedralMesh::m_mesh_handle
private

Definition at line 91 of file PolyhedralMesh.h.

◆ m_mesh_handle_name

const String Arcane::mesh::PolyhedralMesh::m_mesh_handle_name = "polyhedral_mesh_handle"
inlinestaticprivate

Definition at line 90 of file PolyhedralMesh.h.

◆ m_mesh_item_internal_list

MeshItemInternalList Arcane::mesh::PolyhedralMesh::m_mesh_item_internal_list
private

Definition at line 89 of file PolyhedralMesh.h.

◆ m_mesh_kind

MeshKind Arcane::mesh::PolyhedralMesh::m_mesh_kind
private

Definition at line 98 of file PolyhedralMesh.h.

◆ m_mesh_part_info

MeshPartInfo Arcane::mesh::PolyhedralMesh::m_mesh_part_info
private

Definition at line 95 of file PolyhedralMesh.h.

◆ m_name

String Arcane::mesh::PolyhedralMesh::m_name
private

Definition at line 87 of file PolyhedralMesh.h.

◆ m_parallel_mng

IParallelMng* Arcane::mesh::PolyhedralMesh::m_parallel_mng
private

Definition at line 94 of file PolyhedralMesh.h.

◆ m_polyhedral_family_serializer_mng

std::unique_ptr<PolyhedralFamilySerializerMng> Arcane::mesh::PolyhedralMesh::m_polyhedral_family_serializer_mng
private

Definition at line 100 of file PolyhedralMesh.h.

◆ m_properties

std::unique_ptr<Properties> Arcane::mesh::PolyhedralMesh::m_properties
private

Definition at line 92 of file PolyhedralMesh.h.

◆ m_subdomain

ISubDomain* Arcane::mesh::PolyhedralMesh::m_subdomain
private

Definition at line 88 of file PolyhedralMesh.h.


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