Reference documentation for deal.II version GIT relicensing-12-g89ba5bf9db 2024-02-24 00:00:03+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
vector_tools_interpolate.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_vector_tools_interpolate_h
16#define dealii_vector_tools_interpolate_h
17
18#include <deal.II/base/config.h>
19
21
22#include <map>
23
25
26template <typename number>
28
29template <int dim, int spacedim>
31class DoFHandler;
32
33template <typename number>
34class FullMatrix;
35template <int dim, typename Number>
36class Function;
37template <typename MeshType>
39class InterGridMap;
40template <int dim, int spacedim>
41class Mapping;
42
43namespace hp
44{
45 template <int dim, int spacedim>
46 class MappingCollection;
47}
48
49namespace VectorTools
50{
71 template <int dim, int spacedim, typename VectorType>
74 const Mapping<dim, spacedim> &mapping,
75 const DoFHandler<dim, spacedim> &dof,
76 const Function<spacedim, typename VectorType::value_type> &function,
77 VectorType &vec,
78 const ComponentMask &component_mask = {});
79
85 template <int dim, int spacedim, typename VectorType>
88 const hp::MappingCollection<dim, spacedim> &mapping,
89 const DoFHandler<dim, spacedim> &dof,
90 const Function<spacedim, typename VectorType::value_type> &function,
91 VectorType &vec,
92 const ComponentMask &component_mask = {});
93
94
101 template <int dim, int spacedim, typename VectorType>
104 const DoFHandler<dim, spacedim> &dof,
105 const Function<spacedim, typename VectorType::value_type> &function,
106 VectorType &vec,
107 const ComponentMask &component_mask = {});
108
130 template <int dim, class InVector, class OutVector, int spacedim>
133 void interpolate(const DoFHandler<dim, spacedim> &dof_1,
134 const DoFHandler<dim, spacedim> &dof_2,
135 const FullMatrix<double> &transfer,
136 const InVector &data_1,
137 OutVector &data_2);
138
187 template <int dim, int spacedim, typename VectorType>
188 DEAL_II_CXX20_REQUIRES(concepts::is_writable_dealii_vector_type<VectorType>)
190 const Mapping<dim, spacedim> &mapping,
191 const DoFHandler<dim, spacedim> &dof_handler,
192 const std::map<types::material_id,
193 const Function<spacedim, typename VectorType::value_type> *>
194 &function_map,
195 VectorType &dst,
196 const ComponentMask &component_mask = {});
197
232 template <int dim, int spacedim, typename VectorType>
235 const DoFHandler<dim, spacedim> &dof_handler_1,
236 const VectorType &u1,
237 const DoFHandler<dim, spacedim> &dof_handler_2,
238 VectorType &u2);
239
252 template <int dim, int spacedim, typename VectorType>
253 DEAL_II_CXX20_REQUIRES(concepts::is_writable_dealii_vector_type<VectorType>)
255 const DoFHandler<dim, spacedim> &dof_handler_1,
256 const VectorType &u1,
257 const DoFHandler<dim, spacedim> &dof_handler_2,
258 const AffineConstraints<typename VectorType::value_type> &constraints,
259 VectorType &u2);
260
271 template <int dim, int spacedim, typename VectorType>
272 DEAL_II_CXX20_REQUIRES(concepts::is_writable_dealii_vector_type<VectorType>)
274 const InterGridMap<DoFHandler<dim, spacedim>> &intergridmap,
275 const VectorType &u1,
276 const AffineConstraints<typename VectorType::value_type> &constraints,
277 VectorType &u2);
278
312 template <int dim, int spacedim, typename VectorType>
313 DEAL_II_CXX20_REQUIRES(concepts::is_writable_dealii_vector_type<VectorType>)
314 void get_position_vector(const DoFHandler<dim, spacedim> &dh,
315 VectorType &vector,
316 const ComponentMask &mask = {});
317
328 template <int dim, int spacedim, typename VectorType>
330 void get_position_vector(const Mapping<dim, spacedim> &mapping,
331 const DoFHandler<dim, spacedim> &dh,
332 VectorType &vector,
333 const ComponentMask &mask = {});
334
336} // namespace VectorTools
337
339
340#endif // dealii_vector_tools_interpolate_h
Abstract base class for mapping classes.
Definition mapping.h:316
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:502
#define DEAL_II_CXX20_REQUIRES(condition)
Definition config.h:177
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:503
spacedim const DoFHandler< dim, spacedim > & dof_2
void interpolate(const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof, const Function< spacedim, typename VectorType::value_type > &function, VectorType &vec, const ComponentMask &component_mask={})
void interpolate_based_on_material_id(const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof_handler, const std::map< types::material_id, const Function< spacedim, typename VectorType::value_type > * > &function_map, VectorType &dst, const ComponentMask &component_mask={})
void get_position_vector(const DoFHandler< dim, spacedim > &dh, VectorType &vector, const ComponentMask &mask={})
spacedim const DoFHandler< dim, spacedim > const FullMatrix< double > const InVector OutVector & data_2
spacedim const DoFHandler< dim, spacedim > const FullMatrix< double > const InVector & data_1
void interpolate_to_different_mesh(const DoFHandler< dim, spacedim > &dof_handler_1, const VectorType &u1, const DoFHandler< dim, spacedim > &dof_handler_2, VectorType &u2)
spacedim const DoFHandler< dim, spacedim > const FullMatrix< double > & transfer
Definition hp.h:117
STL namespace.
Definition types.h:32