Reference documentation for deal.II version 9.5.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\}}\)
Loading...
Searching...
No Matches
vector_tools_mean_value.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_mean_value_h
17#define dealii_vector_tools_mean_value_h
18
19
20#include <deal.II/base/config.h>
21
22#include <vector>
23
25
26#ifndef DOXYGEN
27// forward declarations
28template <int dim, int spacedim>
30class DoFHandler;
31template <int dim, int spacedim>
32class Mapping;
33template <int dim>
34class Quadrature;
35namespace hp
36{
37 template <int dim, int spacedim>
38 class MappingCollection;
39 template <int dim>
40 class QCollection;
41} // namespace hp
42#endif
43
44namespace VectorTools
45{
102 template <typename VectorType>
104 void subtract_mean_value(VectorType & v,
105 const std::vector<bool> &p_select = {});
106
135 template <class VectorType, int dim, int spacedim = dim>
137 void add_constant(VectorType & solution,
138 const DoFHandler<dim, spacedim> & dof_handler,
139 const unsigned int component,
140 const typename VectorType::value_type constant_adjustment);
141
167 template <int dim, typename VectorType, int spacedim>
168 DEAL_II_CXX20_REQUIRES(concepts::is_dealii_vector_type<VectorType>)
169 typename VectorType::value_type compute_mean_value(
170 const hp::MappingCollection<dim, spacedim> &mapping_collection,
171 const DoFHandler<dim, spacedim> & dof,
172 const hp::QCollection<dim> & q_collection,
173 const VectorType & v,
174 const unsigned int component);
175
183 template <int dim, typename VectorType, int spacedim>
184 DEAL_II_CXX20_REQUIRES(concepts::is_dealii_vector_type<VectorType>)
185 typename VectorType::value_type
186 compute_mean_value(const Mapping<dim, spacedim> & mapping,
187 const DoFHandler<dim, spacedim> &dof,
188 const Quadrature<dim> & quadrature,
189 const VectorType & v,
190 const unsigned int component);
191
198 template <int dim, typename VectorType, int spacedim>
199 DEAL_II_CXX20_REQUIRES(concepts::is_dealii_vector_type<VectorType>)
200 typename VectorType::value_type
201 compute_mean_value(const DoFHandler<dim, spacedim> &dof,
202 const Quadrature<dim> & quadrature,
203 const VectorType & v,
204 const unsigned int component);
206} // namespace VectorTools
207
209
210#endif // dealii_vector_tools_mean_value_h
Abstract base class for mapping classes.
Definition mapping.h:317
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:472
#define DEAL_II_CXX20_REQUIRES(condition)
Definition config.h:160
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:473
VectorType::value_type compute_mean_value(const hp::MappingCollection< dim, spacedim > &mapping_collection, const DoFHandler< dim, spacedim > &dof, const hp::QCollection< dim > &q_collection, const VectorType &v, const unsigned int component)
void subtract_mean_value(VectorType &v, const std::vector< bool > &p_select={})
void add_constant(VectorType &solution, const DoFHandler< dim, spacedim > &dof_handler, const unsigned int component, const typename VectorType::value_type constant_adjustment)
Definition hp.h:118
STL namespace.