9
9
/* */
10
10
/* Classe de base d'un partitionneur de maillage. */
11
11
/* ---------------------------------------------------------------------------*/
12
- #ifndef ARCANE_MESHPARTITIONERBASE_H
13
- #define ARCANE_MESHPARTITIONERBASE_H
12
+ #ifndef ARCANE_STD_MESHPARTITIONERBASE_H
13
+ #define ARCANE_STD_MESHPARTITIONERBASE_H
14
14
/* ---------------------------------------------------------------------------*/
15
15
/* ---------------------------------------------------------------------------*/
16
16
17
- #include < set>
17
+ #include " arcane/utils/Array.h"
18
+ #include " arcane/utils/HashTableMap.h"
19
+ #include " arcane/utils/ScopedPtr.h"
18
20
19
21
#include " arcane/core/IMeshPartitioner.h"
20
22
#include " arcane/core/AbstractService.h"
21
23
#include " arcane/core/ILoadBalanceMng.h"
22
24
23
- #include " arcane/utils/Array.h"
24
- #include " arcane/utils/HashTableMap.h"
25
- #include " arcane/utils/ScopedPtr.h"
25
+ #include < set>
26
26
27
27
/* ---------------------------------------------------------------------------*/
28
28
/* ---------------------------------------------------------------------------*/
29
29
30
30
namespace Arcane
31
31
{
32
32
33
- /* ---------------------------------------------------------------------------*/
34
- /* ---------------------------------------------------------------------------*/
35
-
36
- class ISubDomain ;
37
-
38
-
39
33
/* ---------------------------------------------------------------------------*/
40
34
/* ---------------------------------------------------------------------------*/
41
35
/* !
@@ -54,33 +48,33 @@ class ARCANE_STD_EXPORT MeshPartitionerBase
54
48
public:
55
49
56
50
ISubDomain* subDomain () const { return m_sub_domain; }
57
- IMesh* mesh () const { return m_mesh; }
51
+ IMesh* mesh () const override { return m_mesh; }
58
52
59
53
// DEPRECATED
60
54
void setMaximumComputationTime (Real v) override { m_maximum_computation_time = v; }
61
- virtual Real maximumComputationTime () const { return m_maximum_computation_time; }
55
+ Real maximumComputationTime () const override { return m_maximum_computation_time; }
62
56
63
- virtual void setImbalance (Real v){ m_imbalance = v; }
64
- virtual Real imbalance () const { return m_imbalance; }
57
+ void setImbalance (Real v) override { m_imbalance = v; }
58
+ Real imbalance () const override { return m_imbalance; }
65
59
66
- virtual void setMaxImbalance (Real v){ m_max_imbalance = v; }
67
- virtual Real maxImbalance () const { return m_max_imbalance; }
60
+ void setMaxImbalance (Real v) override { m_max_imbalance = v; }
61
+ Real maxImbalance () const override { return m_max_imbalance; }
68
62
69
- virtual void setComputationTimes (RealConstArrayView v) { m_computation_times.copy (v); }
70
- virtual RealConstArrayView computationTimes () const { return m_computation_times; }
63
+ void setComputationTimes (RealConstArrayView v) override { m_computation_times.copy (v); }
64
+ RealConstArrayView computationTimes () const override { return m_computation_times; }
71
65
72
- virtual void setCellsWeight (ArrayView<float > weights,Integer nb_weight);
73
- virtual ArrayView<float > cellsWeight () const ;
66
+ void setCellsWeight (ArrayView<float > weights,Integer nb_weight) override ;
67
+ ArrayView<float > cellsWeight () const override ;
74
68
75
69
// CORRECT
76
- virtual Integer nbCellWeight () const ;
77
- virtual void setILoadBalanceMng (ILoadBalanceMng* mng) { m_lbMng = mng; }
78
- virtual ILoadBalanceMng* loadBalanceMng () const { return m_lbMng; }
70
+ Integer nbCellWeight () const ;
71
+ void setILoadBalanceMng (ILoadBalanceMng* mng) override { m_lbMng = mng; }
72
+ ILoadBalanceMng* loadBalanceMng () const override { return m_lbMng; }
79
73
80
74
81
75
public:
82
76
83
- virtual void notifyEndPartition () { loadBalanceMng ()->notifyEndPartition (); }
77
+ void notifyEndPartition () override { loadBalanceMng ()->notifyEndPartition (); }
84
78
85
79
public:
86
80
@@ -152,11 +146,10 @@ class ARCANE_STD_EXPORT MeshPartitionerBase
152
146
153
147
virtual void * getCommunicator () const ;
154
148
virtual Parallel::Communicator communicator () const ;
155
-
156
-
157
149
virtual bool cellComm () {return true ; }
158
150
159
- protected:
151
+ protected:
152
+
160
153
virtual void _initArrayCellsWithConstraints ();
161
154
virtual void _initFilterLidCells ();
162
155
virtual void _initUidRef ();
@@ -166,6 +159,7 @@ class ARCANE_STD_EXPORT MeshPartitionerBase
166
159
virtual void _clearCellWgt ();
167
160
168
161
private:
162
+
169
163
Real _addNgb (const Cell& cell, const Face& face, Int64Array& neighbourcells, Array<bool >& contrib,
170
164
HashTableMapT<Int64,Int32>& map, Array<float > *ptrcommWeights, Int32 offset,
171
165
HashTableMapT<Int32,Int32>& lids, bool special=false );
0 commit comments