Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
MeshCriteriaLoadBalanceMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* MeshCriteriaLoadBalanceMng.h (C) 2000-2024 */
9/* */
10/* Gestionnaire des critères d'équilibre de charge des maillages. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_MESHCRITERIALOADBALANCEMNG_H
13#define ARCANE_CORE_MESHCRITERIALOADBALANCEMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/ILoadBalanceMng.h"
18#include "arcane/core/ISubDomain.h"
19#include "arcane/core/ICriteriaLoadBalanceMng.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30/*!
31 * \brief Classe permettant d'ajouter des critères pour ajuster
32 * l'équilibre de charge.
33 */
34class ARCANE_CORE_EXPORT MeshCriteriaLoadBalanceMng
36{
37 public:
38
39 MeshCriteriaLoadBalanceMng(ISubDomain* sd, const MeshHandle& mesh_handle);
40
41 public:
42
43 void addCriterion(VariableCellInt32& count) override;
44 void addCriterion(VariableCellReal& count) override;
45 void addMass(VariableCellInt32& count, const String& entity) override;
46 void addCommCost(VariableFaceInt32& count, const String& entity) override;
47
48 void reset() override;
49
50 void setMassAsCriterion(bool active) override;
51 void setNbCellsAsCriterion(bool active) override;
52 void setCellCommContrib(bool active) override;
53 void setComputeComm(bool active) override;
54
55 Integer nbCriteria() override;
56
57 private:
58
59 ILoadBalanceMngInternal* m_internal;
60 MeshHandle m_mesh_handle;
61};
62
63/*---------------------------------------------------------------------------*/
64/*---------------------------------------------------------------------------*/
65
66} // End namespace Arcane
67
68/*---------------------------------------------------------------------------*/
69/*---------------------------------------------------------------------------*/
70
71#endif
Interface de classe permettant d'ajouter des critères pour ajuster l'équilibre de charge.
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
void setNbCellsAsCriterion(bool active) override
Méthode permettant de dire si le nombre de mailles dans un sous-domaine doit être un critère pour l'é...
void addMass(VariableCellInt32 &count, const String &entity) override
Méthode permettant d'ajouter un critère pour chaque maille.
Integer nbCriteria() override
Méthode permettant d'obtenir le nombre de critères déjà enregistrés.
void addCommCost(VariableFaceInt32 &count, const String &entity) override
Méthode permettant d'ajouter un critère pour chaque face.
MeshCriteriaLoadBalanceMng(ISubDomain *sd, const MeshHandle &mesh_handle)
Constructeur.
void addCriterion(VariableCellInt32 &count) override
Méthode permettant d'ajouter un critère pour chaque maille.
void setMassAsCriterion(bool active) override
Méthode permettant de dire si la masse de données de chaque maille est un critère pour l'équilibre de...
void reset() override
Méthode permettant d'effacer les critères déjà ajoutés.
void setCellCommContrib(bool active) override
Méthode permettant de dire si la masse des communications entre les mailles doit être un critère pour...
Handle sur un maillage.
Definition MeshHandle.h:47
Chaîne de caractères unicode.
MeshVariableScalarRefT< Cell, Real > VariableCellReal
Grandeur au centre des mailles de type réel.
MeshVariableScalarRefT< Face, Int32 > VariableFaceInt32
Grandeur aux faces de type entier 32 bits.
MeshVariableScalarRefT< Cell, Int32 > VariableCellInt32
Grandeur au centre des mailles de type entier 32 bits.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.