deal.II version GIT relicensing-2432-g84ca6043fc 2025-01-24 14:50: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 static const unsigned int invalid_unsigned_int =
233 static_cast<unsigned int>(-1);
234
246 static_cast<types::global_dof_index>(-1);
247
256
265 static_cast<types::global_dof_index>(-1);
266
278 static_cast<types::coarse_cell_id>(-1);
279
290 static_cast<types::material_id>(-1);
291
305 static_cast<types::boundary_id>(-1);
306
325 static_cast<types::boundary_id>(-1);
326
338 static_cast<types::manifold_id>(-1);
339
348 static_cast<types::geometric_orientation>(0b001);
349
361 static_cast<types::geometric_orientation>(0b000);
362
377 static_cast<types::subdomain_id>(-1);
378
398 static_cast<types::subdomain_id>(-2);
399} // namespace numbers
400
402
403#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
const types::material_id invalid_material_id
Definition types.h:289
const types::boundary_id invalid_boundary_id
Definition types.h:304
const types::geometric_orientation default_geometric_orientation
Definition types.h:347
const types::boundary_id internal_face_boundary_id
Definition types.h:324
const types::coarse_cell_id invalid_coarse_cell_id
Definition types.h:277
const types::fe_index invalid_fe_index
Definition types.h:255
const types::subdomain_id artificial_subdomain_id
Definition types.h:397
const types::subdomain_id invalid_subdomain_id
Definition types.h:376
static const unsigned int invalid_unsigned_int
Definition types.h:232
const types::manifold_id flat_manifold_id
Definition types.h:337
const types::geometric_orientation reverse_line_orientation
Definition types.h:360
const types::global_dof_index invalid_dof_index
Definition types.h:264
const types::global_dof_index invalid_size_type
Definition types.h:245
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