## Photonics

Topics related to Lumerical and more

#### Integrate/Integrate2 command not working as intended/not integrating

• Arda Sungu Akgün
Subscriber

Hello, I am trying to calculate the field confinement factor of my SOI design with the formula in the image below (skipped the denominator while calculating, also know that this formulsa is not suitable for SOI but just trying to get an approx for anyone concerned):

While trying to calculate the integration, I have used the integrate2 command to take the integral of the Ey_string which is equal tothe mode1 Ey:

simname = "mode1";

Ey_string = getdata(simname, 'Ey'); #and the usage of the integrate2 function was as follows:

y_vector = [(-0.1925 * 10^-6):(-0.1025* 10^-6)]; # the y limits of the slot, 90nm

EY_integ = integrate2(Ey_string,1,y_vector);

After doing these steps, my expectation was to get a scalar number to see the confinement factor in a percentile fashion. Checking the Ey_string it is the same as the Ey of the mode1 itself of FDE, after that when I check the EY_integ, it is the same as Ey_string. Nothing changed, produced a matrix instead of a scalar number.

I would appreciate any help that would broaden my understanding of LSF and the integrate command. Sorry for not using the code block for the code parts in the post it's my first time here, couldn't make it work somehow. The full script:

simname = "mode1";

Ez_string = getdata(simname, 'Ez');
Ez_string = real(Ez_string * Ez_string);

Ey_string = getdata(simname, 'Ey');
Ey_string = real(Ey_string * Ey_string);

y_vector = [(-0.1925 * 10^-6):(-0.1025* 10^-6)];
z_vector = [(1.03 * 10^-6): (1.25* 10^-6)];

EY_integ = integrate2(Ey_string,1,y_vector);

EZ_integ = integrate2(Ez_string,1,z_vector);

result_e = struct;
result_e.Name = "E";
E_sum = EY_integ + EZ_integ;

print(E_sum);

• Amrita Pati
Ansys Employee

Hi Arda,

Here "y_vector" should be the position vector, but if you look at the data inside this vector it turns out to be a single number with value -1.925e-07. I believe that might be why you are getting incorrect results. I would suggest you to check the dimensions of all matrices and see if that helps.

Regards,
Amrita

• Arda Sungu Akgün
Subscriber

Hello Amrita,

First of all thanks for the advice. I still have some questions on my mind after reading your response, looking at the Ey from the mode1 of FDE, the matrix of Ey has been declared as [1,201,201,1] which is hard to exactly grasp but looking at it in the visualizer the 1-201 and 201-1 seems to be the spanning the whole y and z dimensions of the YZ view.

My particular interest is to give the integrate2 function start and finish coordinates of y and z dimensions of (1.03 * 10^-6) to (1.25* 10^-6) for Z and (-0.1925 * 10^-6) to (-0.1025* 10^-6) for Y. I have looked at how to use the matrix command but it is creating 0's for the values that is not assigned, which I will be only specifying the first and last values for. So, is it possible to give the integrate2 or integrate command a start and end coordinate for this purpose?

If not, what what kind of approach can I take in this kind if situation?

Thanks for the help, Regards.

Arda