Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
ExtraGhostParticlesBuilder.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/* ExtraGhostParticlesBuilder.h (C) 2000-2024 */
9/* */
10/* Construction of extra ghost cells. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MESH_EXTRAGHOSTPARTICLESBUILDER_H
13#define ARCANE_MESH_EXTRAGHOSTPARTICLESBUILDER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/Array.h"
19
20#include "arcane/mesh/MeshGlobal.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane
26{
28}
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32
33namespace Arcane::mesh
34{
35
36/*---------------------------------------------------------------------------*/
37/*---------------------------------------------------------------------------*/
38
39class DynamicMesh;
40class ParticleFamily;
41
42/*---------------------------------------------------------------------------*/
43/*---------------------------------------------------------------------------*/
44
48class ExtraGhostParticlesBuilder
49: public TraceAccessor
50{
51 public:
52
53 explicit ExtraGhostParticlesBuilder(DynamicMesh* mesh);
54
55 public:
56
57 void computeExtraGhostParticles();
58 void addExtraGhostParticlesBuilder(IExtraGhostParticlesBuilder* builder);
59 void removeExtraGhostParticlesBuilder(IExtraGhostParticlesBuilder* builder);
60 bool hasBuilder() const;
61
62 private:
63
64 DynamicMesh* m_mesh = nullptr;
66
67 private:
68
69 void _computeForFamily(ParticleFamily* particle_family);
70};
71
72/*---------------------------------------------------------------------------*/
73/*---------------------------------------------------------------------------*/
74
75} // End namespace Arcane::mesh
76
77/*---------------------------------------------------------------------------*/
78/*---------------------------------------------------------------------------*/
79
80#endif
Interface of a builder for "extraordinary" ghost cells.
TraceAccessor(ITraceMng *m)
Constructs an accessor via the trace manager m.
1D data vector with value semantics (STL style).
Implementation of a mesh.
Definition DynamicMesh.h:98
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --