-
Notifications
You must be signed in to change notification settings - Fork 97
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 #915
Block assemblers #915
Conversation
- BlockMatrixAssemblers now is an Assembler, not a SparseMatrixAssembler. - It does not depend on the SparseMatrixAssembler interface, thus can be used with any assembler. This is in preparation for Distributed block assemblers.
Codecov Report
❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more. @@ Coverage Diff @@
## master #915 +/- ##
==========================================
+ Coverage 87.89% 88.00% +0.11%
==========================================
Files 173 174 +1
Lines 20401 20626 +225
==========================================
+ Hits 17931 18152 +221
- Misses 2470 2474 +4
... and 1 file with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
…lock-assemblers-docs
This PR implements block assemblers, which allow to assemble a
MultiFieldFESpace
block-wise.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.
Main features:
MultiFieldStyle
, calledBlockMultiFieldStyle
that allows then user to control which field is assembled in which block, the number of blocks, etc...BlockSparseMatrixAssembler
, which implements theSparseMatrixAssembler
interface.TODO:
ArrayBlockView
tosrc/Fields/ArrayBlocks.jl
.IMPORTANT: This PR should not be merged yet. This is open for comments, and waiting for the parallel implementation to be finalized in GridapDistributed.
NOTE: After merging this, we should remember to also delete the branch
rethinking-block-assemblers
.