New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix MatrixFree + FE_Q_iso_Q1(2) #14197
Conversation
shape_info.element_type <= | ||
MatrixFreeFunctions::tensor_symmetric_no_collocation) | ||
FEFaceEvaluationImpl<true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't this branch also using collocation derivatives:
dealii/include/deal.II/matrix_free/evaluation_kernels.h
Lines 2533 to 2534 in 2d6e494
using Eval = EvaluatorTensorProduct<symmetric_evaluate ? evaluate_evenodd : | |
evaluate_general, |
Hence, I believe we need to use
tensor_symmetric
here and in the other face function below.
@@ -5174,7 +5178,7 @@ namespace internal | |||
{ | |||
Assert(fe_degree > -1, ExcInternalError()); | |||
Assert(fe_eval.get_shape_info().element_type <= | |||
MatrixFreeFunctions::tensor_symmetric, | |||
MatrixFreeFunctions::tensor_symmetric_no_collocation, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here, I think we also need to play safe and only enable it for the tensor_symmetric
case.
if (dynamic_cast<const FE_Q_iso_Q1<dim> *>(&fe)) | ||
element_type = tensor_symmetric_no_collocation; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer if we could move this above the if
statement for check_1d_shapes_collocation
, because we should not even build the matrices for that case.
You would need to adjust the output of |
I am working on that and on an additional test, which performs a sanity test. |
d15d4ec
to
fec0d10
Compare
@kronbichler I have applied the suggested changes, modified the test output and added a new test, which tests the influence of dofs on quadrature point values/gradient (a sanity check I used to debug the problem). |
Fix MatrixFree + FE_Q_iso_Q1(2)
No description provided.