42 reinit_face(ID
id) = 0;
45 reinit_face(ID
id,
unsigned int face) = 0;
47 virtual dealii::Tensor<1, dim_x, VectorizedArrayType>
48 evaluate_x(
unsigned int q,
unsigned int qx,
unsigned int qv)
const = 0;
50 virtual dealii::Tensor<1, dim_v, VectorizedArrayType>
51 evaluate_v(
unsigned int q,
unsigned int qx,
unsigned int qv)
const = 0;
53 virtual dealii::Tensor<1, dim_x, VectorizedArrayType>
54 evaluate_face_x(
unsigned int q,
56 unsigned int qv)
const = 0;
58 virtual dealii::Tensor<1, dim_v, VectorizedArrayType>
59 evaluate_face_v(
unsigned int q,
61 unsigned int qv)
const = 0;
79 const dealii::Tensor<1, dim, VectorizedArrayType> &transport_direction)
80 : transport_direction(transport_direction)
81 , transport_direction_x(extract<dim_x>(transport_direction, 0))
82 , transport_direction_v(extract<dim_v>(transport_direction, dim_x))
98 reinit_face(
TensorID ,
unsigned int )
override
105 inline DEAL_II_ALWAYS_INLINE
106 dealii::Tensor<1, dim_x, VectorizedArrayType>
107 evaluate_x(
unsigned int ,
109 unsigned int )
const override
111 return transport_direction_x;
116 inline DEAL_II_ALWAYS_INLINE
117 dealii::Tensor<1, dim_v, VectorizedArrayType>
118 evaluate_v(
unsigned int ,
120 unsigned int )
const override
122 return transport_direction_v;
127 inline DEAL_II_ALWAYS_INLINE
128 dealii::Tensor<1, dim_x, VectorizedArrayType>
129 evaluate_face_x(
unsigned int ,
131 unsigned int )
const override
133 return transport_direction_x;
138 inline DEAL_II_ALWAYS_INLINE
139 dealii::Tensor<1, dim_v, VectorizedArrayType>
140 evaluate_face_v(
unsigned int ,
142 unsigned int )
const override
144 return transport_direction_v;
151 static dealii::Tensor<1, dim_, VectorizedArrayType>
152 extract(dealii::Tensor<1, dim, VectorizedArrayType> input,
155 dealii::Tensor<1, dim_, VectorizedArrayType> output;
157 for (
auto i = 0u; i < dim_; i++)
158 output[i] = input[offset + i];
163 const dealii::Tensor<1, dim, VectorizedArrayType> transport_direction;
164 const dealii::Tensor<1, dim_x, VectorizedArrayType> transport_direction_x;
165 const dealii::Tensor<1, dim_v, VectorizedArrayType> transport_direction_v;