[petsc-users] How to use multigrid?

Mark F. Adams mark.adams at columbia.edu
Fri Nov 9 11:09:58 CST 2012


On Nov 9, 2012, at 11:37 AM, "A.L. Siahaan" <als88 at cam.ac.uk> wrote:

> Is PCGAMG a combination of AMG and geometric multigrid ? Do we have to choose either pure AMG (when using -pc_type gamg -pc_gamg_agg_nsmooths 1) or pure geometric MG (type="geo") ?

Thing of GAMG as an AMG solver.  "geo" is an unstructured GMG method that is there as a reference implementation, to stress the framework a bit, but is not for real use.

> From my thread search in this mailing list about using PCGAMG, it is mostly advised to use pure AMG (-pc_type gamg -pc_gamg_agg_nsmooths 1).

Yes

> 
> Of all algebraic multigrid implemented or interfaced in PETSc, i.e. BoomerAMG (PCHypre), ML(PCML), and PCGAMG("agg"), what is the order of the cost (memory) to set up the preconditioner (setting nullspace etc) ?

Not a simple question.  ML and GAMG use very similar algorithms and ML is implemented in a more "native" way than hypre (GAMG is completely native).  GAMG/ML are probably better for elasticity, hypre is great for 2D low order discretizations of Laplacian, and it is a very hardened implementation.  hypre is not native so there are some things that don't work as well.

> 
> Regards,
> Antony
> 
> 
> 
> On Nov 9 2012, Mark F. Adams wrote:
> 
>> 
>> On Nov 9, 2012, at 10:05 AM, w_ang_temp <w_ang_temp at 163.com> wrote:
>> 
>>> Hello,Jed
>>>       Sorry again for the interruption.
>>>        As you said, if I want to use Algebraic multigrid, I can just use '-pc_type gamg -pc_gamg_agg_nsmooths 1' in the command line. I think there are many other -pc_gamg_XXX parameters. How can I find all the -pc_gamg_XXX?
>> 
>> -help
>> 
>>>        Besides, I want to know more about AMG. Are there any details from PETSc, like manual, documentaion, FAQ, etc?
>> 
>> I would recommend the book "Multigrid" by Trottenberg, et al, and the classic "Multigrid Tutorial" is good to look at also.
>> 
>>>    Also, from the above post, I want to know that if AMG can not be used in 3.2 by command line option, because now I have to use 3.3 for using AMG. I just donot want to change my version 3.2 now.
>> 
>> You can use 3.2 if you like (free country) but this code was developed a lot between 3.2 and 3.3. I forget what was in 3.2 exactly. If you have a straight forward problem and 3.2 works then its is probably OK for your current purposes.
>> 
>>>        I am major in Civil Engineering and not good at math and programming. So please forgive my weakness.
>>>    Thanks.
>>>                                Jim  > At 2012-10-28 21:17:00,"Jed Brown" <jedbrown at mcs.anl.gov> wrote: > Algebraic multigrid can be used directly, -pc_type gamg > -pc_gamg_agg_nsmooths 1. Geometric either required that you use the > PCMG interface to set >interpolation (and provide a coarse operator > for non-Galerkin) or use a DM that provides coarsening capability.
>>> >What kind of problem are you solving?
>>> >>On Oct 28, 2012 6:09 AM, "w_ang_temp" <w_ang_temp at 163.com> wrote:
>>> >>Hello,
>>> >>  I want to use the multigrid as a preconditioner. The introduction  >> about it in the manual is little.
>>> >> So are there some typical examples or details about multigrid? Is it >> used just like other preconditioners like jacobi, sor, which can be >> simply used in the cammand line options?
>>> >>  Thanks.
>>> > >                                                                       > > Jim
>> 
>> 
> 



More information about the petsc-users mailing list