optical pins name revised. Pin type added

This commit is contained in:
=
2026-06-07 22:56:33 +08:00
parent a4ac88f002
commit 8462c3397f
262 changed files with 3251 additions and 1134 deletions
@@ -113,7 +113,9 @@ function FUNC_DEVICE_2X2(instPath)
## adding input ports
input_struct = ports.a1;
## revised in 2026.06.07 by Qin Yue
# legacy: input_struct = ports.a1;
input_struct = ports.opt_a1;
if (input_struct.a < 0) { input_struct.a = input_struct.a + 360; }
if ( 45<=input_struct.a and input_struct.a<135 )
@@ -148,7 +150,9 @@ function FUNC_DEVICE_2X2(instPath)
input_phi = 0;
}
mx_mode_source('a1_input',[input_struct.x,input_struct.y,zOffset]*1e-6,
## revised in 2026.06.07 by Qin Yue
# legacy: mx_mode_source('a1_input',[input_struct.x,input_struct.y,zOffset]*1e-6,
mx_mode_source('opt_a1_input',[input_struct.x,input_struct.y,zOffset]*1e-6,
portsSZ,inputType,0,
[abs(input_struct.radius)*1e-6,sign(input_struct.radius)*sign(inputType)*90],FDTD.sourceMode,FDTD.wl*1e-6);
set("theta",input_theta);
@@ -249,28 +253,52 @@ for (idx=1;idx<=length(portList);idx=idx+1)
}
if (find(portList=="a1") and find(portList=="b1")){
Ephase_11 = unwrap(angle(b1.Ecenter) - angle(a1.Ecenter));
Hphase_11 = unwrap(angle(b1.Hcenter) - angle(a1.Hcenter));
## revised in 2026.06.07 by Qin Yue
# legacy: if (find(portList=="a1") and find(portList=="b1")){
if (find(portList=="opt_a1") and find(portList=="opt_b1")){
## revised in 2026.06.07 by Qin Yue
# legacy: Ephase_11 = unwrap(angle(b1.Ecenter) - angle(a1.Ecenter));
Ephase_11 = unwrap(angle(opt_b1.Ecenter) - angle(opt_a1.Ecenter));
## revised in 2026.06.07 by Qin Yue
# legacy: Hphase_11 = unwrap(angle(b1.Hcenter) - angle(a1.Hcenter));
Hphase_11 = unwrap(angle(opt_b1.Hcenter) - angle(opt_a1.Hcenter));
save_cmd = save_cmd + "Ephase_11" + "," + "Hphase_11" + ",";
}
if (find(portList=="a2") and find(portList=="b2")){
Ephase_22 = unwrap(angle(b2.Ecenter) - angle(a2.Ecenter));
Hphase_22 = unwrap(angle(b2.Hcenter) - angle(a2.Hcenter));
## revised in 2026.06.07 by Qin Yue
# legacy: if (find(portList=="a2") and find(portList=="b2")){
if (find(portList=="opt_a2") and find(portList=="opt_b2")){
## revised in 2026.06.07 by Qin Yue
# legacy: Ephase_22 = unwrap(angle(b2.Ecenter) - angle(a2.Ecenter));
Ephase_22 = unwrap(angle(opt_b2.Ecenter) - angle(opt_a2.Ecenter));
## revised in 2026.06.07 by Qin Yue
# legacy: Hphase_22 = unwrap(angle(b2.Hcenter) - angle(a2.Hcenter));
Hphase_22 = unwrap(angle(opt_b2.Hcenter) - angle(opt_a2.Hcenter));
save_cmd = save_cmd + "Ephase_22" + "," + "Hphase_22" + ",";
}
if (find(portList=="a1") and find(portList=="b2")){
Ephase_12 = unwrap(angle(b2.Ecenter) - angle(a1.Ecenter));
Hphase_12 = unwrap(angle(b2.Hcenter) - angle(a1.Hcenter));
## revised in 2026.06.07 by Qin Yue
# legacy: if (find(portList=="a1") and find(portList=="b2")){
if (find(portList=="opt_a1") and find(portList=="opt_b2")){
## revised in 2026.06.07 by Qin Yue
# legacy: Ephase_12 = unwrap(angle(b2.Ecenter) - angle(a1.Ecenter));
Ephase_12 = unwrap(angle(opt_b2.Ecenter) - angle(opt_a1.Ecenter));
## revised in 2026.06.07 by Qin Yue
# legacy: Hphase_12 = unwrap(angle(b2.Hcenter) - angle(a1.Hcenter));
Hphase_12 = unwrap(angle(opt_b2.Hcenter) - angle(opt_a1.Hcenter));
save_cmd = save_cmd + "Ephase_12" + "," + "Hphase_12" + ",";
}
if (find(portList=="a2") and find(portList=="b1")){
Ephase_21 = unwrap(angle(b1.Ecenter) - angle(a2.Ecenter));
Hphase_21 = unwrap(angle(b1.Hcenter) - angle(a2.Hcenter));
## revised in 2026.06.07 by Qin Yue
# legacy: if (find(portList=="a2") and find(portList=="b1")){
if (find(portList=="opt_a2") and find(portList=="opt_b1")){
## revised in 2026.06.07 by Qin Yue
# legacy: Ephase_21 = unwrap(angle(b1.Ecenter) - angle(a2.Ecenter));
Ephase_21 = unwrap(angle(opt_b1.Ecenter) - angle(opt_a2.Ecenter));
## revised in 2026.06.07 by Qin Yue
# legacy: Hphase_21 = unwrap(angle(b1.Hcenter) - angle(a2.Hcenter));
Hphase_21 = unwrap(angle(opt_b1.Hcenter) - angle(opt_a2.Hcenter));
save_cmd = save_cmd + "Ephase_21" + "," + "Hphase_21" + ",";
}
@@ -283,7 +311,7 @@ Ez = getresult("z1","Ez");
savefname = devName+"_results.mat";
#matlabsave(savefname,b1,b2,z1);
# legacy: #matlabsave(savefname,b1,b2,z1);
eval("matlabsave(savefname,"+save_cmd+"z1);");
@@ -292,4 +320,3 @@ eval("matlabsave(savefname,"+save_cmd+"z1);");