MO simulation




I have been running some FDTD simulation on MO Kerr effect and Faraday rotation on my new structure that involves magnetic material. While the information posted on Lumerical knowledge is very helpful, I still have some questions on matrix transformation and applying magnetic field on my sample using FDTD.

My Questions:

No 1: Converting 9 element tensor into 3 element diagonal tensor. How and why it is needed to do so?

No.2: Magnitude of magnetic field. Is there a way to control amount of magnetic (H) field to be applied in my sample during FDTD simulation? Also, the direction of H field.

No. 3 The example given in the lumerical knowledge is for single layer sample with anisotropy. What about if my sample consists of two or many different layers with magnetic, non-magnetic and insulators?.


  • Conrad


Hi Conrad,

Question 1:
In the Faraday Effect application example on our knowledge base, we start out with diagonally anisotropic materials based on the properties of the material without applied magnetic fields, then we use a matrix transform grid attribute to apply the desired polarization rotation to the fields. Similarly for the MOKE example, we start by knowing the effect on the polarization that we want to achieve in the simulation and we set up the matrix transform to apply.

Another reason you may want to use diagonal anisotropy and an applied grid attribute is if you start by knowing the 9 element permittivity tensor of the material that you want to simulate. For anisotropic materials, in the materials database we can directly specify 3 input parameters for diagonal anisotropy, but we can’t directly type in a 3x3 element tensor to represent a permittivity tensor which has off-diagonal elements. Instead, to get around this you can use a diagonalized tensor and apply the appropriate matrix transform grid attribute to simulate a material with general anisotropy. You can figure out a combination of the diagonalized values and the matrix transform to apply given the general permittivity tensor that you want to represent by following the steps outlined in the examples here:

Question 2:
Regarding how to control the magnitude of the applied magnetic field H, the change in the polarization angle over a certain distance in the material can first be calculated using the equation
beta = VBd

Where V is the Verdet constant of the material, B is the magnetic flux density (B=mu*H where mu is the permeability of the material), and d is the propagation distance. Once we have calculated the polarization rotation angle that we want to end up with, we then set the unitary matrix which we apply, so this means that the applied H is effectively being set by the unitary matrix which is applied, and this is constant over the simulation time.

If you wanted to include the effect of changing magnetic field over time, since the effect is linear, you could do this by using several simulations - one to represent each different applied H over time.

Question 3:
You can definitely add other objects to the simulation which use materials which are non-magnetic with no problem. If there’s any particular structure that you need help with setting up, let me know!