[petsc-users] ML and linear elasticity

Karin&NiKo niko.karin at gmail.com
Mon Apr 2 10:37:26 CDT 2012


Dear Jed and Mark.

Thank you for your quick answers.
1. I am stuck to petsc-3.2 since I am using PETSc in a production software.
For the next release, I'll give GAMG a try (I have been a satisfied user of
Prometheus).
2. It seems to me that ML does not support block matrices, doesn't it?
3. I would like to give ML the information about the vector nature of my
problem in order that all 3 dofs of a given node be treated in the same
manner (in the coarsening phase for instance).

Nicolas

2012/4/2 Mark F. Adams <mark.adams at columbia.edu>

> FYI, you can try GAMG also.  It uses the same algorithm as ML:
>
> Here are parameters:
>
> -pc_type gamg
> -pc_gamg_type agg
> -pc_gamg_agg_nsmooths 1     ! this is good for elliptic problems
> -pc_gamg_verbose 2                ! this will help me to give a quick
> sanity check
> -pc_gamg_threshold .05           ! for 3D problems this parameter can be
> useful for optimization
> -pc_gamg_coarse_eq_limit 50  ! a detail but you can keep in your input deck
>
> The vector Lapacian has 6 null space vectors (3 translational, 3
> rotational).  GAMG will construct these with the a setCoordinates method
> (see the ksp tutorial example ex56.c).   If you prefer to give me the null
> space vectors explicitly there is the MatSetNearNullSpace() method that Jed
> mentioned.  GAMG has not implemented this but I should at some point so if
> you want to use it I can implement it.
>
> If you do not give it coordinates it will construct the 3 translational
> null space vectors (don't need anything to compute these) and it can be OK.
>  At least a good place to start.
>
> Mark
>
> On Apr 2, 2012, at 10:44 AM, Jed Brown wrote:
>
> On Mon, Apr 2, 2012 at 06:59, Karin&NiKo <niko.karin at gmail.com> wrote:
>
>> I would like to use ML as a preconditioner for a linear elasticity
>> problem.
>> I wonder if there is a way to indicate ML that it is dealing with a
>> vector problem.
>> I know that when using Prometheus, one must use a block matrix, and I
>> would like to know if there is a trick
>> in order to use ML in an optimal manner for vector problems.
>>
>
> The block size is used if you don't provide any other information. The
> preferred approach with petsc-dev is to use MatSetNearNullSpace(). (I'll
> make sure this is currently working with ML and reply to this message.)
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120402/67a9a7ab/attachment.htm>


More information about the petsc-users mailing list