#@DESCRIPTION{ # NLSE_WGD : Testing nonlinear effects in waveguide (TPA and FCA) # Yin2007 Fig2a ## # Parameters from: L. Yin and G. P. Agrawal, # “Impact of two-photon absorption on self-phase modulation in silicon waveguides,” Opt. Lett. 32, 2031–2033 (2007). #} clear; closeall; load("NLSE_WGD_Yin2007"); switchtodesign; ################# #Test 1: SPM case ################# switchtodesign; select("NLSE_WGD_1"); set("raman effects",false); set("tpa effects",false); run; myr=getresult("OSA_3","mode 1/signal"); x_spectrum=myr.getparameter(myr.getparameter); Pout_NL_SPM=myr.getattribute(myr.getattribute); # Ref Data mydata =readdata("NLSE_Yin2007_Fig2_SPM.csv"); sz = size(mydata); numsamples = sz(1); x_SPM = mydata(1:numsamples(1),1); y_SPM = mydata(1:numsamples,2); #Test 2: SPM + TPA case switchtodesign; select("NLSE_WGD_1"); set("self-steepening effects",true); set("tpa effects",true); set("free carriers effects",false); run; myr=getresult("OSA_3","mode 1/signal"); x_spectrum=myr.getparameter(myr.getparameter); Pout_NL_TPA=myr.getattribute(myr.getattribute); # ref data mydata =readdata("NLSE_Yin2007_Fig2_TPA.csv"); sz = size(mydata); numsamples = sz(1); x_TPA = mydata(1:numsamples(1),1); y_TPA = mydata(1:numsamples,2); ## #Test 3 : SPM + TPA + FCA case switchtodesign; select("NLSE_WGD_1"); set("self-steepening effects",true); set("tpa effects",true); set("free carriers effects",true); ## run; ## myr=getresult("OSA_3","mode 1/signal"); x_spectrum=myr.getparameter(myr.getparameter); Pout_NL_full=myr.getattribute(myr.getattribute); #Read data from manuscript for comparison mydata =readdata("NLSE_Yin2007_Fig2_Full.csv"); sz = size(mydata); numsamples = sz(1); x_Full = mydata(1:numsamples(1),1); y_Full = mydata(1:numsamples,2); ## ## Figure : Comparison ## plot results plot(x_SPM,y_SPM/max(y_SPM)); holdon; plot(x_TPA,y_TPA/max(y_SPM)); plot(x_Full ,y_Full/max(y_SPM)); plot(x_spectrum*1e6,Pout_NL_SPM/max(Pout_NL_SPM)); plot(x_spectrum*1e6,Pout_NL_TPA/max(Pout_NL_SPM)); plot(x_spectrum*1e6,Pout_NL_full/max(Pout_NL_SPM)); setplot("title","nonlinear effects"); setplot("x min",1.549); setplot("x max",1.551); setplot("y max",1.02); setplot("x label","wavelength (um)"); setplot("y label", "Normalized amplitude"); legend("SPM - ref[3]","SPM+TPA - ref[3]", "SPM+TPA+FCA - ref[3]","SPM","SPM+TPA", "SPM+TPA+FCA" ); holdoff;