Previously I was discussing with John and Magali and we run into this problem of using Block GMG. So Magali suggests me to bring it up on the forum.
I have a problem running the Block GMG method inside the Newton solver. I created a very simple test from the slab detachment benchmark, which is basically a 2d model with non-linear rheology in the ViscoPlastic material model. The problem happens when the solver assembles at 0th step and it happens specifically for tangential boundary condition. Here is the description. As the forum doesn’t allow me to upload files, I am hoping that anyone of you could take this problem and I will send an email with all the files included.
When I change the velocity boundary conditions on top and bottom to ‘fixed’ instead of ‘tangential’, the problem is solved
see the input file under test_group/test_naliboff_setting
case_err_simple.prm vs case_err_simple_test.prm
the second one’s boundary conditions are changed
Also see this prm where I preserve the ‘tangential’ conditions and used AMG instead of GMG, there is no error in this case
case_err_simple_test.prm
To summarize and some questions.
Assigning all boundary velocity conditions to ‘tangential’ is causing the problem. Is there a null space under these conditions? do we actually need to remove it?
While this is the problem, change the linear solver scheme to ‘AMG’ (i.e. the default) will also resolve the problem. So is that ‘GMG’ has a stricter requirement for having no nullspace in the problem