On Apr 2, 2012, at 11:37 AM, Karin&NiKo wrote:

> 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).

3.2 should work ... 

> 2. It seems to me that ML does not support block matrices, doesn't it?

The ML interface does get the block size of the matrix.  So it does the right 
thing.

Mark

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

Reply via email to