Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ICriteriaLoadBalanceMng.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/* ICriteriaLoadBalanceMng.h (C) 2000-2024 */
9/* */
10/* Interface pour un gestionnaire des critères d'équilibre de charge des */
11/* maillages. */
12/*---------------------------------------------------------------------------*/
13#ifndef ARCANE_CORE_ICRITERIALOADBALANCEMNG_H
14#define ARCANE_CORE_ICRITERIALOADBALANCEMNG_H
15/*---------------------------------------------------------------------------*/
16/*---------------------------------------------------------------------------*/
17
19#include "arcane/core/VariableTypes.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
34{
35 public:
36
37 virtual ~ICriteriaLoadBalanceMng() = default;
38
39 public:
40
46 virtual void addCriterion(VariableCellInt32& count) =0;
47
53 virtual void addCriterion(VariableCellReal& count) =0;
54
55 // TODO Comprendre comment fonctionne PartitionerMemoryInfo
62 virtual void addMass(VariableCellInt32& count, const String& entity) = 0;
63
70 virtual void addCommCost(VariableFaceInt32& count, const String& entity) = 0;
71
75 virtual void reset() =0;
76
83 virtual void setMassAsCriterion(bool active) = 0;
84
91 virtual void setNbCellsAsCriterion(bool active) = 0;
92
99 virtual void setCellCommContrib(bool active) = 0;
100
105 virtual void setComputeComm(bool active) = 0;
106
112 virtual Integer nbCriteria() = 0;
113};
114
115/*---------------------------------------------------------------------------*/
116/*---------------------------------------------------------------------------*/
117
118} // End namespace Arcane
119
120/*---------------------------------------------------------------------------*/
121/*---------------------------------------------------------------------------*/
122
123#endif
Déclarations des types généraux de Arcane.
Interface de classe permettant d'ajouter des critères pour ajuster l'équilibre de charge.
virtual void addCriterion(VariableCellReal &count)=0
Méthode permettant d'ajouter un critère pour chaque maille.
virtual void addMass(VariableCellInt32 &count, const String &entity)=0
Méthode permettant d'ajouter un critère pour chaque maille.
virtual void setNbCellsAsCriterion(bool active)=0
Méthode permettant de dire si le nombre de mailles dans un sous-domaine doit être un critère pour l'é...
virtual ~ICriteriaLoadBalanceMng()=default
Libère les ressources.
virtual Integer nbCriteria()=0
Méthode permettant d'obtenir le nombre de critères déjà enregistrés.
virtual void addCriterion(VariableCellInt32 &count)=0
Méthode permettant d'ajouter un critère pour chaque maille.
virtual void setComputeComm(bool active)=0
virtual void addCommCost(VariableFaceInt32 &count, const String &entity)=0
Méthode permettant d'ajouter un critère pour chaque face.
virtual void setMassAsCriterion(bool active)=0
Méthode permettant de dire si la masse de données de chaque maille est un critère pour l'équilibre de...
virtual void setCellCommContrib(bool active)=0
Méthode permettant de dire si la masse des communications entre les mailles doit être un critère pour...
virtual void reset()=0
Méthode permettant d'effacer les critères déjà ajoutés.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-