I have been trying to calculate the eigenmodes of light travelling through a dielectric waveguide. To do this, I have been using the assembly tools for arbitrary matrices. However, when I attempt to solve for eigenvectors of the stiffness matrix using ARPACK, I do not get sensible results.
I have been attempting to generate matrices for the Maxwell Wave equation using:
Del^2 Psi - (omega^2 / c^2 ) Psi
For the first term, I simply use the laplacian given in the getfem documentation: M(#1, #1)+=comp(Grad(#1).Grad(#1))(:,k,:,k). However, I am unsure as to how I should generate the second term. However, I am not sure how to generate the second term in the equation. Previously, I have used: (comp(Base(#1).Base(#1).Base(#2))(:,:,j).h(j)). Another technique I have considered was to take the vector generated by interpolating the data set representing (omega^2 / c^2 ), converting the elements of the vector to elements of a diagonal matrix, and simply adding the result to the matrix of the first term. Could anyone tell me if either of these approaches is correct, or if the correct procedure is some method that I have not yet thought of?