Reference documentation for deal.II version 9.4.0
\(\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
31namespace 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
163using TrilinosScalar = double;
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
193namespace 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
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
unsigned int global_cell_index
Definition: types.h:105
double TrilinosScalar
Definition: types.h:163