SuperLU_DIST won't "magically" run on saddle point problems. It only does limited pivoting, realistically a parallel LU cannot always do complete pivoting or it becomes a sequential algorithm. For parallel you need to use PCFIELDSPLIT, for sequential you can use SuperLU (not SuperLU_DIST) since it can do more pivoting, being a sequential algorithm.
Barry > On Jul 28, 2020, at 7:59 PM, Bin Liu <lbllm2...@hotmail.com> wrote: > > Thanks for your tutorials. Yes. I tried PCFIELDSPLIT. However, it only works > for sequential runs. When I run the code in distributed memory, it reports > errors. In fact, the essence of my wonder is (a) how to set up superlu_dist > in petsc for solving saddle point problem in distributed memory? (b) does the > direct solvers in petsc can run in distributed memory for solving saddle > point problem? > <> > From: Stefano Zampini [mailto:stefano.zamp...@gmail.com > <mailto:stefano.zamp...@gmail.com>] > Sent: Tuesday, 28 July 2020 6:55 PM > To: Bin Liu <lbllm2...@hotmail.com <mailto:lbllm2...@hotmail.com>> > Cc: petsc-users@mcs.anl.gov <mailto:petsc-users@mcs.anl.gov> > Subject: Re: [petsc-users] solving saddle point problem in distributed memory > > If you want advice you should post the error trace PETSc reports. > > Anyway, solving Stokes is not so trivial (without direct solvers, you may > need mesh dependent information), but we have examples for it > > https://gitlab.com/petsc/petsc/-/blob/master/src/ksp/ksp/tutorials/ex42.c > <https://gitlab.com/petsc/petsc/-/blob/master/src/ksp/ksp/tutorials/ex42.c> > https://gitlab.com/petsc/petsc/-/blob/master/src/ksp/ksp/tutorials/ex43.c > <https://gitlab.com/petsc/petsc/-/blob/master/src/ksp/ksp/tutorials/ex43.c> > https://gitlab.com/petsc/petsc/-/blob/master/src/snes/tutorials/ex69.c > <https://gitlab.com/petsc/petsc/-/blob/master/src/snes/tutorials/ex69.c> > > If you scroll to the end of those files, you see a bunch of possible options > either using PCFIELDSPLIT, PCBDDC or KSPFETIDP. > > > > On Jul 28, 2020, at 12:37 PM, Bin Liu <lbllm2...@hotmail.com > <mailto:lbllm2...@hotmail.com>> wrote: > > I would like to solve a saddle point problem arising from the stokes > equation. I got successful to use the direct solvers in sequential runs. > However, I would like to extend it for distributed memory computation. I > tried to use superlu_dist, but the program returns errors. Is it possible to > solve a saddle point problem in distributed memory using superlu_dist? Could > anyone give a simple sample code to set up the parameters of the solver? > > Thanks