13#ifndef ARCANE_EMPTYMESH_H
14#define ARCANE_EMPTYMESH_H
18#include "arcane/utils/IUserDataList.h"
19#include "arcane/utils/IUserData.h"
20#include "arcane/utils/Collection.h"
21#include "arcane/utils/ITraceMng.h"
22#include "arcane/utils/NotImplementedException.h"
24#include "arcane/core/IMesh.h"
27#include "arcane/core/IParallelMng.h"
28#include "arcane/core/MeshItemInternalList.h"
29#include "arcane/core/XmlNode.h"
30#include "arcane/core/IMeshPartitionConstraintMng.h"
31#include "arcane/core/IMeshUtilities.h"
32#include "arcane/core/IMeshModifier.h"
33#include "arcane/core/IMeshChecker.h"
34#include "arcane/core/IMeshCompactMng.h"
35#include "arcane/core/IMeshMng.h"
36#include "arcane/core/IGhostLayerMng.h"
37#include "arcane/core/Properties.h"
38#include "arcane/core/MeshPartInfo.h"
39#include "arcane/core/IItemFamilyNetwork.h"
40#include "arcane/core/IItemFamily.h"
41#include "arcane/core/IVariableMng.h"
42#include "arcane/core/MeshVariableScalarRef.h"
43#include "arcane/core/SharedVariable.h"
44#include "arcane/core/VariableRefScalar.h"
45#include "arcane/core/MeshHandle.h"
46#include "arcane/core/IParticleExchanger.h"
47#include "arcane/core/IExtraGhostCellsBuilder.h"
67 : m_trace_mng(trace_mng)
69 ~EmptyMesh()
override =
default;
73 void _error()
const { m_trace_mng->fatal() <<
"Using EmptyMesh"; }
251 void build()
override { _error(); }
373 void updateGhostLayers(
bool)
override { _error(); }
388 bool isAmrActivated()
const override
#define ARCANE_THROW(exception_class,...)
Macro for throwing an exception with formatting.
Declarations of Arcane's general types.
Interface of the manager for indexed incremental item connectivities.
Interface for modifying a family.
Interface of an entity family.
Interface for mesh verification methods.
Interface for managing the compaction of mesh families.
Mesh modification interface.
Interface of a mesh partitioning constraint manager.
Interface of a class providing utility functions on meshes.
Interface of the parallelism manager for a subdomain.
Interface of the subdomain manager.
Interface of a list that manages user data.
Variable manager interface.
Mesh entity type manager.
Indirection tables for mesh entities.
Information about a partitioned mesh.
Exception when a function is not implemented.
Unicode character string.
CellGroup ownLevelCells(const Integer &) override
Group of all cells specific to the domain of level level.
void destroyGroups() override
Destroys all groups of all families.
Integer nbNode() override
Number of mesh nodes.
ITraceMng * traceMng() override
Associated message manager.
void initializeVariables(const XmlNode &) override
Initializes variables with values from the configuration file (internal).
bool hasTiedInterface() override
True if semi-conforming interfaces exist in the mesh.
FaceGroup ownFaces() override
Group of all domain-specific faces.
IItemFamily * createItemFamily(eItemKind, const String &) override
Create a particle family named name.
IUserDataList * userDataList() override
Associated user data manager.
IItemFamily * itemFamily(eItemKind) override
Returns the entity family of type ik.
void setDimension(Integer) override
Positions the mesh dimension (1D, 2D, or 3D).
void serializeCells(ISerializer *, Int32ConstArrayView) override
IItemFamily * faceFamily() override
Returns the face family.
VariableItemInt32 & itemsNewOwner(eItemKind) override
Variable containing the identifier of the owning subdomain.
ItemTypeMng * itemTypeMng() const override
Associated entity type manager.
TiedInterfaceCollection tiedInterfaces() override
List of semi-conforming interfaces.
void defineParentForBuild(IMesh *, ItemGroup) override
Defines the parent mesh and group.
VariableNodeReal3 & nodesCoordinates() override
Node coordinates.
IMeshChecker * checker() const override
Checker interface.
IMeshPartitionConstraintMng * partitionConstraintMng() override
Manager of partitioning constraints associated with this mesh.
FaceGroup outerFaces() override
Group of all faces on the boundary.
Integer dimension() override
Mesh dimension (1D, 2D, or 3D).
void synchronizeGroupsAndVariables() override
Synchronizes all mesh groups and variables.
IGhostLayerMng * ghostLayerMng() const override
Associated ghost layer manager.
bool useMeshItemFamilyDependencies() const override
check if the network itemFamily dependencies is activated
bool isPrimaryMesh() const override
Indicates if the instance is a primary mesh.
void checkValidMeshFull() override
Mesh validity check.
IMeshModifier * modifier() override
Associated modifier interface.
IMeshCompactMng * _compactMng() override
Integer nbCell() override
Number of mesh cells.
void setOwnersFromCells() override
Positions entity owners based on the cell owner.
SharedVariableNodeReal3 sharedNodesCoordinates() override
Node coordinates.
IParallelMng * parallelMng() override
Parallelism manager.
IItemFamily * findItemFamily(const String &, bool) override
Returns the family named name.
void allocateCells(Integer, Int64ConstArrayView, bool) override
Allocation of a mesh.
void exchangeItems() override
Changes the owning subdomains of entities.
IItemFamily * edgeFamily() override
Returns the edge family.
VariableScalarInteger connectivity() override
Connectivity descriptor.
InternalConnectivityPolicy _connectivityPolicy() const override
Connectivity usage policy.
FaceGroup allActiveFaces() override
Group of all active faces.
void checkValidMesh() override
Check for the validity of internal mesh structures (internal).
void prepareForDump() override
Prepares the instance for dumping.
IPrimaryMesh * toPrimaryMesh() override
Returns the instance in the form of an IPrimaryMesh.
ItemGroupCollection groups() override
List of groups.
IItemFamilyModifier * findItemFamilyModifier(eItemKind, const String &) override
Returns the IItemFamilyModifier interface for the family named name and of type ik.
void reloadMesh() override
Reloads the mesh from protected variables.
CellGroup allActiveCells() override
Properties * properties() override
Properties associated with this mesh.
void computeTiedInterfaces(const XmlNode &) override
Determines the semi-conforming interfaces.
Integer nbEdge() override
Number of mesh edges.
FaceGroup innerActiveFaces() override
Group of all active faces.
IItemFamily * cellFamily() override
Returns the cell family.
CellGroup ownActiveCells() override
Group of all active cells specific to the domain.
FaceGroup allFaces() override
Group of all faces.
Int64 timestamp() override
Counter indicating the time of the last mesh modification.
ItemInternalList itemsInternal(eItemKind) override
Internal array of mesh elements of type type.
const MeshPartInfo & meshPartInfo() const override
Mesh part information.
ItemGroup parentGroup() const override
Parent group.
void addChildMesh(IMesh *) override
Adds a sub-mesh to the parent mesh.
void deallocate() override
Deallocates the mesh.
IVariableMng * variableMng() const override
Associated variable manager.
const IUserDataList * userDataList() const override
Associated user data manager.
MeshHandle handle() const override
Handle on this mesh.
IMeshMng * meshMng() const override
Associated mesh manager.
void endAllocate() override
Indicates the end of cell allocation.
ItemGroup findGroup(const String &) override
Returns the group with name name or a null group if none exists.
IMeshUtilities * utilities() override
Associated utility functions interface.
IItemFamily * nodeFamily() override
Returns the node family.
Integer checkLevel() const override
Current check level.
Integer nbFace() override
Number of mesh faces.
EdgeGroup allEdges() override
Group of all edges.
IItemFamily * findItemFamily(eItemKind, const String &, bool, bool) override
Returns the family named name.
IItemFamilyNetwork * itemFamilyNetwork() override
Family network interface (connected families).
MeshCollection childMeshes() const override
List of sub-meshes of the current mesh.
CellGroup ownCells() override
Group of all domain-specific cells.
void setMeshPartInfo(const MeshPartInfo &) override
Positions partitioning information.
CellGroup allLevelCells(const Integer &) override
Group of all cells of level level.
NodeGroup ownNodes() override
Group of all domain-specific nodes.
IMeshInternal * _internalApi() override
Internal Arcane API.
NodeGroup allNodes() override
Group of all nodes.
FaceGroup ownActiveFaces() override
Group of all active faces specific to the domain.
bool isDynamic() const override
Indicates if the mesh is dynamic (can evolve).
void setCheckLevel(Integer) override
Sets the mesh check level.
String name() const override
Mesh name.
bool isAllocated() override
True if the mesh is allocated.
IMeshUniqueIdMng * meshUniqueIdMng() const override
Unique ID numbering manager.
IIndexedIncrementalItemConnectivityMng * indexedConnectivityMng() override
Interface of the indexed incremental connectivity manager.
FaceGroup outerActiveFaces() override
Group of all active faces on the boundary.
IMesh * parentMesh() const override
Access to the parent mesh.
CellGroup allCells() override
Group of all cells.
String factoryName() const override
Name of the factory used to create the mesh.
EdgeGroup ownEdges() override
Group of all domain-specific edges.
void computeSynchronizeInfos() override
Recalculates synchronization information.
Integer nbItem(eItemKind) override
Number of elements of type ik.
ItemGroupT< Cell > CellGroup
Group of cells.
ItemGroupT< Face > FaceGroup
Group of faces.
ItemGroupT< Edge > EdgeGroup
Group of edges.
ItemGroupT< Node > NodeGroup
Group of nodes.
MeshVariableScalarRefT< Node, Real3 > VariableNodeReal3
Coordinate type quantity at node.
ItemVariableScalarRefT< Int32 > VariableItemInt32
32-bit integer type quantity
VariableRefScalarT< Integer > VariableScalarInteger
Scalar variable of integer type.
Collection< ItemGroup > ItemGroupCollection
Collection of mesh item groups.
std::int64_t Int64
Signed integer type of 64 bits.
Int32 Integer
Type representing an integer.
ConstArrayView< Int32 > Int32ConstArrayView
C equivalent of a 1D array of 32-bit integers.
ConstArrayView< ItemInternal * > ItemInternalList
Type of the internal list of entities.
Collection< IItemFamily * > IItemFamilyCollection
Collection of item families.
ConstArrayView< Int64 > Int64ConstArrayView
C equivalent of a 1D array of 64-bit integers.
SharedMeshVariableScalarRefT< Node, Real3 > SharedVariableNodeReal3
Quantity at the node of coordinate type.
eItemKind
Mesh entity type.
Collection< IMesh * > MeshCollection
Collection of meshes.
InternalConnectivityPolicy
Connectivity usage policy.
Collection< ITiedInterface * > TiedInterfaceCollection
Collection of tied interfaces.