Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::CartesianMeshImpl Class Reference

Specific information for a Cartesian mesh. More...

Public Member Functions

 CartesianMeshImpl (IMesh *mesh)
void build () override
IMeshmesh () const override
 Mesh associated with this Cartesian mesh.
ITraceMngtraceMng () const override
 Associated trace manager.
CellDirectionMng cellDirection (eMeshDirection dir) override
 List of cells in direction dir.
CellDirectionMng cellDirection (Integer idir) override
 List of cells in direction dir (0, 1 or 2).
FaceDirectionMng faceDirection (eMeshDirection dir) override
 List of faces in direction dir.
FaceDirectionMng faceDirection (Integer idir) override
 List of faces in direction dir (0, 1 or 2).
NodeDirectionMng nodeDirection (eMeshDirection dir) override
 List of nodes in direction dir.
NodeDirectionMng nodeDirection (Integer idir) override
 List of nodes in direction dir (0, 1 or 2).
void computeDirections () override
 Calculates information for directional access.
void recreateFromDump () override
 Recalculates Cartesian information after a restart.
CartesianConnectivity connectivity () override
 Connectivity information.
Int32 nbPatch () const override
 Number of patches in the mesh.
ICartesianMeshPatchpatch (Int32 index) const override
 Returns the index-th patch of the mesh.
CartesianPatch amrPatch (Int32 index) const override
 Returns the index-th patch of the mesh.
CartesianMeshPatchListView patches () const override
 View of the list of patches.
void refinePatch2D (Real2 position, Real2 length) override
 Refines a block of the Cartesian mesh in 2D.
void refinePatch3D (Real3 position, Real3 length) override
 Refines a block of the Cartesian mesh in 3D.
void refinePatch (const AMRZonePosition &position) override
 Refines a block of the Cartesian mesh.
void coarseZone2D (Real2 position, Real2 length) override
 Coarsens a block of the Cartesian mesh in 2D.
void coarseZone3D (Real3 position, Real3 length) override
 Coarsens a block of the Cartesian mesh in 3D.
void coarseZone (const AMRZonePosition &position) override
 Coarsens a block of the Cartesian mesh.
Integer reduceNbGhostLayers (Integer level, Integer target_nb_ghost_layers) override
 Method for deleting one or more layers of ghost cells at a defined refinement level.
void renumberItemsUniqueId (const CartesianMeshRenumberingInfo &v) override
 Renumbers the uniqueId() of entities.
void checkValid () const override
 Performs checks on the validity of the instance.
Ref< CartesianMeshCoarseningcreateCartesianMeshCoarsening () override
 Creates an instance to manage mesh coarsening.
ICartesianMeshInternal * _internalApi () override
 Internal API for Arcane.
void computeDirectionsPatchV2 (Integer index) override
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

Additional Inherited Members

Static Public Member Functions inherited from Arcane::ICartesianMesh
static ICartesianMeshgetReference (const MeshHandleOrMesh &mesh, bool create=true)
 Retrieves or creates the reference associated with mesh.
Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Specific information for a Cartesian mesh.

Definition at line 78 of file CartesianMesh.cc.

Constructor & Destructor Documentation

◆ CartesianMeshImpl()

Arcane::CartesianMeshImpl::CartesianMeshImpl ( IMesh * mesh)
explicit

Definition at line 283 of file CartesianMesh.cc.

Member Function Documentation

◆ _internalApi()

ICartesianMeshInternal * Arcane::CartesianMeshImpl::_internalApi ( )
inlineoverridevirtual

Internal API for Arcane.

Implements Arcane::ICartesianMesh.

Definition at line 211 of file CartesianMesh.cc.

◆ amrPatch()

CartesianPatch Arcane::CartesianMeshImpl::amrPatch ( Int32 index) const
inlineoverridevirtual

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.

Deprecated
Use CartesianMeshAMRMng::amrPatch() instead.

Implements Arcane::ICartesianMesh.

Definition at line 191 of file CartesianMesh.cc.

◆ build()

void Arcane::CartesianMeshImpl::build ( )
overridevirtual

Implements Arcane::ICartesianMesh.

Definition at line 304 of file CartesianMesh.cc.

◆ cellDirection() [1/2]

CellDirectionMng Arcane::CartesianMeshImpl::cellDirection ( eMeshDirection dir)
inlineoverridevirtual

List of cells in direction dir.

Implements Arcane::ICartesianMesh.

Definition at line 150 of file CartesianMesh.cc.

◆ cellDirection() [2/2]

