deal.II version GIT relicensing-6842-g793a97d2aa 2026-10-02 14:00: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
smoothness_estimator.h
Go to the documentation of this file.
1// -----------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception OR LGPL-2.1-or-later
4// Copyright (C) 2020 - 2023 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Detailed license information governing the source code and contributions
9// can be found in LICENSE.md and CONTRIBUTING.md at the top level directory.
10//
11// -----------------------------------------------------------------------------
12
13#ifndef dealii_smoothness_estimator_h
14#define dealii_smoothness_estimator_h
15
16
17#include <deal.II/base/config.h>
18
20
22
23#include <functional>
24#include <vector>
25
26
28
29
30// forward declarations
31#ifndef DOXYGEN
32template <typename Number>
33class Vector;
34
35template <int dim, int spacedim>
37class DoFHandler;
38
39namespace FESeries
40{
41 template <int dim, int spacedim>
42 class Fourier;
43 template <int dim, int spacedim>
44 class Legendre;
45} // namespace FESeries
46
47namespace hp
48{
49 template <int dim, int spacedim>
50 class FECollection;
51} // namespace hp
52#endif
53
54
67{
104 namespace Legendre
105 {
157 template <int dim, int spacedim, typename VectorType>
158 void
160 const DoFHandler<dim, spacedim> &dof_handler,
161 const VectorType &solution,
162 Vector<float> &smoothness_indicators,
163 const VectorTools::NormType regression_strategy =
165 const double smallest_abs_coefficient = 1e-10,
166 const bool only_flagged_cells = false);
167
213 template <int dim, int spacedim, typename VectorType>
214 void
217 const DoFHandler<dim, spacedim> &dof_handler,
218 const VectorType &solution,
219 Vector<float> &smoothness_indicators,
220 const ComponentMask &coefficients_predicate = {},
221 const double smallest_abs_coefficient = 1e-10,
222 const bool only_flagged_cells = false);
223
244 template <int dim, int spacedim>
247 const hp::FECollection<dim, spacedim> &fe_collection,
248 const unsigned int component = numbers::invalid_unsigned_int);
249 } // namespace Legendre
250
251
252
357 namespace Fourier
358 {
402 template <int dim, int spacedim, typename VectorType>
403 void
405 const DoFHandler<dim, spacedim> &dof_handler,
406 const VectorType &solution,
407 Vector<float> &smoothness_indicators,
408 const VectorTools::NormType regression_strategy =
410 const double smallest_abs_coefficient = 1e-10,
411 const bool only_flagged_cells = false);
412
451 template <int dim, int spacedim, typename VectorType>
452 void
455 const DoFHandler<dim, spacedim> &dof_handler,
456 const VectorType &solution,
457 Vector<float> &smoothness_indicators,
458 const ComponentMask &coefficients_predicate = {},
459 const double smallest_abs_coefficient = 1e-10,
460 const bool only_flagged_cells = false);
461
482 template <int dim, int spacedim>
485 const hp::FECollection<dim, spacedim> &fe_collection,
486 const unsigned int component = numbers::invalid_unsigned_int);
487 } // namespace Fourier
488} // namespace SmoothnessEstimator
489
490
492
493#endif
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:38
#define DEAL_II_CXX20_REQUIRES(condition)
Definition config.h:249
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:39
FESeries::Fourier< dim, spacedim > default_fe_series(const hp::FECollection< dim, spacedim > &fe_collection, const unsigned int component=numbers::invalid_unsigned_int)
void coefficient_decay_per_direction(FESeries::Fourier< dim, spacedim > &fe_fourier, const DoFHandler< dim, spacedim > &dof_handler, const VectorType &solution, Vector< float > &smoothness_indicators, const ComponentMask &coefficients_predicate={}, const double smallest_abs_coefficient=1e-10, const bool only_flagged_cells=false)
void coefficient_decay(FESeries::Fourier< dim, spacedim > &fe_fourier, const 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)
FESeries::Legendre< dim, spacedim > default_fe_series(const hp::FECollection< dim, spacedim > &fe_collection, const unsigned int component=numbers::invalid_unsigned_int)
void coefficient_decay(FESeries::Legendre< dim, spacedim > &fe_legendre, const 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)
void coefficient_decay_per_direction(FESeries::Legendre< dim, spacedim > &fe_legendre, const DoFHandler< dim, spacedim > &dof_handler, const VectorType &solution, Vector< float > &smoothness_indicators, const ComponentMask &coefficients_predicate={}, const double smallest_abs_coefficient=1e-10, const bool only_flagged_cells=false)
Definition hp.h:115
constexpr unsigned int invalid_unsigned_int
Definition types.h:228