15#ifndef dealii_meshworker_scratch_data_h
16#define dealii_meshworker_scratch_data_h
31#include <boost/any.hpp>
220 template <
int dim,
int spacedim = dim>
444 const unsigned int face_no);
458 const unsigned int face_no,
459 const unsigned int subface_no);
477 const unsigned int face_no,
480 const unsigned int face_no_neighbor);
498 const unsigned int face_no,
499 const unsigned int sub_face_no,
502 const unsigned int face_no_neighbor,
503 const unsigned int sub_face_no_neighbor);
527 const std::vector<Point<spacedim>> &
533 const std::vector<double> &
539 const std::vector<Tensor<1, spacedim>> &
546 const std::vector<types::global_dof_index> &
584 const unsigned int face_no);
599 const unsigned int face_no,
600 const unsigned int subface_no);
619 const std::vector<double> &
625 const std::vector<Tensor<1, spacedim>> &
632 const std::vector<types::global_dof_index> &
668 const unsigned int face_no);
692 const unsigned int face_no,
693 const unsigned int subface_no);
715 const unsigned int face_no);
740 const unsigned int face_no,
741 const unsigned int subface_no);
874 template <
typename VectorType,
typename Number =
double>
877 const VectorType &input_vector,
878 const Number dummy = Number(0));
888 template <
typename Number =
double>
889 const std::vector<Number> &
891 Number dummy = Number(0))
const;
914 template <
typename Extractor,
typename Number =
double>
915 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
916 template solution_value_type<Number>> &
918 const Extractor &variable,
919 const Number dummy = Number(0));
942 template <
typename Extractor,
typename Number =
double>
943 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
944 template solution_gradient_type<Number>> &
946 const Extractor &variable,
947 const Number dummy = Number(0));
971 template <
typename Extractor,
typename Number =
double>
972 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
973 template solution_symmetric_gradient_type<Number>> &
975 const Extractor &variable,
976 const Number dummy = Number(0));
999 template <
typename Extractor,
typename Number =
double>
1000 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1001 template solution_divergence_type<Number>> &
1003 const Extractor &variable,
1004 const Number dummy = Number(0));
1027 template <
typename Extractor,
typename Number =
double>
1028 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1029 template solution_curl_type<Number>> &
1031 const Extractor &variable,
1032 const Number dummy = Number(0));
1055 template <
typename Extractor,
typename Number =
double>
1056 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1057 template solution_hessian_type<Number>> &
1059 const Extractor &variable,
1060 const Number dummy = Number(0));
1083 template <
typename Extractor,
typename Number =
double>
1084 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1085 template solution_laplacian_type<Number>> &
1087 const Extractor &variable,
1088 const Number dummy = Number(0));
1111 template <
typename Extractor,
typename Number =
double>
1112 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1113 template solution_third_derivative_type<Number>> &
1115 const Extractor &variable,
1116 const Number dummy = Number(0));
1147 template <
typename Extractor,
typename Number =
double>
1150 template solution_value_type<Number>> &
1152 const Extractor &variable,
1153 const Number dummy = Number(0));
1177 template <
typename Extractor,
typename Number =
double>
1180 template solution_gradient_type<Number>> &
1182 const Extractor &variable,
1183 const Number dummy = Number(0));
1207 template <
typename Extractor,
typename Number =
double>
1210 template solution_hessian_type<Number>> &
1212 const Extractor &variable,
1213 const Number dummy = Number(0));
1237 template <
typename Extractor,
typename Number =
double>
1240 template solution_third_derivative_type<Number>> &
1242 const Extractor &variable,
1243 const Number dummy = Number(0));
1274 template <
typename Extractor,
typename Number =
double>
1277 template solution_value_type<Number>> &
1279 const Extractor &variable,
1280 const Number dummy = Number(0));
1304 template <
typename Extractor,
typename Number =
double>
1307 template solution_gradient_type<Number>> &
1309 const Extractor &variable,
1310 const Number dummy = Number(0));
1334 template <
typename Extractor,
typename Number =
double>
1337 template solution_hessian_type<Number>> &
1339 const Extractor &variable,
1340 const Number dummy = Number(0));
1349 template <
typename Extractor,
typename Number =
double>
1352 const Extractor &variable,
1353 const std::string &object_type,
1354 const unsigned int size,
1355 const Number &exemplar_number)
const;
1360 template <
typename Number =
double>
1363 const unsigned int size,
1364 const Number &exemplar_number)
const;
1497 std::unique_ptr<hp::FESubfaceValues<dim, spacedim>>
1507 "The current function doesn't make sense when used with a "
1508 "ScratchData object with hp-capabilities.");
1517 "The current function doesn't make sense when used with a "
1518 "ScratchData object without hp-capabilities.");
1578 template <
int dim,
int spacedim>
1579 template <
typename Extractor,
typename Number>
1582 const std::string &global_vector_name,
1583 const Extractor &variable,
1584 const std::string &object_type,
1585 const unsigned int size,
1586 const Number &exemplar_number)
const
1588 return global_vector_name +
"_" + variable.get_name() +
"_" + object_type +
1595 template <
int dim,
int spacedim>
1596 template <
typename Number>
1599 const std::string &global_vector_name,
1600 const unsigned int size,
1601 const Number &exemplar_number)
const
1603 return global_vector_name +
"_independent_local_dofs_" +
1610 template <
int dim,
int spacedim>
1611 template <
typename VectorType,
typename Number>
1614 const std::string &global_vector_name,
1615 const VectorType &input_vector,
1618 const unsigned int n_dofs = local_dof_indices.size();
1620 const std::string name =
1621 get_unique_dofs_name(global_vector_name, n_dofs, dummy);
1623 auto &independent_local_dofs =
1624 internal_data_storage
1625 .template get_or_add_object_with_name<std::vector<Number>>(name,
1631 for (
unsigned int i = 0; i < n_dofs; ++i)
1633 input_vector(local_dof_indices[i]),
1636 independent_local_dofs[i]);
1638 for (
unsigned int i = 0; i < n_dofs; ++i)
1639 independent_local_dofs[i] = input_vector(local_dof_indices[i]);
1644 template <
int dim,
int spacedim>
1645 template <
typename Number>
1646 const std::vector<Number> &
1648 const std::string &global_vector_name,
1651 const unsigned int n_dofs = local_dof_indices.size();
1653 const std::string dofs_name =
1654 get_unique_dofs_name(global_vector_name, n_dofs, dummy);
1657 internal_data_storage.stores_object_with_name(dofs_name),
1659 "You did not call yet extract_local_dof_values with the right types!"));
1661 return internal_data_storage
1662 .template get_object_with_name<std::vector<Number>>(dofs_name);
1667 template <
int dim,
int spacedim>
1668 template <
typename Extractor,
typename Number>
1669 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1670 template solution_value_type<Number>> &
1672 const Extractor &variable,
1675 const std::vector<Number> &independent_local_dofs =
1676 get_local_dof_values(global_vector_name, dummy);
1682 const std::string name = get_unique_name(
1683 global_vector_name, variable,
"_values_q", n_q_points, dummy);
1687 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1688 template solution_value_type<Number>>;
1691 internal_data_storage.template get_or_add_object_with_name<RetType>(
1696 fev[variable].get_function_values_from_local_dof_values(
1697 independent_local_dofs, ret);
1703 template <
int dim,
int spacedim>
1704 template <
typename Extractor,
typename Number>
1705 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1706 template solution_gradient_type<Number>> &
1708 const std::string &global_vector_name,
1709 const Extractor &variable,
1712 const std::vector<Number> &independent_local_dofs =
1713 get_local_dof_values(global_vector_name, dummy);
1719 const std::string name = get_unique_name(
1720 global_vector_name, variable,
"_gradients_q", n_q_points, dummy);
1724 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1725 template solution_gradient_type<Number>>;
1728 internal_data_storage.template get_or_add_object_with_name<RetType>(
1733 fev[variable].get_function_gradients_from_local_dof_values(
1734 independent_local_dofs, ret);
1740 template <
int dim,
int spacedim>
1741 template <
typename Extractor,
typename Number>
1742 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1743 template solution_hessian_type<Number>> &
1745 const std::string &global_vector_name,
1746 const Extractor &variable,
1749 const std::vector<Number> &independent_local_dofs =
1750 get_local_dof_values(global_vector_name, dummy);
1756 const std::string name = get_unique_name(
1757 global_vector_name, variable,
"_hessians_q", n_q_points, dummy);
1761 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1762 template solution_hessian_type<Number>>;
1765 internal_data_storage.template get_or_add_object_with_name<RetType>(
1771 fev[variable].get_function_hessians_from_local_dof_values(
1772 independent_local_dofs, ret);
1778 template <
int dim,
int spacedim>
1779 template <
typename Extractor,
typename Number>
1780 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1781 template solution_laplacian_type<Number>> &
1783 const std::string &global_vector_name,
1784 const Extractor &variable,
1787 const std::vector<Number> &independent_local_dofs =
1788 get_local_dof_values(global_vector_name, dummy);
1794 const std::string name = get_unique_name(
1795 global_vector_name, variable,
"_laplacians_q", n_q_points, dummy);
1799 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1800 template solution_laplacian_type<Number>>;
1803 internal_data_storage.template get_or_add_object_with_name<RetType>(
1809 fev[variable].get_function_laplacians_from_local_dof_values(
1810 independent_local_dofs, ret);
1816 template <
int dim,
int spacedim>
1817 template <
typename Extractor,
typename Number>
1818 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1819 template solution_third_derivative_type<Number>> &
1821 const std::string &global_vector_name,
1822 const Extractor &variable,
1825 const std::vector<Number> &independent_local_dofs =
1826 get_local_dof_values(global_vector_name, dummy);
1832 const std::string name = get_unique_name(
1833 global_vector_name, variable,
"_third_derivatives_q", n_q_points, dummy);
1837 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1838 template solution_third_derivative_type<Number>>;
1841 internal_data_storage.template get_or_add_object_with_name<RetType>(
1847 fev[variable].get_function_third_derivatives_from_local_dof_values(
1848 independent_local_dofs, ret);
1854 template <
int dim,
int spacedim>
1855 template <
typename Extractor,
typename Number>
1856 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1857 template solution_symmetric_gradient_type<Number>> &
1859 const std::string &global_vector_name,
1860 const Extractor &variable,
1863 const std::vector<Number> &independent_local_dofs =
1864 get_local_dof_values(global_vector_name, dummy);
1870 const std::string name = get_unique_name(
1871 global_vector_name, variable,
"_symmetric_gradient_q", n_q_points, dummy);
1876 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1877 template solution_symmetric_gradient_type<Number>>;
1880 internal_data_storage.template get_or_add_object_with_name<RetType>(
1886 fev[variable].get_function_symmetric_gradients_from_local_dof_values(
1887 independent_local_dofs, ret);
1892 template <
int dim,
int spacedim>
1893 template <
typename Extractor,
typename Number>
1894 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1895 template solution_divergence_type<Number>> &
1897 const std::string &global_vector_name,
1898 const Extractor &variable,
1901 const std::vector<Number> &independent_local_dofs =
1902 get_local_dof_values(global_vector_name, dummy);
1908 const std::string name = get_unique_name(
1909 global_vector_name, variable,
"_divergence_q", n_q_points, dummy);
1913 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1914 template solution_divergence_type<Number>>;
1917 internal_data_storage.template get_or_add_object_with_name<RetType>(
1923 fev[variable].get_function_divergences_from_local_dof_values(
1924 independent_local_dofs, ret);
1930 template <
int dim,
int spacedim>
1931 template <
typename Extractor,
typename Number>
1932 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1933 template solution_curl_type<Number>> &
1935 const Extractor &variable,
1938 const std::vector<Number> &independent_local_dofs =
1939 get_local_dof_values(global_vector_name, dummy);
1945 const std::string name = get_unique_name(
1946 global_vector_name, variable,
"_curl_q", n_q_points, dummy);
1950 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1951 template solution_curl_type<Number>>;
1954 internal_data_storage.template get_or_add_object_with_name<RetType>(
1959 fev[variable].get_function_curls_from_local_dof_values(
1960 independent_local_dofs, ret);
1966 template <
int dim,
int spacedim>
1967 template <
typename Extractor,
typename Number>
1968 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
1969 template solution_value_type<Number>> &
1971 const std::string &global_vector_name,
1972 const Extractor &variable,
1975 const std::vector<Number> &independent_local_dofs =
1976 get_local_dof_values(global_vector_name, dummy);
1979 get_current_interface_fe_values();
1986 const std::string name = get_unique_name(
1987 global_vector_name, variable,
"_jump_values_q", n_q_points, dummy);
1991 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1992 template solution_value_type<Number>>;
1995 internal_data_storage.template get_or_add_object_with_name<RetType>(
2000 feiv[variable].get_jump_in_function_values_from_local_dof_values(
2001 independent_local_dofs, ret);
2007 template <
int dim,
int spacedim>
2008 template <
typename Extractor,
typename Number>
2009 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2010 template solution_gradient_type<Number>> &
2012 const std::string &global_vector_name,
2013 const Extractor &variable,
2016 const std::vector<Number> &independent_local_dofs =
2017 get_local_dof_values(global_vector_name, dummy);
2020 get_current_interface_fe_values();
2027 const std::string name = get_unique_name(
2028 global_vector_name, variable,
"_jump_gradients_q", n_q_points, dummy);
2032 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2033 template solution_gradient_type<Number>>;
2036 internal_data_storage.template get_or_add_object_with_name<RetType>(
2041 feiv[variable].get_jump_in_function_gradients_from_local_dof_values(
2042 independent_local_dofs, ret);
2048 template <
int dim,
int spacedim>
2049 template <
typename Extractor,
typename Number>
2050 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2051 template solution_hessian_type<Number>> &
2053 const std::string &global_vector_name,
2054 const Extractor &variable,
2057 const std::vector<Number> &independent_local_dofs =
2058 get_local_dof_values(global_vector_name, dummy);
2061 get_current_interface_fe_values();
2068 const std::string name = get_unique_name(
2069 global_vector_name, variable,
"_jump_hessians_q", n_q_points, dummy);
2073 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2074 template solution_hessian_type<Number>>;
2077 internal_data_storage.template get_or_add_object_with_name<RetType>(
2082 feiv[variable].get_jump_in_function_hessians_from_local_dof_values(
2083 independent_local_dofs, ret);
2089 template <
int dim,
int spacedim>
2090 template <
typename Extractor,
typename Number>
2091 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2092 template solution_third_derivative_type<Number>> &
2094 const std::string &global_vector_name,
2095 const Extractor &variable,
2098 const std::vector<Number> &independent_local_dofs =
2099 get_local_dof_values(global_vector_name, dummy);
2102 get_current_interface_fe_values();
2109 const std::string name = get_unique_name(global_vector_name,
2111 "_jump_third_derivatives_q",
2117 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2118 template solution_third_derivative_type<Number>>;
2121 internal_data_storage.template get_or_add_object_with_name<RetType>(
2126 feiv[variable].get_jump_in_function_third_derivatives_from_local_dof_values(
2127 independent_local_dofs, ret);
2133 template <
int dim,
int spacedim>
2134 template <
typename Extractor,
typename Number>
2135 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2136 template solution_value_type<Number>> &
2138 const std::string &global_vector_name,
2139 const Extractor &variable,
2142 const std::vector<Number> &independent_local_dofs =
2143 get_local_dof_values(global_vector_name, dummy);
2146 get_current_interface_fe_values();
2153 const std::string name = get_unique_name(
2154 global_vector_name, variable,
"_average_values_q", n_q_points, dummy);
2158 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2159 template solution_value_type<Number>>;
2162 internal_data_storage.template get_or_add_object_with_name<RetType>(
2167 feiv[variable].get_average_of_function_values_from_local_dof_values(
2168 independent_local_dofs, ret);
2174 template <
int dim,
int spacedim>
2175 template <
typename Extractor,
typename Number>
2176 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2177 template solution_gradient_type<Number>> &
2179 const std::string &global_vector_name,
2180 const Extractor &variable,
2183 const std::vector<Number> &independent_local_dofs =
2184 get_local_dof_values(global_vector_name, dummy);
2187 get_current_interface_fe_values();
2194 const std::string name = get_unique_name(
2195 global_vector_name, variable,
"_average_gradients_q", n_q_points, dummy);
2199 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2200 template solution_gradient_type<Number>>;
2203 internal_data_storage.template get_or_add_object_with_name<RetType>(
2208 feiv[variable].get_average_of_function_gradients_from_local_dof_values(
2209 independent_local_dofs, ret);
2215 template <
int dim,
int spacedim>
2216 template <
typename Extractor,
typename Number>
2217 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2218 template solution_hessian_type<Number>> &
2220 const std::string &global_vector_name,
2221 const Extractor &variable,
2224 const std::vector<Number> &independent_local_dofs =
2225 get_local_dof_values(global_vector_name, dummy);
2228 get_current_interface_fe_values();
2235 const std::string name = get_unique_name(
2236 global_vector_name, variable,
"_average_hessians_q", n_q_points, dummy);
2240 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2241 template solution_hessian_type<Number>>;
2244 internal_data_storage.template get_or_add_object_with_name<RetType>(
2249 feiv[variable].get_average_of_function_hessians_from_local_dof_values(
2250 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
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))
const FiniteElement< dim, spacedim > & get_fe() const
SmartPointer< const hp::FECollection< dim, spacedim > > fe_collection
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
SmartPointer< const FiniteElement< dim, spacedim > > fe
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
SmartPointer< const hp::MappingCollection< dim, spacedim > > mapping_collection
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
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
SmartPointer< const Mapping< dim, spacedim > > mapping
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))
SmartPointer< const FEValuesBase< dim, spacedim > > current_fe_values
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
const FEValuesBase< dim, spacedim > & get_current_neighbor_fe_values() const
const std::vector< types::global_dof_index > & get_local_dof_indices() const
SmartPointer< const FEValuesBase< dim, spacedim > > current_neighbor_fe_values
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
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)