26 } -> std::convertible_to<int>;
28 T::jacobian_stencil_radius
29 } -> std::convertible_to<int>;
32 requires(
const dealii::Point<T::dim> ¢er,
const std::array<double, 1> &u_center,
36 T::template compute_gradient<1>(center, u_center, x_n, u_n)
37 } -> std::same_as<GradientType<T::dim, double, 1>>;
40 requires(
const dealii::Point<T::dim> ¢er,
const std::array<double, 2> &u_center,
44 T::template compute_gradient<2>(center, u_center, x_n, u_n)
45 } -> std::same_as<GradientType<T::dim, double, 2>>;
48 requires(
const dealii::Point<T::dim> ¢er,
const dealii::Point<T::dim> &x,
49 const std::array<double, 1> &u_center,
const std::array<dealii::Point<T::dim>,
n_faces<T::dim>> &x_n,
52 T::template compute_gradient_at_point<1>(center, x, u_center, x_n, u_n)
53 } -> std::same_as<GradientType<T::dim, double, 1>>;
56 requires(
const dealii::Point<T::dim> ¢er,
const dealii::Point<T::dim> &x,
57 const std::array<double, 2> &u_center,
const std::array<dealii::Point<T::dim>,
n_faces<T::dim>> &x_n,
60 T::template compute_gradient_at_point<2>(center, x, u_center, x_n, u_n)
61 } -> std::same_as<GradientType<T::dim, double, 2>>;
64 requires(
const dealii::Point<T::dim> ¢er,
const std::array<autodiff::Real<1, double>, 1> &u_center,
66 const std::array<std::array<autodiff::Real<1, double>, 1>,
n_faces<T::dim>> &u_n) {
68 T::template compute_gradient_derivative<1>(center, u_center, x_n, u_n)
69 } -> std::same_as<GradientType<T::dim, double, 1>>;
72 requires(
const dealii::Point<T::dim> ¢er,
const std::array<autodiff::Real<1, double>, 2> &u_center,
74 const std::array<std::array<autodiff::Real<1, double>, 2>,
n_faces<T::dim>> &u_n) {
76 T::template compute_gradient_derivative<2>(center, u_center, x_n, u_n)
77 } -> std::same_as<GradientType<T::dim, double, 2>>;
80 requires(
const dealii::Point<T::dim> ¢er,
const dealii::Point<T::dim> &x,
81 const std::array<autodiff::Real<1, double>, 1> &u_center,
83 const std::array<std::array<autodiff::Real<1, double>, 1>,
n_faces<T::dim>> &u_n) {
85 T::template compute_gradient_at_point_derivative<1>(center, x, u_center, x_n, u_n)
86 } -> std::same_as<GradientType<T::dim, double, 1>>;
89 requires(
const dealii::Point<T::dim> ¢er,
const dealii::Point<T::dim> &x,
90 const std::array<autodiff::Real<1, double>, 2> &u_center,
92 const std::array<std::array<autodiff::Real<1, double>, 2>,
n_faces<T::dim>> &u_n) {
94 T::template compute_gradient_at_point_derivative<2>(center, x, u_center, x_n, u_n)
95 } -> std::same_as<GradientType<T::dim, double, 2>>;
98 requires(
const std::array<dealii::Point<T::dim>, 4> &x_stencil,
99 const std::array<std::array<double, 1>, 4> &u_stencil) {
101 T::template compute_third_derivatives_at_face<1>(x_stencil, u_stencil)
102 } -> std::same_as<ThirdDerivativeType<T::dim, double, 1>>;
105 requires(
const std::array<dealii::Point<T::dim>, 4> &x_stencil,
106 const std::array<std::array<double, 2>, 4> &u_stencil) {
108 T::template compute_third_derivatives_at_face<2>(x_stencil, u_stencil)
109 } -> std::same_as<ThirdDerivativeType<T::dim, double, 2>>;
112 requires(
const std::array<dealii::Point<T::dim>, 4> &x_stencil,
113 const std::array<std::array<autodiff::Real<1, double>, 1>, 4> &u_stencil) {
115 T::template compute_third_derivatives_at_face_derivative<1>(x_stencil, u_stencil)
116 } -> std::same_as<ThirdDerivativeType<T::dim, double, 1>>;
119 requires(
const std::array<dealii::Point<T::dim>, 4> &x_stencil,
120 const std::array<std::array<autodiff::Real<1, double>, 2>, 4> &u_stencil) {
122 T::template compute_third_derivatives_at_face_derivative<2>(x_stencil, u_stencil)
123 } -> std::same_as<ThirdDerivativeType<T::dim, double, 2>>;