-
Notifications
You must be signed in to change notification settings - Fork 15
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
Block assemblers for v0.3 #124
Conversation
…tributed.jl into block-assemblers-v0.3
Codecov Report
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. @@ Coverage Diff @@
## master #124 +/- ##
=======================================
Coverage 0.00% 0.00%
=======================================
Files 11 12 +1
Lines 2082 2448 +366
=======================================
- Misses 2082 2448 +366
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Exploring ghost optimisation
…block-assemblers-v0.3
…block-assemblers-v0.3
Hey @amartinhuertas , I think I'm ready to merge this. Any final thougts? |
No. Please go ahead. |
This PR implements block assemblers, which allow to assemble a MultiFieldFESpace block-wise. It is the distributed counterpart of gridap/Gridap.jl#915.
Instead of a sparse monolithic matrix and vectors, this assembler leverages BlockArrays.jl to produce equivalent block-partitioned sparse matrices and vectors. This is meant to ease the development of block preconditioners and solvers.
TODO:
to_parray_of_arrays
andlocal_views
implementations for BlockArrays to theAlgebra.jl
file?change_ghosts
variant for Block-Multifield, like in the tests? This would give us a way to move from dof partitions to matrix partitions (since having identical PRanges is for now discarded as a solution). Or we could just not solve the issue, since it is already present for non-block assembly as well.Other pains/doubts about the implementation can be found in gridap/GridapSolvers.jl#29.