Tabrez Ali <[email protected]> writes: > 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
Yeah, and only the first of these is needed because the others are default with -pc_type gamg. > -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. And it's probably more expensive because it has to do inner solves. Also, if you have less compressible regions, it will get much worse. > 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 probably forgot to set the near null space. You can use MatSetNearNullSpace (and maybe MatNullSpaceCreateRigidBody) or the more hacky (IMO) PCSetCoordinates. It's important to have translational *and* rotational modes in the near null space that GAMG uses to build a coarse space.
pgpLXnnvFFopP.pgp
Description: PGP signature
