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/ff42ce83/attachment.htm>

Reply via email to