Reference documentation for deal.II version 9.2.0
|
Enumerations | |
enum | EvaluatorVariant { evaluate_general, evaluate_symmetric, evaluate_evenodd, evaluate_symmetric_hierarchical } |
Functions | |
template<typename MatrixType > | |
void | reinit (MatrixBlock< MatrixType > &v, const BlockSparsityPattern &p) |
template<typename number > | |
void | reinit (MatrixBlock<::SparseMatrix< number >> &v, const BlockSparsityPattern &p) |
template<typename VectorizedArrayType , typename Number2 > | |
void | do_vectorized_read (const Number2 *src_ptr, VectorizedArrayType &dst) |
template<typename Number , unsigned int width> | |
void | do_vectorized_read (const Number *src_ptr, VectorizedArray< Number, width > &dst) |
template<typename VectorizedArrayType , typename Number2 > | |
void | do_vectorized_gather (const Number2 *src_ptr, const unsigned int *indices, VectorizedArrayType &dst) |
template<typename Number , unsigned int width> | |
void | do_vectorized_gather (const Number *src_ptr, const unsigned int *indices, VectorizedArray< Number, width > &dst) |
template<typename VectorizedArrayType , typename Number2 > | |
void | do_vectorized_add (const VectorizedArrayType src, Number2 *dst_ptr) |
template<typename Number , unsigned int width> | |
void | do_vectorized_add (const VectorizedArray< Number, width > src, Number *dst_ptr) |
template<typename VectorizedArrayType , typename Number2 > | |
void | do_vectorized_scatter_add (const VectorizedArrayType src, const unsigned int *indices, Number2 *dst_ptr) |
template<typename Number , unsigned int width> | |
void | do_vectorized_scatter_add (const VectorizedArray< Number, width > src, const unsigned int *indices, Number *dst_ptr) |
static ::ExceptionBase & | ExcAccessToUninitializedField () |
template<typename VectorType , typename std::enable_if<!has_local_element< VectorType >::value, VectorType >::type * = nullptr> | |
VectorType::value_type | vector_access (const VectorType &vec, const unsigned int entry) |
template<typename VectorType , typename std::enable_if<!has_local_element< VectorType >::value, VectorType >::type * = nullptr> | |
VectorType::value_type & | vector_access (VectorType &vec, const unsigned int entry) |
template<typename VectorType , typename std::enable_if< has_add_local_element< VectorType >::value, VectorType >::type * = nullptr> | |
void | vector_access_add (VectorType &vec, const unsigned int entry, const typename VectorType::value_type &val) |
template<typename VectorType , typename std::enable_if< has_add_local_element< VectorType >::value, VectorType >::type * = nullptr> | |
void | vector_access_add_global (VectorType &vec, const types::global_dof_index entry, const typename VectorType::value_type &val) |
template<typename VectorType , typename std::enable_if< has_set_local_element< VectorType >::value, VectorType >::type * = nullptr> | |
void | vector_access_set (VectorType &vec, const unsigned int entry, const typename VectorType::value_type &val) |
template<typename VectorType , typename std::enable_if<!has_partitioners_are_compatible< VectorType >::value, VectorType >::type * = nullptr> | |
void | check_vector_compatibility (const VectorType &vec, const internal::MatrixFreeFunctions::DoFInfo &dof_info) |
template<class DI > | |
bool | is_active_iterator (const DI &) |
template<class ACCESSOR > | |
bool | is_active_iterator (const TriaActiveIterator< ACCESSOR > &) |
template<class ACCESSOR > | |
bool | is_active_iterator (const ::FilteredIterator< TriaActiveIterator< ACCESSOR >> &) |
template<int dim, class DOFINFO , class A > | |
void | assemble (const MeshWorker::DoFInfoBox< dim, DOFINFO > &dinfo, A *assembler) |
template<int dim, int spacedim> | |
const types::global_dof_index * | dummy () |
template<int dim, int spacedim> | |
std::string | policy_to_string (const ::internal::DoFHandlerImplementation::Policy::PolicyBase< dim, spacedim > &policy) |
template<class VectorType > | |
VectorType::value_type | get_vector_element (const VectorType &vector, const types::global_dof_index cell_number) |
IndexSet::value_type | get_vector_element (const IndexSet &is, const types::global_dof_index cell_number) |
template<int dim, int spacedim> | |
std::vector< unsigned int > | make_shape_function_to_row_table (const FiniteElement< dim, spacedim > &fe) |
template<typename Number , typename Number2 > | |
void | do_function_values (const Number2 *dof_values_ptr, const ::Table< 2, double > &shape_values, std::vector< Number > &values) |
template<int dim, int spacedim, typename VectorType > | |
void | do_function_values (const typename VectorType::value_type *dof_values_ptr, const ::Table< 2, double > &shape_values, const FiniteElement< dim, spacedim > &fe, const std::vector< unsigned int > &shape_function_to_row_table, ArrayView< VectorType > values, const bool quadrature_points_fastest=false, const unsigned int component_multiple=1) |
template<int order, int spacedim, typename Number > | |
void | do_function_derivatives (const Number *dof_values_ptr, const ::Table< 2, Tensor< order, spacedim >> &shape_derivatives, std::vector< Tensor< order, spacedim, Number >> &derivatives) |
template<int order, int dim, int spacedim, typename Number > | |
void | do_function_derivatives (const Number *dof_values_ptr, const ::Table< 2, Tensor< order, spacedim >> &shape_derivatives, const FiniteElement< dim, spacedim > &fe, const std::vector< unsigned int > &shape_function_to_row_table, ArrayView< std::vector< Tensor< order, spacedim, Number >>> derivatives, const bool quadrature_points_fastest=false, const unsigned int component_multiple=1) |
template<int spacedim, typename Number , typename Number2 > | |
void | do_function_laplacians (const Number2 *dof_values_ptr, const ::Table< 2, Tensor< 2, spacedim >> &shape_hessians, std::vector< Number > &laplacians) |
template<int dim, int spacedim, typename VectorType , typename Number > | |
void | do_function_laplacians (const Number *dof_values_ptr, const ::Table< 2, Tensor< 2, spacedim >> &shape_hessians, const FiniteElement< dim, spacedim > &fe, const std::vector< unsigned int > &shape_function_to_row_table, std::vector< VectorType > &laplacians, const bool quadrature_points_fastest=false, const unsigned int component_multiple=1) |
Tensor< 1, 3 > | apply_exponential_map (const Tensor< 1, 3 > &u, const Tensor< 1, 3 > &dir) |
Tensor< 1, 3 > | projected_direction (const Tensor< 1, 3 > &u, const Tensor< 1, 3 > &v) |
template<int spacedim> | |
Point< spacedim > | compute_normal (const Tensor< 1, spacedim > &, bool=false) |
Point< 3 > | compute_normal (const Tensor< 1, 3 > &vector, bool normalize=false) |
template<typename DoFHandlerType > | |
void | extract_interpolation_matrices (const DoFHandlerType &, ::Table< 2, FullMatrix< double >> &) |
template<int dim, int spacedim> | |
void | extract_interpolation_matrices (const ::hp::DoFHandler< dim, spacedim > &dof, ::Table< 2, FullMatrix< double >> &matrices) |
template<int dim, int spacedim> | |
void | restriction_additive (const FiniteElement< dim, spacedim > &, std::vector< std::vector< bool >> &) |
template<int dim, int spacedim> | |
void | restriction_additive (const ::hp::FECollection< dim, spacedim > &fe, std::vector< std::vector< bool >> &restriction_is_additive) |
Variables | |
static constexpr double | invalid_pull_back_coordinate = 20.0 |
This namespace defines the copy and set functions used in AlignedVector. These functions operate in parallel when there are enough elements in the vector.
In this namespace, the evaluator routines that evaluate the tensor products are implemented.
Enumerator | |
---|---|
evaluate_general | Do not use anything more than the tensor product structure of the finite element. |
evaluate_symmetric | Perform evaluation by exploiting symmetry in the finite element: i.e., skip some computations by utilizing the symmetry in the shape functions and quadrature points. |
evaluate_evenodd | Use symmetry to apply the operator to even and odd parts of the input vector separately: see the documentation of the EvaluatorTensorProduct specialization for more information. |
evaluate_symmetric_hierarchical | Use symmetry in Legendre and similar polynomial spaces where the shape functions with even number are symmetric about the center of the quadrature points (think about even polynomial degrees) and the shape functions with odd number are anti-symmetric about the center of the quadrature points (think about odd polynomial degrees). This allows to use a strategy similar to the even-odd technique but without separate coefficient arrays. See the documentation of the EvaluatorTensorProduct specialization for more information. |
Definition at line 36 of file tensor_product_kernels.h.
void internal::reinit | ( | MatrixBlock< MatrixType > & | v, |
const BlockSparsityPattern & | p | ||
) |
Definition at line 621 of file matrix_block.h.
void internal::reinit | ( | MatrixBlock<::SparseMatrix< number >> & | v, |
const BlockSparsityPattern & | p | ||
) |
Definition at line 630 of file matrix_block.h.
void internal::do_vectorized_read | ( | const Number2 * | src_ptr, |
VectorizedArrayType & | dst | ||
) |
Definition at line 1768 of file evaluation_kernels.h.
void internal::do_vectorized_read | ( | const Number * | src_ptr, |
VectorizedArray< Number, width > & | dst | ||
) |
Definition at line 1780 of file evaluation_kernels.h.
void internal::do_vectorized_gather | ( | const Number2 * | src_ptr, |
const unsigned int * | indices, | ||
VectorizedArrayType & | dst | ||
) |
Definition at line 1790 of file evaluation_kernels.h.
void internal::do_vectorized_gather | ( | const Number * | src_ptr, |
const unsigned int * | indices, | ||
VectorizedArray< Number, width > & | dst | ||
) |
Definition at line 1804 of file evaluation_kernels.h.
void internal::do_vectorized_add | ( | const VectorizedArrayType | src, |
Number2 * | dst_ptr | ||
) |
Definition at line 1816 of file evaluation_kernels.h.
void internal::do_vectorized_add | ( | const VectorizedArray< Number, width > | src, |
Number * | dst_ptr | ||
) |
Definition at line 1828 of file evaluation_kernels.h.
void internal::do_vectorized_scatter_add | ( | const VectorizedArrayType | src, |
const unsigned int * | indices, | ||
Number2 * | dst_ptr | ||
) |
Definition at line 1840 of file evaluation_kernels.h.
void internal::do_vectorized_scatter_add | ( | const VectorizedArray< Number, width > | src, |
const unsigned int * | indices, | ||
Number * | dst_ptr | ||
) |
Definition at line 1854 of file evaluation_kernels.h.
|
inline |
Definition at line 42 of file vector_access_internal.h.
|
inline |
Definition at line 56 of file vector_access_internal.h.
|
inline |
Definition at line 93 of file vector_access_internal.h.
|
inline |
Definition at line 119 of file vector_access_internal.h.
|
inline |
Definition at line 145 of file vector_access_internal.h.
|
inline |
Definition at line 176 of file vector_access_internal.h.
|
inline |
|
inline |
|
inline |
void internal::assemble | ( | const MeshWorker::DoFInfoBox< dim, DOFINFO > & | dinfo, |
A * | assembler | ||
) |
const types::global_dof_index* internal::dummy | ( | ) |
Definition at line 59 of file dof_handler.cc.
std::string internal::policy_to_string | ( | const ::internal::DoFHandlerImplementation::Policy::PolicyBase< dim, spacedim > & | policy | ) |
Definition at line 71 of file dof_handler.cc.
|
inline |
Definition at line 59 of file fe_values.cc.
|
inline |
Definition at line 68 of file fe_values.cc.
|
inline |
Definition at line 79 of file fe_values.cc.
void internal::do_function_values | ( | const Number2 * | dof_values_ptr, |
const ::Table< 2, double > & | shape_values, | ||
std::vector< Number > & | values | ||
) |
Definition at line 3118 of file fe_values.cc.
void internal::do_function_values | ( | const typename VectorType::value_type * | dof_values_ptr, |
const ::Table< 2, double > & | shape_values, | ||
const FiniteElement< dim, spacedim > & | fe, | ||
const std::vector< unsigned int > & | shape_function_to_row_table, | ||
ArrayView< VectorType > | values, | ||
const bool | quadrature_points_fastest = false , |
||
const unsigned int | component_multiple = 1 |
||
) |
Definition at line 3160 of file fe_values.cc.
void internal::do_function_derivatives | ( | const Number * | dof_values_ptr, |
const ::Table< 2, Tensor< order, spacedim >> & | shape_derivatives, | ||
std::vector< Tensor< order, spacedim, Number >> & | derivatives | ||
) |
Definition at line 3270 of file fe_values.cc.
void internal::do_function_derivatives | ( | const Number * | dof_values_ptr, |
const ::Table< 2, Tensor< order, spacedim >> & | shape_derivatives, | ||
const FiniteElement< dim, spacedim > & | fe, | ||
const std::vector< unsigned int > & | shape_function_to_row_table, | ||
ArrayView< std::vector< Tensor< order, spacedim, Number >>> | derivatives, | ||
const bool | quadrature_points_fastest = false , |
||
const unsigned int | component_multiple = 1 |
||
) |
Definition at line 3312 of file fe_values.cc.
void internal::do_function_laplacians | ( | const Number2 * | dof_values_ptr, |
const ::Table< 2, Tensor< 2, spacedim >> & | shape_hessians, | ||
std::vector< Number > & | laplacians | ||
) |
Definition at line 3418 of file fe_values.cc.
void internal::do_function_laplacians | ( | const Number * | dof_values_ptr, |
const ::Table< 2, Tensor< 2, spacedim >> & | shape_hessians, | ||
const FiniteElement< dim, spacedim > & | fe, | ||
const std::vector< unsigned int > & | shape_function_to_row_table, | ||
std::vector< VectorType > & | laplacians, | ||
const bool | quadrature_points_fastest = false , |
||
const unsigned int | component_multiple = 1 |
||
) |
Definition at line 3457 of file fe_values.cc.
Tensor<1, 3> internal::apply_exponential_map | ( | const Tensor< 1, 3 > & | u, |
const Tensor< 1, 3 > & | dir | ||
) |
Definition at line 46 of file manifold_lib.cc.
Definition at line 66 of file manifold_lib.cc.
Point<spacedim> internal::compute_normal | ( | const Tensor< 1, spacedim > & | , |
bool | = false |
||
) |
Definition at line 77 of file manifold_lib.cc.
Definition at line 84 of file manifold_lib.cc.
void internal::extract_interpolation_matrices | ( | const DoFHandlerType & | , |
::Table< 2, FullMatrix< double >> & | |||
) |
Generate a table that contains interpolation matrices between each combination of finite elements used in a DoFHandler of some kind. Since not all elements can be interpolated onto each other, the table may contain empty matrices for those combinations of elements for which no such interpolation is implemented.
Definition at line 201 of file solution_transfer.cc.
void internal::extract_interpolation_matrices | ( | const ::hp::DoFHandler< dim, spacedim > & | dof, |
::Table< 2, FullMatrix< double >> & | matrices | ||
) |
Definition at line 207 of file solution_transfer.cc.
void internal::restriction_additive | ( | const FiniteElement< dim, spacedim > & | , |
std::vector< std::vector< bool >> & | |||
) |
Definition at line 241 of file solution_transfer.cc.
void internal::restriction_additive | ( | const ::hp::FECollection< dim, spacedim > & | fe, |
std::vector< std::vector< bool >> & | restriction_is_additive | ||
) |
Definition at line 247 of file solution_transfer.cc.
|
staticconstexpr |
Definition at line 40 of file manifold_lib.cc.