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"
39 if (
auto v = Convert::Type<Int32>::tryParseFromEnvironment(
"ARCANE_USE_LEGACY_INIT_LOADBALANCEMNG",
true))
40 return (v.value() != 0);
48LoadBalanceMng(ISubDomain* sd)
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();
API interne à Arcane de ILoadBalanceMng.
Interface d'enregistrement des variables pour l'equilibrage de charge.
Interface du gestionnaire d'un sous-domaine.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Implantation standard d'une interface d'enregistrement des variables pour l'équilibrage de charge.
Chaîne de caractères unicode.
MeshVariableScalarRefT< Cell, Real > VariableCellReal
Grandeur au centre des mailles de type réel.
MeshVariableScalarRefT< Face, Real > VariableFaceReal
Grandeur aux faces de type réel.
MeshVariableArrayRefT< Cell, Real > VariableCellArrayReal
Grandeur au centre des mailles de type tableau de réel.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
auto makeRef(InstanceType *t) -> Ref< InstanceType >
Créé une référence sur un pointeur.