Interface of a Cartesian mesh. More...
#include <arcane/cartesianmesh/ICartesianMesh.h>
Public Member Functions | |
| virtual void | build ()=0 |
| virtual IMesh * | mesh () const =0 |
| Mesh associated with this Cartesian mesh. | |
| virtual ITraceMng * | traceMng () const =0 |
| Associated trace manager. | |
| virtual CellDirectionMng | cellDirection (eMeshDirection dir)=0 |
| List of cells in direction dir. | |
| virtual CellDirectionMng | cellDirection (Integer idir)=0 |
| List of cells in direction dir (0, 1 or 2). | |
| virtual FaceDirectionMng | faceDirection (eMeshDirection dir)=0 |
| List of faces in direction dir. | |
| virtual FaceDirectionMng | faceDirection (Integer idir)=0 |
| List of faces in direction dir (0, 1 or 2). | |
| virtual NodeDirectionMng | nodeDirection (eMeshDirection dir)=0 |
| List of nodes in direction dir. | |
| virtual NodeDirectionMng | nodeDirection (Integer idir)=0 |
| List of nodes in direction dir (0, 1 or 2). | |
| virtual void | computeDirections ()=0 |
| Calculates information for directional access. | |
| virtual void | recreateFromDump ()=0 |
| Recalculates Cartesian information after a restart. | |
| virtual CartesianConnectivity | connectivity ()=0 |
| Connectivity information. | |
| virtual Int32 | nbPatch () const =0 |
| Number of patches in the mesh. | |
| virtual ICartesianMeshPatch * | patch (Int32 index) const =0 |
| Returns the index-th patch of the mesh. | |
| virtual CartesianPatch | amrPatch (Int32 index) const =0 |
| Returns the index-th patch of the mesh. | |
| virtual CartesianMeshPatchListView | patches () const =0 |
| View of the list of patches. | |
| virtual void | refinePatch2D (Real2 position, Real2 length)=0 |
| Refines a block of the Cartesian mesh in 2D. | |
| virtual void | refinePatch3D (Real3 position, Real3 length)=0 |
| Refines a block of the Cartesian mesh in 3D. | |
| virtual void | refinePatch (const AMRZonePosition &position)=0 |
| Refines a block of the Cartesian mesh. | |
| virtual void | coarseZone2D (Real2 position, Real2 length)=0 |
| Coarsens a block of the Cartesian mesh in 2D. | |
| virtual void | coarseZone3D (Real3 position, Real3 length)=0 |
| Coarsens a block of the Cartesian mesh in 3D. | |
| virtual void | coarseZone (const AMRZonePosition &position)=0 |
| Coarsens a block of the Cartesian mesh. | |
| virtual Integer | reduceNbGhostLayers (Integer level, Integer target_nb_ghost_layers)=0 |
| Method for deleting one or more layers of ghost cells at a defined refinement level. | |
| virtual void | renumberItemsUniqueId (const CartesianMeshRenumberingInfo &v)=0 |
| Renumbers the uniqueId() of entities. | |
| virtual void | checkValid () const =0 |
| Performs checks on the validity of the instance. | |
| virtual Ref< CartesianMeshCoarsening > | createCartesianMeshCoarsening ()=0 |
| Creates an instance to manage mesh coarsening. | |
| virtual void | computeDirectionsPatchV2 (Integer index)=0 |
| virtual ICartesianMeshInternal * | _internalApi ()=0 |
| Internal Arcane API. | |
Static Public Member Functions | |
| static ICartesianMesh * | getReference (const MeshHandleOrMesh &mesh, bool create=true) |
| Retrieves or creates the reference associated with mesh. | |
Interface of a Cartesian mesh.
Definition at line 35 of file src/arcane/cartesianmesh/ICartesianMesh.h.
|
inlinevirtual |
Definition at line 39 of file src/arcane/cartesianmesh/ICartesianMesh.h.
|
pure virtual |
Implemented in Arcane::CartesianMeshImpl.
References _internalApi(), and mesh().
Referenced by _internalApi(), and Arcane::CartesianMeshUtils::createCartesianMeshCoarsening2().
|
pure virtual |
Returns the index-th patch of the mesh.
If the mesh is Cartesian, there is only one patch.
The returned instance remains valid as long as this instance is not destroyed.
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
List of cells in direction dir.
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
List of cells in direction dir (0, 1 or 2).
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
Performs checks on the validity of the instance.
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
Coarsens a block of the Cartesian mesh.
This method can only be called if the mesh is an AMR mesh (IMesh::isAmrActivated()==true).
The cells whose center positions are between position and (position+length) are coarsened and the corresponding connectivity information is updated.
All cells in the coarsening zone must be of the same level.
Patches that no longer contain cells after calling this method will be deleted.
This operation is collective.
Implemented in Arcane::CartesianMeshImpl.
Coarsens a block of the Cartesian mesh in 2D.
This method can only be called if the mesh is an AMR mesh (IMesh::isAmrActivated()==true).
The cells whose center positions are between position and (position+length) are coarsened and the corresponding connectivity information is updated.
All cells in the coarsening zone must be of the same level.
Patches that no longer contain cells after calling this method will be deleted.
This operation is collective.
Implemented in Arcane::CartesianMeshImpl.
Coarsens a block of the Cartesian mesh in 3D.
This method can only be called if the mesh is an AMR mesh (IMesh::isAmrActivated()==true).
The cells whose center positions are between position and (position+length) are coarsened and the corresponding connectivity information is updated.
All cells in the coarsening zone must be of the same level.
Patches that no longer contain cells after calling this method will be deleted.
This operation is collective.
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
Calculates information for directional access.
Currently, the following restrictions exist:
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
Connectivity information.
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
Creates an instance to manage mesh coarsening.
Implemented in Arcane::CartesianMeshImpl.
References createCartesianMeshCoarsening().
Referenced by createCartesianMeshCoarsening().
|
pure virtual |
List of faces in direction dir.
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
List of faces in direction dir (0, 1 or 2).
Implemented in Arcane::CartesianMeshImpl.
|
static |
Retrieves or creates the reference associated with mesh.
If no material manager is associated with mesh, it will be created when this method is called if create is true. If create is false, no manager is associated to the mesh, a null pointer is returned. The returned instance remains valid as long as the mesh mesh exists.
Definition at line 1263 of file CartesianMesh.cc.
References ARCANE_FATAL, Arcane::Cartesian, Arcane::IUserDataList::data(), Arcane::MeshHandleOrMesh::handle(), mesh(), Arcane::MeshHandle::meshOrNull(), Arcane::MeshHandle::meshUserDataList(), and Arcane::IUserDataList::setData().
|
pure virtual |
Mesh associated with this Cartesian mesh.
Implemented in Arcane::CartesianMeshImpl.
Referenced by _internalApi(), and getReference().
|
pure virtual |
Number of patches in the mesh.
There is always at least one patch that represents the Cartesian mesh
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
List of nodes in direction dir.
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
List of nodes in direction dir (0, 1 or 2).
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
Returns the index-th patch of the mesh.
If the mesh is Cartesian, there is only one patch.
The returned instance remains valid as long as this instance is not destroyed.
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
View of the list of patches.
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
Recalculates Cartesian information after a restart.
This method must be called instead of computeDirections() during a restart.
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
Method for deleting one or more layers of ghost cells at a defined refinement level.
The desired number of ghost cell layers may be increased by the method. It is necessary to retrieve the returned value to get the final number of ghost cell layers.
| level | The refinement level concerned by the deletion of ghost cells. |
| target_nb_ghost_layers | The desired number of layers after calling this method. ATTENTION: It may be adjusted by the method. |
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
Refines a block of the Cartesian mesh.
This method can only be called if the mesh is an AMR mesh (IMesh::isAmrActivated()==true).
The cells whose center positions are between position and (position+length) are refined and the corresponding connectivity information is updated.
This operation is collective.
Implemented in Arcane::CartesianMeshImpl.
Refines a block of the Cartesian mesh in 2D.
This method can only be called if the mesh is an AMR mesh (IMesh::isAmrActivated()==true).
The cells whose center positions are between position and (position+length) are refined and the corresponding connectivity information is updated.
This operation is collective.
Implemented in Arcane::CartesianMeshImpl.
Refines a block of the Cartesian mesh in 3D.
This method can only be called if the mesh is an AMR mesh (IMesh::isAmrActivated()==true).
The cells whose center positions are between position and (position+length) are refined and the corresponding connectivity information is updated.
This operation is collective.
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
Renumbers the uniqueId() of entities.
Based on the values of v, the uniqueId() of faces and/or entities of the patches is renumbered to have the same numbering regardless of the decomposition.
Implemented in Arcane::CartesianMeshImpl.
|
pure virtual |
Associated trace manager.
Implemented in Arcane::CartesianMeshImpl.