Mesh partitioner using the Zoltan library. More...
Public Member Functions | |
| ZoltanMeshPartitioner (const ServiceBuildInfo &sbi) | |
| virtual void | build () |
| Build-level construction of the service. | |
| virtual void | partitionMesh (bool initial_partition) |
| virtual void | partitionMesh (bool initial_partition, Int32 nb_part) |
| virtual void | notifyEndPartition () |
| Notification when a re-partitioning finishes (after entity exchange). | |
| Public Member Functions inherited from Arcane::ArcaneZoltanMeshPartitionerObject | |
| ArcaneZoltanMeshPartitionerObject (const Arcane::ServiceBuildInfo &sbi) | |
| Constructeur. | |
| virtual | ~ArcaneZoltanMeshPartitionerObject () |
| Destructeur. | |
| CaseOptionsZoltanMeshPartitioner * | options () const |
| Options du jeu de données du service. | |
| Public Member Functions inherited from Arcane::MeshPartitionerBase | |
| MeshPartitionerBase (const ServiceBuildInfo &sbi) | |
| ISubDomain * | subDomain () const |
| IMesh * | mesh () const override |
| Mesh associated with the partitioner. | |
| void | setMaximumComputationTime (Real v) override |
| Sets the proportion of computation time. | |
| Real | maximumComputationTime () const override |
| void | setImbalance (Real v) override |
| Sets the computation time imbalance. | |
| Real | imbalance () const override |
| Computation time imbalance. | |
| void | setMaxImbalance (Real v) override |
| Sets the maximum allowed imbalance. | |
| Real | maxImbalance () const override |
| Maximum allowed imbalance. | |
| void | setComputationTimes (RealConstArrayView v) override |
| Computation time of this subdomain. The first element indicates the computation time of the subdomain corresponding to calculations whose cost is proportional to the cells. The following must be associated with a variable (to be done). | |
| RealConstArrayView | computationTimes () const override |
| void | setCellsWeight (ArrayView< float > weights, Integer nb_weight) override |
| Allows defining the weights of objects to be partitioned: ILoadBalanceMng must now be used. | |
| ArrayView< float > | cellsWeight () const override |
| Integer | nbCellWeight () const |
| void | setILoadBalanceMng (ILoadBalanceMng *mng) override |
| Changes the ILoadBalanceMng to use. | |
| ILoadBalanceMng * | loadBalanceMng () const override |
| virtual void | changeOwnersFromCells () |
| Positions the new owners of nodes, edges and faces based on the cells. | |
| virtual void | initConstraints (bool uidref=true) |
| virtual void | freeConstraints () |
| virtual Int32 | nbOwnCellsWithConstraints () const |
| virtual Real | getNeighbourCellsUidWithConstraints (Cell cell, Int64Array &neighbourcells, Array< float > *commWeights=NULL, bool noCellContrib=false) |
| virtual Integer | nbNeighbourCellsWithConstraints (Cell cell) |
| virtual void | getNeighbourNodesUidWithConstraints (Cell cell, Int64UniqueArray neighbournodes) |
| virtual Int32 | localIdWithConstraints (Cell cell) |
| virtual Int32 | localIdWithConstraints (Int32 cell_lid) |
| virtual void | invertArrayLid2LidCompacted () |
| virtual SharedArray< float > | cellsWeightsWithConstraints (Int32 max_nb_weight=0, bool ask_lb_cells=false) |
| virtual SharedArray< float > | cellsSizeWithConstraints () |
| virtual bool | cellUsedWithConstraints (Cell cell) |
| virtual bool | cellUsedWithWeakConstraints (std::pair< Int64, Int64 > &paired_item) |
| virtual void | changeCellOwner (Item cell, VariableItemInt32 &cells_new_owner, Int32 new_owner) |
| virtual bool | haveConstraints () |
| virtual bool | haveWeakConstraints () |
| Public Member Functions inherited from Arcane::AbstractService | |
| ~AbstractService () override | |
| Destructor. | |
| IServiceInfo * | serviceInfo () const override |
| Access to service information. See IServiceInfo for details. | |
| IBase * | serviceParent () const override |
| Access to the base interface of main Arcane objects. | |
| IService * | serviceInterface () override |
| Returns the low-level IService interface of the service. | |
| 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 |
| Public Member Functions inherited from Arcane::IService | |
| virtual | ~IService () |
| Releases resources. | |
| Public Member Functions inherited from Arcane::IMeshPartitioner | |
| virtual IPrimaryMesh * | primaryMesh () override |
| Associated mesh. | |
| Public Member Functions inherited from Arcane::IMeshPartitionerBase | |
| virtual | ~IMeshPartitionerBase ()=default |
| Releases resources. | |
Additional Inherited Members | |
| Public Types inherited from Arcane::MeshPartitionerBase | |
| enum | eMarkCellWithConstraint { eCellClassical , eCellReference , eCellGrouped , eCellGhost , eCellInAConstraint } |
| Static Public Member Functions inherited from Arcane::ArcaneZoltanMeshPartitionerObject | |
| template<typename ServiceClassType> | |
| static void | fillServiceInfo (Arcane::ServiceInfo *si) |
| Protected Member Functions inherited from Arcane::MeshPartitionerBase | |
| virtual void | dumpObject (String filename="toto") |
| Dumps the partitioning information to disk. | |
| virtual void * | getCommunicator () const |
| virtual Parallel::Communicator | communicator () const |
| virtual bool | cellComm () |
| virtual void | _initArrayCellsWithConstraints () |
| virtual void | _initFilterLidCells () |
| virtual void | _initUidRef () |
| virtual void | _initUidRef (VariableCellInteger &cell_renum_uid) |
| virtual void | _initLid2LidCompacted () |
| virtual void | _initNbCellsWithConstraints () |
| virtual void | _clearCellWgt () |
| bool | _isNonManifoldMesh () const |
| Int32 | _meshDimension () const |
| Protected Member Functions inherited from Arcane::AbstractService | |
| AbstractService (const ServiceBuildInfo &) | |
| Constructor from a ServiceBuildInfo. | |
| Protected Member Functions inherited from Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
| Protected Member Functions inherited from Arcane::IService | |
| IService () | |
| Constructor. | |
| Protected Attributes inherited from Arcane::MeshPartitionerBase | |
| IItemFamily * | m_cell_family = nullptr |
Mesh partitioner using the Zoltan library.
Definition at line 516 of file ZoltanMeshPartitioner.cc.
|
explicit |
Definition at line 540 of file ZoltanMeshPartitioner.cc.
|
inlinevirtual |
Build-level construction of the service.
This method is called right after the constructor.
Reimplemented from Arcane::AbstractService.
Definition at line 525 of file ZoltanMeshPartitioner.cc.
|
virtual |
Notification when a re-partitioning finishes (after entity exchange).
Reimplemented from Arcane::MeshPartitionerBase.
Definition at line 869 of file ZoltanMeshPartitioner.cc.
|
virtual |
Re-partitions the mesh mesh
This method changes the owners of the entities and fills the IItemFamily::itemsNewOwner() variable of each entity family of the mesh mesh with the number of the new owning subdomain.
Reimplemented from Arcane::IMeshPartitioner.
Definition at line 549 of file ZoltanMeshPartitioner.cc.
References partitionMesh().
Referenced by partitionMesh().
|
virtual |
Implements Arcane::IMeshPartitioner.
Definition at line 559 of file ZoltanMeshPartitioner.cc.