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\}}\)
fe_values_extractors.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 1998 - 2019 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_fe_values_extractors_h
17 #define dealii_fe_values_extractors_h
18 
19 
20 #include <deal.II/base/config.h>
21 
23 
24 
83 {
95  struct Scalar
96  {
100  unsigned int component;
101 
109  Scalar();
110 
114  Scalar(const unsigned int component);
115 
119  std::string
120  get_name() const;
121  };
122 
123 
150  struct Vector
151  {
156 
164  Vector();
165 
170  Vector(const unsigned int first_vector_component);
171 
175  std::string
176  get_name() const;
177  };
178 
179 
198  template <int rank>
200  {
205 
213  SymmetricTensor();
214 
219  SymmetricTensor(const unsigned int first_tensor_component);
220 
224  std::string
225  get_name() const;
226  };
227 
228 
247  template <int rank>
248  struct Tensor
249  {
254 
262  Tensor();
263 
268  Tensor(const unsigned int first_tensor_component);
269 
273  std::string
274  get_name() const;
275  };
276 } // namespace FEValuesExtractors
277 
278 
279 /*-------------- Inline functions: namespace FEValuesExtractors -------------*/
280 
281 namespace FEValuesExtractors
282 {
283  inline Scalar::Scalar()
284  : component(numbers::invalid_unsigned_int)
285  {}
286 
287 
288 
289  inline Scalar::Scalar(const unsigned int component)
290  : component(component)
291  {}
292 
293 
294 
295  inline Vector::Vector()
296  : first_vector_component(numbers::invalid_unsigned_int)
297  {}
298 
299 
300  inline Vector::Vector(const unsigned int first_vector_component)
301  : first_vector_component(first_vector_component)
302  {}
303 
304 
305  template <int rank>
307  : first_tensor_component(numbers::invalid_unsigned_int)
308  {}
309 
310 
311  template <int rank>
313  const unsigned int first_tensor_component)
314  : first_tensor_component(first_tensor_component)
315  {}
316 
317 
318  template <int rank>
320  : first_tensor_component(numbers::invalid_unsigned_int)
321  {}
322 
323 
324  template <int rank>
325  inline Tensor<rank>::Tensor(const unsigned int first_tensor_component)
326  : first_tensor_component(first_tensor_component)
327  {}
328 } // namespace FEValuesExtractors
329 
330 
331 
333 
334 #endif
FEValuesExtractors::SymmetricTensor::first_tensor_component
unsigned int first_tensor_component
Definition: fe_values_extractors.h:204
FEValuesExtractors
Definition: fe_values_extractors.h:82
FEValuesExtractors::Scalar
Definition: fe_values_extractors.h:95
FEValuesExtractors::Vector::get_name
std::string get_name() const
Definition: fe_values_extractors.cc:32
FEValuesExtractors::Tensor::Tensor
Tensor()
Definition: fe_values_extractors.h:319
FEValuesExtractors::Scalar::get_name
std::string get_name() const
Definition: fe_values_extractors.cc:25
FEValuesExtractors::SymmetricTensor
Definition: fe_values_extractors.h:199
FEValuesExtractors::SymmetricTensor::get_name
std::string get_name() const
Definition: fe_values_extractors.cc:49
FEValuesExtractors::Vector::first_vector_component
unsigned int first_vector_component
Definition: fe_values_extractors.h:155
FEValuesExtractors::Vector
Definition: fe_values_extractors.h:150
FEValuesExtractors::SymmetricTensor::SymmetricTensor
SymmetricTensor()
Definition: fe_values_extractors.h:306
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:358
numbers
Definition: numbers.h:207
FEValuesExtractors::Tensor::get_name
std::string get_name() const
Definition: fe_values_extractors.cc:40
numbers::invalid_unsigned_int
static const unsigned int invalid_unsigned_int
Definition: types.h:191
FEValuesExtractors::Tensor::first_tensor_component
unsigned int first_tensor_component
Definition: fe_values_extractors.h:253
FEValuesExtractors::Scalar::component
unsigned int component
Definition: fe_values_extractors.h:100
config.h
FEValuesExtractors::Tensor
Definition: fe_values_extractors.h:248
FEValuesExtractors::Vector::Vector
Vector()
Definition: fe_values_extractors.h:295
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:359
FEValuesExtractors::Scalar::Scalar
Scalar()
Definition: fe_values_extractors.h:283