Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IItemFamilyExchanger.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/* IItemFamilyExchanger.h (C) 2000-2024 */
9/* */
10/* Echange entre sous-domaine les entités d'une famille. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MESH_IITEMFAMILYEXCHANGER_H
13#define ARCANE_MESH_IITEMFAMILYEXCHANGER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/List.h"
18#include "arcane/utils/TraceAccessor.h"
19
20#include "arcane/VariableCollection.h"
21
22#include "arcane/mesh/MeshGlobal.h"
23
24#include <set>
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29namespace Arcane
30{
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35class ParallelExchangerOptions;
36
37/*---------------------------------------------------------------------------*/
38/*---------------------------------------------------------------------------*/
64class ARCANE_CORE_EXPORT IItemFamilyExchanger
65{
66 public:
67
68 virtual ~IItemFamilyExchanger(){}
69
70 public:
71
86 virtual void computeExchangeItems() =0;
87
89 virtual void setExchangeItems(ConstArrayView< std::set<Int32> > items_to_send) =0;
90
96 virtual bool computeExchangeInfos() =0;
97
99 virtual void prepareToSend() =0;
100 virtual void releaseBuffer() =0;
101
117 virtual void readAndAllocItems() =0;
118 virtual void readAndAllocSubMeshItems() =0;
119 virtual void readAndAllocItemRelations() =0;
120
122 virtual void readGroups() =0;
123
125 virtual void readVariables() =0;
126
140 virtual void removeSentItems() =0;
141
143 virtual void processExchange() =0;
144
152 virtual void finalizeExchange() =0;
153
155 virtual IItemFamily* itemFamily() =0;
156
159};
160
161/*---------------------------------------------------------------------------*/
162/*---------------------------------------------------------------------------*/
163
164} // End namespace Arcane
165
166/*---------------------------------------------------------------------------*/
167/*---------------------------------------------------------------------------*/
168
169#endif
170
Échange des entités et leurs caractéristiques pour une famille donnée.
virtual void setParallelExchangerOption(const ParallelExchangerOptions &options)=0
Positionne les options utilisées lors de l'échange des entités.
virtual void processExchange()=0
Envoie les messages d'échange.
virtual void removeSentItems()=0
Supprime les entités envoyées.
virtual void prepareToSend()=0
Prépare les structures d'envoie.
virtual void readVariables()=0
Après réception des messages, lit les valeurs des variables.
virtual void readGroups()=0
Après réception des messages, lit les groupes.
virtual IItemFamily * itemFamily()=0
Famille associée.
virtual void finalizeExchange()=0
Termine l'échange.
virtual bool computeExchangeInfos()=0
Détermine les informations nécessaires pour les échanges.
virtual void setExchangeItems(ConstArrayView< std::set< Int32 > > items_to_send)=0
Positionne la liste des entités à échanger.
virtual void readAndAllocItems()=0
Après réception des messages, lit et créé les entités transférées.
virtual void computeExchangeItems()=0
Détermine la liste des entités à échanger.
Interface d'une famille d'entités.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Options pour IParallelMng::processExchange().
Vue constante d'un tableau de type T.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-