How to moniter SLEPcEigenSolver?

Hi everyone

I am new to eigenvalue problem and eigenvalue solver. I want to use the library SLEPc properly such as convergence messages, the number of iterations, etc. I found a command in SLEPc user manual, i.e.

EPSMonitorSet() (page 31),

but I do not know how to call it with Fenics.

If you have any ideas about this problem, please let me know.

Best regards

You could try changing the LogLevel, see

Hi dokken

Thank you for your reply. I have tried your suggestion set_log_level(LogLevel.TRACE). However, what I need is message at each iteration, like what we have with Newton Solver:

“Newton iteration 88: r (abs) = 2.193e-03 (tol = 1.000e-10) r (rel) = 1.081e-04 (tol = 1.000e-04)
Newton iteration 89: r (abs) = 2.013e-03 (tol = 1.000e-10) r (rel) = 9.926e-05 (tol = 1.000e-04)”

My actual code:
eigensolver = SLEPcEigenSolver(K, M)

pmr = eigensolver.parameters
pmr[‘problem_type’] = ‘gen_hermitian’ # needed
pmr[‘spectral_transform’] = ‘shift-and-invert’ # needed
pmr[‘spectral_shift’] = 0.0
pmr[“tolerance”] = 1e-12
pmr[“solver”] = “krylov-schur”

eigensolver.solve(10)

Best regards