Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IParticleFamily.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/* IParticleFamily.h (C) 2000-2022 */
9/* */
10/* Interface d'une famille de particules. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IPARTICLEFAMILY_H
13#define ARCANE_IPARTICLEFAMILY_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18#include "arcane/ItemTypes.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
42class ARCANE_CORE_EXPORT IParticleFamily
43{
44 public:
45
46 virtual ~IParticleFamily() {} //<! Libère les ressources
47
48 public:
49
50 virtual void build() = 0;
51
53 virtual void setEnableGhostItems(bool value) = 0;
54
56 virtual bool getEnableGhostItems() const = 0;
57
58 public:
59
61 virtual String name() const = 0;
62
64 virtual String fullName() const = 0;
65
67 virtual Integer nbItem() const = 0;
68
70 virtual ItemGroup allItems() const = 0;
71
72 public:
73
90 Int32ArrayView items) = 0;
91
101
102 virtual void removeParticles(Int32ConstArrayView items_local_id) = 0;
103
107 virtual void endUpdate() = 0;
108
113
118
119 public:
120
131 virtual void exchangeParticles() = 0;
132
133 public:
134
136 virtual IItemFamily* itemFamily() = 0;
137};
138
139/*---------------------------------------------------------------------------*/
140/*---------------------------------------------------------------------------*/
141
142}
143
144/*---------------------------------------------------------------------------*/
145/*---------------------------------------------------------------------------*/
146
147#endif
Maille d'un maillage.
Definition Item.h:1178
Interface d'une famille d'entités.
Interface d'une famille de particules.
virtual Integer nbItem() const =0
Nombre d'entités.
virtual String name() const =0
Nom de la famille.
virtual void setParticleCell(Particle particle, Cell new_cell)=0
Déplace la particule particle dans la maille new_cell.
virtual void setEnableGhostItems(bool value)=0
set le flag pour gérer les particules ghost de la famille
virtual void endUpdate()=0
virtual bool getEnableGhostItems() const =0
récupère le flag pour gérer les particules ghost de la famille
virtual void exchangeParticles()=0
Échange des entités.
virtual ParticleVectorView addParticles(Int64ConstArrayView unique_ids, Int32ArrayView items_local_id)=0
Alloue des particules.
virtual ItemGroup allItems() const =0
Groupe de toutes les particules.
virtual IItemFamily * itemFamily()=0
Interface sur la famille.
virtual void setParticlesCell(ParticleVectorView particles, CellVectorView new_cells)=0
Déplace la list de particules particles dans les nouvelles mailles new_cells.
virtual ParticleVectorView addParticles(Int64ConstArrayView unique_ids, Int32ConstArrayView cells_local_id, Int32ArrayView items_local_id)=0
Alloue des particules dans des mailles.
virtual String fullName() const =0
Nom complet de la famille (avec celui du maillage)
Groupe d'entités de maillage.
Definition ItemGroup.h:49
Vue sur un tableau typé d'entités.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Particule.
Definition Item.h:1383
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-