Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::IParticleFamilyabstract

Interface d'une famille de particules. Plus de détails...

#include <arcane/core/IParticleFamily.h>

+ Graphe d'héritage de Arcane::IParticleFamily:
+ Graphe de collaboration de Arcane::IParticleFamily:

Fonctions membres publiques

virtual void build ()=0
 
virtual void setEnableGhostItems (bool value)=0
 set le flag pour gérer les particules ghost de la famille
 
virtual bool getEnableGhostItems () const =0
 récupère le flag pour gérer les particules ghost de la famille
 
virtual String name () const =0
 Nom de la famille.
 
virtual String fullName () const =0
 Nom complet de la famille (avec celui du maillage)
 
virtual Integer nbItem () const =0
 Nombre d'entités.
 
virtual ItemGroup allItems () const =0
 Groupe de toutes les particules.
 
virtual ParticleVectorView addParticles (Int64ConstArrayView unique_ids, Int32ArrayView items_local_id)=0
 Alloue des particules.
 
virtual ParticleVectorView addParticles2 (Int64ConstArrayView unique_ids, Int32ConstArrayView owners, Int32ArrayView items)=0
 
virtual ParticleVectorView addParticles (Int64ConstArrayView unique_ids, Int32ConstArrayView cells_local_id, Int32ArrayView items_local_id)=0
 Alloue des particules dans des mailles.
 
virtual void removeParticles (Int32ConstArrayView items_local_id)=0
 
virtual void endUpdate ()=0
 
virtual void setParticleCell (Particle particle, Cell new_cell)=0
 Déplace la particule particle dans la maille new_cell.
 
virtual void setParticlesCell (ParticleVectorView particles, CellVectorView new_cells)=0
 Déplace la list de particules particles dans les nouvelles mailles new_cells.
 
virtual void exchangeParticles ()=0
 Échange des entités.
 
virtual IItemFamilyitemFamily ()=0
 Interface sur la famille.
 

Description détaillée

Interface d'une famille de particules.

Une famille de particle est une famille d'entité (IItemFamily). Cette interface ne contient que les méthodes spécifiques aux particules. Pour les opérations génériques aux entités, il faut passer par l'interface IItemFamily via itemFamily().

Il peut y a voir plusieurs famille de particule par maillage. Contrairement aux entités classiques du maillage (noeud, maille, ...), les particules peuvent être créées directement.

Définition à la ligne 42 du fichier IParticleFamily.h.

Documentation des constructeurs et destructeur

◆ ~IParticleFamily()

virtual Arcane::IParticleFamily::~IParticleFamily ( )
inlinevirtual

Définition à la ligne 46 du fichier IParticleFamily.h.

Documentation des fonctions membres

◆ addParticles() [1/2]

virtual ParticleVectorView Arcane::IParticleFamily::addParticles ( Int64ConstArrayView  unique_ids,
Int32ArrayView  items_local_id 
)
pure virtual

Alloue des particules.

Alloue les particules dont les uniqueId() sont données par le tablea unique_ids.

Après appel à cette opération, il faut appeler endUpdate() pour notifier à l'instance la fin des modifications. Il est possible d'enchaîner plusieurs allocations avant d'appeler endUpdate(). Attention, la vue retournée peut être invalidée après l'appel à endUpdate() si la compression est active. items_local_id doit avoir le même nombre d'éléments que unique_ids.

Implémenté dans Arcane::mesh::ParticleFamily.

◆ addParticles() [2/2]

virtual ParticleVectorView Arcane::IParticleFamily::addParticles ( Int64ConstArrayView  unique_ids,
Int32ConstArrayView  cells_local_id,
Int32ArrayView  items_local_id 
)
pure virtual

Alloue des particules dans des mailles.

Cette méthode est similaire à addParticles() mais permet de spécifier directement les mailles dans lesquelles seront créées les particules.

Implémenté dans Arcane::mesh::ParticleFamily.

◆ allItems()

virtual ItemGroup Arcane::IParticleFamily::allItems ( ) const
pure virtual

Groupe de toutes les particules.

Implémenté dans Arcane::mesh::ParticleFamily.

◆ endUpdate()

virtual void Arcane::IParticleFamily::endUpdate ( )
pure virtual
Voir également
IItemFamily::endUpdate().

Implémenté dans Arcane::mesh::ParticleFamily.

◆ exchangeParticles()

virtual void Arcane::IParticleFamily::exchangeParticles ( )
pure virtual

Échange des entités.

Cette méthode n'est supportée que pour les familles de particule. Pour les éléments du maillage comme les noeuds, faces ou maille, il faut utiliser IMesh::exchangeItems().

Les nouveaux propriétaires des entités sont données par la itemsNewOwner().

Cette opération est bloquante et collective.

Implémenté dans Arcane::mesh::ParticleFamily.

Référencé par Arcane::BasicRayMeshIntersection::compute().

◆ fullName()

virtual String Arcane::IParticleFamily::fullName ( ) const
pure virtual

Nom complet de la famille (avec celui du maillage)

Implémenté dans Arcane::mesh::ParticleFamily.

◆ getEnableGhostItems()

virtual bool Arcane::IParticleFamily::getEnableGhostItems ( ) const
pure virtual

récupère le flag pour gérer les particules ghost de la famille

Implémenté dans Arcane::mesh::ParticleFamily.

◆ itemFamily()

virtual IItemFamily * Arcane::IParticleFamily::itemFamily ( )
pure virtual

Interface sur la famille.

Implémenté dans Arcane::mesh::ParticleFamily.

◆ name()

virtual String Arcane::IParticleFamily::name ( ) const
pure virtual

Nom de la famille.

Implémenté dans Arcane::mesh::ParticleFamily.

◆ nbItem()

virtual Integer Arcane::IParticleFamily::nbItem ( ) const
pure virtual

Nombre d'entités.

Implémenté dans Arcane::mesh::ParticleFamily.

◆ setEnableGhostItems()

virtual void Arcane::IParticleFamily::setEnableGhostItems ( bool  value)
pure virtual

set le flag pour gérer les particules ghost de la famille

Implémenté dans Arcane::mesh::ParticleFamily.

◆ setParticleCell()

virtual void Arcane::IParticleFamily::setParticleCell ( Particle  particle,
Cell  new_cell 
)
pure virtual

Déplace la particule particle dans la maille new_cell.

Implémenté dans Arcane::mesh::ParticleFamily.

◆ setParticlesCell()

virtual void Arcane::IParticleFamily::setParticlesCell ( ParticleVectorView  particles,
CellVectorView  new_cells 
)
pure virtual

Déplace la list de particules particles dans les nouvelles mailles new_cells.

Implémenté dans Arcane::mesh::ParticleFamily.


La documentation de cette classe a été générée à partir du fichier suivant :