计算脉冲在非线性耦合器中演化的Matlab 程序 ~i_R%z:y
9OJ\n|,(
% This Matlab script file solves the coupled nonlinear Schrodinger equations of D^R! |K/
% soliton in 2 cores coupler. The output pulse evolution plot is shown in Fig.1 of u):Rw
% Youfa Wang and Wenfeng Wang, “A simple and effective numerical method for nonlinear yQA"T?
% pulse propagation in N-core optical couplers”, IEEE Photonics Technology lett. Vol.16, No.4, pp1077-1079, 2004 6Nd_YX
>*Qk~kv<%
%fid=fopen('e21.dat','w'); vsr~[d=
N = 128; % Number of Fourier modes (Time domain sampling points) ]zM90$6
M1 =3000; % Total number of space steps 3bI|X!j
J =100; % Steps between output of space dE9aE# o
T =10; % length of time windows:T*T0 uwS'*5tU
T0=0.1; % input pulse width N(({2'Rr
MN1=0; % initial value for the space output location J<P/w%i2
dt = T/N; % time step :#!F 7u
n = [-N/2:1:N/2-1]'; % Index cX=b q_
t = n.*dt; /RULPd
PH
u10=1.*sech(1*t); % input to waveguide1 amplitude: power=u10*u10 EpoQV ^Ey
u20=u10.*0.0; % input to waveguide 2 '?!<I
u1=u10; u2=u20; nrD=[kc!w
U1 = u1; C`1\$U~%
U2 = u2; % Compute initial condition; save it in U ~zOU/8n
,F
ww = 4*n.*n*pi*pi/T/T; % Square of frequency. Note i^2=-1. TXk"[>,:H
w=2*pi*n./T; fS$Yl~-m?
g=-i*ww./2; % w=2*pi*f*n./N, f=1/dt=N/T,so w=2*pi*n./T pcxl2I
L=4; % length of evoluation to compare with S. Trillo's paper 8'_
]gfF
dz=L/M1; % space step, make sure nonlinear<0.05 1.OXkgh
for m1 = 1:1:M1 % Start space evolution o _,$`nEJ
u1 = exp(dz*i*(abs(u1).*abs(u1))).*u1; % 1st sSolve nonlinear part of NLS ABYW1K=
u2 = exp(dz*i*(abs(u2).*abs(u2))).*u2; c.me1fGn
ca1 = fftshift(fft(u1)); % Take Fourier transform LF,c-Cv!jL
ca2 = fftshift(fft(u2)); ~(doy@0M
c2=exp(g.*dz).*(ca2+i*1*ca1.*dz); % approximation nh.v?|
c1=exp(g.*dz).*(ca1+i*1*ca2.*dz); % frequency domain phase shift Z YO/'YW
u2 = ifft(fftshift(c2)); % Return to physical space V9 t:JY
u1 = ifft(fftshift(c1)); h^,YYoA$
if rem(m1,J) == 0 % Save output every J steps. "@<g'T0
U1 = [U1 u1]; % put solutions in U array PT*@#:MA
U2=[U2 u2]; O7_NXfh|
MN1=[MN1 m1]; w\Eve:
z1=dz*MN1'; % output location E6IL,Iq9
end 1~iBzPU2
end u^eC
hg=abs(U1').*abs(U1'); % for data write to excel ).#D:eO[~
ha=[z1 hg]; % for data write to excel T=KrT7
t1=[0 t']; cngPc]?N
hh=[t1' ha']; % for data write to excel file Vh-h{
%dlmwrite('aa',hh,'\t'); % save data in the excel format #S74C*'8
figure(1) eMMiSO!3
waterfall(t',z1',abs(U1').*abs(U1')) % t' is 1xn, z' is 1xm, and U1' is mxn :QY 9p T
figure(2) v?' k)B
waterfall(t',z1',abs(U2').*abs(U2')) % t' is 1xn, z' is 1xm, and U1' is mxn MhB=+S[@
L1w4WFWO
非线性超快脉冲耦合的数值方法的Matlab程序 si4=C
$fpDABf
在研究脉冲在非线性耦合器中的演变时,我们需要求解非线性偏微分方程组。在如下的论文中,我们提出了一种简洁的数值方法。 这里我们提供给大家用Matlab编写的计算程序。 j3'/jk]\
Youfa Wang and Wenfeng Wang, “A simple and effective numerical method for nonlinear pulse propagation in N-core optical couplers”, IEEE Photonics Technology lett. Vol.16, No.4, pp1077-1079, 2004 Iz=E8R g
ov.rHVeI
/u1zRw
x~,?Zj)n?C
% This Matlab script file solves the nonlinear Schrodinger equations *>H'@gS
% for 3 cores nonlinear coupler. The output plot is shown in Fig.2 of <5L` d}
% Youfa Wang and Wenfeng Wang, “A simple and effective numerical method for nonlinear @?NLME
% pulse propagation in N-core optical couplers”, IEEE Photonics Technology lett. Vol.16, No.4, pp1077-1079, 2004 vb2O4%7tw
y,eoTmaI
C=1; N9hWx()v
M1=120, % integer for amplitude ~9 nrS9)
M3=5000; % integer for length of coupler -PuVI5L<
N = 512; % Number of Fourier modes (Time domain sampling points) [9Hm][|Ph
dz =3.14159/(sqrt(2.)*C)/M3; % length of coupler is divided into M3 segments, make sure nonlinearity<0.05. :EAfD(D{)
T =40; % length of time:T*T0. j[
YTg]
dt = T/N; % time step 5 `mVe0uI
n = [-N/2:1:N/2-1]'; % Index A)0m~+?{J
t = n.*dt; +K4v"7C
V
ww = 4*n.*n*pi*pi/T/T; % Square of frequency. Note i^2=-1. q:eAL'OkM
w=2*pi*n./T; j>=".^J
g1=-i*ww./2; C3Z(k}
g2=-i*ww./2; % w=2*pi*f*n./N, f=1/dt=N/T,so w=2*pi*n./TP=0; !: [`
V!{
g3=-i*ww./2; m#(x D~V
P1=0; g5]DA.&(
P2=0; u9%:2$[
P3=1; PltPIu)F
P=0; dNmX<WXG
for m1=1:M1 5{=MUU=
p=0.032*m1; %input amplitude ~0t'+.
s10=p.*sech(p.*t); %input soliton pulse in waveguide 1 0a;zT
O/"v
s1=s10; %[;KO&Ga