Reference documentation for deal.II version Git d51799cb54 2020-09-28 09:22:08 +0200
\(\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 - 2020 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 = 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 = 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 = 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  {
170 #ifdef DEAL_II_WITH_64BIT_INDICES
171 
174  using int_type = long long int;
175 #else
176 
179  using int_type = int;
180 #endif
181  } // namespace types
182 } // namespace TrilinosWrappers
183 
184 
185 // this part of the namespace numbers got moved to the bottom types.h file,
186 // because otherwise we get a circular inclusion of config.h, types.h, and
187 // numbers.h
188 namespace numbers
189 {
196  static const unsigned int invalid_unsigned_int =
197  static_cast<unsigned int>(-1);
198 
206  static_cast<types::global_dof_index>(-1);
207 
212  static_cast<types::global_dof_index>(-1);
213 
221  static_cast<types::coarse_cell_id>(-1);
222 
229  static_cast<types::material_id>(-1);
230 
240  static_cast<types::boundary_id>(-1);
241 
256  static_cast<types::boundary_id>(-1);
257 
265  static_cast<types::manifold_id>(-1);
266 
277  static_cast<types::subdomain_id>(-1);
278 
294  static_cast<types::subdomain_id>(-2);
295 } // namespace numbers
296 
298 
299 #endif
const types::global_dof_index invalid_size_type
Definition: types.h:205
const types::manifold_id flat_manifold_id
Definition: types.h:264
static const unsigned int invalid_unsigned_int
Definition: types.h:196
const types::coarse_cell_id invalid_coarse_cell_id
Definition: types.h:220
const types::subdomain_id invalid_subdomain_id
Definition: types.h:276
unsigned int global_cell_index
Definition: types.h:105
std::uint8_t geometric_entity_type
Definition: types.h:157
Definition: types.h:31
const types::boundary_id invalid_boundary_id
Definition: types.h:239
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:363
uint64_t global_vertex_index
Definition: types.h:48
unsigned int global_dof_index
Definition: types.h:76
const types::subdomain_id artificial_subdomain_id
Definition: types.h:293
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:362
const types::boundary_id internal_face_boundary_id
Definition: types.h:255
const types::global_dof_index invalid_dof_index
Definition: types.h:211
const types::material_id invalid_material_id
Definition: types.h:228