nf = 10; # number of frequencies to sweep lambda = linspace(0.4e-6,0.7e-6,nf); # wavelength range neff = matrix(nf); for(i=1:nf){ select('source1'); set('wavelength start',lambda(i)); set('wavelength stop',lambda(i)); updatesourcemode; n_effective=getresult("source1","neff"); neff(i)=n_effective.getattribute("neff"); } plot(lambda*1e6,neff,'wavelength (um)','effective index','neff of mode1'); legend('real(neff)','imag(neff)');