zhejiang normal university
DESCRIPTION
Zhejiang Normal University. Split-Step Fourier Transform Method. 李画眉. 2009 年 11 月. Outline. 一、 Algorithms 二、 Stationary solution for 1+1D NLSE 三、 Propagation for 1+1D NLSE 四、 Stability Analysis 五、 Conclusions. Algorithms : Image-time method. - PowerPoint PPT PresentationTRANSCRIPT
Zhejiang Normal University
Split-Step Fourier
Transform Method
李画眉2009 年 11 月
Outline
一、 Algorithms 二、 Stationary solution for 1+1D N
LSE三、 Propagation for 1+1D NLSE四、 Stability Analysis五、 Conclusions
Algorithms : Image-time method
By making use of a substitution t-it, then one can employ other appropriate algorithms (FFT, difference scheme, etc.) to obtain stationary solution.
2
2
2
10
2
q qi q q pR x qz x
z iz
2
2
2
10
2
q qq q pR x q
z x
Advantage: independence of initial guess value
Disadvantage: only ground state can be obtained
( ) cos( )R x x
Stationary solution for 1+1D NLSE
22
2
1( )
2
q qpR x q q q
z x
FFT
Linear part2
2
1
2
q q
z x
Nonlinear part2
( )q
pR x q q qz
z2
hz z h
linear linearnonlinear
Programclear allp=1;omega=2;%%-------------------n=2048;hx=0.06;x=(-n/2:n/2-1)*hx;hw=2*pi/(n*hx);w=fftshift((-n/2:n/2-1)*hw);%%-------------------% q=exp(-1*(x).^2/2);q=sech(x);intensity=4.6;u1(:,1)=(abs(q).^2)';%-------------------V=cos(omega*x);
Program%--------------------L=50;nm=5000;h=L/nm;%-------------------for j=1:nm j D=exp(((i*w).^2/2)*h/2); qstep1=ifft(D.*fft(q)); N=exp((p*V+(abs(qstep1)).^2)*h); qstep2=N.*qstep1; q=ifft(D.*fft(qstep2)); q=sqrt(intensity)*q/sqrt(sum(abs(q).^2)*hx); u=abs(q); r=floor(2+(j-1)/50); u1(:,r)=u';end
Program
kin=-sum((q(3:end)-q(1:end-2)).^2)/4/hx;p_i=sum(2*q.^2.*(abs(q).^2+V))*hx;b=(kin+p_i)/2/intensity z=0:h*50:50;figure(1)mesh(x,z,u1');view(0,90)figure(2)plot(x,u1(:,end),'r',x,V,'b')
Energy_b
22 42 ( ) 2
2
dwpR x w w dx
dxb
U
( , ) ( ) exp( )q x z w x ibz2
32
1( )
2
d wbw pR x w w
dx
2U w dx
Energy_b
Programclear allp=1;omega=2;%%-------------------n=2048;hx=0.06;x=(-n/2:n/2-1)*hx;hw=2*pi/(n*hx);w=fftshift((-n/2:n/2-1)*hw);%%-------------------loop=0;
Programfor intensity=1:0.1:5 % q=exp(-1*(x).^2/2); q=sech(x); u1(:,1)=(abs(q).^2)'; %------------------- V=cos(omega*x); %-------------------- L=50; nm=1000; h=L/nm; loop=loop+1 %-------------------
Program
for j=1:nm j; D=exp(((i*w).^2/2)*h/2); qstep1=ifft(D.*fft(q)); N=exp((p*V+(abs(qstep1)).^2)*h); qstep2=N.*qstep1; q=ifft(D.*fft(qstep2)); q=sqrt(intensity)*q/sqrt(sum(abs(q).^2)*hx); end kin=-sum((q(3:end)-q(1:end-2)).^2)/4/hx; p_i=sum(2*q.^2.*(q.^2+p*V))*hx; b(loop)=(kin+p_i)/2/intensityendintensity=1:0.1:5plot(b,intensity)
Numerical results 1, 2p
Iterative process Stationary solution Energy_b
Propagation for 1+1D NLSE NLSE
2
2
2
10
2
q qi q q pR x qz x
Programclear allp=1;omega=2;%%-------------------n=2048;hx=0.06;x=(-n/2:n/2-1)*hx;hw=2*pi/(n*hx);w=fftshift((-n/2:n/2-1)*hw);%%-------------------% q=exp(-1*(x).^2/2);q=sech(x);intensity=1;%-------------------V=cos(omega*x);
Program%%%%%%%%%%%%%%%%L=50;nm=5000;h=L/nm;u1(:,1)=(abs(q).^2)';%-------------------for j=1:nm j D=exp((i*(i*w).^2/2)*h/2); qstep1=ifft(D.*fft(q)); N=exp((i*p*V+i*(abs(qstep1)).^2)*h); qstep2=N.*qstep1; q=ifft(D.*fft(qstep2)); u=abs(q).^2; r=floor(2+(j-1)/50); u1(:,r)=u';end
Program
z=0:50*h:L;mesh(x,z,u1');view(0,90)
Numerical results 1, 2p
Propagation
Stability Analysis for 1+1D NLSE
qqqxpx
q
z
qi 2
2
2
)cos(2
1
Assuming the stationary solution is of the form
exp( )q w x ibz
23
2
1cos( )
2
d wbw p x w w
dx
We consider the stability of the stationary solution w(x) by employing the following algorithms:
Split-step Fourier method
Eigenvalue method
Eigenvalue method
where the perturbation components u, v could grow with a complex rate λ during propagation. Substitute the perturbed solution into equation, we obtained the linear eigen-equations
22
2
22
2
12 cos
2
12 cos
2
d uu w u v p x u bu
dx
d vv w v u p x v bv
dx
The solution is stable if the imaginary parts of λ equal zero.
In eigenvalue method, there are two assumptions for the perturbed stationary solution
*( ) ( )( , ) ( ) ( ) ( )ibz i b z i b zq x z w x e u x e v x e
First assumption: Physica D 237, 3252 (2008)
We begin by discretizing the domain x [-∈ a,a] by placing a grid over the domain. We will use the grid with grid spacing h=2a/N in axis x. We will attempt to approximate the solution at the points on this lattice, and define uk and vk to be functions defined at the point xk≡-a+(k-1)h or the lattice point k, where k=1, 2, ⋯, N+1. Thus we can obtain the difference scheme as follows
1 1
1 1
k k k k k k k
k k k k k k k
u u u v u
v v u v v
with 2 2
2 2
1 1, 2 cos ,
2 k k k k kw p x b wh h
Espically 2 2 2 2 2 3
2 2 2 2 2 3
u u v u
v u v v
and 1
1
N N N N N N
N N N N N N
u u u v
v v u v
due to 1 1 1 10, 0N Nu v u v
namely
The soliton is stable if the imaginary parts λ of equal zero.
2 22 2
1 1, 2 cos ,
2 k k k k kw p x b wh h
where
stability_1D_eigenvalue_1.m
Second assumption: PRL93, 153903 (2004)
( , ) ( ) ( , ) ( , )ibz ibz ibzq x z w x e U x z e iV x z e
with the complex rate δ:
( , ) Re[ ( ) ], ( , ) Re[ ( ) ]z zU x z u x e V x z v x e
After substituting this perturbed solution into equation and linearizing, we obtain a linear eigenvalue problem as follows
22
2
22
2
1cos 3
2
1cos
2
d uv p x u bu w u
dx
d vu p x v bv w v
dx
The soliton is stable if the real parts of δ equal zero.
Discretizing
21 12
21 12
2cos 3
22
cos2
k k kk k k k k k
k k kk k k k k k
u u uv p x u bu w u
hv v v
u p x v bv w vh
Namely
22
1, 2 cos ,
2 k k k kp p x b wh
2 2 2
3 3
1 4 4
1
1 1
2
1
1
0 0 0 0 0 0 3 0 0 0 0
0 0 0 0 0 0 3 0 0 0
0 0 0 0 0 0 0 3 0 0 0
0 0 0 0 0 0 0 0 0 0
0
0 0 0 0 0 0 0 0 0 3
0 0 0 0 0 0 0
k
k
k
N N
N
k
k
k
N
v p
p
v p
v
v
p
v
u
u
u
u
u
2
1
2 2
3 3
4 4
1 1
0 0 0 3
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
k
k
k
N N
N N
N N
v
v
v
v
p
p
p
p
p
p
1
2
1
1
N
k
k
k
N
v
u
u
u
u
u
where
stability_1D_eigenvalue_2.m
Discretizing
21 12
21 12
2cos 3
22
cos2
k k kk k k k k k
k k kk k k k k k
u u uv p x u bu w u
hv v v
u p x v bv w vh
Namely
22
1, 2 cos ,
2 k k k kp p x b wh
2 2 2
3 3
1 4 4
1
1 1
2
1
1
0 0 0 0 0 0 3 0 0 0 0
0 0 0 0 0 0 3 0 0 0
0 0 0 0 0 0 0 3 0 0 0
0 0 0 0 0 0 0 0 0 0
0
0 0 0 0 0 0 0 0 0 3
0 0 0 0 0 0 0
k
k
k
N N
N
k
k
k
N
v p
p
v p
v
v
p
v
u
u
u
u
u
2
1
2 2
3 3
4 4
1 1
0 0 0 3
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
k
k
k
N N
N N
N N
v
v
v
v
p
p
p
p
p
p
1
2
1
1
N
k
k
k
N
v
u
u
u
u
u
where
stability_1D_eigenvalue_2.m
Split-step Fourier method
qqqxpx
q
z
qi 2
2
2
)cos(2
1
By denoting
2
2 2 *2
1cos 2 0
2
U Ui p x b w U w Uz x
Starting from a white-noise initial condition, we simulate above linear equation for a long distance (hundreds of z units).
( , ) ( ) ( , )ibzq x z e w x U x z
where w(x) is the fundamental soliton and U(x,z)<<1 is the infinitesimal perturbation, the linearized equation for U(x,z) is
JOSAB21, 973 (2004)
z2
hz z h
FFT FFTRK method
2
2 2 *2
1cos 2 0
2
U Ui p x b w U w Uz x
Note
2
2
1
2
U Ui
z x
2 2 *cos 2U
i p x b w U iw Uz
FFT
RK method
Programclear allticp=1;omega=2;%%-------------------n=1024;hx=0.08;x=(-n/2:n/2-1)*hx;hw=2*pi/(n*hx);w=fftshift((-n/2:n/2-1)*hw);%%-------------------q=exp(-1*(x).^2/2);q=sech(x);intensity=4.6;u1(:,1)=(abs(q).^2)';%-------------------V=cos(omega*x);
Program%--------------------L=50;nm=5000;h=L/nm;%-------------------for j=1:nm j D=exp(((i*w).^2/2)*h/2); qstep1=ifft(D.*fft(q)); N=exp((p*V+(abs(qstep1)).^2)*h); qstep2=N.*qstep1; q=ifft(D.*fft(qstep2)); q=sqrt(intensity)*q/sqrt(sum(abs(q).^2)*hx); u=abs(q); r=floor(2+(j-1)/50); u1(:,r)=u';end
Program
kin=-sum((q(3:end)-q(1:end-2)).^2)/4/hx;p_i=sum(2*q.^2.*(abs(q).^2+V))*hx;b=(kin+p_i)/2/intensity%%--------------------------alpha=1/(2*hx^2);w=u1(:,end)';beta=2*w.^2+p*cos(omega*x)-b-1/hx^2;kai=w.^2;growth_rate1=stability_1D_eigenvalue_1(alpha,beta,kai,w,n)%%-------------------% alpha=1/(2*h^2);% w=phi;p=2*alpha-p*cos(omega*x)+b;% kai=w.^2;growth_rate2=stability_1D_eigenvalue_2(alpha,p,kai,w,n)toc
Subprogram1
function growth_rate=stability_1D_eigenvalue_1(alpha,beta,kai,phi,N)A=[beta(2) kai(2);-kai(2) -beta(2)];B=[alpha 0;0 -alpha];for kk=3:N A=[A [zeros(2*(kk-3),2);B];zeros(2,2*(kk-3)) B [beta(kk) kai(kk);-kai(kk) -beta(kk)]];endgrowth_rate=max(abs(imag(eig(A))));
Subprogram2
function growth_rate=stability_1D_eigenvalue_2(alpha,p,kai,phi,N)for mm=1:N-2 AA2(mm,mm)=-p(mm+1)+3*kai(mm+1); AA2(mm,mm+1)=alpha; AA2(mm+1,mm)=alpha; BB2(mm,mm)=p(mm+1)-kai(mm+1); BB2(mm,mm+1)=-alpha; BB2(mm+1,mm)=-alpha;endAA2(N-1,N-1)=-p(N)+3*kai(N);BB2(N-1,N-1)=p(N)-kai(N);CC2=[zeros(N-1,N-1) AA2;BB2 zeros(N-1,N-1)];delta2=eig(CC2);NN2=length(delta2);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%growth_rate=max(abs(real(delta2)));
Numerical results 1, 2p
stability_eigen_newton_1D_LU_growth.m
Conclusions
As far as ground state is concerned, image-time method is a most effective algorithm to deal with it due to insignificance of initial guess value. It is worth noting that energy conservation law must be met when image-time method is employed.
Split-step Fourior algorithm is a feasible method for stability analysis.
谢谢大家!谢谢大家!