Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IMeshExchangeMng.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/* IMeshExchangeMng.h (C) 2000-2016 */
9/* */
10/* Interface du gestionnaire des échanges de maillages entre sous-domaines. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMESHEXCHANGEMNG_H
13#define ARCANE_IMESHEXCHANGEMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27class IPrimaryMesh;
28class IMeshExchanger;
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32/*!
33 * \brief Interface du gestionnaire des échanges de maillages entre
34 * sous-domaines.
35 *
36 */
37class ARCANE_CORE_EXPORT IMeshExchangeMng
38{
39 public:
40
41 virtual ~IMeshExchangeMng() {} //<! Libère les ressources
42
43 public:
44
45 //! Maillage associé
46 virtual IPrimaryMesh* mesh() const =0;
47
48 /*!
49 * \brief Débute un échange.
50 *
51 * \pre exchanger()==nullptr.
52 *
53 * Lorsqu'un échange est en cours, il est interdit de faire certaines
54 * opérations sur le maillage comme par exemple créer une nouvelle famille
55 * où ajouter des groupes.
56 */
58
59 /*!
60 * \brief Signale que l'échange est terminé.
61 *
62 * Cela permet de désallouer les structures associées à l'échange.
63 * \post exchanger()==nullptr.
64 */
65 virtual void endExchange() =0;
66
67 /*!
68 * \brief Échangeur courant.
69 *
70 * L'échangeur est non nul que si on est entre un beginExchange() et un endExchange()
71 */
73};
74
75/*---------------------------------------------------------------------------*/
76/*---------------------------------------------------------------------------*/
77
78ARCANE_END_NAMESPACE
79
80/*---------------------------------------------------------------------------*/
81/*---------------------------------------------------------------------------*/
82
83#endif
Fichier de configuration d'Arcane.
Interface du gestionnaire des échanges de maillages entre sous-domaines.
virtual IMeshExchanger * exchanger()=0
Échangeur courant.
virtual IPrimaryMesh * mesh() const =0
Maillage associé
virtual IMeshExchanger * beginExchange()=0
Débute un échange.
virtual void endExchange()=0
Signale que l'échange est terminé.
Gestion d'un échange de maillage entre sous-domaines.