CellDirectionMng Arcane::CartesianMeshImpl::cellDirection ( Integer idir)
inlineoverridevirtual

List of cells in direction dir (0, 1 or 2).

Implements Arcane::ICartesianMesh.

Definition at line 155 of file CartesianMesh.cc.

◆ checkValid()

void Arcane::CartesianMeshImpl::checkValid ( ) const
overridevirtual

Performs checks on the validity of the instance.

Implements Arcane::ICartesianMesh.

Definition at line 1182 of file CartesianMesh.cc.

References Arcane::ICartesianMeshPatch::checkValid(), Arcane::TraceAccessor::info(), nbPatch(), and patch().

Referenced by computeDirections().

◆ coarseZone()

void Arcane::CartesianMeshImpl::coarseZone ( const AMRZonePosition & position)
overridevirtual

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.

Deprecated
Use CartesianMeshAMRMng::coarseZone2D() instead.

Implements Arcane::ICartesianMesh.

Definition at line 893 of file CartesianMesh.cc.

Referenced by coarseZone2D(), and coarseZone3D().

◆ coarseZone2D()

void Arcane::CartesianMeshImpl::coarseZone2D ( Real2 position,
Real2 length )
overridevirtual

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.

Deprecated
Use CartesianMeshAMRMng::coarseZone2D() instead.

Implements Arcane::ICartesianMesh.

Definition at line 873 of file CartesianMesh.cc.

References coarseZone(), and Arcane::TraceAccessor::info().

◆ coarseZone3D()

void Arcane::CartesianMeshImpl::coarseZone3D ( Real3 position,
Real3 length )
overridevirtual

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.

Deprecated
Use CartesianMeshAMRMng::coarseZone2D() instead.

Implements Arcane::ICartesianMesh.

Definition at line 883 of file CartesianMesh.cc.

References coarseZone(), and Arcane::TraceAccessor::info().

◆ computeDirections()

void Arcane::CartesianMeshImpl::computeDirections ( )
overridevirtual

◆ computeDirectionsPatchV2()

void Arcane::CartesianMeshImpl::computeDirectionsPatchV2 ( Integer index)
overridevirtual

Implements Arcane::ICartesianMesh.

Definition at line 736 of file CartesianMesh.cc.

◆ connectivity()

CartesianConnectivity Arcane::CartesianMeshImpl::connectivity ( )
inlineoverridevirtual

Connectivity information.

Implements Arcane::ICartesianMesh.

Definition at line 184 of file CartesianMesh.cc.

◆ createCartesianMeshCoarsening()

Ref< CartesianMeshCoarsening > Arcane::CartesianMeshImpl::createCartesianMeshCoarsening ( )
overridevirtual

Creates an instance to manage mesh coarsening.

Deprecated
Use Arcane::CartesianMeshUtils::createCartesianMeshCoarsening2() instead.

Implements Arcane::ICartesianMesh.

Definition at line 1242 of file CartesianMesh.cc.

References Arcane::makeRef().

◆ faceDirection() [1/2]

FaceDirectionMng Arcane::CartesianMeshImpl::faceDirection ( eMeshDirection dir)
inlineoverridevirtual

List of faces in direction dir.

Implements Arcane::ICartesianMesh.

Definition at line 160 of file CartesianMesh.cc.

◆ faceDirection() [2/2]

FaceDirectionMng Arcane::CartesianMeshImpl::faceDirection ( Integer idir)
inlineoverridevirtual

List of faces in direction dir (0, 1 or 2).

Implements Arcane::ICartesianMesh.

Definition at line 165 of file CartesianMesh.cc.

◆ mesh()

IMesh * Arcane::CartesianMeshImpl::mesh ( ) const
inlineoverridevirtual

Mesh associated with this Cartesian mesh.

Implements Arcane::ICartesianMesh.

Definition at line 145 of file CartesianMesh.cc.

Referenced by computeDirections().

◆ nbPatch()

Int32 Arcane::CartesianMeshImpl::nbPatch ( ) const
inlineoverridevirtual

Number of patches in the mesh.

There is always at least one patch that represents the Cartesian mesh

Deprecated
Use CartesianMeshAMRMng instead.

Implements Arcane::ICartesianMesh.

Definition at line 189 of file CartesianMesh.cc.

Referenced by checkValid().

◆ nodeDirection() [1/2]

NodeDirectionMng Arcane::CartesianMeshImpl::nodeDirection ( eMeshDirection dir)
inlineoverridevirtual

List of nodes in direction dir.

