14#include "arcane/impl/LoadBalanceMng.h"
16#include "arcane/utils/ValueConvert.h"
18#include "arcane/impl/internal/LoadBalanceMngInternal.h"
20#include "arcane/core/ISubDomain.h"
40 return (v.value() != 0);
49: m_mesh_handle(sd->defaultMeshHandle())
51 bool is_legacy_init = _isLegacyInit();
54 bool use_mass_as_criterion = is_legacy_init;
55 _init(use_mass_as_criterion, is_legacy_init);
62LoadBalanceMng(ISubDomain* sd,
bool use_mass_as_criterion)
63: m_mesh_handle(sd->defaultMeshHandle())
65 bool is_legacy_init = _isLegacyInit();
66 _init(use_mass_as_criterion, is_legacy_init);
76_init(
bool use_mass_as_criterion,
bool is_legacy_init)
78 m_internal =
makeRef(
new LoadBalanceMngInternal(use_mass_as_criterion, is_legacy_init));
79 m_internal->reset(m_mesh_handle.mesh());
88 m_internal->reset(m_mesh_handle.mesh());
95initAccess(IMesh* mesh)
97 m_internal->initAccess(mesh);
106 m_internal->endAccess();
115 m_internal->addMass(count, m_mesh_handle.mesh(), entity);
124 m_internal->addCriterion(count, m_mesh_handle.mesh());
131addCriterion(VariableCellReal& count)
133 m_internal->addCriterion(count, m_mesh_handle.mesh());
140addCommCost(VariableFaceInt32& count,
const String& entity)
142 m_internal->addCommCost(count, m_mesh_handle.mesh(), entity);
151 return m_internal->nbCriteria(m_mesh_handle.mesh());
160 m_internal->notifyEndPartition();
167setMassAsCriterion(
bool active)
169 m_internal->setMassAsCriterion(m_mesh_handle.mesh(), active);
176setNbCellsAsCriterion(
bool active)
178 m_internal->setNbCellsAsCriterion(m_mesh_handle.mesh(), active);
185setCellCommContrib(
bool active)
187 m_internal->setCellCommContrib(m_mesh_handle.mesh(), active);
194cellCommContrib()
const
196 return m_internal->cellCommContrib(m_mesh_handle.mesh());
203setComputeComm(
bool active)
205 m_internal->setComputeComm(m_mesh_handle.mesh(), active);
214 return m_internal->commCost(m_mesh_handle.mesh());
223 return m_internal->massWeight(m_mesh_handle.mesh());
232 return m_internal->massResWeight(m_mesh_handle.mesh());
239mCriteriaWeight()
const
241 return m_internal->mCriteriaWeight(m_mesh_handle.mesh());
250 return m_internal.get();
static std::optional< Int32 > tryParseFromEnvironment(StringView s, bool throw_if_invalid)
Internal API of ILoadBalanceMng to Arcane.
Interface for registering variables for load balancing.
Interface of the subdomain manager.
Standard implementation of a variable registration interface for load balancing.
Unicode character string.
MeshVariableScalarRefT< Face, Real > VariableFaceReal
Real type quantity at face.
MeshVariableScalarRefT< Cell, Real > VariableCellReal
Real type quantity at cell center.
MeshVariableArrayRefT< Cell, Real > VariableCellArrayReal
Quantity at the cell center of real array type.
MeshVariableScalarRefT< Cell, Int32 > VariableCellInt32
Quantity at the cell center of 32-bit integer type.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.
auto makeRef(InstanceType *t) -> Ref< InstanceType >
Creates a reference on a pointer.