16#ifndef dealii_meshworker_scratch_data_h
17#define dealii_meshworker_scratch_data_h
32#include <boost/any.hpp>
221 template <
int dim,
int spacedim = dim>
445 const unsigned int face_no);
459 const unsigned int face_no,
460 const unsigned int subface_no);
478 const unsigned int face_no,
481 const unsigned int face_no_neighbor);
499 const unsigned int face_no,
500 const unsigned int sub_face_no,
503 const unsigned int face_no_neighbor,
504 const unsigned int sub_face_no_neighbor);
528 const std::vector<Point<spacedim>> &
534 const std::vector<double> &
540 const std::vector<Tensor<1, spacedim>> &
547 const std::vector<types::global_dof_index> &
585 const unsigned int face_no);
600 const unsigned int face_no,
601 const unsigned int subface_no);
620 const std::vector<double> &
626 const std::vector<Tensor<1, spacedim>> &
633 const std::vector<types::global_dof_index> &
669 const unsigned int face_no);
693 const unsigned int face_no,
694 const unsigned int subface_no);
716 const unsigned int face_no);
741 const unsigned int face_no,
742 const unsigned int subface_no);
875 template <
typename VectorType,
typename Number =
double>
878 const VectorType & input_vector,
879 const Number dummy = Number(0));
889 template <
typename Number =
double>
890 const std::vector<Number> &
892 Number dummy = Number(0))
const;
915 template <
typename Extractor,
typename Number =
double>
916 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
917 template solution_value_type<Number>> &
919 const Extractor & variable,
920 const Number dummy = Number(0));
943 template <
typename Extractor,
typename Number =
double>
944 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
945 template solution_gradient_type<Number>> &
947 const Extractor & variable,
948 const Number dummy = Number(0));
972 template <
typename Extractor,
typename Number =
double>
973 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
974 template solution_symmetric_gradient_type<Number>> &
976 const Extractor & variable,
977 const Number dummy = Number(0));
1000 template <
typename Extractor,
typename Number =
double>
1001 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1002 template solution_divergence_type<Number>> &
1004 const Extractor & variable,
1005 const Number dummy = Number(0));
1028 template <
typename Extractor,
typename Number =
double>
1029 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1030 template solution_curl_type<Number>> &
1032 const Extractor & variable,
1033 const Number dummy = Number(0));
1056 template <
typename Extractor,
typename Number =
double>
1057 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1058 template solution_hessian_type<Number>> &
1060 const Extractor & variable,
1061 const Number dummy = Number(0));
1084 template <
typename Extractor,
typename Number =
double>
1085 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1086 template solution_laplacian_type<Number>> &
1088 const Extractor & variable,
1089 const Number dummy = Number(0));
1112 template <
typename Extractor,
typename Number =
double>
1113 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1114 template solution_third_derivative_type<Number>> &
1116 const Extractor & variable,
1117 const Number dummy = Number(0));
1148 template <
typename Extractor,
typename Number =
double>
1151 template solution_value_type<Number>> &
1153 const Extractor & variable,
1154 const Number dummy = Number(0));
1178 template <
typename Extractor,
typename Number =
double>
1181 template solution_gradient_type<Number>> &
1183 const Extractor & variable,
1184 const Number dummy = Number(0));
1208 template <
typename Extractor,
typename Number =
double>
1211 template solution_hessian_type<Number>> &
1213 const Extractor & variable,
1214 const Number dummy = Number(0));
1238 template <
typename Extractor,
typename Number =
double>
1241 template solution_third_derivative_type<Number>> &
1243 const Extractor & variable,
1244 const Number dummy = Number(0));
1275 template <
typename Extractor,
typename Number =
double>
1278 template solution_value_type<Number>> &
1280 const Extractor & variable,
1281 const Number dummy = Number(0));
1305 template <
typename Extractor,
typename Number =
double>
1308 template solution_gradient_type<Number>> &
1310 const Extractor & variable,
1311 const Number dummy = Number(0));
1335 template <
typename Extractor,
typename Number =
double>
1338 template solution_hessian_type<Number>> &
1340 const Extractor & variable,
1341 const Number dummy = Number(0));
1350 template <
typename Extractor,
typename Number =
double>
1353 const Extractor & variable,
1354 const std::string &object_type,
1355 const unsigned int size,
1356 const Number & exemplar_number)
const;
1361 template <
typename Number =
double>
1364 const unsigned int size,
1365 const Number & exemplar_number)
const;
1498 std::unique_ptr<hp::FESubfaceValues<dim, spacedim>>
1508 "The current function doesn't make sense when used with a "
1509 "ScratchData object with hp-capabilities.");
1518 "The current function doesn't make sense when used with a "
1519 "ScratchData object without hp-capabilities.");
1579 template <
int dim,
int spacedim>
1580 template <
typename Extractor,
typename Number>
1583 const std::string &global_vector_name,
1584 const Extractor & variable,
1585 const std::string &object_type,
1586 const unsigned int size,
1587 const Number & exemplar_number)
const
1589 return global_vector_name +
"_" + variable.get_name() +
"_" + object_type +
1596 template <
int dim,
int spacedim>
1597 template <
typename Number>
1600 const std::string &global_vector_name,
1601 const unsigned int size,
1602 const Number & exemplar_number)
const
1604 return global_vector_name +
"_independent_local_dofs_" +
1611 template <
int dim,
int spacedim>
1612 template <
typename VectorType,
typename Number>
1615 const std::string &global_vector_name,
1616 const VectorType & input_vector,
1619 const unsigned int n_dofs = local_dof_indices.size();
1621 const std::string name =
1622 get_unique_dofs_name(global_vector_name, n_dofs, dummy);
1624 auto &independent_local_dofs =
1625 internal_data_storage
1626 .template get_or_add_object_with_name<std::vector<Number>>(name,
1632 for (
unsigned int i = 0; i < n_dofs; ++i)
1634 input_vector(local_dof_indices[i]),
1637 independent_local_dofs[i]);
1639 for (
unsigned int i = 0; i < n_dofs; ++i)
1640 independent_local_dofs[i] = input_vector(local_dof_indices[i]);
1645 template <
int dim,
int spacedim>
1646 template <
typename Number>
1647 const std::vector<Number> &
1649 const std::string &global_vector_name,
1652 const unsigned int n_dofs = local_dof_indices.size();
1654 const std::string dofs_name =
1655 get_unique_dofs_name(global_vector_name, n_dofs, dummy);
1658 internal_data_storage.stores_object_with_name(dofs_name),
1660 "You did not call yet extract_local_dof_values with the right types!"));
1662 return internal_data_storage
1663 .template get_object_with_name<std::vector<Number>>(dofs_name);
1668 template <
int dim,
int spacedim>
1669 template <
typename Extractor,
typename Number>
1670 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1671 template solution_value_type<Number>> &
1673 const Extractor & variable,
1676 const std::vector<Number> &independent_local_dofs =
1677 get_local_dof_values(global_vector_name, dummy);
1683 const std::string name = get_unique_name(
1684 global_vector_name, variable,
"_values_q", n_q_points, dummy);
1688 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1689 template solution_value_type<Number>>;
1692 internal_data_storage.template get_or_add_object_with_name<RetType>(
1697 fev[variable].get_function_values_from_local_dof_values(
1698 independent_local_dofs, ret);
1704 template <
int dim,
int spacedim>
1705 template <
typename Extractor,
typename Number>
1706 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1707 template solution_gradient_type<Number>> &
1709 const std::string &global_vector_name,
1710 const Extractor & variable,
1713 const std::vector<Number> &independent_local_dofs =
1714 get_local_dof_values(global_vector_name, dummy);
1720 const std::string name = get_unique_name(
1721 global_vector_name, variable,
"_gradients_q", n_q_points, dummy);
1725 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1726 template solution_gradient_type<Number>>;
1729 internal_data_storage.template get_or_add_object_with_name<RetType>(
1734 fev[variable].get_function_gradients_from_local_dof_values(
1735 independent_local_dofs, ret);
1741 template <
int dim,
int spacedim>
1742 template <
typename Extractor,
typename Number>
1743 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1744 template solution_hessian_type<Number>> &
1746 const std::string &global_vector_name,
1747 const Extractor & variable,
1750 const std::vector<Number> &independent_local_dofs =
1751 get_local_dof_values(global_vector_name, dummy);
1757 const std::string name = get_unique_name(
1758 global_vector_name, variable,
"_hessians_q", n_q_points, dummy);
1762 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1763 template solution_hessian_type<Number>>;
1766 internal_data_storage.template get_or_add_object_with_name<RetType>(
1772 fev[variable].get_function_hessians_from_local_dof_values(
1773 independent_local_dofs, ret);
1779 template <
int dim,
int spacedim>
1780 template <
typename Extractor,
typename Number>
1781 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1782 template solution_laplacian_type<Number>> &
1784 const std::string &global_vector_name,
1785 const Extractor & variable,
1788 const std::vector<Number> &independent_local_dofs =
1789 get_local_dof_values(global_vector_name, dummy);
1795 const std::string name = get_unique_name(
1796 global_vector_name, variable,
"_laplacians_q", n_q_points, dummy);
1800 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1801 template solution_laplacian_type<Number>>;
1804 internal_data_storage.template get_or_add_object_with_name<RetType>(
1810 fev[variable].get_function_laplacians_from_local_dof_values(
1811 independent_local_dofs, ret);
1817 template <
int dim,
int spacedim>
1818 template <
typename Extractor,
typename Number>
1819 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1820 template solution_third_derivative_type<Number>> &
1822 const std::string &global_vector_name,
1823 const Extractor & variable,
1826 const std::vector<Number> &independent_local_dofs =
1827 get_local_dof_values(global_vector_name, dummy);
1833 const std::string name = get_unique_name(
1834 global_vector_name, variable,
"_third_derivatives_q", n_q_points, dummy);
1838 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1839 template solution_third_derivative_type<Number>>;
1842 internal_data_storage.template get_or_add_object_with_name<RetType>(
1848 fev[variable].get_function_third_derivatives_from_local_dof_values(
1849 independent_local_dofs, ret);
1855 template <
int dim,
int spacedim>
1856 template <
typename Extractor,
typename Number>
1857 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1858 template solution_symmetric_gradient_type<Number>> &
1860 const std::string &global_vector_name,
1861 const Extractor & variable,
1864 const std::vector<Number> &independent_local_dofs =
1865 get_local_dof_values(global_vector_name, dummy);
1871 const std::string name = get_unique_name(
1872 global_vector_name, variable,
"_symmetric_gradient_q", n_q_points, dummy);
1877 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1878 template solution_symmetric_gradient_type<Number>>;
1881 internal_data_storage.template get_or_add_object_with_name<RetType>(
1887 fev[variable].get_function_symmetric_gradients_from_local_dof_values(
1888 independent_local_dofs, ret);
1893 template <
int dim,
int spacedim>
1894 template <
typename Extractor,
typename Number>
1895 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1896 template solution_divergence_type<Number>> &
1898 const std::string &global_vector_name,
1899 const Extractor & variable,
1902 const std::vector<Number> &independent_local_dofs =
1903 get_local_dof_values(global_vector_name, dummy);
1909 const std::string name = get_unique_name(
1910 global_vector_name, variable,
"_divergence_q", n_q_points, dummy);
1914 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1915 template solution_divergence_type<Number>>;
1918 internal_data_storage.template get_or_add_object_with_name<RetType>(
1924 fev[variable].get_function_divergences_from_local_dof_values(
1925 independent_local_dofs, ret);
1931 template <
int dim,
int spacedim>
1932 template <
typename Extractor,
typename Number>
1933 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1934 template solution_curl_type<Number>> &
1936 const Extractor & variable,
1939 const std::vector<Number> &independent_local_dofs =
1940 get_local_dof_values(global_vector_name, dummy);
1946 const std::string name = get_unique_name(
1947 global_vector_name, variable,
"_curl_q", n_q_points, dummy);
1951 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1952 template solution_curl_type<Number>>;
1955 internal_data_storage.template get_or_add_object_with_name<RetType>(
1960 fev[variable].get_function_curls_from_local_dof_values(
1961 independent_local_dofs, ret);
1967 template <
int dim,
int spacedim>
1968 template <
typename Extractor,
typename Number>
1969 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
1970 template solution_value_type<Number>> &
1972 const std::string &global_vector_name,
1973 const Extractor & variable,
1976 const std::vector<Number> &independent_local_dofs =
1977 get_local_dof_values(global_vector_name, dummy);
1980 get_current_interface_fe_values();
1987 const std::string name = get_unique_name(
1988 global_vector_name, variable,
"_jump_values_q", n_q_points, dummy);
1992 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1993 template solution_value_type<Number>>;
1996 internal_data_storage.template get_or_add_object_with_name<RetType>(
2001 feiv[variable].get_jump_in_function_values_from_local_dof_values(
2002 independent_local_dofs, ret);
2008 template <
int dim,
int spacedim>
2009 template <
typename Extractor,
typename Number>
2010 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2011 template solution_gradient_type<Number>> &
2013 const std::string &global_vector_name,
2014 const Extractor & variable,
2017 const std::vector<Number> &independent_local_dofs =
2018 get_local_dof_values(global_vector_name, dummy);
2021 get_current_interface_fe_values();
2028 const std::string name = get_unique_name(
2029 global_vector_name, variable,
"_jump_gradients_q", n_q_points, dummy);
2033 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2034 template solution_gradient_type<Number>>;
2037 internal_data_storage.template get_or_add_object_with_name<RetType>(
2042 feiv[variable].get_jump_in_function_gradients_from_local_dof_values(
2043 independent_local_dofs, ret);
2049 template <
int dim,
int spacedim>
2050 template <
typename Extractor,
typename Number>
2051 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2052 template solution_hessian_type<Number>> &
2054 const std::string &global_vector_name,
2055 const Extractor & variable,
2058 const std::vector<Number> &independent_local_dofs =
2059 get_local_dof_values(global_vector_name, dummy);
2062 get_current_interface_fe_values();
2069 const std::string name = get_unique_name(
2070 global_vector_name, variable,
"_jump_hessians_q", n_q_points, dummy);
2074 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2075 template solution_hessian_type<Number>>;
2078 internal_data_storage.template get_or_add_object_with_name<RetType>(
2083 feiv[variable].get_jump_in_function_hessians_from_local_dof_values(
2084 independent_local_dofs, ret);
2090 template <
int dim,
int spacedim>
2091 template <
typename Extractor,
typename Number>
2092 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2093 template solution_third_derivative_type<Number>> &
2095 const std::string &global_vector_name,
2096 const Extractor & variable,
2099 const std::vector<Number> &independent_local_dofs =
2100 get_local_dof_values(global_vector_name, dummy);
2103 get_current_interface_fe_values();
2110 const std::string name = get_unique_name(global_vector_name,
2112 "_jump_third_derivatives_q",
2118 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2119 template solution_third_derivative_type<Number>>;
2122 internal_data_storage.template get_or_add_object_with_name<RetType>(
2127 feiv[variable].get_jump_in_function_third_derivatives_from_local_dof_values(
2128 independent_local_dofs, ret);
2134 template <
int dim,
int spacedim>
2135 template <
typename Extractor,
typename Number>
2136 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2137 template solution_value_type<Number>> &
2139 const std::string &global_vector_name,
2140 const Extractor & variable,
2143 const std::vector<Number> &independent_local_dofs =
2144 get_local_dof_values(global_vector_name, dummy);
2147 get_current_interface_fe_values();
2154 const std::string name = get_unique_name(
2155 global_vector_name, variable,
"_average_values_q", n_q_points, dummy);
2159 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2160 template solution_value_type<Number>>;
2163 internal_data_storage.template get_or_add_object_with_name<RetType>(
2168 feiv[variable].get_average_of_function_values_from_local_dof_values(
2169 independent_local_dofs, ret);
2175 template <
int dim,
int spacedim>
2176 template <
typename Extractor,
typename Number>
2177 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2178 template solution_gradient_type<Number>> &
2180 const std::string &global_vector_name,
2181 const Extractor & variable,
2184 const std::vector<Number> &independent_local_dofs =
2185 get_local_dof_values(global_vector_name, dummy);
2188 get_current_interface_fe_values();
2195 const std::string name = get_unique_name(
2196 global_vector_name, variable,
"_average_gradients_q", n_q_points, dummy);
2200 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2201 template solution_gradient_type<Number>>;
2204 internal_data_storage.template get_or_add_object_with_name<RetType>(
2209 feiv[variable].get_average_of_function_gradients_from_local_dof_values(
2210 independent_local_dofs, ret);
2216 template <
int dim,
int spacedim>
2217 template <
typename Extractor,
typename Number>
2218 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2219 template solution_hessian_type<Number>> &
2221 const std::string &global_vector_name,
2222 const Extractor & variable,
2225 const std::vector<Number> &independent_local_dofs =
2226 get_local_dof_values(global_vector_name, dummy);
2229 get_current_interface_fe_values();
2236 const std::string name = get_unique_name(
2237 global_vector_name, variable,
"_average_hessians_q", n_q_points, dummy);
2241 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2242 template solution_hessian_type<Number>>;
2245 internal_data_storage.template get_or_add_object_with_name<RetType>(
2250 feiv[variable].get_average_of_function_hessians_from_local_dof_values(
2251 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)