submit_value(const Tensor<1, 1, VectorizedArrayType> val_in,
const unsigned int q_point)
{
+ static_assert(n_components == 1 && dim == 1,
+ "Do not try to modify the default template parameters used for"
+ " selectively enabling this function via std::enable_if!");
submit_value(val_in[0], q_point);
}
submit_gradient(const Tensor<2, 1, VectorizedArrayType> grad_in,
const unsigned int q_point)
{
+ static_assert(n_components == 1 && dim == 1,
+ "Do not try to modify the default template parameters used for"
+ " selectively enabling this function via std::enable_if!");
submit_gradient(grad_in[0], q_point);
}
FEEvaluationBase<dim, n_components_, Number, is_face, VectorizedArrayType>::
get_divergence(const unsigned int q_point) const
{
+ static_assert(n_components == dim,
+ "Do not try to modify the default template parameters used for"
+ " selectively enabling this function via std::enable_if!");
+
# ifdef DEBUG
Assert(this->gradients_quad_initialized == true,
internal::ExcAccessToUninitializedField());
FEEvaluationBase<dim, n_components_, Number, is_face, VectorizedArrayType>::
get_symmetric_gradient(const unsigned int q_point) const
{
+ static_assert(n_components == dim,
+ "Do not try to modify the default template parameters used for"
+ " selectively enabling this function via std::enable_if!");
+
// copy from generic function into dim-specialization function
const auto grad = get_gradient(q_point);
VectorizedArrayType symmetrized[(dim * dim + dim) / 2];
FEEvaluationBase<dim, n_components_, Number, is_face, VectorizedArrayType>::
get_curl(const unsigned int q_point) const
{
+ static_assert(dim > 1 && n_components == dim,
+ "Do not try to modify the default template parameters used for"
+ " selectively enabling this function via std::enable_if!");
+
// copy from generic function into dim-specialization function
const Tensor<2, dim, VectorizedArrayType> grad = get_gradient(q_point);
Tensor<1, (dim == 2 ? 1 : dim), VectorizedArrayType> curl;
submit_divergence(const VectorizedArrayType div_in,
const unsigned int q_point)
{
+ static_assert(n_components == dim,
+ "Do not try to modify the default template parameters used for"
+ " selectively enabling this function via std::enable_if!");
+
# ifdef DEBUG
Assert(this->is_reinitialized, ExcNotInitialized());
# endif
const SymmetricTensor<2, dim, VectorizedArrayType> sym_grad,
const unsigned int q_point)
{
+ static_assert(n_components == dim,
+ "Do not try to modify the default template parameters used for"
+ " selectively enabling this function via std::enable_if!");
+
AssertThrow(
this->data->element_type !=
internal::MatrixFreeFunctions::ElementType::tensor_raviart_thomas,
submit_curl(const Tensor<1, dim == 2 ? 1 : dim, VectorizedArrayType> curl,
const unsigned int q_point)
{
+ static_assert(n_components == dim,
+ "Do not try to modify the default template parameters used for"
+ " selectively enabling this function via std::enable_if!");
+
Tensor<2, dim, VectorizedArrayType> grad;
switch (dim)
{