Skip to content
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

Merged
merged 1 commit into from Aug 18, 2022
Merged

Conversation

peterrum
Copy link
Member

No description provided.

Comment on lines 4278 to 4279
shape_info.element_type <=
MatrixFreeFunctions::tensor_symmetric_no_collocation)
FEFaceEvaluationImpl<true,
Copy link
Member

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:

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,
Copy link
Member

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.

Comment on lines 936 to 937
if (dynamic_cast<const FE_Q_iso_Q1<dim> *>(&fe))
element_type = tensor_symmetric_no_collocation;
Copy link
Member

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.

@kronbichler
Copy link
Member

You would need to adjust the output of tests/matrix_free/shape_info.cc because the indices of non-symmetric shape functions get shifted.

@peterrum
Copy link
Member Author

You would need to adjust the output of tests/matrix_free/shape_info.cc because the indices of non-symmetric shape functions get shifted.

I am working on that and on an additional test, which performs a sanity test.

@peterrum
Copy link
Member Author

@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).

@peterrum peterrum changed the title [WIP] Fix MatrixFree + FE_Q_iso_Q1(2) Fix MatrixFree + FE_Q_iso_Q1(2) Aug 18, 2022
@peterrum peterrum merged commit d82986a into dealii:master Aug 18, 2022
mkghadban pushed a commit to OpenFCST/dealii that referenced this pull request Sep 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants