Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ItemTypes.h
Aller à la documentation de ce fichier.
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 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/* ItemTypes.h (C) 2000-2024 */
9/* */
10/* Déclaration des types liés aux entités de maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ITEMTYPES_H
13#define ARCANE_CORE_ITEMTYPES_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21/*!
22 * \file ItemTypes.h
23 *
24 * \brief Déclarations de types sur les entités.
25 */
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29namespace Arcane
30{
31
32// A définir si on souhaiter ajouter un offset aux classes 'ItemVector' et
33// 'ItemEnumerator'. Cela change la taille de ces structures et il ne faut
34// donc recompiler code code utilisateur si on change ce '#define'.
35#define ARCANE_HAS_OFFSET_FOR_ITEMVECTORVIEW
36
37// A définir si on souhaite cacher les méthodes d'accès aux structures
38// internes des connectivités. Pour l'instant (mi-2023) on ne le fait que
39// pour les sources internes à Arcane mais ensuite il faudra le généraliser.
40// (La macro ARCANE_FORCE_... est définie dans le CMakeLists.txt principal)
41#ifdef ARCANE_FORCE_HIDE_ITEM_CONNECTIVITY_STRUCTURE
42#define ARCANE_HIDE_ITEM_CONNECTIVITY_STRUCTURE
43#endif
44
45// A définir si on souhaite utiliser les classes spécifiques pour gérer
46// les entités connectées (sinon on utilise ItemVectorView)
47#define ARCANE_USE_SPECIFIC_ITEMCONNECTED
48
49/*---------------------------------------------------------------------------*/
50/*---------------------------------------------------------------------------*/
51
52class Node;
53class Cell;
54class Edge;
55class Face;
56class Particle;
57class DoF;
58
59class Item;
60class ItemWithNodes;
61class ItemInternal;
62class ItemBase;
63class MutableItemBase;
64namespace impl
65{
66using ItemBase = ::Arcane::ItemBase;
67using MutableItemBase = ::Arcane::MutableItemBase;
68template<int Extent = DynExtent> class ItemIndexedListView;
70}
71
72
73class IMesh;
74class IPrimaryMesh;
75class IItemFamily;
76class IParticleFamily;
77class IDoFFamily;
78
79class ItemLocalId;
80class ItemTypeId;
81template<typename T> class ItemLocalIdT;
82using NodeLocalId = ItemLocalIdT<Node>;
83using EdgeLocalId = ItemLocalIdT<Edge>;
84using FaceLocalId = ItemLocalIdT<Face>;
85using CellLocalId = ItemLocalIdT<Cell>;
86using ParticleLocalId = ItemLocalIdT<Particle>;
87using DoFLocalId = ItemLocalIdT<DoF>;
90class IndexedItemConnectivityAccessor;
95
96template<typename T> class ItemLocalIdListViewT;
97template<typename ItemType> using ItemLocalIdViewT ARCANE_DEPRECATED_REASON("Use 'ItemLocalIdListView' type instead") = ItemLocalIdListViewT<ItemType>;
98
99class ItemGroup;
100class ItemGroupImpl;
101template<typename T> class ItemGroupT;
102
103class ItemPairGroup;
104template<typename ItemKind,typename SubItemKind> class ItemPairGroupT;
105
106class ItemVector;
107template<typename T> class ItemVectorT;
108
110template<typename ItemType>
112
114template<typename ItemType>
116
117// (Avril 2022) Fait un typedef de 'ItemLocalIdViewT' vers 'ItemLocalIdView'
118// pour compatibilité avec l'existant. A supprimer dès que possible.
119template <typename ItemType>
120using ItemLocalIdView ARCANE_DEPRECATED_REASON("Use 'ItemLocalIdViewT' instead") = ItemLocalIdListViewT<ItemType>;
121
122template<typename ItemType1,typename ItemType2>
124
125// (Avril 2022) Fait un typedef de 'IndexedItemConnectivityView' vers 'IndexedItemConnectivityViewT'
126// pour compatibilité avec l'existant. A supprimer dès que possible.
127template<typename ItemType1,typename ItemType2>
128using IndexedItemConnectivityView ARCANE_DEPRECATED_REASON("Use 'IndexedItemConnectivityViewT' instead") = IndexedItemConnectivityViewT<ItemType1,ItemType2>;
129
130/*---------------------------------------------------------------------------*/
131/*---------------------------------------------------------------------------*/
132
133//! Groupe de noeuds connectés à des noeuds
135//! Groupe d'arêtes connectées à des noeuds
137//! Groupe de faces connectées à des noeuds
139//! Groupe de mailles connectées à des noeuds
141
142//! Groupe de noeuds connectés à des faces
144//! Groupe d'arêtes connectées à des faces
146//! Groupe de faces connectées à des faces
148//! Groupe de mailles connectées à des faces
150
151//! Groupe de noeuds connectés à des mailless
153//! Groupe d'arêtes connectées à des mailles
155//! Groupe de faces connectées à des mailles
157//! Groupe de mailles connectées à des mailles
159
160/*---------------------------------------------------------------------------*/
161/*---------------------------------------------------------------------------*/
162
163/*!
164 * \ingroup Mesh
165 * \brief Groupe de noeuds.
166 */
168/*!
169 * \ingroup Mesh
170 * \brief Groupe d'arêtes
171 * \note Cette classe n'est pas implémentée.
172 */
174/*!
175 * \ingroup Mesh
176 * \brief Groupe de faces.
177 */
179/*!
180 * \ingroup Mesh
181 * \brief Groupe de mailles.
182 */
184/*!
185 * \ingroup Mesh
186 * \brief Groupe de particules.
187 */
189/*!
190 * \ingroup Mesh
191 * \brief Groupe de Degre de Liberte.
192 */
194/*!
195 * \ingroup Mesh
196 * \internal
197 * \brief Enumerateur sur la partie interne d'une entité.
198 */
200class ItemEnumerator;
201template<typename ItemType>
202class ItemEnumeratorT;
203
205template<typename ItemType>
207
208/*---------------------------------------------------------------------------*/
209/*---------------------------------------------------------------------------*/
210
213
215template<typename ItemType>
217
218template<typename ItemType>
220
221template<typename ItemType>
223template<typename ItemType>
224class SimdItemT;
225
226/*!
227 * \ingroup Mesh
228 * \brief Vue sur un vecteur d'entité.
229 */
230class ItemVectorView;
231template<typename ItemType>
232class ItemVectorViewT;
233
234/*!
235 * \ingroup Mesh
236 * \brief Vue sur une liste de connectivité
237 */
238template<int Extent = DynExtent> class ItemConnectedListView;
239template<typename ItemType, int Extent = DynExtent>
241
242/*!
243 * \ingroup Mesh
244 * \brief Enumérateur sur une paire d'entité.
245 */
247template<typename ItemType,typename SubItemType>
249
250/*!
251 * \ingroup Mesh
252 * \brief Enumérateurs sur des noeuds.
253 */
255/*!
256 * \ingroup Mesh
257 * \brief Enumérateurs sur des arêtes
258 */
260
261/*!
262 * \ingroup Mesh
263 * \brief Enumérateurs sur des faces.
264 */
266
267/*!
268 * \ingroup Mesh
269 * \brief Enumérateurs sur des mailles.
270 */
272
273/*!
274 * \ingroup Mesh
275 * \brief Enumérateurs sur des particules.
276 */
278
279/*!
280 * \ingroup Mesh
281 * \brief Enumérateurs sur des DoFs.
282 */
284
285/*!
286 * \ingroup Mesh
287 * \brief Vue sur un vecteur de noeuds.
288 */
290/*!
291 * \ingroup Mesh
292 * \brief Vue sur un vecteur d'arêtes.
293 */
295/*!
296 * \ingroup Mesh
297 * \brief Vue sur un vecteur de faces.
298 */
300/*!
301 * \ingroup Mesh
302 * \brief Vue sur un vecteur de mailles.
303 */
305/*!
306 * \ingroup Mesh
307 * \brief Vue sur un vecteur de particules.
308 */
310
311/*!
312 * \ingroup Mesh
313 * \brief Vue sur un vecteur de degre de liberte.
314 */
316
317/*---------------------------------------------------------------------------*/
318/*---------------------------------------------------------------------------*/
319/*!
320 * \ingroup Mesh
321 * \brief Vue sur une liste de noeuds connectés à une entité
322 */
324/*!
325 * \ingroup Mesh
326 * \brief Vue sur une liste d'arêtes connectées à une entité
327 */
329/*!
330 * \ingroup Mesh
331 * \brief Vue sur une liste de faces connectées à une entité
332 */
334/*!
335 * \ingroup Mesh
336 * \brief Vue sur une liste de mailles connectées à une entité
337 */
339/*!
340 * \ingroup Mesh
341 * \brief Vue sur une liste de DoFs connectés à une entité
342 */
344
345#ifdef ARCANE_USE_SPECIFIC_ITEMCONNECTED
346//! Liste d'entités connectées
348//! Liste de noeuds connectés
350//! Liste d'arêtes connectées
352//! Liste de faces connectées
354//! Liste de mailles connectées
356//! Liste générique d'entités connectées
358#else
359//! Liste d'entités connectées
361//! Liste de noeuds connectés
363//! Liste d'arêtes connectées
365//! Liste de faces connectées
367//! Liste de mailles connectées
369//! Liste générique d'entités connectées
370template<typename ItemType> using ItemConnectedListViewTypeT = ItemVectorViewT<ItemType>;
371#endif
372
373/*---------------------------------------------------------------------------*/
374/*---------------------------------------------------------------------------*/
375
376/*! \brief Collection de groupes de noeuds. */
378/*! \brief Collection de groupes d'arêtes. */
380/*! \brief Collection de groupes de faces. */
382/*! \brief Collection de groupes de mailles. */
384/*! \brief Collection de groupes de particules. */
386/*! \brief Collection de groupes de degre de liberte. */
388
389
390/*! \brief Tableau de groupes de noeuds. */
392/*! \brief Tableau de groupes d'arêtes. */
394/*! \brief Tableau de groupes de faces. */
396/*! \brief Tableau de groupes de mailles. */
398/*! \brief Tableau de groupes de particules. */
400/*! \brief Tableau de groupes de degre de liberte. */
402
403/*!
404 * \ingroup Mesh
405 * \brief Vue sur les localId() d'une liste de noeuds.
406 */
408/*!
409 * \ingroup Mesh
410 * \brief Vue sur les localId() d'une liste de noeuds.
411 */
413/*!
414 * \ingroup Mesh
415 * \brief Vue sur les localId() d'une liste d'arêtes.
416 */
418/*!
419 * \ingroup Mesh
420 * \brief Vue sur les localId() d'une liste d'arêtes.
421 */
423/*!
424 * \ingroup Mesh
425 * \brief Vue sur les localId() d'une liste de faces.
426 */
428/*!
429 * \ingroup Mesh
430 * \brief Vue sur les localId() d'une liste de faces.
431 */
433/*!
434 * \ingroup Mesh
435 * \brief Vue sur les localId() d'une liste de mailles.
436 */
438/*!
439 * \ingroup Mesh
440 * \brief Vue sur les localId() d'une liste de mailles.
441 */
443/*!
444 * \ingroup Mesh
445 * \brief Vue sur les localId() d'une liste de particules.
446 */
448/*!
449 * \ingroup Mesh
450 * \brief Vue sur les localId() d'une liste de particules.
451 */
453
454/*!
455 * \ingroup Mesh
456 * \brief Vue sur les localId() d'une liste de DoF.
457 */
459using DoFLocalIdListView = ItemLocalIdListViewT<DoF>;
460
461/*! \brief Type de la liste interne des entités
462
463 \deprecated Utiliser ItemInternalArrayView.
464
465*/
467
468typedef ConstArrayView<ItemInternal*> ItemInternalArrayView;
469
470typedef ArrayView<ItemInternal*> ItemInternalMutableArrayView;
471
473
474/*---------------------------------------------------------------------------*/
475/*---------------------------------------------------------------------------*/
476
477class ItemInfoListView;
478template <typename ItemType> class ItemInfoListViewT;
479class NodeInfoListView;
480class EdgeInfoListView;
481class FaceInfoListView;
482class CellInfoListView;
484class DoFInfoListView;
485
486/*---------------------------------------------------------------------------*/
487/*---------------------------------------------------------------------------*/
488
490template<typename ItemType>
492//! Index d'une énumération sur des noeuds
494//! Index d'une énumération sur des arêtes
496//! Index d'une énumération sur des faces
498//! Index d'une énumération sur des mailles
500//! Index d'une énumération sur des particules
502//! Index d'une énumération sur des DoF
504
505/*---------------------------------------------------------------------------*/
506/*---------------------------------------------------------------------------*/
507/*!
508 * \brief Politique d'utilisation des connectivités.
509 *
510 * Cette énumération sert à faire la transition entre les connectivités
511 * historiques et la nouvelle implémentation.
512 *
513 * Actuellement, seule la valeur InternalConnectivityPolicy::NewOnly est utilisée
514 */
516{
517 /*!
518 * \brief Connectivités historiques.
519 *
520 * Ce mode est identique au mode d'avant l'incorporation des nouvelles
521 * connectivités. Son empreinte mémoire est la plus faible de tous les modes
522 * disponibles.
523 * \warning Ce mode n'est plus opérationnel.
524 */
526 /*!
527 * \brief Utilise les connectivités historiques et alloue les accesseurs pour
528 * ces connectivités
529 * \warning Ce mode n'est plus opérationnel.
530 */
532 /*!
533 * \brief Alloue les anciennes et les nouvelles connectivités
534 * et utilise les anciennes via les nouveaux accesseurs dans ItemInternal.
535 * \warning Ce mode n'est plus opérationnel.
536 */
538 /*!
539 * \brief Alloue les anciennes et les nouvelles connectivités
540 * et utilise les nouvelles via les nouveaux accesseurs dans ItemInternal.
541 * \warning Ce mode n'est plus opérationnel.
542 */
544 /*!
545 * \brief Alloue les anciennes et les nouvelles connectivités
546 * utilise les nouvelles via les nouveaux accesseurs dans ItemInternal
547 * et s'appuie sur un graphe de dépendances des familles (Familles,Connectivités).
548 * \warning Ce mode n'est plus opérationnel.
549 */
551 /*!
552 * \brief Alloue uniquement les nouvelles connectivités
553 */
555};
556
557/*---------------------------------------------------------------------------*/
558/*---------------------------------------------------------------------------*/
559/*!
560 * \brief Classe statique pour avoir des informations sur la
561 * configuration des connectivités.
562 */
563class ARCANE_CORE_EXPORT InternalConnectivityInfo
564{
565 public:
566 //! Vrai si les anciennes connectivités sont actives
567 static constexpr bool hasLegacyConnectivity(InternalConnectivityPolicy) { return false; }
568 //! Vrai si les nouvelles connectivités sont actives
569 static constexpr bool hasNewConnectivity(InternalConnectivityPolicy) { return true; }
570 /*!
571 * \brief Indique si on utilise les nouvelles connectivités pour accéder
572 * aux entités dans ItemInternal.
573 */
574 static constexpr bool useNewConnectivityAccessor(InternalConnectivityPolicy) { return true; }
575};
576
577/*---------------------------------------------------------------------------*/
578/*---------------------------------------------------------------------------*/
579/*!
580 * \ingroup Mesh
581 * \brief Vecteur de noeuds.
582 */
584/*!
585 * \ingroup Mesh
586 * \brief Vecteur d'arêtes
587 * \note Cette classe n'est pas implémentée.
588 */
590/*!
591 * \ingroup Mesh
592 * \brief Vecteur de faces.
593 */
595/*!
596 * \ingroup Mesh
597 * \brief Vecteur de mailles.
598 */
600/*!
601 * \ingroup Mesh
602 * \brief Vecteur de particules.
603 */
605/*!
606 * \ingroup Mesh
607 * \brief Vecteur de degres de liberte.
608 */
610
611/*---------------------------------------------------------------------------*/
612/*---------------------------------------------------------------------------*/
613/*!
614 * \internal
615 * \brief Caractéristiques des éléments du maillage.
616 *
617 * A spécialiser par type d'élément.
618 */
619template<class T>
621{
622 public:
623 //! Genre de l'entité
624 static eItemKind kind() { return IK_Unknown; }
625};
626
627/*---------------------------------------------------------------------------*/
628/*---------------------------------------------------------------------------*/
629/*!
630 * \internal
631 * \brief Caractéristiques des entités du maillage de type \c Node.
632 */
633template<>
634class ItemTraitsT<Node>
635{
636 public:
637
638 //! Type de cette classe
639 typedef ItemTraitsT<Node> ItemTraitsType;
640 //! Type de l'entité de maillage
641 typedef Node ItemType;
642 //! Type du groupe de l'entité
643 typedef NodeGroup ItemGroupType;
644 //! Type du localId()
645 typedef NodeLocalId LocalIdType;
646
647 public:
648
649 //! Genre de l'entité
650 static eItemKind kind() { return IK_Node; }
651
652 //! Nom de la famille par défaut associée
653 static const char* defaultFamilyName() { return "Node"; }
654};
655
656/*---------------------------------------------------------------------------*/
657/*---------------------------------------------------------------------------*/
658/*!
659 * \internal
660 * \brief Caractéristiques des entités du maillage de type \c Edge.
661 */
662template<>
663class ItemTraitsT<Edge>
664{
665 public:
666
667 //! Type de cette classe
668 typedef ItemTraitsT<Edge> ItemTraitsType;
669 //! Type de l'entité de maillage
670 typedef Edge ItemType;
671 //! Type du groupe de l'entité
672 typedef EdgeGroup ItemGroupType;
673 //! Type du localId()
674 typedef EdgeLocalId LocalIdType;
675
676 public:
677
678 //! Genre de l'entité
679 static eItemKind kind() { return IK_Edge; }
680
681 //! Nom de la famille par défaut associée
682 static const char* defaultFamilyName() { return "Edge"; }
683};
684
685/*---------------------------------------------------------------------------*/
686/*---------------------------------------------------------------------------*/
687/*!
688 * \internal
689 * \brief Caractéristiques des entités du maillage de type \c Face.
690 */
691template<>
692class ItemTraitsT<Face>
693{
694 public:
695
696 //! Type de cette classe
697 typedef ItemTraitsT<Face> ItemTraitsType;
698 //! Type de l'entité de maillage
699 typedef Face ItemType;
700 //! Type du groupe de l'entité
701 typedef FaceGroup ItemGroupType;
702 //! Type du localId()
703 typedef FaceLocalId LocalIdType;
704
705 public:
706
707 //! Genre de l'entité
708 static eItemKind kind() { return IK_Face; }
709
710 //! Nom de la famille par défaut associée
711 static const char* defaultFamilyName() { return "Face"; }
712};
713
714/*---------------------------------------------------------------------------*/
715/*---------------------------------------------------------------------------*/
716/*!
717 * \internal
718 * \brief Caractéristiques des entités du maillage de type \c Cell.
719 */
720template<>
721class ItemTraitsT<Cell>
722{
723 public:
724
725 //! Type de cette classe
726 typedef ItemTraitsT<Cell> ItemTraitsType;
727 //! Type de l'entité de maillage
728 typedef Cell ItemType;
729 //! Type du groupe de l'entité
730 typedef CellGroup ItemGroupType;
731 //! Type du localId()
732 typedef CellLocalId LocalIdType;
733
734 public:
735
736 //! Genre de l'entité
737 static eItemKind kind() { return IK_Cell; }
738
739 //! Nom de la famille par défaut associée
740 static const char* defaultFamilyName() { return "Cell"; }
741};
742
743/*---------------------------------------------------------------------------*/
744/*---------------------------------------------------------------------------*/
745/*!
746 * \internal
747 * \brief Caractéristiques des entités du maillage de type \c Particle.
748 */
749template<>
751{
752 public:
753
754 //! Type de cette classe
755 typedef ItemTraitsT<Particle> ItemTraitsType;
756 //! Type de l'entité de maillage
757 typedef Particle ItemType;
758 //! Type du groupe de l'entité
759 typedef ParticleGroup ItemGroupType;
760 //! Type du localId()
761 typedef ParticleLocalId LocalIdType;
762
763 public:
764
765 //! Genre de l'entité
766 static eItemKind kind() { return IK_Particle; }
767
768 //! Nom de la famille par défaut associée
769 static const char* defaultFamilyName() { return nullptr; }
770};
771
772
773/*---------------------------------------------------------------------------*/
774/*---------------------------------------------------------------------------*/
775/*!
776 * \internal
777 * \brief Caractéristiques des entités du maillage de type \c DoF
778 */
779template<>
780class ItemTraitsT<DoF>
781{
782 public:
783
784 //! Type de cette classe
785 typedef ItemTraitsT<DoF> ItemTraitsType;
786 //! Type de l'entité de maillage
787 typedef DoF ItemType;
788 //! Type du groupe de l'entité
789 typedef DoFGroup ItemGroupType;
790 //! Type du localId()
791 using LocalIdType = ItemLocalIdT<DoF>;
792
793 public:
794
795 //! Genre de l'entité
796 static eItemKind kind() { return IK_DoF; }
797
798 // NOTE: GG: devrait être nullptr car pas de défaut pour la famille de DoF ?
799 //! Nom de la famille par défaut associée
800 static const char* defaultFamilyName() { return nullptr; }
801};
802
803/*---------------------------------------------------------------------------*/
804/*---------------------------------------------------------------------------*/
805/*!
806 * \brief Caractéristique associées aux 'localId()'.
807 */
808template<typename ItemType>
810{
811 public:
812
813 //! Type du localId()
815};
816
817//! Spécialisation pour 'Item' qui n'a pas de 'ItemTraitsT'.
818template<>
820{
821 public:
822 //! Type du localId()
824};
825
826/*---------------------------------------------------------------------------*/
827/*---------------------------------------------------------------------------*/
828
829} // End namespace Arcane
830
831/*---------------------------------------------------------------------------*/
832/*---------------------------------------------------------------------------*/
833
834#endif
Déclarations des types généraux de Arcane.
Vue modifiable d'un tableau d'un type T.
Vue sur les informations des mailles.
Maille d'un maillage.
Definition Item.h:1191
Classe de base d'une collection fortement typée.
Definition Collection.h:115
Vue constante d'un tableau de type T.
Vue sur les informations des DoFs.
classe degré de liberté.
Definition Item.h:1503
Vue sur les informations des arêtes.
Arête d'une maille.
Definition Item.h:809
Informations pour les traces d'un énumérator.
Vue sur les informations des faces.
Face d'une maille.
Definition Item.h:944
Interface d'une famille de DoF.
Definition IDoFFamily.h:33
Interface d'une famille d'entités.
Definition IItemFamily.h:84
Interface d'un opérateur sur des entités rangées par type.
Interface d'une famille de particules.
Classe de base d'une vue sur une connectivité non structurée.
Classe de base d'une vue sur une connectivité non structurée.
Classe statique pour avoir des informations sur la configuration des connectivités.
Definition ItemTypes.h:564
static constexpr bool hasNewConnectivity(InternalConnectivityPolicy)
Vrai si les nouvelles connectivités sont actives.
Definition ItemTypes.h:569
static constexpr bool hasLegacyConnectivity(InternalConnectivityPolicy)
Vrai si les anciennes connectivités sont actives.
Definition ItemTypes.h:567
static constexpr bool useNewConnectivityAccessor(InternalConnectivityPolicy)
Indique si on utilise les nouvelles connectivités pour accéder aux entités dans ItemInternal.
Definition ItemTypes.h:574
Classe de base pour les entités du maillage.
Classe de base typeé des énumérateurs sur une liste d'entité connectées.
Enumérateur sur une liste typée d'entités connectées de type ItemType.
Enumérateur sur une liste d'entités connectées à une autre.
Vue sur une liste d'entités connectées à une autre.
Vue sur une liste d'entités connectées à une autre entité.
Classe de base des énumérateurs sur une liste d'entité.
Classe de base des énumérateurs sur une liste d'entité.
Représente un index d'une énumération sur une entité ItemType.
Représente un index d'une énumération sur une entité.
Enumérateur sur une liste typée d'entités de type ItemType.
Enumérateur sur une liste d'entités.
Référence à un groupe d'un genre donné.
Definition ItemGroup.h:398
Groupe d'entités de maillage.
Definition ItemGroup.h:49
Classe de base des vues spécialisées des informations sur les entités.
Vue sur une liste pour obtenir des informations sur les entités.
Vue typée sur une liste d'entités d'une connectivité.
Vue sur une liste de ItemLocalId.
Index d'une entité ItemType dans une variable.
Definition ItemLocalId.h:90
ItemLocalId LocalIdType
Type du localId()
Definition ItemTypes.h:823
Caractéristique associées aux 'localId()'.
Definition ItemTypes.h:810
typename ItemTraitsT< ItemType >::LocalIdType LocalIdType
Type du localId()
Definition ItemTypes.h:814
Index d'un Item dans une variable.
Definition ItemLocalId.h:41
Enumérateur sur un tableau de tableaux d'entités du maillage de genre ItemType et SubItemType.
Enumérateur sur un tableau de tableaux d'entités du maillage.
Référence à un groupe d'un genre donné.
Tableau de listes d'entités.
static eItemKind kind()
Genre de l'entité
Definition ItemTypes.h:624
Type d'une entité (Item).
Definition ItemTypeId.h:32
Vecteur typé d'entité.
Definition ItemVector.h:166
Vue sur un tableau typé d'entités.
Vue sur un vecteur d'entités.
Vecteur d'entités.
Definition ItemVector.h:59
Elément de maillage s'appuyant sur des noeuds (Edge,Face,Cell).
Definition Item.h:724
Classe de base d'un élément de maillage.
Definition Item.h:83
Implémentation d'une collection d'éléments sous forme de vecteur.
Definition List.h:222
Méthodes permettant de modifier ItemBase.
Vue sur les informations des noeuds.
Noeud d'un maillage.
Definition Item.h:573
Vue sur les informations des particules.
Particule.
Definition Item.h:1397
Classe de base des énumérateurs sur les entités vectortielles (SimdItem).
Definition SimdItem.h:376
Enumérateur sur une liste d'entités.
Definition SimdItem.h:429
Gère un vecteur d'entité ItemType.
Definition SimdItem.h:236
ItemVectorViewT< Node > NodeVectorView
Vue sur un vecteur de noeuds.
Definition ItemTypes.h:289
ItemConnectedListViewT< Cell > CellConnectedListView
Vue sur une liste de mailles connectées à une entité
Definition ItemTypes.h:338
ItemVectorT< Cell > CellVector
Vecteur de mailles.
Definition ItemTypes.h:599
ItemLocalIdListViewT< Cell > CellLocalIdListView
Vue sur les localId() d'une liste de mailles.
Definition ItemTypes.h:442
ItemEnumeratorT< Particle > ParticleEnumerator
Enumérateurs sur des particules.
Definition ItemTypes.h:277
ItemVectorViewT< DoF > DoFVectorView
Vue sur un vecteur de degre de liberte.
Definition ItemTypes.h:315
ItemEnumeratorT< DoF > DoFEnumerator
Enumérateurs sur des DoFs.
Definition ItemTypes.h:283
ItemGroupT< Particle > ParticleGroup
Groupe de particules.
Definition ItemTypes.h:188
ItemLocalIdListViewT< Node > NodeLocalIdView
Vue sur les localId() d'une liste de noeuds.
Definition ItemTypes.h:407
ItemVectorViewT< Edge > EdgeVectorView
Vue sur un vecteur d'arêtes.
Definition ItemTypes.h:294
ItemGroupT< Cell > CellGroup
Groupe de mailles.
Definition ItemTypes.h:183
ItemVectorT< Node > NodeVector
Vecteur de noeuds.
Definition ItemTypes.h:583
ItemLocalIdListViewT< Node > NodeLocalIdListView
Vue sur les localId() d'une liste de noeuds.
Definition ItemTypes.h:412
ItemGroupT< Face > FaceGroup
Groupe de faces.
Definition ItemTypes.h:178
ItemVectorT< Face > FaceVector
Vecteur de faces.
Definition ItemTypes.h:594
ItemVectorT< DoF > DoFVector
Vecteur de degres de liberte.
Definition ItemTypes.h:609
ItemLocalIdListViewT< DoF > DoFLocalIdView
Vue sur les localId() d'une liste de DoF.
Definition ItemTypes.h:458
ItemEnumeratorT< Node > NodeEnumerator
Enumérateurs sur des noeuds.
Definition ItemTypes.h:254
ItemLocalIdListViewT< Face > FaceLocalIdListView
Vue sur les localId() d'une liste de faces.
Definition ItemTypes.h:432
ItemEnumeratorT< Face > FaceEnumerator
Enumérateurs sur des faces.
Definition ItemTypes.h:265
ItemVectorViewT< Cell > CellVectorView
Vue sur un vecteur de mailles.
Definition ItemTypes.h:304
ItemGroupT< Edge > EdgeGroup
Groupe d'arêtes.
Definition ItemTypes.h:173
ItemVectorViewT< Face > FaceVectorView
Vue sur un vecteur de faces.
Definition ItemTypes.h:299
ItemVectorT< Edge > EdgeVector
Vecteur d'arêtes.
Definition ItemTypes.h:589
ItemGroupT< DoF > DoFGroup
Groupe de Degre de Liberte.
Definition ItemTypes.h:193
ItemLocalIdListViewT< Edge > EdgeLocalIdView
Vue sur les localId() d'une liste d'arêtes.
Definition ItemTypes.h:417
ItemConnectedListViewT< DoF > DoFConnectedListView
Vue sur une liste de DoFs connectés à une entité
Definition ItemTypes.h:343
ItemConnectedListViewT< Face > FaceConnectedListView
Vue sur une liste de faces connectées à une entité
Definition ItemTypes.h:333
ItemLocalIdListViewT< Particle > ParticleLocalIdListView
Vue sur les localId() d'une liste de particules.
Definition ItemTypes.h:452
ItemConnectedListViewT< Node > NodeConnectedListView
Vue sur une liste de noeuds connectés à une entité
Definition ItemTypes.h:323
ItemGroupT< Node > NodeGroup
Groupe de noeuds.
Definition ItemTypes.h:167
ItemVectorT< Particle > ParticleVector
Vecteur de particules.
Definition ItemTypes.h:604
ItemConnectedListViewT< Edge > EdgeConnectedListView
Vue sur une liste d'arêtes connectées à une entité
Definition ItemTypes.h:328
ItemLocalIdListViewT< Particle > ParticleLocalIdView
Vue sur les localId() d'une liste de particules.
Definition ItemTypes.h:447
ItemLocalIdListViewT< Face > FaceLocalIdView
Vue sur les localId() d'une liste de faces.
Definition ItemTypes.h:427
ItemVectorViewT< Particle > ParticleVectorView
Vue sur un vecteur de particules.
Definition ItemTypes.h:309
ItemEnumeratorT< Edge > EdgeEnumerator
Enumérateurs sur des arêtes.
Definition ItemTypes.h:259
ItemEnumeratorT< Cell > CellEnumerator
Enumérateurs sur des mailles.
Definition ItemTypes.h:271
ItemLocalIdListViewT< Cell > CellLocalIdView
Vue sur les localId() d'une liste de mailles.
Definition ItemTypes.h:437
ItemLocalIdListViewT< Edge > EdgeLocalIdListView
Vue sur les localId() d'une liste d'arêtes.
Definition ItemTypes.h:422
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
List< DoFGroup > DoFGroupList
Tableau de groupes de degre de liberte.
Definition ItemTypes.h:401
Collection< EdgeGroup > EdgeGroupCollection
Collection de groupes d'arêtes.
Definition ItemTypes.h:379
NodeConnectedListView NodeConnectedListViewType
Liste de noeuds connectés.
Definition ItemTypes.h:349
Collection< FaceGroup > FaceGroupCollection
Collection de groupes de faces.
Definition ItemTypes.h:381
List< FaceGroup > FaceGroupList
Tableau de groupes de faces.
Definition ItemTypes.h:395
ItemPairGroupT< Face, Face > FaceFaceGroup
Groupe de faces connectées à des faces.
Definition ItemTypes.h:147
List< ParticleGroup > ParticleGroupList
Tableau de groupes de particules.
Definition ItemTypes.h:399
ItemEnumeratorIndexT< Edge > EdgeEnumeratorIndex
Index d'une énumération sur des arêtes.
Definition ItemTypes.h:495
ItemConnectedListView< DynExtent > ItemConnectedListViewType
Liste d'entités connectées.
Definition ItemTypes.h:347
CellConnectedListView CellConnectedListViewType
Liste de mailles connectées.
Definition ItemTypes.h:355
ItemEnumeratorIndexT< Face > FaceEnumeratorIndex
Index d'une énumération sur des faces.
Definition ItemTypes.h:497
Collection< ParticleGroup > ParticleGroupCollection
Collection de groupes de particules.
Definition ItemTypes.h:385
ItemPairGroupT< Cell, Node > CellNodeGroup
Groupe de mailles connectées à des noeuds.
Definition ItemTypes.h:140
ItemPairGroupT< Edge, Node > EdgeNodeGroup
Groupe d'arêtes connectées à des noeuds.
Definition ItemTypes.h:136
ConstArrayView< ItemInternal * > ItemInternalList
Type de la liste interne des entités.
Definition ItemTypes.h:466
List< EdgeGroup > EdgeGroupList
Tableau de groupes d'arêtes.
Definition ItemTypes.h:393
List< CellGroup > CellGroupList
Tableau de groupes de mailles.
Definition ItemTypes.h:397
Int32 LocalIdType
Type des entiers utilisés pour stocker les identifiants locaux des entités.
ItemPairGroupT< Cell, Face > CellFaceGroup
Groupe de mailles connectées à des faces.
Definition ItemTypes.h:149
ItemPairGroupT< Face, Cell > FaceCellGroup
Groupe de faces connectées à des mailles.
Definition ItemTypes.h:156
ItemPairGroupT< Node, Node > NodeNodeGroup
Groupe de noeuds connectés à des noeuds.
Definition ItemTypes.h:134
ItemEnumeratorIndexT< Node > NodeEnumeratorIndex
Index d'une énumération sur des noeuds.
Definition ItemTypes.h:493
eItemKind
Genre d'entité de maillage.
@ IK_Particle
Entité de maillage de genre particule.
@ IK_Node
Entité de maillage de genre noeud.
@ IK_Cell
Entité de maillage de genre maille.
@ IK_Unknown
Entité de maillage de genre inconnu ou non initialisé
@ IK_Face
Entité de maillage de genre face.
@ IK_DoF
Entité de maillage de genre degre de liberte.
@ IK_Edge
Entité de maillage de genre arête.
ItemPairGroupT< Node, Cell > NodeCellGroup
Groupe de noeuds connectés à des mailless.
Definition ItemTypes.h:152
ItemPairGroupT< Face, Node > FaceNodeGroup
Groupe de faces connectées à des noeuds.
Definition ItemTypes.h:138
ItemEnumeratorIndexT< Particle > ParticleEnumeratorIndex
Index d'une énumération sur des particules.
Definition ItemTypes.h:501
ItemConnectedListViewT< ItemType > ItemConnectedListViewTypeT
Liste générique d'entités connectées.
Definition ItemTypes.h:357
ItemPairGroupT< Node, Face > NodeFaceGroup
Groupe de noeuds connectés à des faces.
Definition ItemTypes.h:143
List< NodeGroup > NodeGroupList
Tableau de groupes de noeuds.
Definition ItemTypes.h:391
Collection< NodeGroup > NodeGroupCollection
Collection de groupes de noeuds.
Definition ItemTypes.h:377
ItemPairGroupT< Edge, Cell > EdgeCellGroup
Groupe d'arêtes connectées à des mailles.
Definition ItemTypes.h:154
Collection< CellGroup > CellGroupCollection
Collection de groupes de mailles.
Definition ItemTypes.h:383
ItemPairGroupT< Cell, Cell > CellCellGroup
Groupe de mailles connectées à des mailles.
Definition ItemTypes.h:158
EdgeConnectedListView EdgeConnectedListViewType
Liste d'arêtes connectées.
Definition ItemTypes.h:351
ItemEnumeratorIndexT< Cell > CellEnumeratorIndex
Index d'une énumération sur des mailles.
Definition ItemTypes.h:499
ItemPairGroupT< Edge, Face > EdgeFaceGroup
Groupe d'arêtes connectées à des faces.
Definition ItemTypes.h:145
FaceConnectedListView FaceConnectedListViewType
Liste de faces connectées.
Definition ItemTypes.h:353
InternalConnectivityPolicy
Politique d'utilisation des connectivités.
Definition ItemTypes.h:516
@ LegacyAndAllocAccessor
Utilise les connectivités historiques et alloue les accesseurs pour ces connectivités.
Definition ItemTypes.h:531
@ Legacy
Connectivités historiques.
Definition ItemTypes.h:525
@ LegacyAndNew
Alloue les anciennes et les nouvelles connectivités et utilise les anciennes via les nouveaux accesse...
Definition ItemTypes.h:537
@ NewAndLegacy
Alloue les anciennes et les nouvelles connectivités et utilise les nouvelles via les nouveaux accesse...
Definition ItemTypes.h:543
@ NewOnly
Alloue uniquement les nouvelles connectivités.
Definition ItemTypes.h:554
@ NewWithDependenciesAndLegacy
Alloue les anciennes et les nouvelles connectivités utilise les nouvelles via les nouveaux accesseurs...
Definition ItemTypes.h:550
Collection< DoFGroup > DoFGroupCollection
Collection de groupes de degre de liberte.
Definition ItemTypes.h:387
ItemEnumeratorIndexT< DoF > DoFEnumeratorIndex
Index d'une énumération sur des DoF.
Definition ItemTypes.h:503