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

Public Member Functions

 CartesianMeshAMRPatchMng (ICartesianMesh *cmesh, ICartesianMeshNumberingMngInternal *numbering_mng)
void refine () override
 Method allowing cell refinement using the "II_Refine" flag.
void createSubLevel () override
 Method allowing coarsening of level 0 cells.
void coarsen (bool update_parent_flag) override
 Method allowing removal of cells marked with the "II_Coarsen" flag.
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

Private Member Functions

void _shareInfosOfCellsAroundPatch (ConstArrayView< Cell > patch_cells, std::unordered_map< Int64, Integer > &around_cells_uid_to_owner, std::unordered_map< Int64, Int32 > &around_cells_uid_to_flags, Int32 useful_flags) const
 Method allowing retrieval of owners and flags of cells around patch_cells.

Private Attributes

IMeshm_mesh
ICartesianMeshm_cmesh
ICartesianMeshNumberingMngInternalm_num_mng

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Definition at line 39 of file CartesianMeshAMRPatchMng.h.

Constructor & Destructor Documentation

◆ CartesianMeshAMRPatchMng()

Arcane::CartesianMeshAMRPatchMng::CartesianMeshAMRPatchMng ( ICartesianMesh * cmesh,
ICartesianMeshNumberingMngInternal * numbering_mng )
explicit

Definition at line 45 of file CartesianMeshAMRPatchMng.cc.

Member Function Documentation

◆ _shareInfosOfCellsAroundPatch()

void Arcane::CartesianMeshAMRPatchMng::_shareInfosOfCellsAroundPatch ( ConstArrayView< Cell > patch_cells,
std::unordered_map< Int64, Integer > & around_cells_uid_to_owner,
std::unordered_map< Int64, Int32 > & around_cells_uid_to_flags,
Int32 useful_flags ) const
private

Method allowing retrieval of owners and flags of cells around patch_cells.

Parameters
patch_cellsThe cells around which we need the surrounding cell information.
around_cells_uid_to_ownerOwners of patch_cells and cells around patch_cells.
around_cells_uid_to_flagsFlags of patch_cells and cells around patch_cells.
useful_flagsThe flags that need to be retrieved.

Definition at line 3091 of file CartesianMeshAMRPatchMng.cc.

References Arcane::Array< T >::add(), Arcane::IParallelMng::allGather(), Arcane::IParallelMng::allGatherVariable(), Arcane::IParallelMng::commRank(), Arcane::IParallelMng::commSize(), ENUMERATE_, Arcane::ItemFlags::II_UserMark1, Arcane::Item::itemBase(), Arcane::Item::owner(), Arcane::IParallelMng::reduce(), Arcane::AbstractArray< T >::size(), Arcane::Array< T >::subView(), and Arcane::Item::uniqueId().

Referenced by coarsen(), and refine().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ coarsen()

void Arcane::CartesianMeshAMRPatchMng::coarsen ( bool update_parent_flag)
overridevirtual

Method allowing removal of cells marked with the "II_Coarsen" flag.

The owners of faces and nodes having marked cells and unmarked cells are likely to be updated.

Parameters
update_parent_flagIf true, the flags of the parents will be updated. This includes activating the parent cells.

Implements Arcane::ICartesianMeshAMRPatchMng.

Definition at line 2707 of file CartesianMeshAMRPatchMng.cc.

References _shareInfosOfCellsAroundPatch(), Arcane::Array< T >::add(), Arcane::MutableItemBase::addFlags(), ARCANE_FATAL, ENUMERATE_, Arcane::ItemBase::flags(), Arcane::Materials::IMeshMaterialMng::forceRecompute(), Arcane::Materials::IMeshMaterialMng::getReference(), Arcane::Cell::hChild(), Arcane::Cell::hParent(), Arcane::ItemFlags::II_Coarsen, Arcane::ItemFlags::II_CoarsenInactive, Arcane::ItemFlags::II_Inactive, Arcane::ItemFlags::II_JustCoarsened, Arcane::Item::itemBase(), Arcane::Cell::level(), Arcane::Item::mutableItemBase(), Arcane::Cell::nbHChildren(), Arcane::MutableItemBase::removeFlags(), Arcane::Item::uniqueId(), and Arcane::FixedArray< T, NbElement >::view().

Here is the call graph for this function:

◆ createSubLevel()

void Arcane::CartesianMeshAMRPatchMng::createSubLevel ( )
overridevirtual

Method allowing coarsening of level 0 cells.

A cell level -1 will be created with parent cells to the level 0 cells, and then all levels will be incremented by 1. The level created by this method will therefore be the new level 0.

Implements Arcane::ICartesianMeshAMRPatchMng.

Definition at line 1839 of file CartesianMeshAMRPatchMng.cc.

References Arcane::Array< T >::add(), Arcane::MutableItemBase::addFlags(), Arcane::IParallelMng::allGather(), Arcane::IParallelMng::allGatherVariable(), ARCANE_FATAL, Arcane::IGhostLayerMng::builderVersion(), Arcane::IParallelMng::commRank(), Arcane::IParallelMng::commSize(), Arcane::AbstractArray< T >::contains(), Arcane::ConstArrayView< T >::create(), Arcane::TraceAccessor::debug(), ENUMERATE_, Arcane::Cell::faces(), Arcane::ItemBase::flags(), Arcane::ItemFlags::II_Inactive, Arcane::ItemFlags::II_JustAdded, Arcane::ItemFlags::II_JustCoarsened, Arcane::ItemFlags::II_Own, Arcane::ItemFlags::II_Shared, Arcane::Item::mutableItemBase(), Arcane::IGhostLayerMng::nbGhostLayer(), Arcane::ItemWithNodes::nodes(), Arcane::Item::owner(), Arcane::IParallelMng::reduce(), Arcane::IGhostLayerMng::setBuilderVersion(), Arcane::IMeshModifier::setDynamic(), Arcane::IGhostLayerMng::setNbGhostLayer(), Arcane::MutableItemBase::setOwner(), Arcane::AbstractArray< T >::size(), Arcane::Array< T >::subView(), Arcane::Item::uniqueId(), Arcane::IMeshModifier::updateGhostLayers(), and Arcane::FixedArray< T, NbElement >::view().

Here is the call graph for this function:

◆ refine()

Member Data Documentation

◆ m_cmesh

ICartesianMesh* Arcane::CartesianMeshAMRPatchMng::m_cmesh
private

Definition at line 60 of file CartesianMeshAMRPatchMng.h.

◆ m_mesh

IMesh* Arcane::CartesianMeshAMRPatchMng::m_mesh
private

Definition at line 59 of file CartesianMeshAMRPatchMng.h.

◆ m_num_mng

ICartesianMeshNumberingMngInternal* Arcane::CartesianMeshAMRPatchMng::m_num_mng
private

Definition at line 61 of file CartesianMeshAMRPatchMng.h.


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