Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
IExtraGhostParticlesBuilder.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/* IExtraGhostParticlesBuilder.h (C) 2000-2025 */
9/* */
10/* Interface of a builder for "extraordinary" ghost cells */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IEXTRAGHOSTPARTICLESBUILDER_H
13#define ARCANE_CORE_IEXTRAGHOSTPARTICLESBUILDER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28/*!
29 * \brief Interface of a builder for "extraordinary" ghost cells.
30 *
31 * An "extraordinary" ghost cell is a ghost cell added to the
32 * ghost cells defined by the mesh connectivity. Specifically,
33 * the calculation of extraordinary ghost cells is performed during every
34 * mesh update or load balancing.
35 *
36 * \note makes the \a remove_old_ghost parameter of the IMesh::endUpdate()
37 * method obsolete.
38 *
39 */
41{
42 public:
43
44 virtual ~IExtraGhostParticlesBuilder() {} //!< Releases resources.
45
46 public:
47
48 /*!
49 * \brief Calculation of "extraordinary" cells to send.
50 *
51 * Performs the calculation of "extraordinary" cells following
52 * a construction algorithm.
53 */
54 virtual void computeExtraParticlesToSend() = 0;
55
56 /*!
57 * \brief Local indices of "extraordinary" cells for sending
58 *
59 * Retrieves the array of "extraordinary" cells destined for
60 * the sub-domain \a rank.
61 */
62 virtual Int32ConstArrayView extraParticlesToSend(const String& family_name, Int32 rank) const = 0;
63};
64
65/*---------------------------------------------------------------------------*/
66/*---------------------------------------------------------------------------*/
67
68} // End namespace Arcane
69
70/*---------------------------------------------------------------------------*/
71/*---------------------------------------------------------------------------*/
72
73#endif
Declarations of Arcane's general types.
Interface of a builder for "extraordinary" ghost cells.
virtual void computeExtraParticlesToSend()=0
Calculation of "extraordinary" cells to send.
virtual ~IExtraGhostParticlesBuilder()
Releases resources.
virtual Int32ConstArrayView extraParticlesToSend(const String &family_name, Int32 rank) const =0
Local indices of "extraordinary" cells for sending.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
ConstArrayView< Int32 > Int32ConstArrayView
C equivalent of a 1D array of 32-bit integers.
Definition UtilsTypes.h:482
std::int32_t Int32
Signed integer type of 32 bits.