Reference documentation for deal.II version 8.1.0
shape_info.h
1 // ---------------------------------------------------------------------
2 // @f$Id: shape_info.h 31495 2013-10-31 12:58:57Z kronbichler @f$
3 //
4 // Copyright (C) 2011 - 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 
18 #ifndef __deal2__matrix_free_shape_info_h
19 #define __deal2__matrix_free_shape_info_h
20 
21 
23 #include <deal.II/base/quadrature_lib.h>
24 #include <deal.II/base/vectorization.h>
25 #include <deal.II/fe/fe.h>
26 
27 #include <deal.II/matrix_free/helper_functions.h>
28 
29 
31 
32 namespace internal
33 {
34  namespace MatrixFreeFunctions
35  {
44  template <typename Number>
45  struct ShapeInfo
46  {
50  ShapeInfo ();
51 
60  template <int dim>
61  void reinit (const Quadrature<1> &quad,
62  const FiniteElement<dim> &fe_dim);
63 
68  std::size_t memory_consumption () const;
69 
82 
95 
108 
116 
121  std::vector<Number> face_value[2];
122 
127  std::vector<Number> face_gradient[2];
128 
133  std::vector<Number> subface_value[2];
134 
139  std::vector<Number> shape_values_number;
140 
146  std::vector<Number> shape_gradient_number;
147 
152  unsigned int n_q_points;
153 
158  unsigned int dofs_per_cell;
159 
164  unsigned int n_q_points_face;
165 
170  unsigned int dofs_per_face;
171  };
172 
173  } // end of namespace MatrixFreeFunctions
174 } // end of namespace internal
175 
176 DEAL_II_NAMESPACE_CLOSE
177 
178 #endif
std::vector< Number > subface_value[2]
Definition: shape_info.h:133
std::vector< Number > face_value[2]
Definition: shape_info.h:121
std::vector< Number > face_gradient[2]
Definition: shape_info.h:127
AlignedVector< VectorizedArray< Number > > shape_hessians
Definition: shape_info.h:107
std::vector< Number > shape_gradient_number
Definition: shape_info.h:146
std::vector< Number > shape_values_number
Definition: shape_info.h:139
void reinit(const Quadrature< 1 > &quad, const FiniteElement< dim > &fe_dim)
Table< 2, unsigned int > face_indices
Definition: shape_info.h:115
AlignedVector< VectorizedArray< Number > > shape_values
Definition: shape_info.h:81
AlignedVector< VectorizedArray< Number > > shape_gradients
Definition: shape_info.h:94