mantle_convection test inverts a (near) singular matrix
Bug #1189508 reported by
James Maddison
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dolfin-adjoint |
In Progress
|
Undecided
|
Marie Rognes |
Bug Description
The mantle_convection test fails to apply a reference pressure node or supply null space information to the linear solvers. As a result the test is inverting a singular matrix. Rounding errors mean that the assembled matrix is non-singular, and invertible with a direct solver, but very ill-conditioned.
Changed in dolfin-adjoint: | |
assignee: | nobody → Marie Rognes (meg-simula) |
status: | New → In Progress |
To post a comment you must log in.
Thanks for pointing at this.
The Stokes system(s) in that demo are indeed rather singular. However, the null space is not the usual constant pressure space (because the velocity is not specified on the entire boundary), but is rather spanned by three velocity eigenmodes.
I'm not quite sure what the best fix is. Is this one of the tests included in the dolfin-adjoint paper? If so, I think we should just leave it as is for the sake of reproducibility. If not, we could replace the direct solves with appropriately orthogonalized Krylov solves.