fdtd中时间监视器怎么放_lumerical FDTD的脚本

一个监视器的transmission转换为dB:

monitor0="drop";

T_temp =getresult(monitor0,"T");

x=T_temp.lambda;

x=1000000000*x;

y=10*log10(T_temp.T);

plot(x,y,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =5" );

legend(monitor0);

两个监视器的transmission转换为dB后比较:

monitor0 = "out";

monitor1 = "in";

T_out=getresult(monitor0,"T");

T_in =getresult(monitor1,"T");

x=T_out.lambda;

x=1000000000*x;

y1=10*log10(T_out.T);

y2=10*log10(T_in.T);

plot(x,y1,y2,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =5" );

legend(monitor0, monitor1);

一个监视器的不同模式转换为dB后比较:

向前传输的模式:

#首先把mode expansion MONITOR命名为outmode

T0=getresult("outmode","expansion for ");

x=T0.lambda;

x=1000000000*x;

y0=real(10*log10(-T0.T_forward(:,1)));

plot(x,y0,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =5" );

#legend("upper waveguide","bottom waveguide");

holdon;

x=T0.lambda;

x=1000000000*x;

y1=real(10*log10(T0.T_forward(:,2)));

plot(x,y1,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y2=real(10*log10(-T0.T_forward(:,3)));

plot(x,y2,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y3=real(10*log10(-T0.T_forward(:,4)));

plot(x,y3,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y4=real(10*log10(-T0.T_forward(:,5)));

plot(x,y4,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y5=real(10*log10(-T0.T_forward(:,6)));

plot(x,y5,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y6=real(10*log10(-T0.T_forward(:,7)));

plot(x,y6,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y7=real(10*log10(-T0.T_forward(:,8)));

plot(x,y7,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y8=real(10*log10(-T0.T_forward(:,9)));

plot(x,y8,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y9=real(10*log10(-T0.T_forward(:,10)));

plot(x,y9,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3");

legend("TE0","TE1","TE2","TE3","TE4","TE5","TE6","TE7","TE8","TE9");

holdoff;

向后传输的模式:

#首先把mode expansion MONITOR命名为in_mode

T0=getresult("in_mode","expansion for ");

x=T0.lambda;

x=1000000000*x;

y0=real(10*log10(-T0.T_backward(:,1)));

plot(x,y0,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =5" );

#legend("upper waveguide","bottom waveguide");

holdon;

x=T0.lambda;

x=1000000000*x;

y1=real(10*log10(-T0.T_backward(:,2)));

plot(x,y1,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y2=real(10*log10(-T0.T_backward(:,3)));

plot(x,y2,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y3=real(10*log10(-T0.T_backward(:,4)));

plot(x,y3,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y4=real(10*log10(-T0.T_backward(:,5)));

plot(x,y4,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y5=real(10*log10(-T0.T_backward(:,6)));

plot(x,y5,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y6=real(10*log10(-T0.T_backward(:,7)));

plot(x,y6,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y7=real(10*log10(-T0.T_backward(:,8)));

plot(x,y7,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y8=real(10*log10(-T0.T_backward(:,9)));

plot(x,y8,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

y9=real(10*log10(-T0.T_backward(:,10)));

plot(x,y9,"Wavelength(nm)", "Transmission(dB)","Simulated response","linewidth =3" );

legend("TE0","TE1","TE2","TE3","TE4","TE5","TE6","TE7","TE8","TE9");

holdoff;

批量仿真

clearjobs;

addjob("L70a1_5gap120");

addjob("L70a2_0gap100");

addjob("L70a2_0gap120");

addjob("L70a2_0gap150");

addjob("L70a2_0gap180");

addjob("L70a2_0gap210");

runjobs;

你可能感兴趣的:(fdtd中时间监视器怎么放)