ngsPETSc.eps
============

.. py:module:: ngsPETSc.eps

.. autoapi-nested-parse::

   This module contains all the functions related to the SLEPc eigenvalue
   solver (EPS/PEP) interface for NGSolve



Attributes
----------

.. autoapisummary::

   ngsPETSc.eps.SLEPc


Classes
-------

.. autoapisummary::

   ngsPETSc.eps.EigenSolver


Module Contents
---------------

.. py:data:: SLEPc
   :value: None


.. py:class:: EigenSolver(pencil, fes, nev, ncv=SLEPc.DECIDE, optionsPrefix=None, solverParameters=None)

   This calss creates a SLEPc Eigen Problem Solver (EPS/PEP) from NGSolve
   variational problem pencil, i.e.
   a0(u,v)+lam*a1(u,v)+(lam^2)*a2(u,v)+ ... = 0
   Inspired by Firedrake Eigensolver class.

   :arg pencil: tuple containing the bilinear forms a: V x V -> K composing
   the pencil, e.g. (m,a) with a = BilinearForm(grad(u),grad(v)*dx) and
   m = BilinearForm(-1*u*v*dx)

   :arg fes: finite element space V

   :arg nev: number of requested eigenvalue

   :arg ncv: dimension of the internal subspace used by SLEPc,
   by Default by SLEPc.DECIDE

   :arg solverParameters: parameters to be passed to the KSP solver

   :arg optionsPrefix: special solver options prefix for this specific Krylov solver



   .. py:attribute:: comm


   .. py:attribute:: penLength


   .. py:attribute:: fes


   .. py:attribute:: nev


   .. py:attribute:: ncv


   .. py:attribute:: solverParameters


   .. py:attribute:: optionsPrefix


   .. py:attribute:: pencilMats
      :value: []



   .. py:attribute:: pencilFlags
      :value: []



   .. py:attribute:: eps
      :value: None



   .. py:attribute:: pep
      :value: None



