12#ifndef ARCANE_MESH_PARTICLEFAMILY_H
13#define ARCANE_MESH_PARTICLEFAMILY_H
17#include "arcane/utils/MultiBuffer.h"
19#include "arcane/VariableTypes.h"
20#include "arcane/IParticleFamily.h"
22#include "arcane/mesh/ItemFamily.h"
23#include "arcane/mesh/ItemInternalConnectivityIndex.h"
39class ARCANE_MESH_EXPORT ParticleFamily
46 typedef ItemFamily BaseClass;
50 static String const defaultFamilyName() {
55 virtual ~ParticleFamily();
59 virtual void build()
override;
62 m_enable_ghost_items = value ;
65 return m_enable_ghost_items ;
88 void exchangeParticles()
override;
90 void setParticleCell(
Particle particle,
Cell new_cell)
override;
97 void preAllocate(
Integer nb_item);
101 void prepareForDump()
override;
102 void readFromDump()
override;
106 void setHasUniqueIdMap(
bool v)
override;
107 bool hasUniqueIdMap()
const override;
113 if(m_enable_ghost_items)
119 void checkValidConnectivity()
override;
120 void removeNeedRemoveMarkedItems()
override;
126 Int32 m_sub_domain_id;
127 bool m_enable_ghost_items;
133 void _printInfos(
Integer nb_added);
134 void _setSharedInfo();
Informations sur la connectivité d'une maille.
Interface d'une famille d'entités.
Interface d'une famille de particules.
Groupe d'entités de maillage.
Structure interne d'une entité de maillage.
Index d'un Item dans une variable.
Infos sur un type d'entité du maillage.
Chaîne de caractères unicode.
Connectivité incrémentale item->item[].
Sélection entre les connectivités historiques et à la demande.
IMesh * mesh() const override
Maillage associé
String fullName() const override
Nom complet de la famille (avec celui du maillage)
void endUpdate() override
Notifie la fin de modification de la liste des entités.
ItemGroup allItems() const override
Groupe de toutes les entités.
Integer nbItem() const override
Nombre d'entités.
void computeSynchronizeInfos() override
Construit les structures nécessaires à la synchronisation.
String name() const override
Nom de la famille.
Classe temporaire pour conserver un ItemSharedInfo et un type d'entité.
Connectivité incrémentale item->item.
IItemFamily * itemFamily() override
Interface sur la famille.
Integer nbItem() const override
Nombre d'entités.
String name() const override
Nom de la famille.
String fullName() const override
Nom complet de la famille (avec celui du maillage)
void endUpdate() override
Notifie la fin de modification de la liste des entités.
void setEnableGhostItems(bool value) override
set le flag pour gérer les particules ghost de la famille
bool getEnableGhostItems() const override
récupère le flag pour gérer les particules ghost de la famille
IParticleFamily * toParticleFamily() override
Retourne l'interface de la famille de particule de cette famille.
void computeSynchronizeInfos() override
Construit les structures nécessaires à la synchronisation.
ItemGroup allItems() const override
Groupe de toutes les entités.
ItemVectorViewT< Cell > CellVectorView
Vue sur un vecteur de mailles.
ItemVectorViewT< Particle > ParticleVectorView
Vue sur un vecteur de particules.
std::int64_t Int64
Type entier signé sur 64 bits.
Int32 Integer
Type représentant un entier.
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
ConstArrayView< Int64 > Int64ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
ArrayView< Int32 > Int32ArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
std::int32_t Int32
Type entier signé sur 32 bits.