Register to reply

Computational physics

by eahaidar
Tags: computational, physics
Share this thread:
eahaidar
#1
Apr3-14, 04:17 AM
P: 58
I made this code for a non linear process called Four Wave Mixing in which. Two pulses will enter a fiber to get a new wave called idler and try to amplify the signal but I think it's not working well because of the units so I called them in the figure arbitrary units until the problem is fixed any thoughts how? Here is my code thank you

clear all;

T = 500e-12; % Time window (period)
nt = 2^14; % Number of points
dt = T/nt; % Time resolution
% Make w and t windows
t = ((1:nt)-(nt+1)/2)*dt;
t = fftshift(t);

% Create frequency window, then shift it

w = 2*pi*([-nt/2:nt/2-1])/T;
w = fftshift(w);
%Pump pulse probe
P0 = 100;
FWHM = 1e-12;
c = FWHM/(2*sqrt(2*log(2)));
u0 = sqrt(P0)*exp(-0.5*(t/c).^2);
%Signal pulse probe
Ps = 1;
Ts = 5e-12;
detun = 6.05e12;

Pf = Ps*3.042e4;
detun = detun*2*pi;
fbw = 0.44/Ts;
FWHM_omega = 2*pi*fbw;
c = FWHM_omega/(2*sqrt(2*log(2)));
uw = sqrt(2*Pf)*exp(-0.25*((w-detun)/c).^2);
u1 = (ifft(uw));

u = fftshift(u0+u1);

figure
subplot(1,2,1)
plot(w/(1e12)/(2*pi),abs(fft(u)).^2)
xlabel('Frequency (THz)')
ylabel('Arb. Units')
xlim([-10 10])
ut = ifft(uw);
subplot(1,2,2)
plot(t/(1e-12),fftshift(abs(u).^2))
xlabel('Time(ps)')
ylabel('Power (W)')
xlim([-6 6])

%split step method
beta2=0;
beta3=0; alpha=0;
h=0.001;%h = L/step_num; % step size in z
D=(1i.*beta2.*0.5.*w.^2)-((1./6).*1i.*beta3.*w.^3); % dispersion operator
step_num = 1000; % No. of z steps

gamma=1;
temp2=fft(u);
temp3=temp2.*exp(u.*h.*0.5);
temp4=ifft(temp3);
%%%%%%%%%

for m=1:step_num
Nonlinear=exp(1i.*h*gamma.*u.^2).*temp4;
temp5=fft(Nonlinear);
temp6=temp5.*exp(D.*h./2);
temp4=ifft(temp6);
end
temp8=fft(temp4);
temp9=temp8.*exp(-1.*(h./2).*D);
temp10=ifft(temp9);
% final pulse
tempo=fftshift(fft(temp10)).*(nt*dt)/sqrt(2*pi); %Final spectrum

%----Plot output pulse shape and spectrum
figure;
subplot(2,1,1);
plot(t/(1e-12), abs(temp10).^2,'-k'); hold on;
axis([-20 20 0 inf]);
xlabel(' Time');
ylabel(' Power');
title(' Output Pulse Shape and Spectrum');
subplot(2,1,2);
plot(w/(1e12)/(2*pi), abs(tempo).^2, '-k');
hold on;
axis([-10 10 0 inf]);
xlabel('Normalized Frequency');
ylabel('Spectral Power');
Phys.Org News Partner Physics news on Phys.org
Physicists unlock nature of high-temperature superconductivity
Serial time-encoded amplified microscopy for ultrafast imaging based on multi-wavelength laser
Measuring the smallest magnets: Physicists measured magnetic interactions between single electrons

Register to reply

Related Discussions
Computational methods and computational modelling in physics Academic Guidance 0
Computational Physics vs Computational Engineering Academic Guidance 0
Computational Physics Academic Guidance 3
Computational physics Academic Guidance 11
Computational mathematics/computational physics and the video game industry Career Guidance 11