deal.II version GIT relicensing-2167-g9622207b8f 2024-11-21 12:40:00+00:00
\(\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
mapping_q_internal.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/base/array_view.h>
#include <deal.II/base/derivative_form.h>
#include <deal.II/base/geometry_info.h>
#include <deal.II/base/point.h>
#include <deal.II/base/qprojector.h>
#include <deal.II/base/table.h>
#include <deal.II/base/tensor.h>
#include <deal.II/fe/fe_tools.h>
#include <deal.II/fe/fe_update_flags.h>
#include <deal.II/fe/fe_values.h>
#include <deal.II/fe/mapping_q.h>
#include <deal.II/grid/grid_tools_geometry.h>
#include <deal.II/matrix_free/evaluation_flags.h>
#include <deal.II/matrix_free/evaluation_template_factory.h>
#include <deal.II/matrix_free/fe_evaluation_data.h>
#include <deal.II/matrix_free/mapping_info_storage.h>
#include <deal.II/matrix_free/shape_info.h>
#include <deal.II/matrix_free/tensor_product_point_kernels.h>
#include <array>
#include <limits>

Go to the source code of this file.

Classes

class  internal::MappingQImplementation::InverseQuadraticApproximation< dim, spacedim >
 

Namespaces

namespace  internal
 
namespace  internal::MappingQ1
 
namespace  internal::MappingQImplementation
 

Functions

template<int spacedim>
Point< 1 > internal::MappingQ1::transform_real_to_unit_cell (const std::array< Point< spacedim >, GeometryInfo< 1 >::vertices_per_cell > &vertices, const Point< spacedim > &p)
 
template<int spacedim>
Point< 2 > internal::MappingQ1::transform_real_to_unit_cell (const std::array< Point< spacedim >, GeometryInfo< 2 >::vertices_per_cell > &vertices, const Point< spacedim > &p)
 
template<int spacedim>
Point< 3 > internal::MappingQ1::transform_real_to_unit_cell (const std::array< Point< spacedim >, GeometryInfo< 3 >::vertices_per_cell > &, const Point< spacedim > &)
 
template<int dim>
std::vector< Point< dim > > internal::MappingQImplementation::unit_support_points (const std::vector< Point< 1 > > &line_support_points, const std::vector< unsigned int > &renumbering)
 
inline ::Table< 2, double > internal::MappingQImplementation::compute_support_point_weights_on_quad (const unsigned int polynomial_degree)
 
inline ::Table< 2, double > internal::MappingQImplementation::compute_support_point_weights_on_hex (const unsigned int polynomial_degree)
 
std::vector<::Table< 2, double > > internal::MappingQImplementation::compute_support_point_weights_perimeter_to_interior (const unsigned int polynomial_degree, const unsigned int dim)
 
template<int dim>
inline ::Table< 2, double > internal::MappingQImplementation::compute_support_point_weights_cell (const unsigned int polynomial_degree)
 
template<int dim, int spacedim>
Point< spacedim > internal::MappingQImplementation::compute_mapped_location_of_point (const typename ::MappingQ< dim, spacedim >::InternalData &data)
 
template<int dim, int spacedim, typename Number >
Point< dim, Number > internal::MappingQImplementation::do_transform_real_to_unit_cell_internal (const Point< spacedim, Number > &p, const Point< dim, Number > &initial_p_unit, const ArrayView< const Point< spacedim > > &points, const std::vector< Polynomials::Polynomial< double > > &polynomials_1d, const std::vector< unsigned int > &renumber, const bool print_iterations_to_deallog=false)
 
template<int dim>
Point< dim > internal::MappingQImplementation::do_transform_real_to_unit_cell_internal_codim1 (const Point< dim+1 > &p, const Point< dim > &initial_p_unit, const ArrayView< const Point< dim+1 > > &points, const std::vector< Polynomials::Polynomial< double > > &polynomials_1d, const std::vector< unsigned int > &renumber)
 
template<int dim, int spacedim>
void internal::MappingQImplementation::maybe_update_q_points_Jacobians_and_grads_tensor (const CellSimilarity::Similarity cell_similarity, const typename ::MappingQ< dim, spacedim >::InternalData &data, std::vector< Point< spacedim > > &quadrature_points, std::vector< DerivativeForm< 1, dim, spacedim > > &jacobians, std::vector< DerivativeForm< 1, spacedim, dim > > &inverse_jacobians, std::vector< DerivativeForm< 2, dim, spacedim > > &jacobian_grads)
 
template<int dim, int spacedim>
void internal::MappingQImplementation::maybe_update_q_points_Jacobians_generic (const CellSimilarity::Similarity cell_similarity, const typename ::MappingQ< dim, spacedim >::InternalData &data, const ArrayView< const Point< dim > > &unit_points, const std::vector< Polynomials::Polynomial< double > > &polynomials_1d, const std::vector< unsigned int > &renumber_lexicographic_to_hierarchic, std::vector< Point< spacedim > > &quadrature_points, std::vector< DerivativeForm< 1, dim, spacedim > > &jacobians, std::vector< DerivativeForm< 1, spacedim, dim > > &inverse_jacobians)
 
template<int dim, int spacedim>
void internal::MappingQImplementation::maybe_update_jacobian_grads (const CellSimilarity::Similarity cell_similarity, const typename ::MappingQ< dim, spacedim >::InternalData &data, const ArrayView< const Point< dim > > &unit_points, const std::vector< Polynomials::Polynomial< double > > &polynomials_1d, const std::vector< unsigned int > &renumber_lexicographic_to_hierarchic, std::vector< DerivativeForm< 2, dim, spacedim > > &jacobian_grads)
 
template<int dim, int spacedim>
void internal::MappingQImplementation::maybe_update_jacobian_pushed_forward_grads (const CellSimilarity::Similarity cell_similarity, const typename ::MappingQ< dim, spacedim >::InternalData &data, const ArrayView< const Point< dim > > &unit_points, const std::vector< Polynomials::Polynomial< double > > &polynomials_1d, const std::vector< unsigned int > &renumber_lexicographic_to_hierarchic, std::vector< Tensor< 3, spacedim > > &jacobian_pushed_forward_grads)
 
template<int dim, int spacedim, int length_tensor>
DerivativeForm< 3, dim, spacedim > internal::MappingQImplementation::expand_3rd_derivatives (const Tensor< 1, length_tensor, Tensor< 1, spacedim > > &compressed)
 
template<int dim, int spacedim>
void internal::MappingQImplementation::maybe_update_jacobian_2nd_derivatives (const CellSimilarity::Similarity cell_similarity, const typename ::MappingQ< dim, spacedim >::InternalData &data, const ArrayView< const Point< dim > > &unit_points, const std::vector< Polynomials::Polynomial< double > > &polynomials_1d, const std::vector< unsigned int > &renumber_lexicographic_to_hierarchic, std::vector< DerivativeForm< 3, dim, spacedim > > &jacobian_2nd_derivatives)
 
template<int dim, int spacedim>
void internal::MappingQImplementation::maybe_update_jacobian_pushed_forward_2nd_derivatives (const CellSimilarity::Similarity cell_similarity, const typename ::MappingQ< dim, spacedim >::InternalData &data, const ArrayView< const Point< dim > > &unit_points, const std::vector< Polynomials::Polynomial< double > > &polynomials_1d, const std::vector< unsigned int > &renumber_lexicographic_to_hierarchic, std::vector< Tensor< 4, spacedim > > &jacobian_pushed_forward_2nd_derivatives)
 
template<int dim, int spacedim, int length_tensor>
DerivativeForm< 4, dim, spacedim > internal::MappingQImplementation::expand_4th_derivatives (const Tensor< 1, length_tensor, Tensor< 1, spacedim > > &compressed)
 
template<int dim, int spacedim>
void internal::MappingQImplementation::maybe_update_jacobian_3rd_derivatives (const CellSimilarity::Similarity cell_similarity, const typename ::MappingQ< dim, spacedim >::InternalData &data, const ArrayView< const Point< dim > > &unit_points, const std::vector< Polynomials::Polynomial< double > > &polynomials_1d, const std::vector< unsigned int > &renumber_lexicographic_to_hierarchic, std::vector< DerivativeForm< 4, dim, spacedim > > &jacobian_3rd_derivatives)
 
template<int dim, int spacedim>
void internal::MappingQImplementation::maybe_update_jacobian_pushed_forward_3rd_derivatives (const CellSimilarity::Similarity cell_similarity, const typename ::MappingQ< dim, spacedim >::InternalData &data, const ArrayView< const Point< dim > > &unit_points, const std::vector< Polynomials::Polynomial< double > > &polynomials_1d, const std::vector< unsigned int > &renumber_lexicographic_to_hierarchic, std::vector< Tensor< 5, spacedim > > &jacobian_pushed_forward_3rd_derivatives)
 
template<int dim, int spacedim>
void internal::MappingQImplementation::maybe_compute_face_data (const ::MappingQ< dim, spacedim > &mapping, const typename ::Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, const unsigned int n_q_points, const std::vector< double > &weights, const typename ::MappingQ< dim, spacedim >::InternalData &data, internal::FEValuesImplementation::MappingRelatedData< dim, spacedim > &output_data)
 
template<int dim, int spacedim>
void internal::MappingQImplementation::do_fill_fe_face_values (const ::MappingQ< dim, spacedim > &mapping, const typename ::Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, const typename QProjector< dim >::DataSetDescriptor data_set, const Quadrature< dim - 1 > &quadrature, const typename ::MappingQ< dim, spacedim >::InternalData &data, const std::vector< Polynomials::Polynomial< double > > &polynomials_1d, const std::vector< unsigned int > &renumber_lexicographic_to_hierarchic, internal::FEValuesImplementation::MappingRelatedData< dim, spacedim > &output_data)
 
template<int dim, int spacedim, int rank>
void internal::MappingQImplementation::transform_fields (const ArrayView< const Tensor< rank, dim > > &input, const MappingKind mapping_kind, const typename Mapping< dim, spacedim >::InternalDataBase &mapping_data, const ArrayView< Tensor< rank, spacedim > > &output)
 
template<int dim, int spacedim, int rank>
void internal::MappingQImplementation::transform_gradients (const ArrayView< const Tensor< rank, dim > > &input, const MappingKind mapping_kind, const typename Mapping< dim, spacedim >::InternalDataBase &mapping_data, const ArrayView< Tensor< rank, spacedim > > &output)
 
template<int dim, int spacedim>
void internal::MappingQImplementation::transform_hessians (const ArrayView< const Tensor< 3, dim > > &input, const MappingKind mapping_kind, const typename Mapping< dim, spacedim >::InternalDataBase &mapping_data, const ArrayView< Tensor< 3, spacedim > > &output)
 
template<int dim, int spacedim, int rank>
void internal::MappingQImplementation::transform_differential_forms (const ArrayView< const DerivativeForm< rank, dim, spacedim > > &input, const MappingKind mapping_kind, const typename Mapping< dim, spacedim >::InternalDataBase &mapping_data, const ArrayView< Tensor< rank+1, spacedim > > &output)