Reference documentation for deal.II version 9.2.0
\(\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\}}\)
smoothness_estimator.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2018 - 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_smoothness_estimator_h
17 #define dealii_smoothness_estimator_h
18 
19 
20 #include <deal.II/base/config.h>
21 
23 
25 
26 #include <functional>
27 #include <vector>
28 
29 
31 
32 
33 // forward declarations
34 #ifndef DOXYGEN
35 template <typename Number>
36 class Vector;
37 
38 namespace FESeries
39 {
40  template <int dim, int spacedim>
41  class Fourier;
42  template <int dim, int spacedim>
43  class Legendre;
44 } // namespace FESeries
45 
46 namespace hp
47 {
48  template <int dim, int spacedim>
49  class DoFHandler;
50  template <int dim, int spacedim>
51  class FECollection;
52 } // namespace hp
53 #endif
54 
55 
68 {
107  namespace Legendre
108  {
160  template <int dim, int spacedim, typename VectorType>
161  void
163  const hp::DoFHandler<dim, spacedim> &dof_handler,
164  const VectorType & solution,
165  Vector<float> & smoothness_indicators,
166  const VectorTools::NormType regression_strategy =
168  const double smallest_abs_coefficient = 1e-10,
169  const bool only_flagged_cells = false);
170 
216  template <int dim, int spacedim, typename VectorType>
217  void
219  FESeries::Legendre<dim, spacedim> & fe_legendre,
220  const hp::DoFHandler<dim, spacedim> &dof_handler,
221  const VectorType & solution,
222  Vector<float> & smoothness_indicators,
223  const ComponentMask &coefficients_predicate = ComponentMask(),
224  const double smallest_abs_coefficient = 1e-10,
225  const bool only_flagged_cells = false);
226 
237  template <int dim, int spacedim>
240  } // namespace Legendre
241 
242 
243 
351  namespace Fourier
352  {
396  template <int dim, int spacedim, typename VectorType>
397  void
399  const hp::DoFHandler<dim, spacedim> &dof_handler,
400  const VectorType & solution,
401  Vector<float> & smoothness_indicators,
402  const VectorTools::NormType regression_strategy =
404  const double smallest_abs_coefficient = 1e-10,
405  const bool only_flagged_cells = false);
406 
445  template <int dim, int spacedim, typename VectorType>
446  void
449  const hp::DoFHandler<dim, spacedim> &dof_handler,
450  const VectorType & solution,
451  Vector<float> & smoothness_indicators,
452  const ComponentMask &coefficients_predicate = ComponentMask(),
453  const double smallest_abs_coefficient = 1e-10,
454  const bool only_flagged_cells = false);
455 
466  template <int dim, int spacedim>
469  } // namespace Fourier
470 } // namespace SmoothnessEstimator
471 
472 
474 
475 #endif
LinearAlgebraDealII::Vector
Vector< double > Vector
Definition: generic_linear_algebra.h:43
SmoothnessEstimator::Fourier::default_fe_series
FESeries::Fourier< dim, spacedim > default_fe_series(const hp::FECollection< dim, spacedim > &fe_collection)
Definition: smoothness_estimator.cc:573
VectorTools::NormType
NormType
Definition: vector_tools_common.h:53
ComponentMask
Definition: component_mask.h:83
Physics::Elasticity::Kinematics::e
SymmetricTensor< 2, dim, Number > e(const Tensor< 2, dim, Number > &F)
hp::DoFHandler
Definition: dof_handler.h:203
DoFHandler
Definition: dof_handler.h:205
SmoothnessEstimator::Legendre::coefficient_decay_per_direction
void coefficient_decay_per_direction(FESeries::Legendre< dim, spacedim > &fe_legendre, const hp::DoFHandler< dim, spacedim > &dof_handler, const VectorType &solution, Vector< float > &smoothness_indicators, const ComponentMask &coefficients_predicate=ComponentMask(), const double smallest_abs_coefficient=1e-10, const bool only_flagged_cells=false)
Definition: smoothness_estimator.cc:183
FESeries::Fourier
Definition: fe_series.h:91
FESeries
Definition: fe_series.h:57
SmoothnessEstimator::Fourier::coefficient_decay
void coefficient_decay(FESeries::Fourier< dim, spacedim > &fe_fourier, const hp::DoFHandler< dim, spacedim > &dof_handler, const VectorType &solution, Vector< float > &smoothness_indicators, const VectorTools::NormType regression_strategy=VectorTools::Linfty_norm, const double smallest_abs_coefficient=1e-10, const bool only_flagged_cells=false)
Definition: smoothness_estimator.cc:364
FESeries::Legendre
Definition: fe_series.h:259
SmoothnessEstimator::Legendre::coefficient_decay
void coefficient_decay(FESeries::Legendre< dim, spacedim > &fe_legendre, const hp::DoFHandler< dim, spacedim > &dof_handler, const VectorType &solution, Vector< float > &smoothness_indicators, const VectorTools::NormType regression_strategy=VectorTools::Linfty_norm, const double smallest_abs_coefficient=1e-10, const bool only_flagged_cells=false)
Definition: smoothness_estimator.cc:100
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:358
SmoothnessEstimator::Legendre::default_fe_series
FESeries::Legendre< dim, spacedim > default_fe_series(const hp::FECollection< dim, spacedim > &fe_collection)
Definition: smoothness_estimator.cc:290
component_mask.h
SmoothnessEstimator
Definition: smoothness_estimator.h:67
vector_tools.h
hp
Definition: hp.h:117
VectorTools::Linfty_norm
@ Linfty_norm
Definition: vector_tools_common.h:148
config.h
SmoothnessEstimator::Fourier::coefficient_decay_per_direction
void coefficient_decay_per_direction(FESeries::Fourier< dim, spacedim > &fe_fourier, const hp::DoFHandler< dim, spacedim > &dof_handler, const VectorType &solution, Vector< float > &smoothness_indicators, const ComponentMask &coefficients_predicate=ComponentMask(), const double smallest_abs_coefficient=1e-10, const bool only_flagged_cells=false)
Definition: smoothness_estimator.cc:464
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:359
hp::FECollection
Definition: fe_collection.h:54