Finally I have some time to work on BDDC. I'm thinking to restyle some of my BDDC code. In particular in setting up the coarse environment, I want to implement a function (mostly reusing some BDDC code I already wrote)
MatiSSubassemble(A, IS ISSubdomains,*B,*intercomm,*partial_scatter) which, given subdomain indices, creates a new MATIS matrix on a subcomm of the communicator of A by subassembling. In particular, ISSubdomains should come from a call to MatPartitioningApply on the adjacency matrix of the subdomains. The communicator of B is the subcomm of A of processes which will receive some of the local matrices intercomm will be the communicator which can be used between each receiving process and their sending "friends" *partial_scatter will be the scatter context associated to the intercomm Jed, do you already wrote something similar for your PA? What's the best logic for you? Should I use MatCoarsen? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120509/1ffaeffd/attachment.html>