Hi!

I am solving a complex-valued Maxwell equation, as follows:

load “lapack”

load “MUMPS”

load “PETSc-complex”

load “Element_Mixte3d”

func Pk = Edge03d;

fespace Vhk(Th,Pk, periodic = [[1,y,z],[2,y,z],[3,x,z],[4,x,z],[5,x,y],[6,x,y]]);

varf cprob(def(V), def(W)) = int3d(Th, qforder = 4)(1.0/mur*(Bx(V)*Bx(W) + By(V) By(W) + Bz(V)Bz(W)) - k0^2nn(Vx*Wx + Vy

*Wy + Vz*Wz));

matrix<complex> A = cprob(Vhk, Vhk, solver = “MUMPS”); // cell problem

It seems the solution precision is not awesome. I am wondering on how to improve it. I mean, can I replace solver = “MUMPS” by something more appropriate to the problem I am dealing with?Thanks!