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) <br>
<br>MatiSSubassemble(A, IS ISSubdomains,*B,*intercomm,*partial_scatter)<br><br>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. <br>
<br>The communicator of B is the subcomm of A of processes which will receive some of the local matrices <br>intercomm will be the communicator which can be used between each receiving process and their sending "friends"<br>
*partial_scatter will be the scatter context associated to the intercomm  <br><br>Jed, do you already wrote something similar for your PA? What's the best logic for you? Should I use MatCoarsen?<br>