Implements Arcane::ICartesianMesh.

Definition at line 170 of file CartesianMesh.cc.

◆ nodeDirection() [2/2]

NodeDirectionMng Arcane::CartesianMeshImpl::nodeDirection ( Integer idir)
inlineoverridevirtual

List of nodes in direction dir (0, 1 or 2).

Implements Arcane::ICartesianMesh.

Definition at line 175 of file CartesianMesh.cc.

◆ patch()

ICartesianMeshPatch * Arcane::CartesianMeshImpl::patch ( Int32 index) const
inlineoverridevirtual

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.

Implements Arcane::ICartesianMesh.

Definition at line 190 of file CartesianMesh.cc.

Referenced by checkValid(), and computeDirections().

◆ patches()

CartesianMeshPatchListView Arcane::CartesianMeshImpl::patches ( ) const
inlineoverridevirtual

View of the list of patches.

Deprecated
Use CartesianMeshAMRMng::amrPatch() instead.

Implements Arcane::ICartesianMesh.

Definition at line 192 of file CartesianMesh.cc.

◆ recreateFromDump()

void Arcane::CartesianMeshImpl::recreateFromDump ( )
overridevirtual

Recalculates Cartesian information after a restart.

This method must be called instead of computeDirections() during a restart.

Implements Arcane::ICartesianMesh.

Definition at line 352 of file CartesianMesh.cc.

References ARCANE_FATAL, computeDirections(), Arcane::TraceAccessor::info(), and Arcane::PatchCartesianMeshOnly.

◆ reduceNbGhostLayers()

Integer Arcane::CartesianMeshImpl::reduceNbGhostLayers ( Integer level,
Integer target_nb_ghost_layers )
overridevirtual

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.

Parameters
levelThe refinement level concerned by the deletion of ghost cells.
target_nb_ghost_layersThe desired number of layers after calling this method. ATTENTION: It may be adjusted by the method.
Returns
The final number of ghost cell layers.
Deprecated
Use CartesianMeshAMRMng::reduceNbGhostLayers() instead.

Implements Arcane::ICartesianMesh.

Definition at line 903 of file CartesianMesh.cc.

References Arcane::Array< T >::add(), ARCANE_FATAL, computeDirections(), ENUMERATE_, Arcane::TraceAccessor::info(), Arcane::Item::isOwn(), Arcane::Cell::level(), Arcane::Item::null(), Arcane::MessagePassing::ReduceMax, Arcane::AbstractArray< T >::size(), and Arcane::Convert::toInt32().

◆ refinePatch()

void Arcane::CartesianMeshImpl::refinePatch ( const AMRZonePosition & position)
overridevirtual

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.

Deprecated
Use CartesianMeshAMRMng::refineZone() instead.

Implements Arcane::ICartesianMesh.

Definition at line 863 of file CartesianMesh.cc.

Referenced by refinePatch2D(), and refinePatch3D().

◆ refinePatch2D()

void Arcane::CartesianMeshImpl::refinePatch2D ( Real2 position,
Real2 length )
overridevirtual

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.

Deprecated
Use CartesianMeshAMRMng::refineZone() instead.

Implements Arcane::ICartesianMesh.

Definition at line 843 of file CartesianMesh.cc.

References Arcane::TraceAccessor::info(), and refinePatch().

◆ refinePatch3D()

void Arcane::CartesianMeshImpl::refinePatch3D ( Real3 position,
Real3 length )
overridevirtual

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.

Deprecated
Use CartesianMeshAMRMng::refineZone() instead.

Implements Arcane::ICartesianMesh.

Definition at line 853 of file CartesianMesh.cc.

References Arcane::TraceAccessor::info(), and refinePatch().

◆ renumberItemsUniqueId()

void Arcane::CartesianMeshImpl::renumberItemsUniqueId ( const CartesianMeshRenumberingInfo & v)
overridevirtual

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.

Implements Arcane::ICartesianMesh.

Definition at line 1196 of file CartesianMesh.cc.

References ARCANE_FATAL, ARCANE_THROW, computeDirections(), Arcane::TraceAccessor::info(), Arcane::PatchCartesianMeshOnly, and Arcane::TraceAccessor::warning().

◆ traceMng()

ITraceMng * Arcane::CartesianMeshImpl::traceMng ( ) const
inlineoverridevirtual

Associated trace manager.

Implements Arcane::ICartesianMesh.

Definition at line 148 of file CartesianMesh.cc.

References Arcane::TraceAccessor::traceMng().


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