Arcane  v3.16.4.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-2025 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-2025 */
9/* */
10/* Interface du gestionnaire des échanges de maillages entre sous-domaines. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IMESHEXCHANGEMNG_H
13#define ARCANE_CORE_IMESHEXCHANGEMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \brief Interface du gestionnaire des échanges de maillages entre
29 * sous-domaines.
30 */
31class ARCANE_CORE_EXPORT IMeshExchangeMng
32{
33 public:
34
35 virtual ~IMeshExchangeMng() = default; //!< Libère les ressources
36
37 public:
38
39 //! Maillage associé
40 virtual IPrimaryMesh* mesh() const = 0;
41
42 /*!
43 * \brief Débute un échange.
44 *
45 * \pre exchanger()==nullptr.
46 *
47 * Lorsqu'un échange est en cours, il est interdit de faire certaines
48 * opérations sur le maillage comme par exemple créer une nouvelle famille
49 * où ajouter des groupes.
50 */
52
53 /*!
54 * \brief Signale que l'échange est terminé.
55 *
56 * Cela permet de désallouer les structures associées à l'échange.
57 * \post exchanger()==nullptr.
58 */
59 virtual void endExchange() = 0;
60
61 /*!
62 * \brief Échangeur courant.
63 *
64 * L'échangeur est non nul que si on est entre un beginExchange() et un endExchange()
65 */
66 virtual IMeshExchanger* exchanger() = 0;
67};
68
69/*---------------------------------------------------------------------------*/
70/*---------------------------------------------------------------------------*/
71
72} // namespace Arcane
73
74/*---------------------------------------------------------------------------*/
75/*---------------------------------------------------------------------------*/
76
77#endif
Déclarations des types généraux de Arcane.
Interface du gestionnaire des échanges de maillages entre sous-domaines.
virtual ~IMeshExchangeMng()=default
Libère les ressources.
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.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-