deal.II version GIT relicensing-6834-g5b78e6bcdf 2026-10-01 11:20:01+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
intergrid_map.h
Go to the documentation of this file.
1// -----------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception OR LGPL-2.1-or-later
4// Copyright (C) 1999 - 2024 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Detailed license information governing the source code and contributions
9// can be found in LICENSE.md and CONTRIBUTING.md at the top level directory.
10//
11// -----------------------------------------------------------------------------
12
13#ifndef dealii_intergrid_map_h
14#define dealii_intergrid_map_h
15
16#include <deal.II/base/config.h>
17
19
21
24
26
27
112template <typename MeshType>
115{
116public:
120 using cell_iterator = typename MeshType::cell_iterator;
121
126 InterGridMap();
127
131 void
132 make_mapping(const MeshType &source_grid, const MeshType &destination_grid);
133
141 operator[](const cell_iterator &source_cell) const;
142
146 void
147 clear();
148
152 const MeshType &
153 get_source_grid() const;
154
158 const MeshType &
159 get_destination_grid() const;
160
165 std::size_t
166 memory_consumption() const;
167
171 DeclException1(ExcInvalidKey,
173 << "The iterator " << arg1 << " is not valid as key for "
174 << "this map.");
178 DeclException0(ExcIncompatibleGrids);
179
180private:
184 std::vector<std::vector<cell_iterator>> mapping;
185
190
195
200 void
201 set_mapping(const cell_iterator &src_cell, const cell_iterator &dst_cell);
202
210 void
211 set_entries_to_cell(const cell_iterator &src_cell,
212 const cell_iterator &dst_cell);
213};
214
215
217
218#endif
typename MeshType::cell_iterator cell_iterator
ObserverPointer< const MeshType, InterGridMap< MeshType > > destination_grid
std::vector< std::vector< cell_iterator > > mapping
ObserverPointer< const MeshType, InterGridMap< MeshType > > source_grid
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:38
#define DEAL_II_CXX20_REQUIRES(condition)
Definition config.h:249
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:39
#define DeclException0(Exception0)
#define DeclException1(Exception1, type1, outsequence)