[petsc-users] Stokes problem with DA and MUMPS

Dave May dave.mayhem23 at gmail.com
Fri Feb 18 05:07:30 CST 2011

> Ok. It's the first time that I use Petsc for a big problem and I don't yet
> see pretty well all the possibilities of Petsc.
> When you say: "You would have to provide the preallocation routine for the
> off-diagonal block", do you talk about DASetBlockFills or is it more
> complicated ?

Not exactly. I meant if you use DMComposite, you would have to provide
the preallocation routines for the off-diagonal blocks. If you
continue to use a single to represent u,v,w,p, then I think
DASetBlockFills() would let you control which chunks in the operator
and preconditioner get allocated when you call DAGetMatrix.

> I tried different solvers. ML doesn't work. I used hypre with this script
> mpiexec -np 4 ./stokesPart \
>     -stokes_ksp_type minres \
>     -stokes_ksp_rtol 1e-6 \
>     -stokes_pc_type fieldsplit \
>     -stokes_pc_fieldsplit_block_size 4 \
>     -stokes_pc_fieldsplit_type SYMMETRIC_MULTIPLICATIVE \
>     -stokes_pc_fieldsplit_0_fields 0,1,2 \
>     -stokes_pc_fieldsplit_1_fields 3 \
>     -stokes_fieldsplit_0_ksp_type richardson \
>     -stokes_fieldsplit_0_ksp_max_it 1 \
>     -stokes_fieldsplit_0_pc_type hypre \
>     -stokes_fieldsplit_0_pc_hypre_type boomeramg\
>     -stokes_fieldsplit_0_pc_hypre_boomeramg_max_iter 1 \
>     -stokes_fieldsplit_1_ksp_type preonly \
>     -stokes_fieldsplit_1_pc_type jacobi \
>     -stokes_ksp_monitor_short
> but once again, it's very slow or out of memory. Perhaps my options are not
> good ...

How much memory is used when you use
-stokes_fieldsplit_0_ksp_max_it 1
-stokes_fieldsplit_0_pc_type jacobi
It's possible that the copy of the diagonal blocks occurring when you
invoke Fieldsplit just by itself is using all your available memory. I
wouldn't be surprised with a stencil width of 2....

More information about the petsc-users mailing list