Reference documentation for deal.II version 8.1.0
fe_values_extractors.h
1 // ---------------------------------------------------------------------
2 // @f$Id: fe_values_extractors.h 30036 2013-07-18 16:55:32Z maier @f$
3 //
4 // Copyright (C) 1998 - 2013 by the deal.II authors
5 //
6 // This file is part of the deal.II library.
7 //
8 // The deal.II library is free software; you can use it, redistribute
9 // it, and/or modify it under the terms of the GNU Lesser General
10 // Public License as published by the Free Software Foundation; either
11 // version 2.1 of the License, or (at your option) any later version.
12 // The full text of the license can be found in the file LICENSE at
13 // the top level of the deal.II distribution.
14 //
15 // ---------------------------------------------------------------------
16 
17 #ifndef __deal2__fe_values_extractors_h
18 #define __deal2__fe_values_extractors_h
19 
20 
21 #include <deal.II/base/config.h>
22 
24 
25 
42 {
57  struct Scalar
58  {
63  unsigned int component;
64 
74  Scalar ();
75 
80  Scalar (const unsigned int component);
81  };
82 
83 
126  struct Vector
127  {
133 
143  Vector ();
144 
151  Vector (const unsigned int first_vector_component);
152  };
153 
154 
180  template <int rank>
182  {
188 
198  SymmetricTensor ();
199 
206  SymmetricTensor (const unsigned int first_tensor_component);
207  };
208 
209 
235  template <int rank>
236  struct Tensor
237  {
243 
253  Tensor ();
254 
261  Tensor (const unsigned int first_tensor_component);
262  };
263 }
264 
265 
266 /*------------------------ Inline functions: namespace FEValuesExtractors --------*/
267 
268 namespace FEValuesExtractors
269 {
270  inline
272  :
273  component (numbers::invalid_unsigned_int)
274  {}
275 
276 
277 
278  inline
279  Scalar::Scalar (const unsigned int component)
280  :
281  component (component)
282  {}
283 
284 
285 
286  inline
288  :
289  first_vector_component (numbers::invalid_unsigned_int)
290  {}
291 
292 
293  inline
294  Vector::Vector (const unsigned int first_vector_component)
295  :
296  first_vector_component (first_vector_component)
297  {}
298 
299 
300  template <int rank>
301  inline
303  :
304  first_tensor_component(numbers::invalid_unsigned_int)
305  {}
306 
307 
308  template <int rank>
309  inline
310  SymmetricTensor<rank>::SymmetricTensor (const unsigned int first_tensor_component)
311  :
312  first_tensor_component (first_tensor_component)
313  {}
314 
315 
316  template <int rank>
317  inline
319  :
320  first_tensor_component(numbers::invalid_unsigned_int)
321  {}
322 
323 
324  template <int rank>
325  inline
326  Tensor<rank>::Tensor (const unsigned int first_tensor_component)
327  :
328  first_tensor_component (first_tensor_component)
329  {}
330 }
331 
332 
333 
334 
335 DEAL_II_NAMESPACE_CLOSE
336 
337 #endif