Reference documentation for deal.II version 8.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Public Member Functions | Public Attributes | List of all members
internal::MatrixFreeFunctions::ShapeInfo< Number > Struct Template Reference

#include <shape_info.h>

Public Member Functions

 ShapeInfo ()
 
template<int dim>
void reinit (const Quadrature< 1 > &quad, const FiniteElement< dim > &fe_dim)
 
std::size_t memory_consumption () const
 

Public Attributes

AlignedVector< VectorizedArray
< Number > > 
shape_values
 
AlignedVector< VectorizedArray
< Number > > 
shape_gradients
 
AlignedVector< VectorizedArray
< Number > > 
shape_hessians
 
Table< 2, unsigned intface_indices
 
std::vector< Number > face_value [2]
 
std::vector< Number > face_gradient [2]
 
std::vector< Number > subface_value [2]
 
std::vector< Number > shape_values_number
 
std::vector< Number > shape_gradient_number
 
unsigned int n_q_points
 
unsigned int dofs_per_cell
 
unsigned int n_q_points_face
 
unsigned int dofs_per_face
 

Detailed Description

template<typename Number>
struct internal::MatrixFreeFunctions::ShapeInfo< Number >

The class that stores the shape functions, gradients and Hessians evaluated for a tensor product finite element and tensor product quadrature formula on the unit cell. Because of this structure, only one-dimensional data is stored.

Author
Katharina Kormann and Martin Kronbichler, 2010, 2011

Definition at line 45 of file shape_info.h.

Constructor & Destructor Documentation

template<typename Number >
internal::MatrixFreeFunctions::ShapeInfo< Number >::ShapeInfo ( )

Empty constructor. Does nothing.

Definition at line 39 of file shape_info.templates.h.

Member Function Documentation

template<typename Number >
template<int dim>
void internal::MatrixFreeFunctions::ShapeInfo< Number >::reinit ( const Quadrature< 1 > &  quad,
const FiniteElement< dim > &  fe_dim 
)

Initializes the data fields. Takes a one-dimensional quadrature formula and a finite element as arguments and evaluates the shape functions, gradients and Hessians on the one-dimensional unit cell. This function assumes that the finite element is derived from a one-dimensional element by a tensor product and that the zeroth shape function in zero evaluates to one.

Definition at line 50 of file shape_info.templates.h.

template<typename Number >
std::size_t internal::MatrixFreeFunctions::ShapeInfo< Number >::memory_consumption ( ) const

Returns the memory consumption of this class in bytes.

Definition at line 184 of file shape_info.templates.h.

Member Data Documentation

template<typename Number>
AlignedVector<VectorizedArray<Number> > internal::MatrixFreeFunctions::ShapeInfo< Number >::shape_values

Stores the shape values of the 1D finite element evaluated on all 1D quadrature points in vectorized format, i.e., as an array of VectorizedArray<dim>::n_array_elements equal elements. The length of this array is n_dofs_1d * n_q_points_1d and quadrature points are the index running fastest.

Definition at line 81 of file shape_info.h.

template<typename Number>
AlignedVector<VectorizedArray<Number> > internal::MatrixFreeFunctions::ShapeInfo< Number >::shape_gradients

Stores the shape gradients of the 1D finite element evaluated on all 1D quadrature points in vectorized format, i.e., as an array of VectorizedArray<dim>::n_array_elements equal elements. The length of this array is n_dofs_1d * n_q_points_1d and quadrature points are the index running fastest.

Definition at line 94 of file shape_info.h.

template<typename Number>
AlignedVector<VectorizedArray<Number> > internal::MatrixFreeFunctions::ShapeInfo< Number >::shape_hessians

Stores the shape Hessians of the 1D finite element evaluated on all 1D quadrature points in vectorized format, i.e., as an array of VectorizedArray<dim>::n_array_elements equal elements. The length of this array is n_dofs_1d * n_q_points_1d and quadrature points are the index running fastest.

Definition at line 107 of file shape_info.h.

template<typename Number>
Table<2,unsigned int> internal::MatrixFreeFunctions::ShapeInfo< Number >::face_indices

Stores the indices from cell DoFs to face DoFs. The rows go through the 2*dim faces, and the columns the DoFs on the faces.

Definition at line 115 of file shape_info.h.

template<typename Number>
std::vector<Number> internal::MatrixFreeFunctions::ShapeInfo< Number >::face_value[2]

Stores one-dimensional values of shape functions evaluated in zero and one, i.e., on the one-dimensional faces. Not vectorized.

Definition at line 121 of file shape_info.h.

template<typename Number>
std::vector<Number> internal::MatrixFreeFunctions::ShapeInfo< Number >::face_gradient[2]

Stores one-dimensional gradients of shape functions evaluated in zero and one, i.e., on the one-dimensional faces. Not vectorized.

Definition at line 127 of file shape_info.h.

template<typename Number>
std::vector<Number> internal::MatrixFreeFunctions::ShapeInfo< Number >::subface_value[2]

Stores one-dimensional values of shape functions on subface. Since there are two subfaces, store two variants. Not vectorized.

Definition at line 133 of file shape_info.h.

template<typename Number>
std::vector<Number> internal::MatrixFreeFunctions::ShapeInfo< Number >::shape_values_number

Non-vectorized version of shape values. Needed when evaluating face info.

Definition at line 139 of file shape_info.h.

template<typename Number>
std::vector<Number> internal::MatrixFreeFunctions::ShapeInfo< Number >::shape_gradient_number

Non-vectorized version of shape gradients. Needed when evaluating face info.

Definition at line 146 of file shape_info.h.

template<typename Number>
unsigned int internal::MatrixFreeFunctions::ShapeInfo< Number >::n_q_points

Stores the number of quadrature points in dim dimensions for a cell.

Definition at line 152 of file shape_info.h.

template<typename Number>
unsigned int internal::MatrixFreeFunctions::ShapeInfo< Number >::dofs_per_cell

Stores the number of DoFs per cell in dim dimensions.

Definition at line 158 of file shape_info.h.

template<typename Number>
unsigned int internal::MatrixFreeFunctions::ShapeInfo< Number >::n_q_points_face

Stores the number of quadrature points per face in dim dimensions.

Definition at line 164 of file shape_info.h.

template<typename Number>
unsigned int internal::MatrixFreeFunctions::ShapeInfo< Number >::dofs_per_face

Stores the number of DoFs per face in dim dimensions.

Definition at line 170 of file shape_info.h.


The documentation for this struct was generated from the following files: