Reference documentation for deal.II version GIT eef19498cf 2022-10-05 14:45: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 
59  using fe_index = unsigned short int;
60 
78 #ifdef DEAL_II_WITH_64BIT_INDICES
79  using global_dof_index = std::uint64_t;
80 #else
81  using global_dof_index = unsigned int;
82 #endif
83 
88 #ifdef DEAL_II_WITH_64BIT_INDICES
89 # define DEAL_II_DOF_INDEX_MPI_TYPE MPI_UINT64_T
90 #else
91 # define DEAL_II_DOF_INDEX_MPI_TYPE MPI_UNSIGNED
92 #endif
93 
107 #ifdef DEAL_II_WITH_64BIT_INDICES
108  using global_cell_index = std::uint64_t;
109 #else
110  using global_cell_index = unsigned int;
111 #endif
112 
120 
134  using boundary_id = unsigned int;
135 
146  using manifold_id = unsigned int;
147 
157  using material_id = unsigned int;
158 
162  using geometric_entity_type = std::uint8_t;
163 } // namespace types
164 
169 
170 
172 {
173  namespace types
174  {
178  using int64_type = long long int;
179 
180 #ifdef DEAL_II_WITH_64BIT_INDICES
184  using int_type = int64_type;
185 #else
189  using int_type = int;
190 #endif
191  } // namespace types
192 } // namespace TrilinosWrappers
193 
194 
195 // this part of the namespace numbers got moved to the bottom types.h file,
196 // because otherwise we get a circular inclusion of config.h, types.h, and
197 // numbers.h
198 namespace numbers
199 {
206  static const unsigned int invalid_unsigned_int =
207  static_cast<unsigned int>(-1);
208 
216  static_cast<types::global_dof_index>(-1);
217 
222 
227  static_cast<types::global_dof_index>(-1);
228 
236  static_cast<types::coarse_cell_id>(-1);
237 
244  static_cast<types::material_id>(-1);
245 
255  static_cast<types::boundary_id>(-1);
256 
271  static_cast<types::boundary_id>(-1);
272 
280  static_cast<types::manifold_id>(-1);
281 
292  static_cast<types::subdomain_id>(-1);
293 
309  static_cast<types::subdomain_id>(-2);
310 } // namespace numbers
311 
313 
314 #endif
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:457
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:458
long long int int64_type
Definition: types.h:178
const types::material_id invalid_material_id
Definition: types.h:243
const types::boundary_id invalid_boundary_id
Definition: types.h:254
const types::boundary_id internal_face_boundary_id
Definition: types.h:270
const types::coarse_cell_id invalid_coarse_cell_id
Definition: types.h:235
const types::fe_index invalid_fe_index
Definition: types.h:221
const types::subdomain_id artificial_subdomain_id
Definition: types.h:308
const types::subdomain_id invalid_subdomain_id
Definition: types.h:291
static const unsigned int invalid_unsigned_int
Definition: types.h:206
const types::manifold_id flat_manifold_id
Definition: types.h:279
const types::global_dof_index invalid_dof_index
Definition: types.h:226
const types::global_dof_index invalid_size_type
Definition: types.h:215
Definition: types.h:32
unsigned int manifold_id
Definition: types.h:146
std::uint64_t global_vertex_index
Definition: types.h:48
std::uint8_t geometric_entity_type
Definition: types.h:162
unsigned int global_dof_index
Definition: types.h:81
global_cell_index coarse_cell_id
Definition: types.h:119
unsigned int subdomain_id
Definition: types.h:43
unsigned short int fe_index
Definition: types.h:59
unsigned int global_cell_index
Definition: types.h:110
unsigned int material_id
Definition: types.h:157
unsigned int boundary_id
Definition: types.h:134