Arcane  v3.14.10.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;
69class ItemLocalIdListContainerView;
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>;
88class IndexedItemConnectivityViewBase;
89class IndexedItemConnectivityViewBase2;
90class IndexedItemConnectivityAccessor;
91class ItemInternalConnectivityList;
92class ItemInternalVectorView;
93class ItemIndexArrayView;
94class ItemLocalIdListView;
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
109class ItemVectorViewConstIterator;
110template<typename ItemType>
111class ItemVectorViewConstIteratorT;
112
113class ItemConnectedListViewConstIterator;
114template<typename ItemType>
115class ItemConnectedListViewConstIteratorT;
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
469
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 */
525 Legacy,
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 */
554 NewOnly,
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<>
635{
636 public:
637
638 //! Type de cette classe
640 //! Type de l'entité de maillage
641 typedef Node ItemType;
642 //! Type du groupe de l'entité
644 //! Type du localId()
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<>
664{
665 public:
666
667 //! Type de cette classe
669 //! Type de l'entité de maillage
670 typedef Edge ItemType;
671 //! Type du groupe de l'entité
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<>
693{
694 public:
695
696 //! Type de cette classe
698 //! Type de l'entité de maillage
699 typedef Face ItemType;
700 //! Type du groupe de l'entité
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<>
722{
723 public:
724
725 //! Type de cette classe
727 //! Type de l'entité de maillage
728 typedef Cell ItemType;
729 //! Type du groupe de l'entité
731 //! Type du localId()
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
756 //! Type de l'entité de maillage
758 //! Type du groupe de l'entité
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<>
781{
782 public:
783
784 //! Type de cette classe
786 //! Type de l'entité de maillage
787 typedef DoF ItemType;
788 //! Type du groupe de l'entité
790 //! Type du localId()
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 sur les informations des mailles.
Maille d'un maillage.
Definition Item.h:1178
Classe de base d'une collection fortement typée.
Definition Collection.h:115
Vue sur les informations des DoFs.
classe degré de liberté.
Definition Item.h:1488
Vue sur les informations des arêtes.
Arête d'une maille.
Definition Item.h:798
Informations pour les traces d'un énumérator.
Vue sur les informations des faces.
Face d'une maille.
Definition Item.h:932
Interface d'un opérateur sur des entités rangées par type.
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
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é.
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:40
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é.
static eItemKind kind()
Genre de l'entité
Definition ItemTypes.h:737
Cell ItemType
Type de l'entité de maillage.
Definition ItemTypes.h:728
static const char * defaultFamilyName()
Nom de la famille par défaut associée.
Definition ItemTypes.h:740
ItemTraitsT< Cell > ItemTraitsType
Type de cette classe.
Definition ItemTypes.h:726
CellLocalId LocalIdType
Type du localId()
Definition ItemTypes.h:732
CellGroup ItemGroupType
Type du groupe de l'entité
Definition ItemTypes.h:730
ItemLocalIdT< DoF > LocalIdType
Type du localId()
Definition ItemTypes.h:791
DoFGroup ItemGroupType
Type du groupe de l'entité
Definition ItemTypes.h:789
DoF ItemType
Type de l'entité de maillage.
Definition ItemTypes.h:787
static eItemKind kind()
Genre de l'entité
Definition ItemTypes.h:796
static const char * defaultFamilyName()
Nom de la famille par défaut associée.
Definition ItemTypes.h:800
ItemTraitsT< DoF > ItemTraitsType
Type de cette classe.
Definition ItemTypes.h:785
EdgeLocalId LocalIdType
Type du localId()
Definition ItemTypes.h:674
Edge ItemType
Type de l'entité de maillage.
Definition ItemTypes.h:670
ItemTraitsT< Edge > ItemTraitsType
Type de cette classe.
Definition ItemTypes.h:668
static eItemKind kind()
Genre de l'entité
Definition ItemTypes.h:679
static const char * defaultFamilyName()
Nom de la famille par défaut associée.
Definition ItemTypes.h:682
EdgeGroup ItemGroupType
Type du groupe de l'entité
Definition ItemTypes.h:672
static const char * defaultFamilyName()
Nom de la famille par défaut associée.
Definition ItemTypes.h:711
FaceGroup ItemGroupType
Type du groupe de l'entité
Definition ItemTypes.h:701
Face ItemType
Type de l'entité de maillage.
Definition ItemTypes.h:699
ItemTraitsT< Face > ItemTraitsType
Type de cette classe.
Definition ItemTypes.h:697
FaceLocalId LocalIdType
Type du localId()
Definition ItemTypes.h:703
static eItemKind kind()
Genre de l'entité
Definition ItemTypes.h:708
Node ItemType
Type de l'entité de maillage.
Definition ItemTypes.h:641
ItemTraitsT< Node > ItemTraitsType
Type de cette classe.
Definition ItemTypes.h:639
static eItemKind kind()
Genre de l'entité
Definition ItemTypes.h:650
static const char * defaultFamilyName()
Nom de la famille par défaut associée.
Definition ItemTypes.h:653
NodeGroup ItemGroupType
Type du groupe de l'entité
Definition ItemTypes.h:643
NodeLocalId LocalIdType
Type du localId()
Definition ItemTypes.h:645
ParticleGroup ItemGroupType
Type du groupe de l'entité
Definition ItemTypes.h:759
static const char * defaultFamilyName()
Nom de la famille par défaut associée.
Definition ItemTypes.h:769
static eItemKind kind()
Genre de l'entité
Definition ItemTypes.h:766
ItemTraitsT< Particle > ItemTraitsType
Type de cette classe.
Definition ItemTypes.h:755
Particle ItemType
Type de l'entité de maillage.
Definition ItemTypes.h:757
ParticleLocalId LocalIdType
Type du localId()
Definition ItemTypes.h:761
static eItemKind kind()
Genre de l'entité
Definition ItemTypes.h:624
Vecteur typé d'entité.
Definition ItemVector.h:166
Vue sur un tableau typé d'entités.
Vue sur un vecteur d'entités.
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 Dom.h:204
Vue sur les informations des particules.
Particule.
Definition Item.h:1383
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
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
ItemLocalIdListViewT< Face > FaceLocalIdListView
Vue sur les localId() d'une liste de faces.
Definition ItemTypes.h:432
ItemVectorViewT< Node > NodeVectorView
Vue sur un vecteur de noeuds.
Definition ItemTypes.h:289
ItemVectorT< Cell > CellVector
Vecteur de mailles.
Definition ItemTypes.h:599
ItemConnectedListViewT< Face > FaceConnectedListView
Vue sur une liste de faces connectées à une entité
Definition ItemTypes.h:333
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
ItemConnectedListViewT< DoF > DoFConnectedListView
Vue sur une liste de DoFs connectés à une entité
Definition ItemTypes.h:343
ItemLocalIdListViewT< Cell > CellLocalIdListView
Vue sur les localId() d'une liste de mailles.
Definition ItemTypes.h:442
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
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< Node > NodeLocalIdListView
Vue sur les localId() d'une liste de noeuds.
Definition ItemTypes.h:412
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
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
ItemLocalIdListViewT< Particle > ParticleLocalIdListView
Vue sur les localId() d'une liste de particules.
Definition ItemTypes.h:452
ItemVectorT< Edge > EdgeVector
Vecteur d'arêtes.
Definition ItemTypes.h:589
ItemGroupT< DoF > DoFGroup
Groupe de Degre de Liberte.
Definition ItemTypes.h:193
ItemConnectedListViewT< Node > NodeConnectedListView
Vue sur une liste de noeuds connectés à une entité
Definition ItemTypes.h:323
ItemLocalIdListViewT< Edge > EdgeLocalIdView
Vue sur les localId() d'une liste d'arêtes.
Definition ItemTypes.h:417
ItemGroupT< Node > NodeGroup
Groupe de noeuds.
Definition ItemTypes.h:167
ItemVectorT< Particle > ParticleVector
Vecteur de particules.
Definition ItemTypes.h:604
ItemLocalIdListViewT< Particle > ParticleLocalIdView
Vue sur les localId() d'une liste de particules.
Definition ItemTypes.h:447
ItemLocalIdListViewT< Edge > EdgeLocalIdListView
Vue sur les localId() d'une liste d'arêtes.
Definition ItemTypes.h:422
ItemLocalIdListViewT< Face > FaceLocalIdView
Vue sur les localId() d'une liste de faces.
Definition ItemTypes.h:427
ItemConnectedListViewT< Edge > EdgeConnectedListView
Vue sur une liste d'arêtes connectées à une entité
Definition ItemTypes.h:328
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
ItemConnectedListViewT< Cell > CellConnectedListView
Vue sur une liste de mailles connectées à une entité
Definition ItemTypes.h:338
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
-*- 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
FaceConnectedListView FaceConnectedListViewType
Liste de faces connectées.
Definition ItemTypes.h:353
ItemEnumeratorIndexT< Node > NodeEnumeratorIndex
Index d'une énumération sur des noeuds.
Definition ItemTypes.h:493
Collection< FaceGroup > FaceGroupCollection
Collection de groupes de faces.
Definition ItemTypes.h:381
ItemEnumeratorIndexT< Face > FaceEnumeratorIndex
Index d'une énumération sur des faces.
Definition ItemTypes.h:497
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
CellConnectedListView CellConnectedListViewType
Liste de mailles connectées.
Definition ItemTypes.h:355
ItemEnumeratorIndexT< Cell > CellEnumeratorIndex
Index d'une énumération sur des mailles.
Definition ItemTypes.h:499
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
ItemEnumeratorIndexT< DoF > DoFEnumeratorIndex
Index d'une énumération sur des DoF.
Definition ItemTypes.h:503
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
NodeConnectedListView NodeConnectedListViewType
Liste de noeuds connectés.
Definition ItemTypes.h:349
ItemEnumeratorIndexT< Particle > ParticleEnumeratorIndex
Index d'une énumération sur des particules.
Definition ItemTypes.h:501
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
EdgeConnectedListView EdgeConnectedListViewType
Liste d'arêtes connectées.
Definition ItemTypes.h:351
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
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
ItemPairGroupT< Edge, Face > EdgeFaceGroup
Groupe d'arêtes connectées à des faces.
Definition ItemTypes.h:145
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.
@ Legacy
Connectivités historiques.
@ LegacyAndNew
Alloue les anciennes et les nouvelles connectivités et utilise les anciennes via les nouveaux accesse...
@ NewAndLegacy
Alloue les anciennes et les nouvelles connectivités et utilise les nouvelles via les nouveaux accesse...
@ NewOnly
Alloue uniquement les nouvelles connectivités.
@ NewWithDependenciesAndLegacy
Alloue les anciennes et les nouvelles connectivités utilise les nouvelles via les nouveaux accesseurs...
Collection< DoFGroup > DoFGroupCollection
Collection de groupes de degre de liberte.
Definition ItemTypes.h:387
ItemEnumeratorIndexT< Edge > EdgeEnumeratorIndex
Index d'une énumération sur des arêtes.
Definition ItemTypes.h:495