Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IVariableSynchronizer.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2023 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/* IVariableSynchronizer.h (C) 2000-2024 */
9/* */
10/* Interface d'un service de synchronisation des variables. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13#ifndef ARCANE_CORE_IVARIABLESYNCHRONIZER_H
14#define ARCANE_CORE_IVARIABLESYNCHRONIZER_H
15/*---------------------------------------------------------------------------*/
16/*---------------------------------------------------------------------------*/
17
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
41class ARCANE_CORE_EXPORT IVariableSynchronizer
42{
43 public:
44
45 virtual ~IVariableSynchronizer() {}
46
47 public:
48
50 virtual IParallelMng* parallelMng() = 0;
51
58 virtual const ItemGroup& itemGroup() = 0;
59
69 virtual void compute() = 0;
70
73
75 virtual void synchronize(IVariable* var) = 0;
76
77 // TODO: à rendre virtuelle pure (décembre 2024)
85 virtual void synchronize(IVariable* var, Int32ConstArrayView local_ids);
86
94
95 // TODO: à rendre virtuelle pure (décembre 2024)
106 virtual void synchronize(VariableCollection vars, Int32ConstArrayView local_ids);
107
112
118 virtual Int32ConstArrayView sharedItems(Int32 index) = 0;
119
125 virtual Int32ConstArrayView ghostItems(Int32 index) = 0;
126
134 virtual void synchronizeData(IData* data) = 0;
135
146};
147
148/*---------------------------------------------------------------------------*/
149/*---------------------------------------------------------------------------*/
150
151} // namespace Arcane
152
153/*---------------------------------------------------------------------------*/
154/*---------------------------------------------------------------------------*/
155
156#endif
Déclarations des types généraux de Arcane.
Interface d'une donnée.
Definition IData.h:33
Interface du gestionnaire de parallélisme pour un sous-domaine.
Interface d'un service de synchronisation de variable.
virtual Int32ConstArrayView ghostItems(Int32 index)=0
Liste des ids locaux des entités fantômes avec un sous-domaine.
virtual Int32ConstArrayView communicatingRanks()=0
Rangs des sous-domaines avec lesquels on communique.
virtual void changeLocalIds(Int32ConstArrayView old_to_new_ids)=0
Appelé lorsque les numéros locaux des entités sont modifiés.
virtual const ItemGroup & itemGroup()=0
Groupe d'entité servant à la synchronisation.
virtual void compute()=0
Recalcule les infos de synchronisation.
virtual IParallelMng * parallelMng()=0
Gestionnaire parallèle associé
virtual Int32ConstArrayView sharedItems(Int32 index)=0
Liste des ids locaux des entités partagées avec un sous-domaine.
virtual EventObservable< const VariableSynchronizerEventArgs & > & onSynchronized()=0
Evènement envoyé en début et fin de synchronisation.
virtual void synchronizeData(IData *data)=0
Synchronise la donnée data.
virtual void synchronize(VariableCollection vars)=0
Synchronise les variables vars en mode bloquant.
virtual void synchronize(IVariable *var)=0
Synchronise la variable var en mode bloquant.
Interface d'une variable.
Definition IVariable.h:54
Groupe d'entités de maillage.
Definition ItemGroup.h:49
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Collection de variables.
Vue constante d'un tableau de type T.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-