Reference documentation for deal.II version GIT c1ddcf411d 2023-11-30 16:30:02+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\}}\)
vector_tools_point_gradient.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 1998 - 2023 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii_vector_tools_point_gradient_h
17 #define dealii_vector_tools_point_gradient_h
18 
19 
20 #include <deal.II/base/config.h>
21 
22 #include <vector>
23 
24 
26 
27 template <int dim, int spacedim>
28 DEAL_II_CXX20_REQUIRES((concepts::is_valid_dim_spacedim<dim, spacedim>))
29 class DoFHandler;
30 
31 template <int dim, typename Number>
32 class Function;
33 template <int dim, int spacedim>
34 class Mapping;
35 
36 template <int dim, typename Number>
37 DEAL_II_CXX20_REQUIRES(dim >= 0)
38 class Point;
39 
40 template <int rank_, int dim, typename Number>
41 class Tensor;
42 template <typename Number>
43 class Vector;
44 namespace hp
45 {
46  template <int dim, int spacedim>
47  class MappingCollection;
48 } // namespace hp
49 
50 namespace VectorTools
51 {
91  template <int dim, typename VectorType, int spacedim>
92  DEAL_II_CXX20_REQUIRES(concepts::is_dealii_vector_type<VectorType>)
94  const DoFHandler<dim, spacedim> &dof,
95  const VectorType &fe_function,
96  const Point<spacedim, double> &point,
97  std::vector<Tensor<1, spacedim, typename VectorType::value_type>> &value);
98 
117  template <int dim, typename VectorType, int spacedim>
119  void point_gradient(
120  const DoFHandler<dim, spacedim> &dof,
121  const VectorType &fe_function,
122  const Point<spacedim, double> &point,
123  std::vector<Tensor<1, spacedim, typename VectorType::value_type>> &value);
124 
159  template <int dim, typename VectorType, int spacedim>
161  Tensor<1, spacedim, typename VectorType::value_type> point_gradient(
162  const DoFHandler<dim, spacedim> &dof,
163  const VectorType &fe_function,
164  const Point<spacedim, double> &point);
165 
184  template <int dim, typename VectorType, int spacedim>
186  Tensor<1, spacedim, typename VectorType::value_type> point_gradient(
187  const DoFHandler<dim, spacedim> &dof,
188  const VectorType &fe_function,
189  const Point<spacedim, double> &point);
190 
225  template <int dim, typename VectorType, int spacedim>
228  const Mapping<dim, spacedim> &mapping,
229  const DoFHandler<dim, spacedim> &dof,
230  const VectorType &fe_function,
231  const Point<spacedim, double> &point,
232  std::vector<Tensor<1, spacedim, typename VectorType::value_type>> &value);
233 
252  template <int dim, typename VectorType, int spacedim>
255  const hp::MappingCollection<dim, spacedim> &mapping,
256  const DoFHandler<dim, spacedim> &dof,
257  const VectorType &fe_function,
258  const Point<spacedim, double> &point,
259  std::vector<Tensor<1, spacedim, typename VectorType::value_type>> &value);
260 
295  template <int dim, typename VectorType, int spacedim>
297  Tensor<1, spacedim, typename VectorType::value_type> point_gradient(
298  const Mapping<dim, spacedim> &mapping,
299  const DoFHandler<dim, spacedim> &dof,
300  const VectorType &fe_function,
301  const Point<spacedim, double> &point);
302 
321  template <int dim, typename VectorType, int spacedim>
323  Tensor<1, spacedim, typename VectorType::value_type> point_gradient(
324  const hp::MappingCollection<dim, spacedim> &mapping,
325  const DoFHandler<dim, spacedim> &dof,
326  const VectorType &fe_function,
327  const Point<spacedim, double> &point);
328 
330 } // namespace VectorTools
331 
333 
334 #endif // dealii_vector_tools_point_gradient_h
Abstract base class for mapping classes.
Definition: mapping.h:317
Definition: point.h:112
Definition: tensor.h:516
Definition: vector.h:110
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:477
#define DEAL_II_CXX20_REQUIRES(condition)
Definition: config.h:166
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:478
Point< spacedim > point(const gp_Pnt &p, const double tolerance=1e-10)
Definition: utilities.cc:192
void point_gradient(const DoFHandler< dim, spacedim > &dof, const VectorType &fe_function, const Point< spacedim, double > &point, std::vector< Tensor< 1, spacedim, typename VectorType::value_type >> &value)
constexpr bool is_dealii_vector_type
Definition: hp.h:118