> On 30 Jul 2015, at 13:54, Jan Blechta <blec...@karlin.mff.cuni.cz> wrote: > > On Thu, 30 Jul 2015 12:27:47 +0100 > "Garth N. Wells" <gn...@cam.ac.uk <mailto:gn...@cam.ac.uk>> wrote: > >> On 30 July 2015 at 12:18, Mikael Mortensen >> <mikael.morten...@gmail.com> wrote: >> >>> Hi >>> >>> Back from vacation and very pleased :-) to find that I can update my >>> Fenics installation to version 1.6 in less than 10 minutes! Used to >>> take at least a few days. >>> >>> Now I’m trying to upgrade my applications to 1.6 and I just found >>> that some of the common preconditioners (jacobi, bjacobi, >>> additive_schwarz) have gone missing. Any reason for this or is it a >>> mistake? They seem to have disappeared recently from the map >>> _methods_descr in PETScPreconditioner.cpp. >>> >>> >> The code in question was a mess and the wrapping approach >> unsustainable, which is why it was removed.
Including these three lines in creating _methods_descr in PETScPreconditioner.cpp seems to work. Why do you consider it messy? {"jacobi", "Jacobi iteration"}, {"bjacobi", "Block Jacobi iteration"}, {"additive_schwarz", "Additive Schwarz"}, Jacobi and additive_schwarz are the two best preconditioners for a momentum solve in Navier-Stokes and I don’t think they should have been removed without even making the ChangeLog. > > The demand for the wrapping comes from the requirement of having > certain amount of control portable across backends. Is this requirement > getting abandoned, or at least weakened? Another issue is that most users will simply print list_krylov_solver_preconditioners, and they will then not know that they can actually create a jacobi preconditioner. If they do find out they will have to do something (not portable across backends) like p = PETScPreconditioner(‘jacobi’) solver = PETScKrylovSolver(‘cg’, p) where they used to be able to do solver = KrylovSolver(“cg”, ‘jacobi’) Not much more complex, but certainly not very user-friendly to hide preconditioners like this. > > Jan > >> >> You can control the PETSc preconditioners via PETSc options. This >> gives you far greater control, makes DOLFIN code simpler and provides >> greater consistency when using PETSc solver. There will be more >> changes in DOLFIN 1.7 to give greater control over preconditioning. Ok, what are actually the plans for 1.7? Mikael >> >> Garth >> >> >> >> >>> Best regards >>> >>> Mikael >>> >>> _______________________________________________ >>> fenics mailing list >>> fenics@fenicsproject.org >>> http://fenicsproject.org/mailman/listinfo/fenics
_______________________________________________ fenics mailing list fenics@fenicsproject.org http://fenicsproject.org/mailman/listinfo/fenics