Reference documentation for deal.II version 9.5.0
\(\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\}}\)
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
evaluation_kernels.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/base/geometry_info.h>
#include <deal.II/base/ndarray.h>
#include <deal.II/base/utilities.h>
#include <deal.II/base/vectorization.h>
#include <deal.II/matrix_free/dof_info.h>
#include <deal.II/matrix_free/evaluation_flags.h>
#include <deal.II/matrix_free/fe_evaluation_data.h>
#include <deal.II/matrix_free/shape_info.h>
#include <deal.II/matrix_free/tensor_product_kernels.h>

Go to the source code of this file.

Classes

struct  internal::EvaluatorSelector< element, is_long >
 
struct  internal::EvaluatorSelector< MatrixFreeFunctions::tensor_general, is_long >
 
struct  internal::EvaluatorSelector< MatrixFreeFunctions::tensor_symmetric, false >
 
struct  internal::EvaluatorSelector< MatrixFreeFunctions::tensor_symmetric, true >
 
struct  internal::EvaluatorSelector< MatrixFreeFunctions::truncated_tensor, is_long >
 
struct  internal::EvaluatorSelector< MatrixFreeFunctions::tensor_symmetric_plus_dg0, false >
 
struct  internal::EvaluatorSelector< MatrixFreeFunctions::tensor_symmetric_plus_dg0, true >
 
struct  internal::EvaluatorSelector< MatrixFreeFunctions::tensor_symmetric_collocation, is_long >
 
struct  internal::EvaluatorSelector< MatrixFreeFunctions::tensor_raviart_thomas, is_long >
 
struct  internal::FEEvaluationImpl< type, dim, fe_degree, n_q_points_1d, Number >
 
struct  internal::FEEvaluationImpl< MatrixFreeFunctions::tensor_none, dim, fe_degree, n_q_points_1d, Number >
 
struct  internal::FEEvaluationImpl< MatrixFreeFunctions::tensor_raviart_thomas, dim, fe_degree, n_q_points_1d, Number >
 
struct  internal::FEEvaluationImplBasisChange< variant, quantity, dim, basis_size_1, basis_size_2, typename, typename >
 
struct  internal::FEEvaluationImplCollocation< dim, fe_degree, Number >
 
struct  internal::FEEvaluationImplTransformToCollocation< dim, fe_degree, n_q_points_1d, Number >
 
struct  internal::FEEvaluationImplSelector< dim, Number, do_integrate >
 
struct  internal::FEFaceEvaluationImpl< symmetric_evaluate, dim, fe_degree, n_q_points_1d, Number >
 
struct  internal::FEFaceEvaluationImplRaviartThomas< dim, fe_degree, n_q_points_1d, Number >
 
struct  internal::FEFaceNormalEvaluationImpl< dim, fe_degree, Number >
 
struct  internal::FEFaceEvaluationImplEvaluateSelector< dim, Number >
 
struct  internal::FEFaceEvaluationImplIntegrateSelector< dim, Number >
 
struct  internal::FEFaceEvaluationImplGatherEvaluateSelector< dim, Number2, VectorizedArrayType >
 
struct  internal::FEFaceEvaluationImplGatherEvaluateSelector< dim, Number2, VectorizedArrayType >::Processor< fe_degree >
 
struct  internal::FEFaceEvaluationImplIntegrateScatterSelector< dim, Number2, VectorizedArrayType >
 
struct  internal::FEFaceEvaluationImplIntegrateScatterSelector< dim, Number2, VectorizedArrayType >::Processor< fe_degree >
 
struct  internal::CellwiseInverseMassMatrixImplBasic< dim, Number >
 
struct  internal::CellwiseInverseMassMatrixImplFlexible< dim, Number >
 
struct  internal::CellwiseInverseMassMatrixImplTransformFromQPoints< dim, Number >
 
struct  internal::FastEvaluationSupported
 

Namespaces

namespace  internal
 

Functions

constexpr bool internal::use_collocation_evaluation (const unsigned int fe_degree, const unsigned int n_q_points_1d)
 
template<typename VectorizedArrayType , typename Number2 >
void internal::do_vectorized_read (const Number2 *src_ptr, VectorizedArrayType &dst)
 
template<typename Number , std::size_t width>
void internal::do_vectorized_read (const Number *src_ptr, VectorizedArray< Number, width > &dst)
 
template<typename VectorizedArrayType , typename Number2 >
void internal::do_vectorized_gather (const Number2 *src_ptr, const unsigned int *indices, VectorizedArrayType &dst)
 
template<typename Number , std::size_t width>
void internal::do_vectorized_gather (const Number *src_ptr, const unsigned int *indices, VectorizedArray< Number, width > &dst)
 
template<typename VectorizedArrayType , typename Number2 >
void internal::do_vectorized_add (const VectorizedArrayType src, Number2 *dst_ptr)
 
template<typename Number , std::size_t width>
void internal::do_vectorized_add (const VectorizedArray< Number, width > src, Number *dst_ptr)
 
template<typename VectorizedArrayType , typename Number2 >
void internal::do_vectorized_scatter_add (const VectorizedArrayType src, const unsigned int *indices, Number2 *dst_ptr)
 
template<typename Number , std::size_t width>
void internal::do_vectorized_scatter_add (const VectorizedArray< Number, width > src, const unsigned int *indices, Number *dst_ptr)
 
template<typename Number >
void internal::adjust_for_face_orientation (const unsigned int dim, const unsigned int n_components, const EvaluationFlags::EvaluationFlags flag, const unsigned int *orientation, const bool integrate, const std::size_t n_q_points, Number *tmp_values, Number *values_quad, Number *gradients_quad, Number *hessians_quad)
 
template<typename Number , typename VectorizedArrayType >
void internal::adjust_for_face_orientation_per_lane (const unsigned int dim, const unsigned int n_components, const unsigned int v, const EvaluationFlags::EvaluationFlags flag, const unsigned int *orientation, const bool integrate, const std::size_t n_q_points, Number *tmp_values, VectorizedArrayType *values_quad, VectorizedArrayType *gradients_quad=nullptr, VectorizedArrayType *hessians_quad=nullptr)
 
template<int n_face_orientations, typename Processor , typename EvaluationData , const bool check_face_orientations = false>
void internal::fe_face_evaluation_process_and_io (Processor &proc, const unsigned int n_components, const EvaluationFlags::EvaluationFlags evaluation_flag, typename Processor::Number2_ *global_vector_ptr, const std::vector< ArrayView< const typename Processor::Number2_ > > *sm_ptr, const EvaluationData &fe_eval, typename Processor::VectorizedArrayType_ *temp1)