Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IParticleExchanger.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* IParticleExchanger.h (C) 2000-2018 */
9/* */
10/* Interface d'un échangeur de particules. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IPARTICLEEXCHANGER_H
13#define ARCANE_IPARTICLEEXCHANGER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18#include "arcane/ItemTypes.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23ARCANE_BEGIN_NAMESPACE
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class IAsyncParticleExchanger;
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
60class ARCANE_CORE_EXPORT IParticleExchanger
61{
62 protected:
63
65
66 public:
67
68 virtual ~IParticleExchanger() {} //<! Libère les ressources
69
70 public:
71
72 virtual void build() =0;
73
76
77 public:
78
87 virtual void beginNewExchange(Integer nb_particle) =0;
88
116 virtual ARCANE_DEPRECATED bool exchangeItems(Integer nb_particle_finish_exchange,
121
154
159
162
169 virtual void addNewParticles(Integer nb_particle) =0;
170
172 virtual IItemFamily* itemFamily() =0;
173
175 virtual void setVerboseLevel(Integer level) =0;
176
178 virtual Integer verboseLevel() const =0;
179
182};
183
184/*---------------------------------------------------------------------------*/
185/*---------------------------------------------------------------------------*/
186
187ARCANE_END_NAMESPACE
188
189/*---------------------------------------------------------------------------*/
190/*---------------------------------------------------------------------------*/
191
192#endif
193
Tableau d'items de types quelconques.
Interface d'un échangeur de particules asynchrone.
Interface d'une famille d'entités.
Interface d'un échangeur de particules.
virtual void addNewParticles(Integer nb_particle)=0
Ajoute nb_particle dans l'échange actuel.
virtual void setVerboseLevel(Integer level)=0
Positionne le niveau de verbosité (0 pour aucune message)
virtual bool waitMessages(Integer nb_pending_particle, Int32Array *new_particle_local_ids, IFunctor *functor)=0
virtual Integer verboseLevel() const =0
Niveau de verbosité
virtual IAsyncParticleExchanger * asyncParticleExchanger()=0
Gestion de l'asynchronisme (retourne nullptr si fonctionnalité non disponible)
virtual IItemFamily * itemFamily()=0
Famille associée.
virtual void initialize(IItemFamily *item_family)=0
Initialize l'échangeur pour la familly item_family.
virtual void beginNewExchange(Integer nb_particle)=0
Commence un nouvel échange de particules.
virtual void sendItems(Integer nb_particle_finish_exchange, Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send)=0
virtual ARCANE_DEPRECATED bool exchangeItems(Integer nb_particle_finish_exchange, Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send, ItemGroup item_group, IFunctor *wait_functor)=0
Échange des particules entre sous-domaines.
virtual bool exchangeItems(Integer nb_particle_finish_exchange, Int32ConstArrayView local_ids, Int32ConstArrayView ranks_to_send, Int32Array *new_particle_local_ids, IFunctor *wait_functor)=0
Échange des particules entre sous-domaines.
Groupe d'entités de maillage.
Definition ItemGroup.h:49
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Vue constante d'un tableau de type T.