Hello,

I am using NGSolve to solve Maxwell’s equations in time-harmonic form.

The problem that I work on is B=curl(u) * curl(v)+beta*u*v. I use the first order Nedelec space V for the approximate solution and use an auxiliary subspace W of the Nedelec space (W =span {second order face basis+third order volume basis) for computing the error function ‘’ e’’.

I print the condition numbers of the stiffness matrices on V and W. The code produce results for beta>0 and for small negative values of beta, e.g. {-10^(-4), -10^(-2) ,-10}, but with big negative values of beta like -10^(2) or -10^(4) the code gives the error

Eigensystem: Preconditioner negative

Traceback (most recent call last):

File “”, line 195, in

File “”, line 127, in SolveBVP

ValueError: max() arg is an empty sequence

I am not quite familiar with using Preconditioners, I tried using different types of them but still have the same error. I am not sure which type of them work fine with my problem.

I am grateful for any explanation or help.

Best,

Ahmed

Here is my python script.

Attachment: FEP_Example1_UniformRef.py