Reference documentation for deal.II version GIT relicensing-426-g7976cfd195 2024-04-18 21:10: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
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
23
24#include <map>
25
27
28template <typename number>
30
31template <int dim, int spacedim>
33class DoFHandler;
34
35template <typename number>
36class FullMatrix;
37template <int dim, typename Number>
38class Function;
39template <typename MeshType>
41class InterGridMap;
42template <int dim, int spacedim>
43class Mapping;
44
45namespace hp
46{
47 template <int dim, int spacedim>
48 class MappingCollection;
49}
50
51namespace VectorTools
52{
73 template <int dim, int spacedim, typename VectorType>
76 const Mapping<dim, spacedim> &mapping,
77 const DoFHandler<dim, spacedim> &dof,
78 const Function<spacedim, typename VectorType::value_type> &function,
79 VectorType &vec,
80 const ComponentMask &component_mask = {});
81
87 template <int dim, int spacedim, typename VectorType>
90 const hp::MappingCollection<dim, spacedim> &mapping,
91 const DoFHandler<dim, spacedim> &dof,
92 const Function<spacedim, typename VectorType::value_type> &function,
93 VectorType &vec,
94 const ComponentMask &component_mask = {});
95
96
103 template <int dim, int spacedim, typename VectorType>
106 const DoFHandler<dim, spacedim> &dof,
107 const Function<spacedim, typename VectorType::value_type> &function,
108 VectorType &vec,
109 const ComponentMask &component_mask = {});
110
132 template <int dim, class InVector, class OutVector, int spacedim>
135 void interpolate(const DoFHandler<dim, spacedim> &dof_1,
136 const DoFHandler<dim, spacedim> &dof_2,
137 const FullMatrix<double> &transfer,
138 const InVector &data_1,
139 OutVector &data_2);
140
189 template <int dim, int spacedim, typename VectorType>
190 DEAL_II_CXX20_REQUIRES(concepts::is_writable_dealii_vector_type<VectorType>)
192 const Mapping<dim, spacedim> &mapping,
193 const DoFHandler<dim, spacedim> &dof_handler,
194 const std::map<types::material_id,
195 const Function<spacedim, typename VectorType::value_type> *>
196 &function_map,
197 VectorType &dst,
198 const ComponentMask &component_mask = {});
199
238 template <int dim, int spacedim, typename VectorType>
241 const DoFHandler<dim, spacedim> &dof_handler_1,
242 const VectorType &u1,
243 const DoFHandler<dim, spacedim> &dof_handler_2,
244 VectorType &u2);
245
258 template <int dim, int spacedim, typename VectorType>
259 DEAL_II_CXX20_REQUIRES(concepts::is_writable_dealii_vector_type<VectorType>)
261 const DoFHandler<dim, spacedim> &dof_handler_1,
262 const VectorType &u1,
263 const DoFHandler<dim, spacedim> &dof_handler_2,
264 const AffineConstraints<typename VectorType::value_type> &constraints,
265 VectorType &u2);
266
277 template <int dim, int spacedim, typename VectorType>
278 DEAL_II_CXX20_REQUIRES(concepts::is_writable_dealii_vector_type<VectorType>)
280 const InterGridMap<DoFHandler<dim, spacedim>> &intergridmap,
281 const VectorType &u1,
282 const AffineConstraints<typename VectorType::value_type> &constraints,
283 VectorType &u2);
284
308 template <int dim, int spacedim, typename VectorType>
309 DEAL_II_CXX20_REQUIRES(concepts::is_writable_dealii_vector_type<VectorType>)
311 const DoFHandler<dim, spacedim> &dof_handler_fine,
312 const VectorType &u_fine,
313 const DoFHandler<dim, spacedim> &dof_handler_coarse,
314 const AffineConstraints<typename VectorType::value_type>
315 &constraints_coarse,
316 VectorType &u_coarse);
317
341 template <int dim, int spacedim, typename VectorType>
342 DEAL_II_CXX20_REQUIRES(concepts::is_writable_dealii_vector_type<VectorType>)
344 const DoFHandler<dim, spacedim> &dof_handler_coarse,
345 const VectorType &u_coarse,
346 const DoFHandler<dim, spacedim> &dof_handler_fine,
347 const AffineConstraints<typename VectorType::value_type> &constraints_fine,
348 VectorType &u_fine);
349
383 template <int dim, int spacedim, typename VectorType>
384 DEAL_II_CXX20_REQUIRES(concepts::is_writable_dealii_vector_type<VectorType>)
385 void get_position_vector(const DoFHandler<dim, spacedim> &dh,
386 VectorType &vector,
387 const ComponentMask &mask = {});
388
399 template <int dim, int spacedim, typename VectorType>
401 void get_position_vector(const Mapping<dim, spacedim> &mapping,
402 const DoFHandler<dim, spacedim> &dh,
403 VectorType &vector,
404 const ComponentMask &mask = {});
405
407} // namespace VectorTools
408
410
411#endif // dealii_vector_tools_interpolate_h
Abstract base class for mapping classes.
Definition mapping.h:318
#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_to_coarser_mesh(const DoFHandler< dim, spacedim > &dof_handler_fine, const VectorType &u_fine, const DoFHandler< dim, spacedim > &dof_handler_coarse, const AffineConstraints< typename VectorType::value_type > &constraints_coarse, VectorType &u_coarse)
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={})
void interpolate_to_finer_mesh(const DoFHandler< dim, spacedim > &dof_handler_coarse, const VectorType &u_coarse, const DoFHandler< dim, spacedim > &dof_handler_fine, const AffineConstraints< typename VectorType::value_type > &constraints_fine, VectorType &u_fine)
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