[petsc-users] Solving eigenproblems in the form of Stokes equations

Matthew Knepley knepley at gmail.com
Sun Jul 12 06:07:29 CDT 2015

On Fri, Jul 10, 2015 at 4:28 PM, Julian Andrej <juan at tf.uni-kiel.de> wrote:

> Hi,
> i'm trying to solve a generalized eigenvalue problem which is the
> stokes equations discretized by finite elements (with fenics) and
> producing a banded matrix (reordered structure) of the well known
> block form
> [N    Q]
> [QT  0]
> The domain is the unit square with dirichlet boundary condition
> evaluating to zero at all boundary nodes.
> A is the block matrix in banded reordered structure and M is the mass
> matrix.

You have not written an equation here. Are you solving

  Q^T N^{-1} Q x = \lambda M x

If so, the Schur complement can be rank deficient by 1 if you have Neumann
conditions on the pressure. I don't know how SLEPc handles this.


> I'm using slepc4py for the eigenvalue calculation.
> E = SLEPc.EPS().create()
> E.setOperators(A, M)
> E.setDimensions(NEV, PETSc.DECIDE)
> E.setFromOptions()
> I always get the error
> [0] Zero pivot row 1 value 0 tolerance 2.22045e-14
> I cannot find a combination which solves the eigenvalues for this problem.
> The system itself solves fine with a KSP solver object from PETSc
> using tfmqr with the icc PC.
> I can assemble the matrix with a penalty term for the pressure and
> calculate the eigenvalues with a direct solver, but i try to avoid
> that.

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150712/9fc48e71/attachment.html>

More information about the petsc-users mailing list