Reference documentation for deal.II version 9.5.0
|
Classes | |
class | InverseQuadraticApproximation |
Functions | |
template<int dim> | |
std::vector< Point< dim > > | unit_support_points (const std::vector< Point< 1 > > &line_support_points, const std::vector< unsigned int > &renumbering) |
inline ::Table< 2, double > | compute_support_point_weights_on_quad (const unsigned int polynomial_degree) |
inline ::Table< 2, double > | compute_support_point_weights_on_hex (const unsigned int polynomial_degree) |
std::vector<::Table< 2, double > > | compute_support_point_weights_perimeter_to_interior (const unsigned int polynomial_degree, const unsigned int dim) |
template<int dim> | |
inline ::Table< 2, double > | compute_support_point_weights_cell (const unsigned int polynomial_degree) |
template<int dim, int spacedim> | |
Point< spacedim > | compute_mapped_location_of_point (const typename ::MappingQ< dim, spacedim >::InternalData &data) |
template<int dim, int spacedim, typename Number > | |
Point< dim, Number > | do_transform_real_to_unit_cell_internal (const Point< spacedim, Number > &p, const Point< dim, Number > &initial_p_unit, const std::vector< 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 > | do_transform_real_to_unit_cell_internal_codim1 (const Point< dim+1 > &p, const Point< dim > &initial_p_unit, const std::vector< Point< dim+1 > > &points, const std::vector< Polynomials::Polynomial< double > > &polynomials_1d, const std::vector< unsigned int > &renumber) |
template<int dim, int spacedim> | |
void | 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 | store_vectorized_tensor (const unsigned int n_points, const unsigned int cur_index, const DerivativeForm< 1, dim, spacedim, VectorizedArray< double > > &derivative, std::vector< DerivativeForm< 1, dim, spacedim > > &result_array) |
template<int dim, int spacedim> | |
void | 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 | 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 | 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 > | expand_3rd_derivatives (const Tensor< 1, length_tensor, Tensor< 1, spacedim > > &compressed) |
template<int dim, int spacedim> | |
void | 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 | 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 > | expand_4th_derivatives (const Tensor< 1, length_tensor, Tensor< 1, spacedim > > &compressed) |
template<int dim, int spacedim> | |
void | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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) |
Internal namespace to implement methods of MappingQ, such as the evaluation of the mapping and the transformation between real and unit cell.
std::vector< Point< dim > > internal::MappingQImplementation::unit_support_points | ( | const std::vector< Point< 1 > > & | line_support_points, |
const std::vector< unsigned int > & | renumbering | ||
) |
This function generates the reference cell support points from the 1d support points by expanding the tensor product.
Definition at line 218 of file mapping_q_internal.h.
inline ::Table< 2, double > internal::MappingQImplementation::compute_support_point_weights_on_quad | ( | const unsigned int | polynomial_degree | ) |
This function is needed by the constructor of MappingQ<dim,spacedim>
for dim=
2 and 3.
For the definition of the support_point_weights_on_quad
please refer to the description of TransfiniteInterpolationManifold.
Definition at line 248 of file mapping_q_internal.h.
inline ::Table< 2, double > internal::MappingQImplementation::compute_support_point_weights_on_hex | ( | const unsigned int | polynomial_degree | ) |
This function is needed by the constructor of MappingQ<3>
.
For the definition of the support_point_weights_on_quad
please refer to the description of TransfiniteInterpolationManifold.
Definition at line 300 of file mapping_q_internal.h.
|
inline |
This function collects the output of compute_support_point_weights_on_{quad,hex} in a single data structure.
Definition at line 389 of file mapping_q_internal.h.
inline ::Table< 2, double > internal::MappingQImplementation::compute_support_point_weights_cell | ( | const unsigned int | polynomial_degree | ) |
Collects all interior points for the various dimensions.
Definition at line 424 of file mapping_q_internal.h.
|
inline |
Using the relative weights of the shape functions evaluated at one point on the reference cell (and stored in data.shape_values and accessed via data.shape(0,i)) and the locations of mapping support points (stored in data.mapping_support_points), compute the mapped location of that point in real space.
Definition at line 456 of file mapping_q_internal.h.
|
inline |
Implementation of transform_real_to_unit_cell for either type double or VectorizedArray<double>
Definition at line 478 of file mapping_q_internal.h.
|
inline |
Implementation of transform_real_to_unit_cell for dim==spacedim-1
Definition at line 735 of file mapping_q_internal.h.
|
inline |
In case the quadrature formula is a tensor product, this is a replacement for maybe_compute_q_points(), maybe_update_Jacobians() and maybe_update_jacobian_grads()
Definition at line 1057 of file mapping_q_internal.h.
|
inline |
Definition at line 1244 of file mapping_q_internal.h.
|
inline |
Definition at line 1278 of file mapping_q_internal.h.
|
inline |
Update the Hessian of the transformation from unit to real cell, the Jacobian gradients.
Skip the computation if possible as indicated by the first argument.
Definition at line 1436 of file mapping_q_internal.h.
|
inline |
Update the Hessian of the transformation from unit to real cell, the Jacobian gradients, pushed forward to the real cell coordinates.
Skip the computation if possible as indicated by the first argument.
Definition at line 1478 of file mapping_q_internal.h.
|
inline |
Definition at line 1541 of file mapping_q_internal.h.
|
inline |
Update the third derivatives of the transformation from unit to real cell, the Jacobian hessians.
Skip the computation if possible as indicated by the first argument.
Definition at line 1593 of file mapping_q_internal.h.
|
inline |
Update the Hessian of the Hessian of the transformation from unit to real cell, the Jacobian Hessian gradients, pushed forward to the real cell coordinates.
Skip the computation if possible as indicated by the first argument.
Definition at line 1633 of file mapping_q_internal.h.
|
inline |
Definition at line 1714 of file mapping_q_internal.h.
|
inline |
Update the fourth derivatives of the transformation from unit to real cell, the Jacobian hessian gradients.
Skip the computation if possible as indicated by the first argument.
Definition at line 1780 of file mapping_q_internal.h.
|
inline |
Update the Hessian gradient of the transformation from unit to real cell, the Jacobian Hessians, pushed forward to the real cell coordinates.
Skip the computation if possible as indicated by the first argument.
Definition at line 1820 of file mapping_q_internal.h.
|
inline |
Depending on what information is called for in the update flags of the data
object, compute the various pieces of information that is required by the fill_fe_face_values() and fill_fe_subface_values() functions. This function simply unifies the work that would be done by those two functions.
The resulting data is put into the output_data
argument.
Definition at line 1931 of file mapping_q_internal.h.
|
inline |
Do the work of MappingQ::fill_fe_face_values() and MappingQ::fill_fe_subface_values() in a generic way, using the 'data_set' to differentiate whether we will work on a face (and if so, which one) or subface.
Definition at line 2083 of file mapping_q_internal.h.
|
inline |
Implementation of MappingQ::transform() for generic tensors.
Definition at line 2181 of file mapping_q_internal.h.
|
inline |
Implementation of MappingQ::transform() for gradients.
Definition at line 2261 of file mapping_q_internal.h.
|
inline |
Implementation of MappingQ::transform() for hessians.
Definition at line 2363 of file mapping_q_internal.h.
|
inline |
Implementation of MappingQ::transform() for DerivativeForm arguments.
Definition at line 2540 of file mapping_q_internal.h.