Reference documentation for deal.II version GIT bef9f326eb 2022-07-03 20:25:02+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
types.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2009 - 2022 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii_types_h
17 #define dealii_types_h
18 
19 
20 #include <deal.II/base/config.h>
21 
22 #include <cstdint>
23 
24 
26 
31 namespace types
32 {
43  using subdomain_id = unsigned int;
44 
48  using global_vertex_index = std::uint64_t;
49 
54 #define DEAL_II_VERTEX_INDEX_MPI_TYPE MPI_UINT64_T
55 
73 #ifdef DEAL_II_WITH_64BIT_INDICES
74  using global_dof_index = std::uint64_t;
75 #else
76  using global_dof_index = unsigned int;
77 #endif
78 
83 #ifdef DEAL_II_WITH_64BIT_INDICES
84 # define DEAL_II_DOF_INDEX_MPI_TYPE MPI_UINT64_T
85 #else
86 # define DEAL_II_DOF_INDEX_MPI_TYPE MPI_UNSIGNED
87 #endif
88 
102 #ifdef DEAL_II_WITH_64BIT_INDICES
103  using global_cell_index = std::uint64_t;
104 #else
105  using global_cell_index = unsigned int;
106 #endif
107 
115 
129  using boundary_id = unsigned int;
130 
141  using manifold_id = unsigned int;
142 
152  using material_id = unsigned int;
153 
157  using geometric_entity_type = std::uint8_t;
158 } // namespace types
159 
164 
165 
167 {
168  namespace types
169  {
173  using int64_type = long long int;
174 
175 #ifdef DEAL_II_WITH_64BIT_INDICES
179  using int_type = int64_type;
180 #else
184  using int_type = int;
185 #endif
186  } // namespace types
187 } // namespace TrilinosWrappers
188 
189 
190 // this part of the namespace numbers got moved to the bottom types.h file,
191 // because otherwise we get a circular inclusion of config.h, types.h, and
192 // numbers.h
193 namespace numbers
194 {
201  static const unsigned int invalid_unsigned_int =
202  static_cast<unsigned int>(-1);
203 
211  static_cast<types::global_dof_index>(-1);
212 
217  static_cast<types::global_dof_index>(-1);
218 
226  static_cast<types::coarse_cell_id>(-1);
227 
234  static_cast<types::material_id>(-1);
235 
245  static_cast<types::boundary_id>(-1);
246 
261  static_cast<types::boundary_id>(-1);
262 
270  static_cast<types::manifold_id>(-1);
271 
282  static_cast<types::subdomain_id>(-1);
283 
299  static_cast<types::subdomain_id>(-2);
300 } // namespace numbers
301 
303 
304 #endif
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:442
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:443
long long int int64_type
Definition: types.h:173
const types::material_id invalid_material_id
Definition: types.h:233
const types::boundary_id invalid_boundary_id
Definition: types.h:244
const types::boundary_id internal_face_boundary_id
Definition: types.h:260
const types::coarse_cell_id invalid_coarse_cell_id
Definition: types.h:225
const types::subdomain_id artificial_subdomain_id
Definition: types.h:298
const types::subdomain_id invalid_subdomain_id
Definition: types.h:281
static const unsigned int invalid_unsigned_int
Definition: types.h:201
const types::manifold_id flat_manifold_id
Definition: types.h:269
const types::global_dof_index invalid_dof_index
Definition: types.h:216
const types::global_dof_index invalid_size_type
Definition: types.h:210
Definition: types.h:32
unsigned int manifold_id
Definition: types.h:141
std::uint64_t global_vertex_index
Definition: types.h:48
std::uint8_t geometric_entity_type
Definition: types.h:157
unsigned int global_dof_index
Definition: types.h:76
global_cell_index coarse_cell_id
Definition: types.h:114
unsigned int subdomain_id
Definition: types.h:43
unsigned int global_cell_index
Definition: types.h:105
unsigned int material_id
Definition: types.h:152
unsigned int boundary_id
Definition: types.h:129