15#ifndef dealii_meshworker_scratch_data_h
16#define dealii_meshworker_scratch_data_h
31#include <boost/any.hpp>
208 template <
int dim,
int spacedim = dim>
432 const unsigned int face_no);
446 const unsigned int face_no,
447 const unsigned int subface_no);
465 const unsigned int face_no,
468 const unsigned int face_no_neighbor);
486 const unsigned int face_no,
487 const unsigned int sub_face_no,
490 const unsigned int face_no_neighbor,
491 const unsigned int sub_face_no_neighbor);
515 const std::vector<Point<spacedim>> &
521 const std::vector<double> &
527 const std::vector<Tensor<1, spacedim>> &
534 const std::vector<types::global_dof_index> &
572 const unsigned int face_no);
587 const unsigned int face_no,
588 const unsigned int subface_no);
607 const std::vector<double> &
613 const std::vector<Tensor<1, spacedim>> &
620 const std::vector<types::global_dof_index> &
656 const unsigned int face_no);
680 const unsigned int face_no,
681 const unsigned int subface_no);
703 const unsigned int face_no);
728 const unsigned int face_no,
729 const unsigned int subface_no);
862 template <
typename VectorType,
typename Number =
double>
865 const VectorType &input_vector,
866 const Number dummy = Number(0));
876 template <
typename Number =
double>
877 const std::vector<Number> &
879 Number dummy = Number(0))
const;
902 template <
typename Extractor,
typename Number =
double>
903 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
904 template solution_value_type<Number>> &
906 const Extractor &variable,
907 const Number dummy = Number(0));
930 template <
typename Extractor,
typename Number =
double>
931 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
932 template solution_gradient_type<Number>> &
934 const Extractor &variable,
935 const Number dummy = Number(0));
959 template <
typename Extractor,
typename Number =
double>
960 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
961 template solution_symmetric_gradient_type<Number>> &
963 const Extractor &variable,
964 const Number dummy = Number(0));
987 template <
typename Extractor,
typename Number =
double>
988 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
989 template solution_divergence_type<Number>> &
991 const Extractor &variable,
992 const Number dummy = Number(0));
1015 template <
typename Extractor,
typename Number =
double>
1016 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1017 template solution_curl_type<Number>> &
1019 const Extractor &variable,
1020 const Number dummy = Number(0));
1043 template <
typename Extractor,
typename Number =
double>
1044 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1045 template solution_hessian_type<Number>> &
1047 const Extractor &variable,
1048 const Number dummy = Number(0));
1071 template <
typename Extractor,
typename Number =
double>
1072 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1073 template solution_laplacian_type<Number>> &
1075 const Extractor &variable,
1076 const Number dummy = Number(0));
1099 template <
typename Extractor,
typename Number =
double>
1100 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1101 template solution_third_derivative_type<Number>> &
1103 const Extractor &variable,
1104 const Number dummy = Number(0));
1135 template <
typename Extractor,
typename Number =
double>
1138 template solution_value_type<Number>> &
1140 const Extractor &variable,
1141 const Number dummy = Number(0));
1165 template <
typename Extractor,
typename Number =
double>
1168 template solution_gradient_type<Number>> &
1170 const Extractor &variable,
1171 const Number dummy = Number(0));
1195 template <
typename Extractor,
typename Number =
double>
1198 template solution_hessian_type<Number>> &
1200 const Extractor &variable,
1201 const Number dummy = Number(0));
1225 template <
typename Extractor,
typename Number =
double>
1228 template solution_third_derivative_type<Number>> &
1230 const Extractor &variable,
1231 const Number dummy = Number(0));
1262 template <
typename Extractor,
typename Number =
double>
1265 template solution_value_type<Number>> &
1267 const Extractor &variable,
1268 const Number dummy = Number(0));
1292 template <
typename Extractor,
typename Number =
double>
1295 template solution_gradient_type<Number>> &
1297 const Extractor &variable,
1298 const Number dummy = Number(0));
1322 template <
typename Extractor,
typename Number =
double>
1325 template solution_hessian_type<Number>> &
1327 const Extractor &variable,
1328 const Number dummy = Number(0));
1337 template <
typename Extractor,
typename Number =
double>
1340 const Extractor &variable,
1341 const std::string &object_type,
1342 const unsigned int size,
1343 const Number &exemplar_number)
const;
1348 template <
typename Number =
double>
1351 const unsigned int size,
1352 const Number &exemplar_number)
const;
1486 std::unique_ptr<hp::FESubfaceValues<dim, spacedim>>
1496 "The current function doesn't make sense when used with a "
1497 "ScratchData object with hp-capabilities.");
1506 "The current function doesn't make sense when used with a "
1507 "ScratchData object without hp-capabilities.");
1568 template <
int dim,
int spacedim>
1569 template <
typename Extractor,
typename Number>
1572 const std::string &global_vector_name,
1573 const Extractor &variable,
1574 const std::string &object_type,
1575 const unsigned int size,
1576 const Number &exemplar_number)
const
1578 return global_vector_name +
"_" + variable.get_name() +
"_" + object_type +
1585 template <
int dim,
int spacedim>
1586 template <
typename Number>
1589 const std::string &global_vector_name,
1590 const unsigned int size,
1591 const Number &exemplar_number)
const
1593 return global_vector_name +
"_independent_local_dofs_" +
1600 template <
int dim,
int spacedim>
1601 template <
typename VectorType,
typename Number>
1604 const std::string &global_vector_name,
1605 const VectorType &input_vector,
1608 const unsigned int n_dofs = local_dof_indices.size();
1610 const std::string name =
1611 get_unique_dofs_name(global_vector_name, n_dofs, dummy);
1613 auto &independent_local_dofs =
1614 internal_data_storage
1615 .template get_or_add_object_with_name<std::vector<Number>>(name,
1621 for (
unsigned int i = 0; i < n_dofs; ++i)
1623 input_vector(local_dof_indices[i]),
1626 independent_local_dofs[i]);
1628 for (
unsigned int i = 0; i < n_dofs; ++i)
1629 independent_local_dofs[i] = input_vector(local_dof_indices[i]);
1634 template <
int dim,
int spacedim>
1635 template <
typename Number>
1636 const std::vector<Number> &
1638 const std::string &global_vector_name,
1641 const unsigned int n_dofs = local_dof_indices.size();
1643 const std::string dofs_name =
1644 get_unique_dofs_name(global_vector_name, n_dofs, dummy);
1647 internal_data_storage.stores_object_with_name(dofs_name),
1649 "You did not call yet extract_local_dof_values with the right types!"));
1651 return internal_data_storage
1652 .template get_object_with_name<std::vector<Number>>(dofs_name);
1657 template <
int dim,
int spacedim>
1658 template <
typename Extractor,
typename Number>
1659 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1660 template solution_value_type<Number>> &
1662 const Extractor &variable,
1665 const std::vector<Number> &independent_local_dofs =
1666 get_local_dof_values(global_vector_name, dummy);
1672 const std::string name = get_unique_name(
1673 global_vector_name, variable,
"_values_q", n_q_points, dummy);
1677 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1678 template solution_value_type<Number>>;
1681 internal_data_storage.template get_or_add_object_with_name<RetType>(
1686 fev[variable].get_function_values_from_local_dof_values(
1687 independent_local_dofs, ret);
1693 template <
int dim,
int spacedim>
1694 template <
typename Extractor,
typename Number>
1695 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1696 template solution_gradient_type<Number>> &
1698 const std::string &global_vector_name,
1699 const Extractor &variable,
1702 const std::vector<Number> &independent_local_dofs =
1703 get_local_dof_values(global_vector_name, dummy);
1709 const std::string name = get_unique_name(
1710 global_vector_name, variable,
"_gradients_q", n_q_points, dummy);
1714 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1715 template solution_gradient_type<Number>>;
1718 internal_data_storage.template get_or_add_object_with_name<RetType>(
1723 fev[variable].get_function_gradients_from_local_dof_values(
1724 independent_local_dofs, ret);
1730 template <
int dim,
int spacedim>
1731 template <
typename Extractor,
typename Number>
1732 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1733 template solution_hessian_type<Number>> &
1735 const std::string &global_vector_name,
1736 const Extractor &variable,
1739 const std::vector<Number> &independent_local_dofs =
1740 get_local_dof_values(global_vector_name, dummy);
1746 const std::string name = get_unique_name(
1747 global_vector_name, variable,
"_hessians_q", n_q_points, dummy);
1751 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1752 template solution_hessian_type<Number>>;
1755 internal_data_storage.template get_or_add_object_with_name<RetType>(
1761 fev[variable].get_function_hessians_from_local_dof_values(
1762 independent_local_dofs, ret);
1768 template <
int dim,
int spacedim>
1769 template <
typename Extractor,
typename Number>
1770 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1771 template solution_laplacian_type<Number>> &
1773 const std::string &global_vector_name,
1774 const Extractor &variable,
1777 const std::vector<Number> &independent_local_dofs =
1778 get_local_dof_values(global_vector_name, dummy);
1784 const std::string name = get_unique_name(
1785 global_vector_name, variable,
"_laplacians_q", n_q_points, dummy);
1789 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1790 template solution_laplacian_type<Number>>;
1793 internal_data_storage.template get_or_add_object_with_name<RetType>(
1799 fev[variable].get_function_laplacians_from_local_dof_values(
1800 independent_local_dofs, ret);
1806 template <
int dim,
int spacedim>
1807 template <
typename Extractor,
typename Number>
1808 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1809 template solution_third_derivative_type<Number>> &
1811 const std::string &global_vector_name,
1812 const Extractor &variable,
1815 const std::vector<Number> &independent_local_dofs =
1816 get_local_dof_values(global_vector_name, dummy);
1822 const std::string name = get_unique_name(
1823 global_vector_name, variable,
"_third_derivatives_q", n_q_points, dummy);
1827 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1828 template solution_third_derivative_type<Number>>;
1831 internal_data_storage.template get_or_add_object_with_name<RetType>(
1837 fev[variable].get_function_third_derivatives_from_local_dof_values(
1838 independent_local_dofs, ret);
1844 template <
int dim,
int spacedim>
1845 template <
typename Extractor,
typename Number>
1846 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1847 template solution_symmetric_gradient_type<Number>> &
1849 const std::string &global_vector_name,
1850 const Extractor &variable,
1853 const std::vector<Number> &independent_local_dofs =
1854 get_local_dof_values(global_vector_name, dummy);
1860 const std::string name = get_unique_name(
1861 global_vector_name, variable,
"_symmetric_gradient_q", n_q_points, dummy);
1866 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1867 template solution_symmetric_gradient_type<Number>>;
1870 internal_data_storage.template get_or_add_object_with_name<RetType>(
1876 fev[variable].get_function_symmetric_gradients_from_local_dof_values(
1877 independent_local_dofs, ret);
1882 template <
int dim,
int spacedim>
1883 template <
typename Extractor,
typename Number>
1884 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1885 template solution_divergence_type<Number>> &
1887 const std::string &global_vector_name,
1888 const Extractor &variable,
1891 const std::vector<Number> &independent_local_dofs =
1892 get_local_dof_values(global_vector_name, dummy);
1898 const std::string name = get_unique_name(
1899 global_vector_name, variable,
"_divergence_q", n_q_points, dummy);
1903 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1904 template solution_divergence_type<Number>>;
1907 internal_data_storage.template get_or_add_object_with_name<RetType>(
1913 fev[variable].get_function_divergences_from_local_dof_values(
1914 independent_local_dofs, ret);
1920 template <
int dim,
int spacedim>
1921 template <
typename Extractor,
typename Number>
1922 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1923 template solution_curl_type<Number>> &
1925 const Extractor &variable,
1928 const std::vector<Number> &independent_local_dofs =
1929 get_local_dof_values(global_vector_name, dummy);
1935 const std::string name = get_unique_name(
1936 global_vector_name, variable,
"_curl_q", n_q_points, dummy);
1940 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1941 template solution_curl_type<Number>>;
1944 internal_data_storage.template get_or_add_object_with_name<RetType>(
1949 fev[variable].get_function_curls_from_local_dof_values(
1950 independent_local_dofs, ret);
1956 template <
int dim,
int spacedim>
1957 template <
typename Extractor,
typename Number>
1958 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
1959 template solution_value_type<Number>> &
1961 const std::string &global_vector_name,
1962 const Extractor &variable,
1965 const std::vector<Number> &independent_local_dofs =
1966 get_local_dof_values(global_vector_name, dummy);
1969 get_current_interface_fe_values();
1976 const std::string name = get_unique_name(
1977 global_vector_name, variable,
"_jump_values_q", n_q_points, dummy);
1981 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1982 template solution_value_type<Number>>;
1985 internal_data_storage.template get_or_add_object_with_name<RetType>(
1990 feiv[variable].get_jump_in_function_values_from_local_dof_values(
1991 independent_local_dofs, ret);
1997 template <
int dim,
int spacedim>
1998 template <
typename Extractor,
typename Number>
1999 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2000 template solution_gradient_type<Number>> &
2002 const std::string &global_vector_name,
2003 const Extractor &variable,
2006 const std::vector<Number> &independent_local_dofs =
2007 get_local_dof_values(global_vector_name, dummy);
2010 get_current_interface_fe_values();
2017 const std::string name = get_unique_name(
2018 global_vector_name, variable,
"_jump_gradients_q", n_q_points, dummy);
2022 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2023 template solution_gradient_type<Number>>;
2026 internal_data_storage.template get_or_add_object_with_name<RetType>(
2031 feiv[variable].get_jump_in_function_gradients_from_local_dof_values(
2032 independent_local_dofs, ret);
2038 template <
int dim,
int spacedim>
2039 template <
typename Extractor,
typename Number>
2040 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2041 template solution_hessian_type<Number>> &
2043 const std::string &global_vector_name,
2044 const Extractor &variable,
2047 const std::vector<Number> &independent_local_dofs =
2048 get_local_dof_values(global_vector_name, dummy);
2051 get_current_interface_fe_values();
2058 const std::string name = get_unique_name(
2059 global_vector_name, variable,
"_jump_hessians_q", n_q_points, dummy);
2063 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2064 template solution_hessian_type<Number>>;
2067 internal_data_storage.template get_or_add_object_with_name<RetType>(
2072 feiv[variable].get_jump_in_function_hessians_from_local_dof_values(
2073 independent_local_dofs, ret);
2079 template <
int dim,
int spacedim>
2080 template <
typename Extractor,
typename Number>
2081 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2082 template solution_third_derivative_type<Number>> &
2084 const std::string &global_vector_name,
2085 const Extractor &variable,
2088 const std::vector<Number> &independent_local_dofs =
2089 get_local_dof_values(global_vector_name, dummy);
2092 get_current_interface_fe_values();
2099 const std::string name = get_unique_name(global_vector_name,
2101 "_jump_third_derivatives_q",
2107 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2108 template solution_third_derivative_type<Number>>;
2111 internal_data_storage.template get_or_add_object_with_name<RetType>(
2116 feiv[variable].get_jump_in_function_third_derivatives_from_local_dof_values(
2117 independent_local_dofs, ret);
2123 template <
int dim,
int spacedim>
2124 template <
typename Extractor,
typename Number>
2125 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2126 template solution_value_type<Number>> &
2128 const std::string &global_vector_name,
2129 const Extractor &variable,
2132 const std::vector<Number> &independent_local_dofs =
2133 get_local_dof_values(global_vector_name, dummy);
2136 get_current_interface_fe_values();
2143 const std::string name = get_unique_name(
2144 global_vector_name, variable,
"_average_values_q", n_q_points, dummy);
2148 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2149 template solution_value_type<Number>>;
2152 internal_data_storage.template get_or_add_object_with_name<RetType>(
2157 feiv[variable].get_average_of_function_values_from_local_dof_values(
2158 independent_local_dofs, ret);
2164 template <
int dim,
int spacedim>
2165 template <
typename Extractor,
typename Number>
2166 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2167 template solution_gradient_type<Number>> &
2169 const std::string &global_vector_name,
2170 const Extractor &variable,
2173 const std::vector<Number> &independent_local_dofs =
2174 get_local_dof_values(global_vector_name, dummy);
2177 get_current_interface_fe_values();
2184 const std::string name = get_unique_name(
2185 global_vector_name, variable,
"_average_gradients_q", n_q_points, dummy);
2189 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2190 template solution_gradient_type<Number>>;
2193 internal_data_storage.template get_or_add_object_with_name<RetType>(
2198 feiv[variable].get_average_of_function_gradients_from_local_dof_values(
2199 independent_local_dofs, ret);
2205 template <
int dim,
int spacedim>
2206 template <
typename Extractor,
typename Number>
2207 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2208 template solution_hessian_type<Number>> &
2210 const std::string &global_vector_name,
2211 const Extractor &variable,
2214 const std::vector<Number> &independent_local_dofs =
2215 get_local_dof_values(global_vector_name, dummy);
2218 get_current_interface_fe_values();
2225 const std::string name = get_unique_name(
2226 global_vector_name, variable,
"_average_hessians_q", n_q_points, dummy);
2230 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2231 template solution_hessian_type<Number>>;
2234 internal_data_storage.template get_or_add_object_with_name<RetType>(
2239 feiv[variable].get_average_of_function_hessians_from_local_dof_values(
2240 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)