v0.14.0
TagMultiIndices.hpp
Go to the documentation of this file.
1 /** \file TagMultiIndices.hpp
2  * \brief Tags for Multi-index containers
3  */
4 
5 
6 #ifndef __TAGMULTIINDICES_HPP__
7 #define __TAGMULTIINDICES_HPP__
8 
9 namespace MoFEM {
10 
11 /// MultiIndex Tag for field id
16 
18 struct Unique_mi_tag {};
20 struct FE_Unique_mi_tag {};
21 struct Ent_mi_tag {};
22 struct FEEnt_mi_tag {};
23 struct EntType_mi_tag {};
25 struct BitFEId_mi_tag {};
28 struct EntDofIdx_mi_tag {};
29 struct Space_mi_tag {};
30 
31 struct Idx_mi_tag {
32  static const bool IamNotPartitioned;
33  /// extract dof index from iterator
34  template <class IT> static inline DofIdx get_index(const IT &it) {
35  return (*it)->getDofIdx();
36  }
37 };
39  static const bool IamNotPartitioned;
40  /// extract global dof index from iterator
41  template <class IT> static inline DofIdx get_index(const IT &it) {
42  return (*it)->getPetscGlobalDofIdx();
43  }
44 };
46  static const bool IamNotPartitioned;
47  /// extract global dof index from iterator
48  template <class IT> static inline DofIdx get_index(const IT &it) {
49  return (*it)->getPetscLocalDofIdx();
50  }
51 };
52 
53 struct Part_mi_tag {};
54 
55 struct Ent_Ent_mi_tag {};
56 struct Ent_Owner_mi_tag {};
57 
61 struct Meshset_mi_tag {};
62 
63 /// MultiIndex Tag for field order
64 struct Order_mi_tag {};
65 
66 /// MultiIndex Tag for field name
67 struct FieldName_mi_tag {};
70 struct Problem_mi_tag {};
71 
73 struct Proc_mi_tag {};
74 
75 struct Composite_mi_tag {};
90 
91 struct SeriesID_mi_tag {};
96 
97 struct TypeSide_mi_tag {};
98 
99 } // namespace MoFEM
100 
101 #endif // __TAGMULTIINDICES_HPP__
MoFEM::Proc_mi_tag
Definition: TagMultiIndices.hpp:73
MoFEM::PetscLocalIdx_mi_tag::IamNotPartitioned
static const bool IamNotPartitioned
Definition: TagMultiIndices.hpp:46
MoFEM::Ent_mi_tag
Definition: TagMultiIndices.hpp:21
MoFEM::Composite_Ent_Order_And_CoeffIdx_mi_tag
Definition: TagMultiIndices.hpp:85
MoFEM::Unique_Ent_mi_tag
Definition: TagMultiIndices.hpp:58
MoFEM::Problem_mi_tag
Definition: TagMultiIndices.hpp:70
MoFEM::BitFEId_mi_tag
Definition: TagMultiIndices.hpp:25
MoFEM::Composite_SeriesID_And_Step_mi_tag
Definition: TagMultiIndices.hpp:93
MoFEM::PetscLocalIdx_mi_tag
Definition: TagMultiIndices.hpp:45
MoFEM::Composite_Name_And_Part_mi_tag
Definition: TagMultiIndices.hpp:87
MoFEM::FieldName_mi_tag
MultiIndex Tag for field name.
Definition: TagMultiIndices.hpp:67
MoFEM::Ent_FiniteElement_mi_tag
Definition: TagMultiIndices.hpp:60
MoFEM::Composite_Part_And_Order_mi_tag
Definition: TagMultiIndices.hpp:83
MoFEM::Ent_Ent_mi_tag
Definition: TagMultiIndices.hpp:55
MoFEM::EntType_mi_tag
Definition: TagMultiIndices.hpp:23
MoFEM::Order_mi_tag
MultiIndex Tag for field order.
Definition: TagMultiIndices.hpp:64
MoFEM::EntDofIdx_mi_tag
Definition: TagMultiIndices.hpp:28
MoFEM::Composite_EntType_and_ParentEntType_mi_tag
Definition: TagMultiIndices.hpp:77
MoFEM::PetscGlobalIdx_mi_tag::IamNotPartitioned
static const bool IamNotPartitioned
Definition: TagMultiIndices.hpp:39
MoFEM::Composite_Unique_mi_tag
Definition: TagMultiIndices.hpp:76
MoFEM
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:10
MoFEM::Part_mi_tag
Definition: TagMultiIndices.hpp:53
MoFEM::Composite_SeriesName_And_Time_mi_tag
Definition: TagMultiIndices.hpp:95
MoFEM::SeriesName_mi_tag
Definition: TagMultiIndices.hpp:92
MoFEM::Composite_EntType_and_Space_mi_tag
Definition: TagMultiIndices.hpp:89
MoFEM::Unique_FiniteElement_mi_tag
Definition: TagMultiIndices.hpp:59
MoFEM::FiniteElement_Meshset_mi_tag
Definition: TagMultiIndices.hpp:24
MoFEM::FEEnt_mi_tag
Definition: TagMultiIndices.hpp:22
MoFEM::Composite_Name_Ent_Order_And_CoeffIdx_mi_tag
Definition: TagMultiIndices.hpp:84
MoFEM::PetscLocalIdx_mi_tag::get_index
static DofIdx get_index(const IT &it)
extract global dof index from iterator
Definition: TagMultiIndices.hpp:48
MoFEM::Composite_Ent_and_ShortId_mi_tag
Definition: TagMultiIndices.hpp:88
MoFEM::TypeSide_mi_tag
Definition: TagMultiIndices.hpp:97
MoFEM::Composite_Cubit_msId_And_MeshsetType_mi_tag
Definition: TagMultiIndices.hpp:15
MoFEM::Idx_mi_tag::get_index
static DofIdx get_index(const IT &it)
extract dof index from iterator
Definition: TagMultiIndices.hpp:34
MoFEM::PetscGlobalIdx_mi_tag
Definition: TagMultiIndices.hpp:38
MoFEM::Meshset_mi_tag
Definition: TagMultiIndices.hpp:61
MoFEM::Composite_mi_tag
Definition: TagMultiIndices.hpp:75
MoFEM::CubitMeshsetMaskedType_mi_tag
Definition: TagMultiIndices.hpp:13
MoFEM::Composite_Name_Ent_And_Part_mi_tag
Definition: TagMultiIndices.hpp:86
MoFEM::Composite_Name_And_Ent_mi_tag
Definition: TagMultiIndices.hpp:82
MoFEM::Composite_Ent_And_EntDofIdx_mi_tag
Definition: TagMultiIndices.hpp:81
MoFEM::Composite_ParentEnt_And_BitsOfRefinedEdges_mi_tag
Definition: TagMultiIndices.hpp:79
MoFEM::BitFieldId_mi_tag
Definition: TagMultiIndices.hpp:17
MoFEM::Composite_Name_And_Ent_And_EntDofIdx_mi_tag
Definition: TagMultiIndices.hpp:80
MoFEM::Idx_mi_tag::IamNotPartitioned
static const bool IamNotPartitioned
Definition: TagMultiIndices.hpp:32
MoFEM::Space_mi_tag
Definition: TagMultiIndices.hpp:29
MoFEM::FiniteElement_name_mi_tag
Definition: TagMultiIndices.hpp:26
MoFEM::Ent_ParallelStatus
Definition: TagMultiIndices.hpp:72
IT
constexpr IntegrationType IT
Definition: test_broken_space.cpp:24
MoFEM::BitFieldId_space_mi_tag
Definition: TagMultiIndices.hpp:68
MoFEM::Composite_ParentEnt_And_EntType_mi_tag
Definition: TagMultiIndices.hpp:78
MoFEM::FE_Unique_mi_tag
Definition: TagMultiIndices.hpp:20
MoFEM::Idx_mi_tag
Definition: TagMultiIndices.hpp:31
MoFEM::DOF_Unique_mi_tag
Definition: TagMultiIndices.hpp:19
MoFEM::Composite_SeriesName_And_Step_mi_tag
Definition: TagMultiIndices.hpp:94
MoFEM::CubitMeshsets_name
Definition: TagMultiIndices.hpp:14
MoFEM::Unique_mi_tag
Definition: TagMultiIndices.hpp:18
MoFEM::PetscGlobalIdx_mi_tag::get_index
static DofIdx get_index(const IT &it)
extract global dof index from iterator
Definition: TagMultiIndices.hpp:41
MoFEM::CubitMeshsetType_mi_tag
MultiIndex Tag for field id.
Definition: TagMultiIndices.hpp:12
MoFEM::SideNumber_mi_tag
Definition: TagMultiIndices.hpp:27
MoFEM::Ent_Owner_mi_tag
Definition: TagMultiIndices.hpp:56
MoFEM::BitProblemId_mi_tag
Definition: TagMultiIndices.hpp:69
MoFEM::Types::DofIdx
int DofIdx
Index of DOF.
Definition: Types.hpp:18
MoFEM::SeriesID_mi_tag
Definition: TagMultiIndices.hpp:91