Reference documentation for deal.II version Git bcb2fdb641 2020-09-17 14:58:24 -0400
\(\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_integrate_difference.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 1998 - 2020 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_integrate_difference_h
17 #define dealii_vector_tools_integrate_difference_h
18 
19 
20 #include <deal.II/base/config.h>
21 
23 
25 
26 template <int dim, int spacedim>
27 class DoFHandler;
28 template <int dim, typename Number>
29 class Function;
30 template <int dim, int spacedim>
31 class Mapping;
32 template <int dim>
33 class Quadrature;
34 template <int dim, int spacedim>
35 class Triangulation;
36 namespace hp
37 {
38  template <int dim, int spacedim>
39  class DoFHandler;
40  template <int dim, int spacedim>
41  class MappingCollection;
42  template <int dim>
43  class QCollection;
44 } // namespace hp
45 
46 
47 namespace VectorTools
48 {
53 
141  template <int dim, class InVector, class OutVector, int spacedim>
142  void
144  const Mapping<dim, spacedim> & mapping,
145  const DoFHandler<dim, spacedim> & dof,
146  const InVector & fe_function,
148  OutVector & difference,
149  const Quadrature<dim> & q,
150  const NormType & norm,
151  const Function<spacedim, double> * weight = nullptr,
152  const double exponent = 2.);
153 
158  template <int dim, class InVector, class OutVector, int spacedim>
159  void
161  const DoFHandler<dim, spacedim> & dof,
162  const InVector & fe_function,
164  OutVector & difference,
165  const Quadrature<dim> & q,
166  const NormType & norm,
167  const Function<spacedim, double> * weight = nullptr,
168  const double exponent = 2.);
169 
173  template <int dim, class InVector, class OutVector, int spacedim>
174  void
176  const hp::MappingCollection<dim, spacedim> & mapping,
177  const DoFHandler<dim, spacedim> & dof,
178  const InVector & fe_function,
180  OutVector & difference,
181  const hp::QCollection<dim> & q,
182  const NormType & norm,
183  const Function<spacedim, double> * weight = nullptr,
184  const double exponent = 2.);
185 
190  template <int dim, class InVector, class OutVector, int spacedim>
191  void
193  const DoFHandler<dim, spacedim> & dof,
194  const InVector & fe_function,
196  OutVector & difference,
197  const hp::QCollection<dim> & q,
198  const NormType & norm,
199  const Function<spacedim, double> * weight = nullptr,
200  const double exponent = 2.);
201 
216  template <int dim, class InVector, class OutVector, int spacedim>
217  DEAL_II_DEPRECATED typename std::enable_if<
218  !std::is_same<typename InVector::value_type, double>::value>::type
220  const DoFHandler<dim, spacedim> & dof,
221  const InVector & fe_function,
222  const Function<spacedim, double> &exact_solution,
223  OutVector & difference,
224  const Quadrature<dim> & q,
225  const NormType & norm,
226  const Function<spacedim, double> *weight = nullptr,
227  const double exponent = 2.);
228 
235  template <int dim, class InVector, class OutVector, int spacedim>
236  DEAL_II_DEPRECATED typename std::enable_if<
237  !std::is_same<typename InVector::value_type, double>::value>::type
239  const InVector & fe_function,
240  const Function<spacedim, double> &exact_solution,
241  OutVector & difference,
242  const Quadrature<dim> & q,
243  const NormType & norm,
244  const Function<spacedim, double> *weight = nullptr,
245  const double exponent = 2.);
246 
252  template <int dim, class InVector, class OutVector, int spacedim>
253  DEAL_II_DEPRECATED typename std::enable_if<
254  !std::is_same<typename InVector::value_type, double>::value>::type
256  const DoFHandler<dim, spacedim> & dof,
257  const InVector & fe_function,
258  const Function<spacedim, double> &exact_solution,
259  OutVector & difference,
260  const hp::QCollection<dim> & q,
261  const NormType & norm,
262  const Function<spacedim, double> *weight = nullptr,
263  const double exponent = 2.);
264 
271  template <int dim, class InVector, class OutVector, int spacedim>
272  DEAL_II_DEPRECATED typename std::enable_if<
273  !std::is_same<typename InVector::value_type, double>::value>::type
275  const InVector & fe_function,
276  const Function<spacedim, double> &exact_solution,
277  OutVector & difference,
278  const hp::QCollection<dim> & q,
279  const NormType & norm,
280  const Function<spacedim, double> *weight = nullptr,
281  const double exponent = 2.);
282 
308  template <int dim, int spacedim, class InVector>
309  double
311  const InVector & cellwise_error,
312  const NormType & norm,
313  const double exponent = 2.);
314 
316 } // namespace VectorTools
317 
319 
320 #endif // dealii_vector_tools_integrate_difference_h
std::enable_if< !std::is_same< typename InVector::value_type, double >::value >::type integrate_difference(const DoFHandler< dim, spacedim > &dof, const InVector &fe_function, const Function< spacedim, double > &exact_solution, OutVector &difference, const hp::QCollection< dim > &q, const NormType &norm, const Function< spacedim, double > *weight=nullptr, const double exponent=2.)
double norm(const FEValuesBase< dim > &fe, const ArrayView< const std::vector< Tensor< 1, dim >>> &Du)
Definition: divergence.h:472
Abstract base class for mapping classes.
Definition: mapping.h:301
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:363
Definition: hp.h:117
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:362
double compute_global_error(const Triangulation< dim, spacedim > &tria, const InVector &cellwise_error, const NormType &norm, const double exponent=2.)
#define DEAL_II_DEPRECATED
Definition: config.h:152