Reference documentation for deal.II version 8.5.1
Public Member Functions | Public Attributes | List of all members
internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent Struct Reference

#include <deal.II/matrix_free/mapping_info.h>

Public Member Functions

unsigned int quad_index_from_n_q_points (const unsigned int n_q_points) const
 
template<typename StreamType >
void print_memory_consumption (StreamType &out, const SizeInfo &size_info) const
 
std::size_t memory_consumption () const
 

Public Attributes

std::vector< unsigned int > rowstart_jacobians
 
AlignedVector< Tensor< 2, dim, VectorizedArray< Number > > > jacobians
 
AlignedVector< VectorizedArray< Number > > JxW_values
 
AlignedVector< Tensor< 2, dim, VectorizedArray< Number > > > jacobians_grad_diag
 
AlignedVector< Tensor< 1,(dim >1?dim *(dim-1)/2:1), Tensor< 1, dim, VectorizedArray< Number > > > > jacobians_grad_upper
 
std::vector< unsigned int > rowstart_q_points
 
AlignedVector< Point< dim, VectorizedArray< Number > > > quadrature_points
 
::hp::QCollection< dim > quadrature
 
::hp::QCollection< dim-1 > face_quadrature
 
std::vector< unsigned int > n_q_points
 
std::vector< unsigned int > n_q_points_face
 
std::vector< AlignedVector< VectorizedArray< Number > > > quadrature_weights
 
std::vector< unsigned int > quad_index_conversion
 

Detailed Description

template<int dim, typename Number>
struct internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent

Definition of a structure that stores data that depends on the quadrature formula (if we have more than one quadrature formula on a given problem, these fields will be different)

Definition at line 168 of file mapping_info.h.

Member Function Documentation

◆ quad_index_from_n_q_points()

template<int dim, typename Number >
unsigned int internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::quad_index_from_n_q_points ( const unsigned int  n_q_points) const
inline

Return the quadrature index for a given number of quadrature points. If not in hp mode or if the index is not found, this function always returns index 0. Hence, this function does not check whether the given degree is actually present.

Definition at line 343 of file mapping_info.h.

◆ print_memory_consumption()

template<int dim, typename Number>
template<typename StreamType >
void internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::print_memory_consumption ( StreamType &  out,
const SizeInfo size_info 
) const

Prints a detailed summary of memory consumption in the different structures of this class to the given output stream.

◆ memory_consumption()

template<int dim, typename Number>
std::size_t internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::memory_consumption ( ) const

Return the memory consumption in bytes.

Member Data Documentation

◆ rowstart_jacobians

template<int dim, typename Number>
std::vector<unsigned int> internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::rowstart_jacobians

This field stores the row starts for the inverse Jacobian transformations, quadrature weights and second derivatives.

Definition at line 174 of file mapping_info.h.

◆ jacobians

template<int dim, typename Number>
AlignedVector<Tensor<2,dim,VectorizedArray<Number> > > internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::jacobians

This field stores the inverse Jacobian transformation from unit to real cell, which is needed for most gradient transformations (corresponds to FEValues::inverse_jacobian) for general cells.

Definition at line 181 of file mapping_info.h.

◆ JxW_values

template<int dim, typename Number>
AlignedVector<VectorizedArray<Number> > internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::JxW_values

This field stores the Jacobian determinant times the quadrature weights (JxW in deal.II speak) for general cells.

Definition at line 187 of file mapping_info.h.

◆ jacobians_grad_diag

template<int dim, typename Number>
AlignedVector<Tensor<2,dim,VectorizedArray<Number> > > internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::jacobians_grad_diag

Stores the diagonal part of the gradient of the inverse Jacobian transformation. The first index runs over the derivatives \(\partial^2/\partial x_i^2\), the second over the space coordinate. Needed for computing the Laplacian of FE functions on the real cell. Uses a separate storage from the off-diagonal part \(\partial^2/\partial x_i \partial x_j, i\neq j\) because that is only needed for computing a full Hessian.

Definition at line 198 of file mapping_info.h.

◆ jacobians_grad_upper

template<int dim, typename Number>
AlignedVector<Tensor<1,(dim>1?dim*(dim-1)/2:1), Tensor<1,dim,VectorizedArray<Number> > > > internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::jacobians_grad_upper

Stores the off-diagonal part of the gradient of the inverse Jacobian transformation. Because of symmetry, only the upper diagonal part is needed. The first index runs through the derivatives row-wise, i.e., \(\partial^2/\partial x_1 \partial x_2\) first, then \(\partial^2/\partial x_1 \partial x_3\), and so on. The second index is the spatial coordinate. Not filled currently.

Definition at line 209 of file mapping_info.h.

◆ rowstart_q_points

template<int dim, typename Number>
std::vector<unsigned int> internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::rowstart_q_points

Stores the row start for quadrature points in real coordinates for both types of cells. Note that Cartesian cells will have shorter fields (length is n_q_points_1d) than non-Cartesian cells (length is n_q_points).

Definition at line 217 of file mapping_info.h.

◆ quadrature_points

template<int dim, typename Number>
AlignedVector<Point<dim,VectorizedArray<Number> > > internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::quadrature_points

Stores the quadrature points in real coordinates for Cartesian cells (does not need to store the full data on all points)

Definition at line 223 of file mapping_info.h.

◆ quadrature

template<int dim, typename Number>
::hp::QCollection<dim> internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::quadrature

The dim-dimensional quadrature formula underlying the problem (constructed from a 1D tensor product quadrature formula).

Definition at line 229 of file mapping_info.h.

◆ face_quadrature

template<int dim, typename Number>
::hp::QCollection<dim-1> internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::face_quadrature

The (dim-1)-dimensional quadrature formula corresponding to face evaluation (constructed from a 1D tensor product quadrature formula).

Definition at line 236 of file mapping_info.h.

◆ n_q_points

template<int dim, typename Number>
std::vector<unsigned int> internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::n_q_points

The number of quadrature points for the current quadrature formula.

Definition at line 241 of file mapping_info.h.

◆ n_q_points_face

template<int dim, typename Number>
std::vector<unsigned int> internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::n_q_points_face

The number of quadrature points for the current quadrature formula when applied to a face. Only set if the quadrature formula is derived from a tensor product, since it is not defined from the full quadrature formula otherwise.

Definition at line 249 of file mapping_info.h.

◆ quadrature_weights

template<int dim, typename Number>
std::vector<AlignedVector<VectorizedArray<Number> > > internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::quadrature_weights

The quadrature weights (vectorized data format) on the unit cell.

Definition at line 254 of file mapping_info.h.

◆ quad_index_conversion

template<int dim, typename Number>
std::vector<unsigned int> internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfoDependent::quad_index_conversion

This variable stores the number of quadrature points for all quadrature indices in the underlying element for easier access to data in the hp case.

Definition at line 261 of file mapping_info.h.


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