[petsc-users] A question about solving a saddle point system with a direct solver

Jau-Uei Chen chenju at utexas.edu
Mon Oct 24 15:37:01 CDT 2022


I see. Thanks so much for the comment.

On Mon, Oct 24, 2022 at 10:47 AM Jed Brown <jed at jedbrown.org> wrote:

> You can get lucky with null spaces even with factorization
> preconditioners, especially if the right hand side is orthogonal to the
> null space. But it's fragile and you shouldn't rely on that being true as
> you change the problem. You can either remove the null space in your
> problem formulation (maybe) or use iterative solvers/fieldsplit
> preconditioning (which can use a direct solver on nonsingular blocks).
>
> Jau-Uei Chen <chenju at utexas.edu> writes:
>
> > To whom it may concern,
> >
> > I am writing to ask about using PETSc with a direct solver to solve a
> > linear system where a single zero-value eigenvalue exists.
> >
> > Currently, I am working on developing a finite-element solver for a
> > linearized incompressible MHD equation. The code is based on an
> open-source
> > library called MFEM which has its own wrapper for PETSc and is used in my
> > code. From analysis, I already know that the linear system (Ax=b) to be
> > solved is a saddle point system. By using the flags "solver_pc_type svd"
> > and "solver_pc_svd_monitor", I indeed observe it. Here is an example of
> an
> > output:
> >
> >     SVD: condition number 3.271390119581e+18, 1 of 66 singular values are
> > (nearly) zero
> >     SVD: smallest singular values: 3.236925932523e-17 3.108788619412e-04
> > 3.840514506502e-04 4.599292003910e-04 4.909419974671e-04
> >     SVD: largest singular values : 4.007319935079e+00 4.027759008411e+00
> > 4.817755760754e+00 4.176127583956e+01 1.058924751347e+02
> >
> >
> > However, What surprises me is that the numerical solutions are still
> > relatively accurate by comparing to the exact ones (i.e. manufactured
> > solutions) when I perform convergence tests even if I am using a direct
> > solver (i.e. -solver_ksp_type preonly -solver_pc_type lu
> > -solver_pc_factor_mat_solver_type
> > mumps). My question is: Why the direct solver won't break down in this
> > context? I understand that it won't be an issue for iterative solvers
> such
> > as GMRES [1][2] but not really sure why it won't cause trouble in direct
> > solvers.
> >
> > Any comments or suggestions are greatly appreciated.
> >
> > Best Regards,
> > Jau-Uei Chen
> >
> > Reference:
> > [1] Benzi, Michele, et al. “Numerical Solution of Saddle Point Problems.”
> > Acta Numerica, vol. 14, May 2005, pp. 1–137. DOI.org (Crossref),
> > https://doi.org/10.1017/S0962492904000212.
> > [2] Elman, Howard C., et al. Finite Elements and Fast Iterative Solvers:
> > With Applications in Incompressible Fluid Dynamics. Second edition,
> Oxford
> > University Press, 2014.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20221024/83fc403a/attachment.html>


More information about the petsc-users mailing list