Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IMeshMaterialVariableSynchronizer.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/* IMeshMaterialVariableSynchronizer.h (C) 2000-2023 */
9/* */
10/* Interface du synchroniseur de variables matériaux. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MATERIALS_INTERNAL_IMESHMATERIALVARIABLESYNCHRONIZER_H
13#define ARCANE_MATERIALS_INTERNAL_IMESHMATERIALVARIABLESYNCHRONIZER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19#include "arcane/utils/ArrayView.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26class IVariableSynchronizer;
27}
28
29namespace Arcane::Materials
30{
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34/*!
35 * \internal
36 * \brief Interface du synchroniseur de variables matériaux.
37 */
38class ARCANE_MATERIALS_EXPORT IMeshMaterialVariableSynchronizer
39{
40 public:
41
43
44 public:
45
46 //! Synchroniseur des variables classiques associé.
48
49 /*!
50 * \brief Liste des MatVarIndex partagés pour le rang d'indice \a index
51 * dans le tableau variableSynchronizer::communicatingRanks();
52 */
54
55 /*!
56 * \brief Liste des MatVarIndex fantômes pour le rang d'indice \a index
57 * dans le tableau variableSynchronizer::communicatingRanks();
58 */
59 virtual ConstArrayView<MatVarIndex> ghostItems(Int32 index) =0;
60
61 //! Recalcule les infos de synchronisation.
62 virtual void recompute() =0;
63
64 //! Recalcule les infos de synchronisation si nécessaire.
65 virtual void checkRecompute() =0;
66
67 //! Buffer commun pour les messages.
68 virtual Ref<IMeshMaterialSynchronizeBuffer> commonBuffer() =0;
69
70 //! Ressource mémoire à utiliser pour les buffers de communication
72};
73
74/*---------------------------------------------------------------------------*/
75/*---------------------------------------------------------------------------*/
76
77} // End namespace Arcane::Materials
78
79/*---------------------------------------------------------------------------*/
80/*---------------------------------------------------------------------------*/
81
82#endif
83
Interface d'un service de synchronisation de variable.
virtual ConstArrayView< MatVarIndex > ghostItems(Int32 index)=0
Liste des MatVarIndex fantômes pour le rang d'indice index dans le tableau variableSynchronizer::comm...
virtual IVariableSynchronizer * variableSynchronizer()=0
Synchroniseur des variables classiques associé.
virtual eMemoryRessource bufferMemoryRessource() const =0
Ressource mémoire à utiliser pour les buffers de communication.
virtual void checkRecompute()=0
Recalcule les infos de synchronisation si nécessaire.
virtual Ref< IMeshMaterialSynchronizeBuffer > commonBuffer()=0
Buffer commun pour les messages.
virtual ConstArrayView< MatVarIndex > sharedItems(Int32 index)=0
Liste des MatVarIndex partagés pour le rang d'indice index dans le tableau variableSynchronizer::comm...
virtual void recompute()=0
Recalcule les infos de synchronisation.
Vue constante d'un tableau de type T.
Active toujours les traces dans les parties Arcane concernant les matériaux.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eMemoryRessource
Liste des ressources mémoire disponibles.