When I create a mesh and functionspace with mpirun -np 2, I get a distribution of the DOFs. I can access the data about the distribution with the DofMap class. Now I would like to assemble a system within a local set of DOFs to solve as part of a domain decomposition method. I have been sifting through the c++ interface documentation to see what my options are, but I have not seen anything that will definitively allow me to do this. Would FunctionSpace.extract_sub_space be of any use here? Or is there a way to make separate meshes from the distribution of the global mesh (Restriction class?) and separate function spaces and so on?
Sorry for the vagueness of the question, but I am having trouble committing to a strategy, and it would be great to not waste time if it turns out that this simply isn't possible!
Thanks,
Ben