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

Refactor of autodiff for MultiField #1070

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from
Draft

Refactor of autodiff for MultiField #1070

wants to merge 9 commits into from

Conversation

JordiManyer
Copy link
Member

@JordiManyer JordiManyer commented Dec 21, 2024

The current implementation of autodiff for MultiField spaces is a mess... It relies on a lot of specific code, and has severe performance issues. I believe that with some though we could use the same code as for SingleField.

This is motivated by the fact that I do not want to replicate the current implementation for GridapDistributed. I believe it will also solve many issues we currently have for autodiff+multifield.

To-Dos

  • gradient
  • jacobian
  • hessian
  • skeletons

To-Think

Skeletons are wrong when the number of dofs is different in the left and right cells. The issue is that we are dualizing both left and right cells at once, but witout knowing which cells those are (we just assume they are the same). I think I'll have to go back to what Kishore was doing, i.e doing left then right. Hopefully without any densifying maps.

The other solution would be to directly port the cell values to the destination triangulation, and evaluate the bilinear forms with cellfields that are already there. The issue is that this will likely break the change_domain apis in an unpredictable way.

Copy link

codecov bot commented Dec 23, 2024

Codecov Report

Attention: Patch coverage is 94.60784% with 11 lines in your changes missing coverage. Please review.

Project coverage is 89.25%. Comparing base (04edf7e) to head (6e649c5).

Files with missing lines Patch % Lines
src/Fields/ArrayBlocks.jl 90.75% 11 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1070      +/-   ##
==========================================
+ Coverage   89.05%   89.25%   +0.20%     
==========================================
  Files         197      197              
  Lines       23905    23767     -138     
==========================================
- Hits        21288    21213      -75     
+ Misses       2617     2554      -63     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant