Coarsens a Cartesian mesh by 2. More...
#include <arcane/cartesianmesh/CartesianMeshCoarsening2.h>
Public Member Functions | |
| void | createCoarseCells () |
| Coarsens the initial mesh by 2. | |
| void | removeRefinedCells () |
| Public Member Functions inherited from Arcane::TraceAccessor | |
| TraceAccessor (ITraceMng *m) | |
| Constructs an accessor via the trace manager m. | |
| TraceAccessor (const TraceAccessor &rhs) | |
| Copy constructor. | |
| TraceAccessor & | operator= (const TraceAccessor &rhs) |
| Copy assignment operator. | |
| virtual | ~TraceAccessor () |
| Frees resources. | |
| ITraceMng * | traceMng () 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 | |
| Protected Member Functions inherited from Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
Coarsens a Cartesian mesh by 2.
This class allows coarsening a Cartesian mesh. Instances of this class are created via ICartesianMesh::createCartesianMeshCoarsening().
The initial mesh must be Cartesian and must not have patches.
The mesh must be an AMR mesh (IMesh::isAmrActivated()==true).
The number of cells in each dimension must be a multiple of 2 as must the number of local cells in each subdomain.
The coarsening occurs upon calling createCoarseCell(). After this call, the mesh has the following structure:
It is then possible to keep only the coarse cells and remove the refined cells by calling the method.
Definition at line 76 of file CartesianMeshCoarsening2.h.
| void Arcane::CartesianMeshCoarsening2::createCoarseCells | ( | ) |
Coarsens the initial mesh by 2.
This method is collective.
Creates the patch with the child cells
Definition at line 127 of file CartesianMeshCoarsening2.cc.
References ARCANE_FATAL, Arcane::MeshStats::dumpStats(), ENUMERATE_, Arcane::Cell::face(), Arcane::TraceAccessor::info(), Arcane::Cell::level(), Arcane::ItemVectorView::localIds(), Arcane::math::max(), Arcane::Cell::nbFace(), Arcane::ItemWithNodes::nbNode(), Arcane::ItemWithNodes::node(), Arcane::CellDirectionMng::ownNbCell(), Arcane::IParallelMng::reduce(), Arcane::MessagePassing::ReduceMax, Arcane::Array< T >::resize(), Arcane::TraceAccessor::traceMng(), Arcane::Item::uniqueId(), and Arcane::ItemGroup::view().
| void Arcane::CartesianMeshCoarsening2::removeRefinedCells | ( | ) |
Definition at line 707 of file CartesianMeshCoarsening2.cc.