[petsc-users] Accelerating eigenvalue computation / removing portion of spectrum

Jose E. Roman jroman at dsic.upv.es
Tue May 31 13:11:42 CDT 2022


If you know how to cheaply compute a basis of the nullspace of S, then you can try passing it to the solver via EPSSetDeflationSpace() https://slepc.upv.es/documentation/current/docs/manualpages/EPS/EPSSetDeflationSpace.html

Jose


> El 31 may 2022, a las 19:28, Lucas Banting <bantingl at myumanitoba.ca> escribió:
> 
> Hello,
> 
> I have a general non hermitian eigenvalue problem arising from the 3D helmholtz equation.
> The form of the helmholtz equaton is:
> 
> (S - k^2M)v = lambda k^2 M v
> 
> Where S is the stiffness/curl-curl matrix and M is the mass matrix associated with edge elements used to discretize the problem.
> The helmholtz equation creates eigenvalues of -1.0, which I believe are eigenvectors that are part of the null space of the curl-curl operator S. 
> 
> For my application, I would like to compute eigenvalues > -1.0, and avoid computation of eigenvalues of -1.0.
> I am currently using shift invert ST with mumps LU direct solver. By increasing the shift away from lambda=-1.0. I get faster computation of eigenvectors, and the lambda=-1.0 eigenvectors appear to slow down the computation by about a factor of two.
> Is there a way to avoid these lambda = -1.0 eigenpairs with a GNHEP problem type?
> 
> Regards,
> Lucas



More information about the petsc-users mailing list