Reference documentation for deal.II version 9.3.3
\(\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
31namespace 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
163using TrilinosScalar = double;
164
165
167{
168 namespace types
169 {
170#ifdef DEAL_II_WITH_64BIT_INDICES
174 using int_type = long long int;
175#else
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
188namespace 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
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:402
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:403
const types::material_id invalid_material_id
Definition: types.h:228
const types::boundary_id invalid_boundary_id
Definition: types.h:239
const types::boundary_id internal_face_boundary_id
Definition: types.h:255
const types::coarse_cell_id invalid_coarse_cell_id
Definition: types.h:220
const types::subdomain_id artificial_subdomain_id
Definition: types.h:293
const types::subdomain_id invalid_subdomain_id
Definition: types.h:276
static const unsigned int invalid_unsigned_int
Definition: types.h:196
const types::manifold_id flat_manifold_id
Definition: types.h:264
const types::global_dof_index invalid_dof_index
Definition: types.h:211
const types::global_dof_index invalid_size_type
Definition: types.h:205
Definition: types.h:32
std::uint8_t geometric_entity_type
Definition: types.h:157
unsigned int global_dof_index
Definition: types.h:76
uint64_t global_vertex_index
Definition: types.h:48
unsigned int global_cell_index
Definition: types.h:105
double TrilinosScalar
Definition: types.h:163