Example simulation of self-phase modulation using LaserPulse class
Very basic simulation, assuming thin sample and instantaneous rensponse (see e.g. Boyd 'Nonlinear Optics' Academic Press 2008).
The self-phase modulation phase is:
phi_NL(t) == n2eff * I(t)
where n2eff is an effective nonlinear refreactive index, given by:
n2eff == n2 * 2*pi*centralFrequency/speedOfLight * sampleThickness
Contents
Set-up simulation
% 5fs gaussian pulse centered at t0 = 1fs and f0 = 300THz p = gaussianPulse('units', 'fs', 'fwhm', 5, 't0', 0, 'f0', 300/800, ... 'dt', 0.1, 'nPoints', 2048); % physical constants speedOfLight = 300; % nm / fs % material properties n2eff = 1; p2 = p.copy; p2.temporalPhase = p2.temporalPhase + n2eff * p2.temporalIntensity;
Plot pulses
% amplitude-phase plot ax = p.plot(); p2.plot(ax) legend(ax(2),'flat phase','SPM');
% real part of electric field figure() plot(p.timeArray, real(p.temporalField), p2.timeArray, real(p2.temporalField), ... 'LineWidth', 1.5) xlim([-2,2]*p.duration) xlabel(sprintf('time (%s)', p.timeUnits)); ylabel('E(t)') legend('flat phase', 'SPM') grid on