dim,
(fe_degree == -1) ? 1 : fe_degree + 1,
n_q_points_1d,
- Number,
normal_dir,
+ Number,
Number2>;
using EvalTangent =
dim,
(fe_degree == -1) ? 1 : fe_degree,
n_q_points_1d,
- Number,
normal_dir,
+ Number,
Number2>;
using Eval0 =
typename std::conditional<normal_dir == 0, EvalNormal, EvalTangent>::type;
dim,
(fe_degree == -1) ? 1 : fe_degree + 1,
n_q_points_1d,
- Number,
normal_dir,
+ Number,
Number2>;
using EvalTangent =
dim,
(fe_degree == -1) ? 1 : fe_degree,
n_q_points_1d,
- Number,
normal_dir,
+ Number,
Number2>;
using Eval0 =
typename std::conditional<normal_dir == 0, EvalNormal, EvalTangent>::type;
*
* This class allows for dimension-independent application of the operation,
* implemented by template recursion. It has been tested up to 6d.
+ *
+ * The last two template arguments in this class are unused. They have a
+ * default type set to bool, but any type will compile. These arguments are
+ * present for backward compatibility of this (internal) interface with
+ * previous versions of deal.II, where the template arguments were used to
+ * indicate the number types These are now part of the do_forward() and
+ * do_backward() functions, and they will be removed from a future version
+ * of deal.II.
*/
template <EvaluatorVariant variant,
EvaluatorQuantity quantity,
dim - 1,
(fe_degree == -1) ? 1 : fe_degree + 1,
n_q_points_1d,
- Number,
normal_dir,
+ Number,
Number2>;
using EvalTangent =
EvaluatorTensorProductAnisotropic<evaluate_raviart_thomas,
dim - 1,
(fe_degree == -1) ? 1 : fe_degree,
n_q_points_1d,
- Number,
normal_dir,
+ Number,
Number2>;
using TempEval0 = typename std::
dim - 1,
(fe_degree == -1) ? 1 : fe_degree + 1,
n_q_points_1d,
- Number,
normal_dir,
+ Number,
Number2>;
using EvalTangent =
EvaluatorTensorProductAnisotropic<evaluate_raviart_thomas,
dim - 1,
(fe_degree == -1) ? 1 : fe_degree,
n_q_points_1d,
- Number,
normal_dir,
+ Number,
Number2>;
using TempEval0 = typename std::
dim,
(fe_degree == -1) ? 1 : fe_degree + 1,
0,
- Number,
0,
+ Number,
Number2>,
EvaluatorTensorProductAnisotropic<evaluate_raviart_thomas,
dim,
(fe_degree == -1) ? 1 : fe_degree,
0,
- Number,
0,
+ Number,
Number2>>::type;
using Evalf1 = typename std::conditional<
face_direction == 1,
dim,
(fe_degree == -1) ? 1 : fe_degree + 1,
0,
- Number,
1,
+ Number,
Number2>,
EvaluatorTensorProductAnisotropic<evaluate_raviart_thomas,
dim,
(fe_degree == -1) ? 1 : fe_degree,
0,
- Number,
1,
+ Number,
Number2>>::type;
using Evalf2 = typename std::conditional<
face_direction == 2,
dim,
(fe_degree == -1) ? 1 : fe_degree + 1,
0,
- Number,
2,
+ Number,
Number2>,
EvaluatorTensorProductAnisotropic<evaluate_raviart_thomas,
dim,
(fe_degree == -1) ? 1 : fe_degree,
0,
- Number,
2,
+ Number,
Number2>>::type;
Evalf0 evalf0 =
int dim,
int n_rows,
int n_columns,
+ int normal_dir,
typename Number,
- int normal_dir,
typename Number2 = Number>
struct EvaluatorTensorProductAnisotropic
{};
template <int dim,
int n_rows,
int n_columns,
- typename Number,
int normal_dir,
+ typename Number,
typename Number2>
struct EvaluatorTensorProductAnisotropic<evaluate_raviart_thomas,
dim,
n_rows,
n_columns,
- Number,
normal_dir,
+ Number,
Number2>
{
static constexpr unsigned int n_rows_of_product =
template <int dim,
int n_rows,
int n_columns,
- typename Number,
int normal_dir,
+ typename Number,
typename Number2>
template <int direction, bool contract_over_rows, bool add, bool one_line>
inline void
dim,
n_rows,
n_columns,
- Number,
normal_dir,
+ Number,
Number2>::apply(const Number2 *DEAL_II_RESTRICT shape_data,
const Number * in,
Number * out)
template <int dim,
int n_rows,
int n_columns,
- typename Number,
int normal_dir,
+ typename Number,
typename Number2>
template <int face_direction,
bool contract_onto_face,
dim,
n_rows,
n_columns,
- Number,
normal_dir,
+ Number,
Number2>::apply_face(const Number *DEAL_II_RESTRICT in,
Number *DEAL_II_RESTRICT out) const
{