deal.II version GIT relicensing-2871-g8250ab479a 2025-03-20 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
cell_data.h
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2020 - 2024 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_grid_cell_data_h
16#define dealii_grid_cell_data_h
17
18#include <deal.II/base/config.h>
19
20#include <deal.II/base/types.h>
21
23
24#include <vector>
25
27
63template <int structdim>
65{
85 std::vector<unsigned int> vertices;
86
94 union
95 {
105
116 };
117
127
145 CellData(const unsigned int n_vertices =
146 ReferenceCells::get_hypercube<structdim>().n_vertices());
147
151 bool
152 operator==(const CellData<structdim> &other) const;
153
159 template <class Archive>
160 void
161 serialize(Archive &ar, const unsigned int version);
162
163 static_assert(structdim > 0,
164 "The class CellData can only be used for structdim>0.");
165};
166
167
168
224{
232 std::vector<CellData<1>> boundary_lines;
233
248 std::vector<CellData<2>> boundary_quads;
249
258 bool
259 check_consistency(const unsigned int dim) const;
260};
261
262
263template <int structdim>
264template <class Archive>
265void
266CellData<structdim>::serialize(Archive &ar, const unsigned int /*version*/)
267{
268 ar &vertices;
269 ar &material_id;
270 ar &boundary_id;
271 ar &manifold_id;
272}
273
275
276#endif
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:40
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:41
std::vector< unsigned int > vertices
Definition cell_data.h:85
bool operator==(const CellData< structdim > &other) const
types::manifold_id manifold_id
Definition cell_data.h:126
types::material_id material_id
Definition cell_data.h:104
types::boundary_id boundary_id
Definition cell_data.h:115
void serialize(Archive &ar, const unsigned int version)
Definition cell_data.h:266
std::vector< CellData< 2 > > boundary_quads
Definition cell_data.h:248
bool check_consistency(const unsigned int dim) const
std::vector< CellData< 1 > > boundary_lines
Definition cell_data.h:232