16#ifndef dealii_meshworker_scratch_data_h
17#define dealii_meshworker_scratch_data_h
32#include <boost/any.hpp>
222 template <
int dim,
int spacedim = dim>
446 const unsigned int face_no);
460 const unsigned int face_no,
461 const unsigned int subface_no);
479 const unsigned int face_no,
480 const unsigned int sub_face_no,
483 const unsigned int face_no_neighbor,
484 const unsigned int sub_face_no_neighbor);
508 const std::vector<Point<spacedim>> &
514 const std::vector<double> &
520 const std::vector<Tensor<1, spacedim>> &
527 const std::vector<types::global_dof_index> &
565 const unsigned int face_no);
580 const unsigned int face_no,
581 const unsigned int subface_no);
600 const std::vector<double> &
606 const std::vector<Tensor<1, spacedim>> &
613 const std::vector<types::global_dof_index> &
649 const unsigned int face_no);
673 const unsigned int face_no,
674 const unsigned int subface_no);
696 const unsigned int face_no);
721 const unsigned int face_no,
722 const unsigned int subface_no);
855 template <
typename VectorType,
typename Number =
double>
858 const VectorType & input_vector,
859 const Number dummy = Number(0));
869 template <
typename Number =
double>
870 const std::vector<Number> &
872 Number dummy = Number(0))
const;
895 template <
typename Extractor,
typename Number =
double>
896 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
897 template solution_value_type<Number>> &
899 const Extractor & variable,
900 const Number dummy = Number(0));
923 template <
typename Extractor,
typename Number =
double>
924 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
925 template solution_gradient_type<Number>> &
927 const Extractor & variable,
928 const Number dummy = Number(0));
952 template <
typename Extractor,
typename Number =
double>
953 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
954 template solution_symmetric_gradient_type<Number>> &
956 const Extractor & variable,
957 const Number dummy = Number(0));
980 template <
typename Extractor,
typename Number =
double>
981 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
982 template solution_divergence_type<Number>> &
984 const Extractor & variable,
985 const Number dummy = Number(0));
1008 template <
typename Extractor,
typename Number =
double>
1009 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1010 template solution_curl_type<Number>> &
1012 const Extractor & variable,
1013 const Number dummy = Number(0));
1036 template <
typename Extractor,
typename Number =
double>
1037 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1038 template solution_hessian_type<Number>> &
1040 const Extractor & variable,
1041 const Number dummy = Number(0));
1064 template <
typename Extractor,
typename Number =
double>
1065 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1066 template solution_laplacian_type<Number>> &
1068 const Extractor & variable,
1069 const Number dummy = Number(0));
1092 template <
typename Extractor,
typename Number =
double>
1093 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1094 template solution_third_derivative_type<Number>> &
1096 const Extractor & variable,
1097 const Number dummy = Number(0));
1128 template <
typename Extractor,
typename Number =
double>
1131 template solution_value_type<Number>> &
1133 const Extractor & variable,
1134 const Number dummy = Number(0));
1158 template <
typename Extractor,
typename Number =
double>
1161 template solution_gradient_type<Number>> &
1163 const Extractor & variable,
1164 const Number dummy = Number(0));
1188 template <
typename Extractor,
typename Number =
double>
1191 template solution_hessian_type<Number>> &
1193 const Extractor & variable,
1194 const Number dummy = Number(0));
1218 template <
typename Extractor,
typename Number =
double>
1221 template solution_third_derivative_type<Number>> &
1223 const Extractor & variable,
1224 const Number dummy = Number(0));
1255 template <
typename Extractor,
typename Number =
double>
1258 template solution_value_type<Number>> &
1260 const Extractor & variable,
1261 const Number dummy = Number(0));
1285 template <
typename Extractor,
typename Number =
double>
1288 template solution_gradient_type<Number>> &
1290 const Extractor & variable,
1291 const Number dummy = Number(0));
1315 template <
typename Extractor,
typename Number =
double>
1318 template solution_hessian_type<Number>> &
1320 const Extractor & variable,
1321 const Number dummy = Number(0));
1330 template <
typename Extractor,
typename Number =
double>
1333 const Extractor & variable,
1334 const std::string &object_type,
1335 const unsigned int size,
1336 const Number & exemplar_number)
const;
1341 template <
typename Number =
double>
1344 const unsigned int size,
1345 const Number & exemplar_number)
const;
1476 std::unique_ptr<hp::FESubfaceValues<dim, spacedim>>
1486 "The current function doesn't make sense when used with a "
1487 "ScratchData object with hp-capabilities.");
1496 "The current function doesn't make sense when used with a "
1497 "ScratchData object without hp-capabilities.");
1557 template <
int dim,
int spacedim>
1558 template <
typename Extractor,
typename Number>
1561 const std::string &global_vector_name,
1562 const Extractor & variable,
1563 const std::string &object_type,
1564 const unsigned int size,
1565 const Number & exemplar_number)
const
1567 return global_vector_name +
"_" + variable.get_name() +
"_" + object_type +
1574 template <
int dim,
int spacedim>
1575 template <
typename Number>
1578 const std::string &global_vector_name,
1579 const unsigned int size,
1580 const Number & exemplar_number)
const
1582 return global_vector_name +
"_independent_local_dofs_" +
1589 template <
int dim,
int spacedim>
1590 template <
typename VectorType,
typename Number>
1593 const std::string &global_vector_name,
1594 const VectorType & input_vector,
1597 const unsigned int n_dofs = local_dof_indices.size();
1599 const std::string name =
1600 get_unique_dofs_name(global_vector_name, n_dofs, dummy);
1602 auto &independent_local_dofs =
1603 internal_data_storage
1604 .template get_or_add_object_with_name<std::vector<Number>>(name,
1610 for (
unsigned int i = 0; i < n_dofs; ++i)
1612 input_vector(local_dof_indices[i]),
1615 independent_local_dofs[i]);
1617 for (
unsigned int i = 0; i < n_dofs; ++i)
1618 independent_local_dofs[i] = input_vector(local_dof_indices[i]);
1623 template <
int dim,
int spacedim>
1624 template <
typename Number>
1625 const std::vector<Number> &
1627 const std::string &global_vector_name,
1630 const unsigned int n_dofs = local_dof_indices.size();
1632 const std::string dofs_name =
1633 get_unique_dofs_name(global_vector_name, n_dofs, dummy);
1636 internal_data_storage.stores_object_with_name(dofs_name),
1638 "You did not call yet extract_local_dof_values with the right types!"));
1640 return internal_data_storage
1641 .template get_object_with_name<std::vector<Number>>(dofs_name);
1646 template <
int dim,
int spacedim>
1647 template <
typename Extractor,
typename Number>
1648 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1649 template solution_value_type<Number>> &
1651 const Extractor & variable,
1654 const std::vector<Number> &independent_local_dofs =
1655 get_local_dof_values(global_vector_name, dummy);
1661 const std::string name = get_unique_name(
1662 global_vector_name, variable,
"_values_q", n_q_points, dummy);
1666 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1667 template solution_value_type<Number>>;
1670 internal_data_storage.template get_or_add_object_with_name<RetType>(
1675 fev[variable].get_function_values_from_local_dof_values(
1676 independent_local_dofs, ret);
1682 template <
int dim,
int spacedim>
1683 template <
typename Extractor,
typename Number>
1684 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1685 template solution_gradient_type<Number>> &
1687 const std::string &global_vector_name,
1688 const Extractor & variable,
1691 const std::vector<Number> &independent_local_dofs =
1692 get_local_dof_values(global_vector_name, dummy);
1698 const std::string name = get_unique_name(
1699 global_vector_name, variable,
"_gradients_q", n_q_points, dummy);
1703 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1704 template solution_gradient_type<Number>>;
1707 internal_data_storage.template get_or_add_object_with_name<RetType>(
1712 fev[variable].get_function_gradients_from_local_dof_values(
1713 independent_local_dofs, ret);
1719 template <
int dim,
int spacedim>
1720 template <
typename Extractor,
typename Number>
1721 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1722 template solution_hessian_type<Number>> &
1724 const std::string &global_vector_name,
1725 const Extractor & variable,
1728 const std::vector<Number> &independent_local_dofs =
1729 get_local_dof_values(global_vector_name, dummy);
1735 const std::string name = get_unique_name(
1736 global_vector_name, variable,
"_hessians_q", n_q_points, dummy);
1740 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1741 template solution_hessian_type<Number>>;
1744 internal_data_storage.template get_or_add_object_with_name<RetType>(
1750 fev[variable].get_function_hessians_from_local_dof_values(
1751 independent_local_dofs, ret);
1757 template <
int dim,
int spacedim>
1758 template <
typename Extractor,
typename Number>
1759 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1760 template solution_laplacian_type<Number>> &
1762 const std::string &global_vector_name,
1763 const Extractor & variable,
1766 const std::vector<Number> &independent_local_dofs =
1767 get_local_dof_values(global_vector_name, dummy);
1773 const std::string name = get_unique_name(
1774 global_vector_name, variable,
"_laplacians_q", n_q_points, dummy);
1778 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1779 template solution_laplacian_type<Number>>;
1782 internal_data_storage.template get_or_add_object_with_name<RetType>(
1788 fev[variable].get_function_laplacians_from_local_dof_values(
1789 independent_local_dofs, ret);
1795 template <
int dim,
int spacedim>
1796 template <
typename Extractor,
typename Number>
1797 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1798 template solution_third_derivative_type<Number>> &
1800 const std::string &global_vector_name,
1801 const Extractor & variable,
1804 const std::vector<Number> &independent_local_dofs =
1805 get_local_dof_values(global_vector_name, dummy);
1811 const std::string name = get_unique_name(
1812 global_vector_name, variable,
"_third_derivatives_q", n_q_points, dummy);
1816 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1817 template solution_third_derivative_type<Number>>;
1820 internal_data_storage.template get_or_add_object_with_name<RetType>(
1826 fev[variable].get_function_third_derivatives_from_local_dof_values(
1827 independent_local_dofs, ret);
1833 template <
int dim,
int spacedim>
1834 template <
typename Extractor,
typename Number>
1835 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1836 template solution_symmetric_gradient_type<Number>> &
1838 const std::string &global_vector_name,
1839 const Extractor & variable,
1842 const std::vector<Number> &independent_local_dofs =
1843 get_local_dof_values(global_vector_name, dummy);
1849 const std::string name = get_unique_name(
1850 global_vector_name, variable,
"_symmetric_gradient_q", n_q_points, dummy);
1855 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1856 template solution_symmetric_gradient_type<Number>>;
1859 internal_data_storage.template get_or_add_object_with_name<RetType>(
1865 fev[variable].get_function_symmetric_gradients_from_local_dof_values(
1866 independent_local_dofs, ret);
1871 template <
int dim,
int spacedim>
1872 template <
typename Extractor,
typename Number>
1873 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1874 template solution_divergence_type<Number>> &
1876 const std::string &global_vector_name,
1877 const Extractor & variable,
1880 const std::vector<Number> &independent_local_dofs =
1881 get_local_dof_values(global_vector_name, dummy);
1887 const std::string name = get_unique_name(
1888 global_vector_name, variable,
"_divergence_q", n_q_points, dummy);
1892 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1893 template solution_divergence_type<Number>>;
1896 internal_data_storage.template get_or_add_object_with_name<RetType>(
1902 fev[variable].get_function_divergences_from_local_dof_values(
1903 independent_local_dofs, ret);
1909 template <
int dim,
int spacedim>
1910 template <
typename Extractor,
typename Number>
1911 const std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1912 template solution_curl_type<Number>> &
1914 const Extractor & variable,
1917 const std::vector<Number> &independent_local_dofs =
1918 get_local_dof_values(global_vector_name, dummy);
1924 const std::string name = get_unique_name(
1925 global_vector_name, variable,
"_curl_q", n_q_points, dummy);
1929 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1930 template solution_curl_type<Number>>;
1933 internal_data_storage.template get_or_add_object_with_name<RetType>(
1938 fev[variable].get_function_curls_from_local_dof_values(
1939 independent_local_dofs, ret);
1945 template <
int dim,
int spacedim>
1946 template <
typename Extractor,
typename Number>
1947 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
1948 template solution_value_type<Number>> &
1950 const std::string &global_vector_name,
1951 const Extractor & variable,
1954 const std::vector<Number> &independent_local_dofs =
1955 get_local_dof_values(global_vector_name, dummy);
1958 get_current_interface_fe_values();
1965 const std::string name = get_unique_name(
1966 global_vector_name, variable,
"_jump_values_q", n_q_points, dummy);
1970 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
1971 template solution_value_type<Number>>;
1974 internal_data_storage.template get_or_add_object_with_name<RetType>(
1979 feiv[variable].get_jump_in_function_values_from_local_dof_values(
1980 independent_local_dofs, ret);
1986 template <
int dim,
int spacedim>
1987 template <
typename Extractor,
typename Number>
1988 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
1989 template solution_gradient_type<Number>> &
1991 const std::string &global_vector_name,
1992 const Extractor & variable,
1995 const std::vector<Number> &independent_local_dofs =
1996 get_local_dof_values(global_vector_name, dummy);
1999 get_current_interface_fe_values();
2006 const std::string name = get_unique_name(
2007 global_vector_name, variable,
"_jump_gradients_q", n_q_points, dummy);
2011 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2012 template solution_gradient_type<Number>>;
2015 internal_data_storage.template get_or_add_object_with_name<RetType>(
2020 feiv[variable].get_jump_in_function_gradients_from_local_dof_values(
2021 independent_local_dofs, ret);
2027 template <
int dim,
int spacedim>
2028 template <
typename Extractor,
typename Number>
2029 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2030 template solution_hessian_type<Number>> &
2032 const std::string &global_vector_name,
2033 const Extractor & variable,
2036 const std::vector<Number> &independent_local_dofs =
2037 get_local_dof_values(global_vector_name, dummy);
2040 get_current_interface_fe_values();
2047 const std::string name = get_unique_name(
2048 global_vector_name, variable,
"_jump_hessians_q", n_q_points, dummy);
2052 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2053 template solution_hessian_type<Number>>;
2056 internal_data_storage.template get_or_add_object_with_name<RetType>(
2061 feiv[variable].get_jump_in_function_hessians_from_local_dof_values(
2062 independent_local_dofs, ret);
2068 template <
int dim,
int spacedim>
2069 template <
typename Extractor,
typename Number>
2070 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2071 template solution_third_derivative_type<Number>> &
2073 const std::string &global_vector_name,
2074 const Extractor & variable,
2077 const std::vector<Number> &independent_local_dofs =
2078 get_local_dof_values(global_vector_name, dummy);
2081 get_current_interface_fe_values();
2088 const std::string name = get_unique_name(global_vector_name,
2090 "_jump_third_derivatives_q",
2096 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2097 template solution_third_derivative_type<Number>>;
2100 internal_data_storage.template get_or_add_object_with_name<RetType>(
2105 feiv[variable].get_jump_in_function_third_derivatives_from_local_dof_values(
2106 independent_local_dofs, ret);
2112 template <
int dim,
int spacedim>
2113 template <
typename Extractor,
typename Number>
2114 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2115 template solution_value_type<Number>> &
2117 const std::string &global_vector_name,
2118 const Extractor & variable,
2121 const std::vector<Number> &independent_local_dofs =
2122 get_local_dof_values(global_vector_name, dummy);
2125 get_current_interface_fe_values();
2132 const std::string name = get_unique_name(
2133 global_vector_name, variable,
"_average_values_q", n_q_points, dummy);
2137 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2138 template solution_value_type<Number>>;
2141 internal_data_storage.template get_or_add_object_with_name<RetType>(
2146 feiv[variable].get_average_of_function_values_from_local_dof_values(
2147 independent_local_dofs, ret);
2153 template <
int dim,
int spacedim>
2154 template <
typename Extractor,
typename Number>
2155 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2156 template solution_gradient_type<Number>> &
2158 const std::string &global_vector_name,
2159 const Extractor & variable,
2162 const std::vector<Number> &independent_local_dofs =
2163 get_local_dof_values(global_vector_name, dummy);
2166 get_current_interface_fe_values();
2173 const std::string name = get_unique_name(
2174 global_vector_name, variable,
"_average_gradients_q", n_q_points, dummy);
2178 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2179 template solution_gradient_type<Number>>;
2182 internal_data_storage.template get_or_add_object_with_name<RetType>(
2187 feiv[variable].get_average_of_function_gradients_from_local_dof_values(
2188 independent_local_dofs, ret);
2194 template <
int dim,
int spacedim>
2195 template <
typename Extractor,
typename Number>
2196 const std::vector<typename FEInterfaceViews::View<dim, spacedim, Extractor>::
2197 template solution_hessian_type<Number>> &
2199 const std::string &global_vector_name,
2200 const Extractor & variable,
2203 const std::vector<Number> &independent_local_dofs =
2204 get_local_dof_values(global_vector_name, dummy);
2207 get_current_interface_fe_values();
2214 const std::string name = get_unique_name(
2215 global_vector_name, variable,
"_average_hessians_q", n_q_points, dummy);
2219 std::vector<typename FEValuesViews::View<dim, spacedim, Extractor>::
2220 template solution_hessian_type<Number>>;
2223 internal_data_storage.template get_or_add_object_with_name<RetType>(
2228 feiv[variable].get_average_of_function_hessians_from_local_dof_values(
2229 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
@ update_default
No update.
#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
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)