Hi,
I started implementing a mixed solver, and I used as reference the https://github.com/KratosMultiphysics/Kratos/blob/master/kratos/linear_solvers/mixedup_linear_solver.h, which has a hard coded implementation of the GMRES.
Certainly this is not desirable, but I have look for some external implementation of the GMRES and https://github.com/KratosMultiphysics/Kratos/blob/master/kratos/linear_solvers/deflated_gmres_solver.h for example reuses many methods from the previous class (or viceversa). Additionally there is a GMRES in the external solver application (I don't know why it is in external solvers application, it is implemented in the Kratos namespace and using our templates).
The thing is that it is confusing, particularly if I want to avoid copy pasting and reduce code duplication.
Then there is the AMGL implementation, this is OK because it is an external library.
I will close this, reopen if eventually we want to do some clean
@KratosMultiphysics/technical-committee
Technical Committee: It would be in the queue due to low priority at the moment
@RiccardoRossi would check them to see which should be maintained
@KratosMultiphysics/technical-committee: @RiccardoRossi is making an interface to new AMGCL which now let to call lgmres without using the multigrid. So the current gmres solvers (which are not efficient) can be safely removed.
Do I close this or do you prefer to keep it as a reminder?
So you can proceed with removing them and make the PR close this
Oki :+1:
I will do a ping to myself @loumalouomega
I am writing on behalf of the @KratosMultiphysics/technical-committee
I think at this moment we could well remove the
"mixed_up" and "deflated_gmres". Anyway they are seldom used. (i would however keep deflated_cg as it can be actually useful)
to me we could also get rid of the gmres in the external_solvers_app, unless anyone is using it.
The gmres in the external solvers app is actually registered so it can be currently used.
It doesn't look like the implementation is very clean though...
The propsal is to leave it there at least for the time being
only bad things is that this way the only gmres availabe in Kratos will be within the amgcl library
only bad things is that this way the only gmres availabe in Kratos will be within the amgcl library
It is the only which is functional now. So not a big deal....
@rubenzorrilla will take care of removing the files stated above