# Confinement Factor Optimization in MODE Solutions

#1

I am using MODE solutions to optimize the dimensions of a waveguide in order to maximize the confinement factor. I know how to calculate the confinement factor via the “power and intensity integration” option of the Eigensolver Analysis. However, I have failed to set the confinement factor as an optimization parameter.

My question is: how can I set the confinement factor calculated by power integration as an optimization parameter?

User defined figure of merit (FOM) script
Confinement factor variation using nested sweep script in FDE solver
MODE solution中 FDE计算 波导限制因子及其他参数
#2

The simple answer is that it is not possible to directly set the “fraction integrated” as a figure of merit for optimization. The good news is that you can use a script in the model analysis to calculate this value and then pass it to the optimization routine.

I wrote an example script for calculating the fraction integrated for rectangular shape:

#select mode to be integrated
m = 'mode1'; # for single frequency

#Define the rectangular integration shape
x1=-0.3e-6;
x2=0.3e-6;
y1=-0.9e-6;
y2=0.9e-6;

#Calculate the overal power of the mode
x = getdata(m,"x");
y = getdata(m,"y");

Ex = getdata(m,"Ex");
Ey = getdata(m,"Ey");
Hx = getdata(m,"Hx");
Hy = getdata(m,"Hy");

Pz=pinch(Ex*conj(Hy)-Ey*conj(Hx));
P=integrate(Pz,1:2,x,y);

#Create the spatial filter based on the integration shape
filter=matrix(length(x),length(y));
for (i=1:length(x)) {
for (j=1:length(y)) {
if((x(i)>=x1)&(x(i)<=x2)&(y(j)>=y1)&(y(j)<=y2)) {
filter(i,j)=1;
} else {
filter(i,j)=0;
}
}
}

#Filter out the E and H fileds in within the integration shape
Exf=pinch(Ex)*filter;
Eyf=pinch(Ey)*filter;
Hxf=pinch(Hx)*filter;
Hyf=pinch(Hy)*filter;

#Calculate the fraction of power in the integration area
Pzf=pinch(Exf*conj(Hyf)-Eyf*conj(Hxf));
Pf=integrate(Pzf,1:2,x,y);
fraction_integrated=abs(Pf/P);


To use this script for optimization purposes, you simply paste it into the model analysis as shown here:

…and pass “fraction_integrated” to the result window:

Now you can select the calculated result in the optimization settings as a figure of merit:

Here is an attached file to show the simulation setup and that the results from FDE and the script are identical:
Calculate fraction_integrated using a script EXAMPLE.lms (5.7 MB)

You might be also interested in this related topic:

#3

Thank you very much for your help.