Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
IExtraGhostItemsBuilder.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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/* IExtraGhostItemsBuilder.h (C) 2000-2025 */
9/* */
10/* Comment on file content. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IEXTRAGHOSTITEMSBUILDER_H_
13#define ARCANE_CORE_IEXTRAGHOSTITEMSBUILDER_H_
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28/*!
29 * \brief Interface for an "extraordinary" ghost item builder
30 *
31 * An "extraordinary" ghost item is a ghost item added to the ghost items
32 * defined by the mesh connectivity. Specifically, the calculation of
33 * extraordinary ghost items is performed during every mesh update or load
34 * balancing. This interface is particularly used for degrees of freedom.
35 *
36 * NOTE: makes the remove_old_ghost parameter of the IMesh::endUpdate method obsolete
37 */
38class ARCANE_CORE_EXPORT IExtraGhostItemsBuilder
39{
40 public:
41
42 /** Class destructor */
43 virtual ~IExtraGhostItemsBuilder() = default;
44
45 public:
46
47 /*!
48 * \brief Calculation of "extraordinary" items to send
49 * Performs the calculation of "extraordinary" items following
50 * a construction algorithm
51 */
52 virtual void computeExtraItemsToSend() = 0;
53
54 /*!
55 * \brief Local indices of "extraordinary" items for sending
56 * Retrieves the array of "extraordinary" items destined for
57 * subdomain \a sid
58 */
60};
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
65} // namespace Arcane
66
67/*---------------------------------------------------------------------------*/
68/*---------------------------------------------------------------------------*/
69
70#endif
Declarations of Arcane's general types.
Constant view of an array of type T.
Interface for an "extraordinary" ghost item builder.
virtual ~IExtraGhostItemsBuilder()=default
virtual void computeExtraItemsToSend()=0
Calculation of "extraordinary" items to send Performs the calculation of "extraordinary" items follow...
virtual ConstArrayView< Int32 > extraItemsToSend(Int32 sid) const =0
Local indices of "extraordinary" items for sending Retrieves the array of "extraordinary" items desti...
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int32_t Int32
Signed integer type of 32 bits.