############################################################################### # Scriptfile: voltageSweep.lsf # # Description: # This file extracts the sweep data in MODE solutions and plots the index change # and loss versus voltage, and change in resonance wavelength versus current # # # Copyright 2012, Lumerical Solutions, Inc. ################################################################################ #runsweep; iV=getsweepdata("bias voltage","VoltageIndex"); V = linspace(0.5,1,max(iV)); neff1=pinch(getsweepdata("bias voltage","neff1")); neff2=pinch(getsweepdata("bias voltage","neff2")); dneff1 = real(neff1 - neff1(1)); dneff2 = real(neff2 - neff2(1)); alpha1_dB_cm = -0.2*log10(exp(1))*(-2*pi*imag(neff1)/1.55e-6); alpha2_dB_cm = -0.2*log10(exp(1))*(-2*pi*imag(neff2)/1.55e-6); #plot(V,I*210e-4*1e3,"Voltage (V)","Current (A/cm)"); #plot(I*210e-4*1e3,dneff1,dneff2,"Current (A/cm)","delta neff"); plot(V,dneff1,dneff2,"Voltage (V)", "delta neff"); legend("delta_neff,1" ,"delta_neff,2"); plot(V,alpha1_dB_cm,alpha2_dB_cm, "Voltage (V)", "loss (dB/cm)"); legend("alpha 1", "alpha 2"); #matlabsave("simulation_cdc",V,neff1,neff2,dneff1,dneff2,alpha1_dB_cm,alpha2_dB_cm); matlabload("cdc_IV"); dlambda_I_measured = [0,0.000671141; 0.0126126,-0.0154468; 0.0198198,-0.0127683; 0.0468468,-0.0476903; 0.0630631,-0.0450193; 0.0828829,-0.0598011; 0.120721,-0.133658; 0.153153,-0.125632; 0.196396,-0.175333; 0.302703,-0.207636; 0.4,-0.29094; 0.601802,-0.382384; 0.803604,-0.48054; 1,-0.604195; 1.5027,-0.773744]; lambda0 = 1519.655; # unit in nm dlambda = lambda0 * (dneff1 + dneff2) / (neff1 + neff2); plotxy(Ia,real(dlambda),dlambda_I_measured(1:15,1),dlambda_I_measured(1:15,2), "Voltage (V)", "delta lambda"); legend("Simulation", "Measured");