[petsc-users] Running AMG libraries as standalone solvers

Barry Smith bsmith at petsc.dev
Wed Jul 5 10:51:22 CDT 2023


   BTW: in my experience

Geometric multigrid generally works great as a standalone solver, that is accelerating it with a Krylov method is not needed, and while it may improve the convergence rate slightly, it may end up taking a bit more time then not using the Krylov solver (due to the extra Krylov solver overhead).

Algebraic multigrid is usually run with a Krylov solver and running without a Krylov solver, as far as I am aware, generally performs poorly.


> On Jul 5, 2023, at 11:46 AM, Barry Smith <bsmith at petsc.dev> wrote:
> 
> 
>   -ksp_type richardson
> 
>   If you use -ksp_typre preonly you effectively get one V-cycle (or whatever cycle type you may have selected) which in general, will give you a more or less garbage answer
> 
> 
> 
>> On Jul 5, 2023, at 11:28 AM, Khurana, Parv <p.khurana22 at imperial.ac.uk> wrote:
>> 
>> Hello PETSc users,
>>  
>> I am fairly inexperienced with PETSc as of now and am new to the mailing list! Thanks for running this channel.
>>  
>> I seek basic help regarding running AMG routines (BoomerAMG/ML/GAMG). I am trying to compare the performance of solving a Poisson problem using a AMG Preconditioned GMRES iterative solve vs using AMG as the solver. I use PETSc options using the options database keys as of now, and it is connected to a flow solver (Nektar++) I use for my research.
>>  
>> I currently run the AMG Preconditioned GMRES iterative solve by setting -ksp_type gmres and then specifying the preconditioner I want using, for e.g, -pc_type hypre -pc_hypre_type boomeramg. If I want to use the AMG routine, I am currently setting -ksp_type preonly and the same -pc_type. However, I am not sure if this is correct way to go about it due to two reasons:  a) my solution using AMG as a solver with these options has a larger error than AMG Preconditioned GMRES (which could still be acceptable), and b) I could not find any clear documentation regarding how to use AMG directly as a solver. I saw some hints in the examples herehttps://petsc.org/main/tutorials/handson/# <https://petsc.org/main/tutorials/handson/>, but it hasn’t helped me.
>>  
>> Any hints on how to use AMG directly as a solver?
>>  
>> Best
>> Parv
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230705/772edaa9/attachment-0001.html>


More information about the petsc-users mailing list