13#ifndef dealii_meshworker_scratch_data_h
14#define dealii_meshworker_scratch_data_h
29#include <boost/any.hpp>
206 template <
int dim,
int spacedim = dim>
430 const unsigned int face_no);
444 const unsigned int face_no,
445 const unsigned int subface_no);
463 const unsigned int face_no,
466 const unsigned int face_no_neighbor);
484 const unsigned int face_no,
485 const unsigned int sub_face_no,
488 const unsigned int face_no_neighbor,
489 const unsigned int sub_face_no_neighbor);
513 const std::vector<Point<spacedim>> &
519 const std::vector<double> &
525 const std::vector<Tensor<1, spacedim>> &
532 const std::vector<types::global_dof_index> &
570 const unsigned int face_no);
585 const unsigned int face_no,
586 const unsigned int subface_no);
605 const std::vector<double> &
611 const std::vector<Tensor<1, spacedim>> &
618 const std::vector<types::global_dof_index> &
654 const unsigned int face_no);
678 const unsigned int face_no,
679 const unsigned int subface_no);
701 const unsigned int face_no);
726 const unsigned int face_no,
727 const unsigned int subface_no);
860 template <
typename VectorType,
typename Number =
double>
863 const VectorType &input_vector,
864 const Number dummy = Number(0));
874 template <
typename Number =
double>
875 const std::vector<Number> &
877 Number dummy = Number(0))
const;
900 template <
typename Extractor,
typename Number =
double>
901 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
902 template solution_value_type<Number>> &
904 const Extractor &variable,
905 const Number dummy = Number(0));
928 template <
typename Extractor,
typename Number =
double>
929 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
930 template solution_gradient_type<Number>> &
932 const Extractor &variable,
933 const Number dummy = Number(0));
957 template <
typename Extractor,
typename Number =
double>
958 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
959 template solution_symmetric_gradient_type<Number>> &
961 const Extractor &variable,
962 const Number dummy = Number(0));
985 template <
typename Extractor,
typename Number =
double>
986 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
987 template solution_divergence_type<Number>> &
989 const Extractor &variable,
990 const Number dummy = Number(0));
1013 template <
typename Extractor,
typename Number =
double>
1014 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1015 template solution_curl_type<Number>> &
1017 const Extractor &variable,
1018 const Number dummy = Number(0));
1041 template <
typename Extractor,
typename Number =
double>
1042 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1043 template solution_hessian_type<Number>> &
1045 const Extractor &variable,
1046 const Number dummy = Number(0));
1069 template <
typename Extractor,
typename Number =
double>
1070 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1071 template solution_laplacian_type<Number>> &
1073 const Extractor &variable,
1074 const Number dummy = Number(0));
1097 template <
typename Extractor,
typename Number =
double>
1098 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1099 template solution_third_derivative_type<Number>> &
1101 const Extractor &variable,
1102 const Number dummy = Number(0));
1133 template <
typename Extractor,
typename Number =
double>
1136 template solution_value_type<Number>> &
1138 const Extractor &variable,
1139 const Number dummy = Number(0));
1163 template <
typename Extractor,
typename Number =
double>
1166 template solution_gradient_type<Number>> &
1168 const Extractor &variable,
1169 const Number dummy = Number(0));
1193 template <
typename Extractor,
typename Number =
double>
1196 template solution_hessian_type<Number>> &
1198 const Extractor &variable,
1199 const Number dummy = Number(0));
1223 template <
typename Extractor,
typename Number =
double>
1226 template solution_third_derivative_type<Number>> &
1228 const Extractor &variable,
1229 const Number dummy = Number(0));
1260 template <
typename Extractor,
typename Number =
double>
1263 template solution_value_type<Number>> &
1265 const Extractor &variable,
1266 const Number dummy = Number(0));
1290 template <
typename Extractor,
typename Number =
double>
1293 template solution_gradient_type<Number>> &
1295 const Extractor &variable,
1296 const Number dummy = Number(0));
1320 template <
typename Extractor,
typename Number =
double>
1323 template solution_hessian_type<Number>> &
1325 const Extractor &variable,
1326 const Number dummy = Number(0));
1335 template <
typename Extractor,
typename Number =
double>
1338 const Extractor &variable,
1339 const std::string &object_type,
1340 const unsigned int size,
1341 const Number &exemplar_number)
const;
1346 template <
typename Number =
double>
1349 const unsigned int size,
1350 const Number &exemplar_number)
const;
1484 std::unique_ptr<hp::FESubfaceValues<dim, spacedim>>
1494 "The current function doesn't make sense when used with a "
1495 "ScratchData object with hp-capabilities.");
1504 "The current function doesn't make sense when used with a "
1505 "ScratchData object without hp-capabilities.");
1566 template <
int dim,
int spacedim>
1567 template <
typename Extractor,
typename Number>
1570 const std::string &global_vector_name,
1571 const Extractor &variable,
1572 const std::string &object_type,
1573 const unsigned int size,
1574 const Number &exemplar_number)
const
1576 return global_vector_name +
"_" + variable.get_name() +
"_" + object_type +
1583 template <
int dim,
int spacedim>
1584 template <
typename Number>
1587 const std::string &global_vector_name,
1588 const unsigned int size,
1589 const Number &exemplar_number)
const
1591 return global_vector_name +
"_independent_local_dofs_" +
1598 template <
int dim,
int spacedim>
1599 template <
typename VectorType,
typename Number>
1602 const std::string &global_vector_name,
1603 const VectorType &input_vector,
1606 const unsigned int n_dofs = local_dof_indices.size();
1608 const std::string name =
1609 get_unique_dofs_name(global_vector_name, n_dofs, dummy);
1611 auto &independent_local_dofs =
1612 internal_data_storage
1613 .template get_or_add_object_with_name<std::vector<Number>>(name,
1619 for (
unsigned int i = 0; i < n_dofs; ++i)
1621 input_vector(local_dof_indices[i]),
1624 independent_local_dofs[i]);
1626 for (
unsigned int i = 0; i < n_dofs; ++i)
1627 independent_local_dofs[i] = input_vector(local_dof_indices[i]);
1632 template <
int dim,
int spacedim>
1633 template <
typename Number>
1634 const std::vector<Number> &
1636 const std::string &global_vector_name,
1639 const unsigned int n_dofs = local_dof_indices.size();
1641 const std::string dofs_name =
1642 get_unique_dofs_name(global_vector_name, n_dofs, dummy);
1645 internal_data_storage.stores_object_with_name(dofs_name),
1647 "You did not call yet extract_local_dof_values with the right types!"));
1649 return internal_data_storage
1650 .template get_object_with_name<std::vector<Number>>(dofs_name);
1655 template <
int dim,
int spacedim>
1656 template <
typename Extractor,
typename Number>
1657 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1658 template solution_value_type<Number>> &
1660 const Extractor &variable,
1663 const std::vector<Number> &independent_local_dofs =
1664 get_local_dof_values(global_vector_name, dummy);
1670 const std::string name = get_unique_name(
1671 global_vector_name, variable,
"_values_q", n_q_points, dummy);
1675 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1676 template solution_value_type<Number>>;
1679 internal_data_storage.template get_or_add_object_with_name<RetType>(
1684 fev[variable].get_function_values_from_local_dof_values(
1685 independent_local_dofs, ret);
1691 template <
int dim,
int spacedim>
1692 template <
typename Extractor,
typename Number>
1693 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1694 template solution_gradient_type<Number>> &
1696 const std::string &global_vector_name,
1697 const Extractor &variable,
1700 const std::vector<Number> &independent_local_dofs =
1701 get_local_dof_values(global_vector_name, dummy);
1707 const std::string name = get_unique_name(
1708 global_vector_name, variable,
"_gradients_q", n_q_points, dummy);
1712 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1713 template solution_gradient_type<Number>>;
1716 internal_data_storage.template get_or_add_object_with_name<RetType>(
1721 fev[variable].get_function_gradients_from_local_dof_values(
1722 independent_local_dofs, ret);
1728 template <
int dim,
int spacedim>
1729 template <
typename Extractor,
typename Number>
1730 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1731 template solution_hessian_type<Number>> &
1733 const std::string &global_vector_name,
1734 const Extractor &variable,
1737 const std::vector<Number> &independent_local_dofs =
1738 get_local_dof_values(global_vector_name, dummy);
1744 const std::string name = get_unique_name(
1745 global_vector_name, variable,
"_hessians_q", n_q_points, dummy);
1749 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1750 template solution_hessian_type<Number>>;
1753 internal_data_storage.template get_or_add_object_with_name<RetType>(
1759 fev[variable].get_function_hessians_from_local_dof_values(
1760 independent_local_dofs, ret);
1766 template <
int dim,
int spacedim>
1767 template <
typename Extractor,
typename Number>
1768 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1769 template solution_laplacian_type<Number>> &
1771 const std::string &global_vector_name,
1772 const Extractor &variable,
1775 const std::vector<Number> &independent_local_dofs =
1776 get_local_dof_values(global_vector_name, dummy);
1782 const std::string name = get_unique_name(
1783 global_vector_name, variable,
"_laplacians_q", n_q_points, dummy);
1787 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1788 template solution_laplacian_type<Number>>;
1791 internal_data_storage.template get_or_add_object_with_name<RetType>(
1797 fev[variable].get_function_laplacians_from_local_dof_values(
1798 independent_local_dofs, ret);
1804 template <
int dim,
int spacedim>
1805 template <
typename Extractor,
typename Number>
1806 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1807 template solution_third_derivative_type<Number>> &
1809 const std::string &global_vector_name,
1810 const Extractor &variable,
1813 const std::vector<Number> &independent_local_dofs =
1814 get_local_dof_values(global_vector_name, dummy);
1820 const std::string name = get_unique_name(
1821 global_vector_name, variable,
"_third_derivatives_q", n_q_points, dummy);
1825 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1826 template solution_third_derivative_type<Number>>;
1829 internal_data_storage.template get_or_add_object_with_name<RetType>(
1835 fev[variable].get_function_third_derivatives_from_local_dof_values(
1836 independent_local_dofs, ret);
1842 template <
int dim,
int spacedim>
1843 template <
typename Extractor,
typename Number>
1844 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1845 template solution_symmetric_gradient_type<Number>> &
1847 const std::string &global_vector_name,
1848 const Extractor &variable,
1851 const std::vector<Number> &independent_local_dofs =
1852 get_local_dof_values(global_vector_name, dummy);
1858 const std::string name = get_unique_name(
1859 global_vector_name, variable,
"_symmetric_gradient_q", n_q_points, dummy);
1864 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1865 template solution_symmetric_gradient_type<Number>>;
1868 internal_data_storage.template get_or_add_object_with_name<RetType>(
1874 fev[variable].get_function_symmetric_gradients_from_local_dof_values(
1875 independent_local_dofs, ret);
1880 template <
int dim,
int spacedim>
1881 template <
typename Extractor,
typename Number>
1882 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1883 template solution_divergence_type<Number>> &
1885 const std::string &global_vector_name,
1886 const Extractor &variable,
1889 const std::vector<Number> &independent_local_dofs =
1890 get_local_dof_values(global_vector_name, dummy);
1896 const std::string name = get_unique_name(
1897 global_vector_name, variable,
"_divergence_q", n_q_points, dummy);
1901 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1902 template solution_divergence_type<Number>>;
1905 internal_data_storage.template get_or_add_object_with_name<RetType>(
1911 fev[variable].get_function_divergences_from_local_dof_values(
1912 independent_local_dofs, ret);
1918 template <
int dim,
int spacedim>
1919 template <
typename Extractor,
typename Number>
1920 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1921 template solution_curl_type<Number>> &
1923 const Extractor &variable,
1926 const std::vector<Number> &independent_local_dofs =
1927 get_local_dof_values(global_vector_name, dummy);
1933 const std::string name = get_unique_name(
1934 global_vector_name, variable,
"_curl_q", n_q_points, dummy);
1938 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1939 template solution_curl_type<Number>>;
1942 internal_data_storage.template get_or_add_object_with_name<RetType>(
1947 fev[variable].get_function_curls_from_local_dof_values(
1948 independent_local_dofs, ret);
1954 template <
int dim,
int spacedim>
1955 template <
typename Extractor,
typename Number>
1956 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
1957 template solution_value_type<Number>> &
1959 const std::string &global_vector_name,
1960 const Extractor &variable,
1963 const std::vector<Number> &independent_local_dofs =
1964 get_local_dof_values(global_vector_name, dummy);
1967 get_current_interface_fe_values();
1974 const std::string name = get_unique_name(
1975 global_vector_name, variable,
"_jump_values_q", n_q_points, dummy);
1979 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1980 template solution_value_type<Number>>;
1983 internal_data_storage.template get_or_add_object_with_name<RetType>(
1988 feiv[variable].get_jump_in_function_values_from_local_dof_values(
1989 independent_local_dofs, ret);
1995 template <
int dim,
int spacedim>
1996 template <
typename Extractor,
typename Number>
1997 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
1998 template solution_gradient_type<Number>> &
2000 const std::string &global_vector_name,
2001 const Extractor &variable,
2004 const std::vector<Number> &independent_local_dofs =
2005 get_local_dof_values(global_vector_name, dummy);
2008 get_current_interface_fe_values();
2015 const std::string name = get_unique_name(
2016 global_vector_name, variable,
"_jump_gradients_q", n_q_points, dummy);
2020 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2021 template solution_gradient_type<Number>>;
2024 internal_data_storage.template get_or_add_object_with_name<RetType>(
2029 feiv[variable].get_jump_in_function_gradients_from_local_dof_values(
2030 independent_local_dofs, ret);
2036 template <
int dim,
int spacedim>
2037 template <
typename Extractor,
typename Number>
2038 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2039 template solution_hessian_type<Number>> &
2041 const std::string &global_vector_name,
2042 const Extractor &variable,
2045 const std::vector<Number> &independent_local_dofs =
2046 get_local_dof_values(global_vector_name, dummy);
2049 get_current_interface_fe_values();
2056 const std::string name = get_unique_name(
2057 global_vector_name, variable,
"_jump_hessians_q", n_q_points, dummy);
2061 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2062 template solution_hessian_type<Number>>;
2065 internal_data_storage.template get_or_add_object_with_name<RetType>(
2070 feiv[variable].get_jump_in_function_hessians_from_local_dof_values(
2071 independent_local_dofs, ret);
2077 template <
int dim,
int spacedim>
2078 template <
typename Extractor,
typename Number>
2079 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2080 template solution_third_derivative_type<Number>> &
2082 const std::string &global_vector_name,
2083 const Extractor &variable,
2086 const std::vector<Number> &independent_local_dofs =
2087 get_local_dof_values(global_vector_name, dummy);
2090 get_current_interface_fe_values();
2097 const std::string name = get_unique_name(global_vector_name,
2099 "_jump_third_derivatives_q",
2105 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2106 template solution_third_derivative_type<Number>>;
2109 internal_data_storage.template get_or_add_object_with_name<RetType>(
2114 feiv[variable].get_jump_in_function_third_derivatives_from_local_dof_values(
2115 independent_local_dofs, ret);
2121 template <
int dim,
int spacedim>
2122 template <
typename Extractor,
typename Number>
2123 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2124 template solution_value_type<Number>> &
2126 const std::string &global_vector_name,
2127 const Extractor &variable,
2130 const std::vector<Number> &independent_local_dofs =
2131 get_local_dof_values(global_vector_name, dummy);
2134 get_current_interface_fe_values();
2141 const std::string name = get_unique_name(
2142 global_vector_name, variable,
"_average_values_q", n_q_points, dummy);
2146 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2147 template solution_value_type<Number>>;
2150 internal_data_storage.template get_or_add_object_with_name<RetType>(
2155 feiv[variable].get_average_of_function_values_from_local_dof_values(
2156 independent_local_dofs, ret);
2162 template <
int dim,
int spacedim>
2163 template <
typename Extractor,
typename Number>
2164 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2165 template solution_gradient_type<Number>> &
2167 const std::string &global_vector_name,
2168 const Extractor &variable,
2171 const std::vector<Number> &independent_local_dofs =
2172 get_local_dof_values(global_vector_name, dummy);
2175 get_current_interface_fe_values();
2182 const std::string name = get_unique_name(
2183 global_vector_name, variable,
"_average_gradients_q", n_q_points, dummy);
2187 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2188 template solution_gradient_type<Number>>;
2191 internal_data_storage.template get_or_add_object_with_name<RetType>(
2196 feiv[variable].get_average_of_function_gradients_from_local_dof_values(
2197 independent_local_dofs, ret);
2203 template <
int dim,
int spacedim>
2204 template <
typename Extractor,
typename Number>
2205 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2206 template solution_hessian_type<Number>> &
2208 const std::string &global_vector_name,
2209 const Extractor &variable,
2212 const std::vector<Number> &independent_local_dofs =
2213 get_local_dof_values(global_vector_name, dummy);
2216 get_current_interface_fe_values();
2223 const std::string name = get_unique_name(
2224 global_vector_name, variable,
"_average_hessians_q", n_q_points, dummy);
2228 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2229 template solution_hessian_type<Number>>;
2232 internal_data_storage.template get_or_add_object_with_name<RetType>(
2237 feiv[variable].get_average_of_function_hessians_from_local_dof_values(
2238 independent_local_dofs, ret);
const unsigned int n_quadrature_points
unsigned n_current_interface_dofs() const
const unsigned int n_quadrature_points
Abstract base class for mapping classes.
GeneralDataStorage user_data_storage
hp::QCollection< dim - 1 > face_quadrature_collection
const std::vector< typename FEInterfaceViews::View< dim, spacedim, Extractor >::template solution_gradient_type< Number > > & get_jumps_in_gradients(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
bool has_hp_capabilities() const
const hp::MappingCollection< dim, spacedim > & get_mapping_collection() const
const std::vector< typename FEValuesViews::View< dim, spacedim, Extractor >::template solution_value_type< Number > > & get_values(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
const FEValuesBase< dim, spacedim > & get_current_fe_values() const
GeneralDataStorage & get_general_data_storage()
const Quadrature< dim - 1 > & get_face_quadrature() const
std::string get_unique_name(const std::string &global_vector_name, const Extractor &variable, const std::string &object_type, const unsigned int size, const Number &exemplar_number) const
const std::vector< typename FEInterfaceViews::View< dim, spacedim, Extractor >::template solution_value_type< Number > > & get_jumps_in_values(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
const std::vector< typename FEValuesViews::View< dim, spacedim, Extractor >::template solution_divergence_type< Number > > & get_divergences(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
const std::vector< Tensor< 1, spacedim > > & get_neighbor_normal_vectors()
unsigned int n_dofs_per_cell() const
std::unique_ptr< hp::FESubfaceValues< dim, spacedim > > hp_fe_subface_values
unsigned int n_neighbor_dofs_per_cell() const
std::unique_ptr< FEValues< dim, spacedim > > neighbor_fe_values
std::unique_ptr< FEFaceValues< dim, spacedim > > fe_face_values
std::string get_unique_dofs_name(const std::string &global_vector_name, const unsigned int size, const Number &exemplar_number) const
void extract_local_dof_values(const std::string &global_vector_name, const VectorType &input_vector, const Number dummy=Number(0))
std::unique_ptr< FEValues< dim, spacedim > > fe_values
UpdateFlags cell_update_flags
const std::vector< double > & get_JxW_values() const
const Mapping< dim, spacedim > & get_mapping() const
ObserverPointer< const Mapping< dim, spacedim > > mapping
std::unique_ptr< FEInterfaceValues< dim, spacedim > > interface_fe_values
const std::vector< double > & get_neighbor_JxW_values() const
Quadrature< dim > cell_quadrature
const std::vector< typename FEInterfaceViews::View< dim, spacedim, Extractor >::template solution_value_type< Number > > & get_averages_of_values(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
ObserverPointer< const hp::FECollection< dim, spacedim > > fe_collection
const FiniteElement< dim, spacedim > & get_fe() const
std::unique_ptr< FEFaceValues< dim, spacedim > > neighbor_fe_face_values
const std::vector< typename FEInterfaceViews::View< dim, spacedim, Extractor >::template solution_gradient_type< Number > > & get_averages_of_gradients(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
const hp::QCollection< dim > & get_cell_quadrature_collection() const
std::vector< types::global_dof_index > neighbor_dof_indices
UpdateFlags face_update_flags
const std::vector< types::global_dof_index > & get_neighbor_dof_indices() const
UpdateFlags get_face_update_flags() const
const std::vector< typename FEInterfaceViews::View< dim, spacedim, Extractor >::template solution_hessian_type< Number > > & get_jumps_in_hessians(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
const std::vector< typename FEValuesViews::View< dim, spacedim, Extractor >::template solution_laplacian_type< Number > > & get_laplacians(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
std::unique_ptr< hp::FEValues< dim, spacedim > > hp_fe_values
ObserverPointer< const FEValuesBase< dim, spacedim > > current_fe_values
UpdateFlags neighbor_cell_update_flags
const std::vector< typename FEValuesViews::View< dim, spacedim, Extractor >::template solution_third_derivative_type< Number > > & get_third_derivatives(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
bool hp_capability_enabled
UpdateFlags get_neighbor_cell_update_flags() const
const hp::FECollection< dim, spacedim > & get_fe_collection() const
const std::vector< Tensor< 1, spacedim > > & get_normal_vectors() const
const std::vector< typename FEValuesViews::View< dim, spacedim, Extractor >::template solution_curl_type< Number > > & get_curls(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
const FEValues< dim, spacedim > & reinit_neighbor(const typename DoFHandler< dim, spacedim >::active_cell_iterator &cell)
std::unique_ptr< hp::FEFaceValues< dim, spacedim > > neighbor_hp_fe_face_values
ObserverPointer< const FiniteElement< dim, spacedim > > fe
const std::vector< typename FEValuesViews::View< dim, spacedim, Extractor >::template solution_hessian_type< Number > > & get_hessians(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
std::vector< types::global_dof_index > local_dof_indices
const std::vector< typename FEInterfaceViews::View< dim, spacedim, Extractor >::template solution_third_derivative_type< Number > > & get_jumps_in_third_derivatives(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
const std::vector< Number > & get_local_dof_values(const std::string &global_vector_name, Number dummy=Number(0)) const
const std::vector< Point< spacedim > > & get_quadrature_points() const
std::unique_ptr< hp::FEValues< dim, spacedim > > neighbor_hp_fe_values
ObserverPointer< const FEValuesBase< dim, spacedim > > current_neighbor_fe_values
const FEValuesBase< dim, spacedim > & get_current_neighbor_fe_values() const
const std::vector< types::global_dof_index > & get_local_dof_indices() const
const std::vector< typename FEValuesViews::View< dim, spacedim, Extractor >::template solution_symmetric_gradient_type< Number > > & get_symmetric_gradients(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
Quadrature< dim - 1 > face_quadrature
const std::vector< typename FEInterfaceViews::View< dim, spacedim, Extractor >::template solution_hessian_type< Number > > & get_averages_of_hessians(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
const FEInterfaceValues< dim, spacedim > & get_current_interface_fe_values() const
hp::QCollection< dim > cell_quadrature_collection
UpdateFlags get_cell_update_flags() const
const std::vector< typename FEValuesViews::View< dim, spacedim, Extractor >::template solution_gradient_type< Number > > & get_gradients(const std::string &global_vector_name, const Extractor &variable, const Number dummy=Number(0))
UpdateFlags neighbor_face_update_flags
const Quadrature< dim > & get_cell_quadrature() const
const hp::QCollection< dim - 1 > & get_face_quadrature_collection() const
std::unique_ptr< FESubfaceValues< dim, spacedim > > neighbor_fe_subface_values
ObserverPointer< const hp::MappingCollection< dim, spacedim > > mapping_collection
const FEValues< dim, spacedim > & reinit(const typename DoFHandler< dim, spacedim >::active_cell_iterator &cell)
std::unique_ptr< hp::FESubfaceValues< dim, spacedim > > neighbor_hp_fe_subface_values
std::unique_ptr< FESubfaceValues< dim, spacedim > > fe_subface_values
GeneralDataStorage internal_data_storage
UpdateFlags get_neighbor_face_update_flags() const
std::unique_ptr< hp::FEFaceValues< dim, spacedim > > hp_fe_face_values
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define Assert(cond, exc)
#define AssertDimension(dim1, dim2)
static ::ExceptionBase & ExcOnlyAvailableWithoutHP()
#define DeclExceptionMsg(Exception, defaulttext)
static ::ExceptionBase & ExcMessage(std::string arg1)
static ::ExceptionBase & ExcOnlyAvailableWithHP()
typename ActiveSelector::active_cell_iterator active_cell_iterator
@ update_default
No update.
typename ::internal::FEInterfaceViews::ViewType< dim, spacedim, Extractor >::type View
std::string type_to_string(const T &t)
std::string int_to_string(const unsigned int value, const unsigned int digits=numbers::invalid_unsigned_int)