On Tue, Aug 27, 2013 at 2:45 PM, Tabrez Ali <[email protected]> wrote:

> Hello
>
> What is the proper way to use GAMG on a vanilla 3D linear elasticity
> problem. Should I use
>
> -pc_type gamg -pc_gamg_type agg -pc_gamg_agg_nsmooths 1
>

This is fine.


> or
>
> -pc_type fieldsplit -pc_fieldsplit_block_size 3 -fieldsplit_pc_type gamg
> -fieldsplit_pc_gamg_type agg -fieldsplit_pc_gamg_agg_**nsmooths 1
>
> Do these options even make sense? With the second set of options the %
> increase in number of iterations with increasing problem size is lower than
> the first but not optimal.
>
> Also, ksp/ksp/examples/ex56 performs much better in that the number of
> iterations remain more or less constant unlike what I see with my own
> problem. What am I doing wrong?
>

You need to give it a good near null space. Usually, we use the 3
translational and 3 rotations modes that are the
null space of the elastic operator. MatNullSpaceCreateRigidBody() is an
example of making them. PyLith does this by default :)

  Thanks,

      Matt


> The output of -ksp_view for the two set of options used is attached.
>
> Thanks in advance.
>
> Tabrez
>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

Reply via email to