Reference documentation for deal.II version 9.3.3
\(\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 - 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_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
196 template <int rank>
198 {
203
212
217 SymmetricTensor(const unsigned int first_tensor_component);
218
222 std::string
223 get_name() const;
224 };
225
226
243 template <int rank>
244 struct Tensor
245 {
250
258 Tensor();
259
264 Tensor(const unsigned int first_tensor_component);
265
269 std::string
270 get_name() const;
271 };
272} // namespace FEValuesExtractors
273
274
275/*-------------- Inline functions: namespace FEValuesExtractors -------------*/
276
277namespace FEValuesExtractors
278{
280 : component(numbers::invalid_unsigned_int)
281 {}
282
283
284
285 inline Scalar::Scalar(const unsigned int component)
286 : component(component)
287 {}
288
289
290
292 : first_vector_component(numbers::invalid_unsigned_int)
293 {}
294
295
296 inline Vector::Vector(const unsigned int first_vector_component)
297 : first_vector_component(first_vector_component)
298 {}
299
300
301 template <int rank>
303 : first_tensor_component(numbers::invalid_unsigned_int)
304 {}
305
306
307 template <int rank>
309 const unsigned int first_tensor_component)
310 : first_tensor_component(first_tensor_component)
311 {}
312
313
314 template <int rank>
316 : first_tensor_component(numbers::invalid_unsigned_int)
317 {}
318
319
320 template <int rank>
321 inline Tensor<rank>::Tensor(const unsigned int first_tensor_component)
322 : first_tensor_component(first_tensor_component)
323 {}
324} // namespace FEValuesExtractors
325
326
327
329
330#endif
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:402
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:403
static const unsigned int invalid_unsigned_int
Definition: types.h:196