deal.II version GIT relicensing-2577-g108be0c5b5 2025-02-07 13:10:00+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\}}\)
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2010 - 2023 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Part of the source code is dual licensed under Apache-2.0 WITH
9// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
10// governing the source code and code contributions can be found in
11// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
12//
13// ------------------------------------------------------------------------
14
15#ifndef dealii_types_h
16#define dealii_types_h
17
18
19#include <deal.II/base/config.h>
20
21#include <cstdint>
22#include <type_traits> // make_signed_t
23
24
26
31namespace types
32{
40 using geometric_orientation = unsigned char;
41
52 using subdomain_id = unsigned int;
53
57 using global_vertex_index = std::uint64_t;
58
63#define DEAL_II_VERTEX_INDEX_MPI_TYPE MPI_UINT64_T
64
68 using fe_index = unsigned short int;
69
87#ifdef DEAL_II_WITH_64BIT_INDICES
88 using global_dof_index = std::uint64_t;
89#else
90 using global_dof_index = unsigned int;
91#endif
92
98#ifdef DEAL_II_WITH_64BIT_INDICES
99 using signed_global_dof_index = long long;
100#else
102#endif
103
108#ifdef DEAL_II_WITH_64BIT_INDICES
109# define DEAL_II_DOF_INDEX_MPI_TYPE MPI_UINT64_T
110#else
111# define DEAL_II_DOF_INDEX_MPI_TYPE MPI_UNSIGNED
112#endif
113
127#ifdef DEAL_II_WITH_64BIT_INDICES
128 using global_cell_index = std::uint64_t;
129#else
130 using global_cell_index = unsigned int;
131#endif
132
140
153 using boundary_id = unsigned int;
154
165 using manifold_id = unsigned int;
166
176 using material_id = unsigned int;
177
184 using geometric_entity_type DEAL_II_DEPRECATED_EARLY = std::uint8_t;
185} // namespace types
186
190using TrilinosScalar = double;
191
192
193namespace TrilinosWrappers
194{
195 namespace types
196 {
200 using int64_type = long long int;
201
202#ifdef DEAL_II_WITH_64BIT_INDICES
206 using int_type = int64_type;
207#else
211 using int_type = int;
212#endif
213 } // namespace types
214} // namespace TrilinosWrappers
215
216
217// this part of the namespace numbers got moved to the bottom types.h file,
218// because otherwise we get a circular inclusion of config.h, types.h, and
219// numbers.h
220namespace numbers
221{
232 constexpr unsigned int invalid_unsigned_int = static_cast<unsigned int>(-1);
233
245 static_cast<types::global_dof_index>(-1);
246
255
264 static_cast<types::global_dof_index>(-1);
265
277 static_cast<types::coarse_cell_id>(-1);
278
289 static_cast<types::material_id>(-1);
290
304 static_cast<types::boundary_id>(-1);
305
324 static_cast<types::boundary_id>(-1);
325
337 static_cast<types::manifold_id>(-1);
338
347 static_cast<types::geometric_orientation>(0b001);
348
360 static_cast<types::geometric_orientation>(0b000);
361
376 static_cast<types::subdomain_id>(-1);
377
397 static_cast<types::subdomain_id>(-2);
398} // namespace numbers
399
401
402#endif
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:498
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:499
long long int int64_type
Definition types.h:200
constexpr types::global_dof_index invalid_dof_index
Definition types.h:263
constexpr types::global_dof_index invalid_size_type
Definition types.h:244
constexpr unsigned int invalid_unsigned_int
Definition types.h:232
constexpr types::boundary_id internal_face_boundary_id
Definition types.h:323
constexpr types::boundary_id invalid_boundary_id
Definition types.h:303
constexpr types::manifold_id flat_manifold_id
Definition types.h:336
constexpr types::subdomain_id artificial_subdomain_id
Definition types.h:396
constexpr types::geometric_orientation reverse_line_orientation
Definition types.h:359
constexpr types::material_id invalid_material_id
Definition types.h:288
constexpr types::subdomain_id invalid_subdomain_id
Definition types.h:375
constexpr types::coarse_cell_id invalid_coarse_cell_id
Definition types.h:276
constexpr types::geometric_orientation default_geometric_orientation
Definition types.h:346
constexpr types::fe_index invalid_fe_index
Definition types.h:254
Definition types.h:32
std::uint64_t global_vertex_index
Definition types.h:57
std::uint8_t geometric_entity_type
Definition types.h:184
unsigned short int fe_index
Definition types.h:68
unsigned char geometric_orientation
Definition types.h:40
unsigned int global_cell_index
Definition types.h:130
double TrilinosScalar
Definition types.h:190