Hi Anna,
I believe I have found your problem. The test and trial functions for the 3rd block are v_4 and mu_t respectively. The relevant term is:
amu = v4*(mu_bar*lambda_t + lambda_bar*mu_t)*dx
i.e. the diagonal block is:
v4*lambda_bar*mu_t*dx.
However, if I plot lambda_bar, I find that it is zero over most of the domain. Most rows of this block are therefore zero with the result that the solver fails on this block.
Now it can be that the diagonal blocks are supposed to be zero and that the problem is still well-posed (as with mixed Poisson, for example). However that situation needs to be dealt with in the right way in a field split preconditioner. Before we get there, what is the argument in this case that this problem is in fact well-posed?
Regards,
David