Towards Tpetra support#6990
Conversation
|
The OS X tester says: We may simply not have exported |
|
Other than that, if I read your diffs correctly, you have changes such as So this has gotten vastly worse. We use our own |
d44251e to
087b4eb
Compare
|
I fixed the support for older deal.II versions, the failing tests are unrelated. And I agree there are quite a number of tests where in particular the Stokes solver seems to need many more iterations than with Epetra and I was thinking in the same directions. The most obvious candidate to me is that we no longer remove the constant modes from the AMG preconditioner, but a bug is of course also possible. I dont know the reasoning behind the removed option for constant modes in MueLu, maybe it was thought to be no longer necessary. I will need to take a closer look at the MueLu documentation, there is some mention of the near nullspace, but it is not explained in much detail. Maybe we can emulate similar behavior to ML with some additional settings. |
|
I confirmed in at least one test that the support for constant modes (or nullspace removal) makes a huge difference for the solver performance of the MueLu preconditioner. This may not be the whole story (I have seen melt tests without periodicity suffer from worse iteration numbers as well), but a part of the problem. The test With the current version of MueLu/Tpetra: With MueLu/Tpetra if I remove the periodic boundaries and replace them with tangential boundaries (flow field changes a bit, but not dramatically): I will need to look closer at how to implement this properly in deal.II. It will probably require porting the function This will likely be a bigger undertaking. Do you think we need it for this PR? I had mentioned in the changelog entry that performance may not be as good as the ML preconditioner. |
With the changes in #6985 all ASPECT tests now finish the tester system that we also use for the deal.II development version when using the Tpetra vectors and solvers. I have also checked that the solkz and solcx results are similar in accuracy, which they are and the overall test output differences between Epetra and Tpetra solutions are reasonably small (see https://github.com/gassmoeller/aspect/tree/tpetra_test_differences). However, solver performance is another matter, sometimes the Tpetra Stokes solver needs many more iterations than the Epetra based solver (in particular for the Stokes equation, advection is almost equal), I have not checked runtime or scalability yet.
But by now it could be safe to enable using Tpetra, if the user requests it, or the user builds deal.II without Epetra (essentially equal to using Trilinos 17). But we could also keep this PR open for a while. I think eventually someone will have to spend a bit of time with the Stokes solver parameters and check if we should adjust any for Tpetra (similar to the experiments in #234).