最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

QWZ模型的波包演化模擬

2023-09-27 00:42 作者:湛藍(lán)色的彼岸花  | 我要投稿

可以用來模擬外加勢場的 QWZ 模型。



% 定義晶格和時(shí)間

L = 1; % 晶格常數(shù)

N = 750; % 設(shè)置 N*N 格點(diǎn)

x = linspace(-N*L/2,(N-2)*L/2,N)'; % 1維位矢數(shù)組

dx = x(2) - x(1); %

NT = 50000; % 時(shí)間步長

TF = 50; %總時(shí)長

T = linspace(0,TF,NT); % 時(shí)間數(shù)組

dT = T(2)-T(1); % 時(shí)間步長

%**************************

% % 設(shè)置位矢和動(dòng)量空間的坐標(biāo)

% 位矢相關(guān)

e1 = ones(N,1);

Rx = kron(x',e1); % 2維位矢數(shù)組,x坐標(biāo)

Ry = Rx'; % 2維位矢數(shù)組,y坐標(biāo)

Ra = sqrt(Rx.^2+Ry.^2);% 2維位矢數(shù)組,徑向坐標(biāo)

ThR = angle(Rx+1i*Ry);% 2維位矢數(shù)組,輻角坐標(biāo)

% 動(dòng)量相關(guān)

e1 = ones(N,1);

K = linspace(2*pi*(-1/2)/L,2*pi*(N/2-1)/(L*N),N); % 1維動(dòng)量數(shù)組

Kx = kron(K,e1); % 2維動(dòng)量數(shù)組,x

Ky = Kx'; % 2維動(dòng)量數(shù)組,y

% Ka = sqrt(Kx.^2+Ky.^2);

% ThK = angle(Kx+1i*Ky);

% *************************

% 勢能設(shè)置

G = 1000; % 勢能放縮因子

d = 0.46*L*N; %方形勢能邊界

Hat = @(y) 4*((atan(y/25)+pi/2)/pi).^2; % 平滑的"階梯"函數(shù)

% BOX =@(x,y) G*(Hat(x-d)+ Hat(-x-d))+...

% ? ? G*(Hat(y-d)+ Hat(-y-d)); % 邊長為 2*d 的方形勢阱

% Ub = BOX(Rx,Ry);% 邊界勢能(方形)

Ub = G*Hat(Ra-d);% 邊界勢能(圓形)

% thet = 0.3;

% Ub = BOX(Rx*cos(thet)+Ry*sin(thet),...

% ? ? -Rx*sin(thet)+Ry*cos(thet));% 邊界勢能(方形,傾斜)

V11 = exp(-1i*Ub*dT/2); % 勢能演化算子,1分量

V22 = V11; %勢能演化算子,2分量

% *************************

% 能帶參數(shù)設(shè)置,定義如下:

% H11 = -2*tau*cos(Kx)-2*tau*cos(Ky)-mu

% H22 = 2*tau*cos(Kx)+2*tau*cos(Ky)+mu

% H12 = Delta*(sin(Kx)-1i*sin(Ky))

% H21 = Delta*(sin(Kx)+1i*sin(Ky))

%

Delta = 100;

tau = 100;

mu = 8;

Hkx = Delta*sin(Kx); Hky = Delta*sin(Ky);

Hkz = -2*tau*cos(Kx)-2*tau*cos(Ky)-mu; % 借助Pauli矩陣分解 H

absH = sqrt(Hkx.^2+Hky.^2+Hkz.^2);

%能帶("動(dòng)能")給出的時(shí)間演化算子

Uk11 = cos(absH*dT)+1i*sin(absH*dT).*Hkz./absH;

Uk22 = cos(absH*dT)-1i*sin(absH*dT).*Hkz./absH;

Uk12 = 1i*sin(absH*dT).*(Hkx-1i*Hky)./absH;

Uk21 = 1i*sin(absH*dT).*(Hkx+1i*Hky)./absH;

% *************************

% 設(shè)置 Gauss 波包

ao = 0.01*pi;% 動(dòng)量分布的標(biāo)準(zhǔn)差

% 中心動(dòng)量

kxo = 0;

kyo = 2.92;

% 中心位矢

xo = 0;

yo = -100;

% 依據(jù) H(k) 的本征態(tài)構(gòu)造波包

% first component in k space,最后一行由 H(k) 本征矢給出

psi01 = sqrt(1/2)*exp(-((Kx-kxo).^2+(Ky-kyo).^2)/(ao^2))...

? ?.*exp(-1i*(xo*Kx+yo*Ky))...

? ?.*(Hkz-absH); % 為上能帶。若為下能帶,則取為 (-Hkx+1i*Hky)

% second component,最后一行由 H(k) 本征矢給出

psi02 = sqrt(1/2)*exp(-((Kx-kxo).^2+(Ky-kyo).^2)/(ao^2))...

? ?.*exp(-1i*(xo*Kx+yo*Ky))...

? ?.*(Hkx+1i*Hky); % 為上能帶。若為下能帶,則取為 (Hkz-absH)

% 位矢空間波函數(shù),未歸一

psi0 = [reshape( fftshift(ifft2(fftshift(psi01))),N*N,1 )...

? ?;reshape( fftshift(ifft2( fftshift(psi02) )),N*N,1)];

psi0 = psi0/sqrt(psi0'*psi0); %歸一化

%化為2維數(shù)組形式

psi21 = reshape(psi0(1:end/2),N,N);

psi22 = reshape(psi0(0.5*end+1:end),[N,N]);

% 繪制能帶,及中心動(dòng)量對應(yīng)能級的位置

surf(K,K,absH,'EdgeColor','none','FaceAlpha',0.5)

hold on

surf(K,K,-absH,'EdgeColor','none','FaceAlpha',0.5)

hkx = Delta*sin(kxo); hky = Delta*sin(kyo);

hkz = -2*tau*cos(kxo)-2*tau*cos(kyo)-mu;

absh = sqrt(hkx.^2+hky.^2+hkz.^2);% 為上能帶。若為下能帶,取相反數(shù)

scatter3(kxo,kyo,absh,1000,'r.')

hold off

%**************************

% 時(shí)間演化以及繪圖

fig=figure;

fig.Position = [0 0 2000 1000];

ax = axes(fig);

h = 8e-5;% 繪圖的高度范圍放縮因子,依據(jù)模平方選取

xlim manual

ylim manual

zlim manual

% 自定義顏色函數(shù)

CO1=zeros(N,N,3);

CO1(:,:,1) = 0.2*ones(N,N);

CO1(:,:,3) = 0.75*ones(N,N);

CO2 = CO1;

CO2(:,:,3) = 1*ones(N,N);

% 設(shè)置顯示相位平面的位置

Z0 = -1.5*h*ones(N,N);

for t = 1:NT

? ?%時(shí)間演化

? ?%位矢表象,exp(-i U dt/2)

? ?psi21 = V11.*psi21 ;

? ?psi22 = V22.*psi22;

? ?%換為動(dòng)量表象

? ?psik1 = fftshift(fft2(psi21));

? ?psik2 = fftshift(fft2(psi22));

? ?%exp(-i H(k) dt)

? ?psik10 = psik1;

? ?psik1 = Uk11.*psik1 + Uk12.*psik2;

? ?psik2 = Uk21.*psik10 + Uk22.*psik2 ;

? ?%換為位矢表象

? ?psi21 = full(ifft2(ifftshift(psik1)));

? ?psi22 = full(ifft2(ifftshift(psik2)));

? ?

? ?%exp(-i U dt/2)

? ?psi21 = V11.*psi21 ;

? ?psi22 = V22.*psi22 ;

? ?if rem(t-1,20) ?% 控制圖像更新頻率

? ? ? ? ? ?continue

? ?end

? ?

? ?rho1 = (abs(psi21).^2); %分量1的模平方

? ?% 畫圖,著色

? ?CO1(:,:,1) = 0.2*ones(N,N)+10*ones(N,N).*sqrt(rho1/h)./((1+50*rho1/h));

? ?CO1(:,:,2) = 15*ones(N,N).*rho1/h;

? ?CO1(:,:,3) = 0.75*ones(N,N)+ones(N,N).*rho1.^2/h^2;

? ?s01 = surf(ax,x,x,0*(rho1)+0.1*h,CO1,'FaceAlpha',0.4);

? ?shading interp

? ?s01.EdgeColor = 'none';

? ?

? ?zlim(ax,[-1.5*h 2.1*h]);

? ?xlim(ax,[-0.5*L*N 0.5*L*N]);

? ?ylim(ax,[-0.5*L*N 0.5*L*N]);

? ?

? ?hold on

?

? ?rho2 = (abs(psi22).^2);% 分量2的模平方

? ?

? ?CO2(:,:,1) = 0.2*ones(N,N)+10*ones(N,N).*sqrt(rho2/h)./((1+50*rho2/h));

? ?CO2(:,:,2) = 15*ones(N,N).*rho2/h;

? ?CO2(:,:,3) = 1*ones(N,N)+ones(N,N).*rho2.^2/h^2;

? ?s02 = surf(ax,x,x,0*(-rho2)-0.1*h,1-CO2,'FaceAlpha',0.4);

? ?shading interp

? ?s02.EdgeColor = 'none';

? ?

? ?% 文字注釋

? ?text(ax,-0.9*L*N,0.4*L*N,2.1*h,...

? ? ? ?['$T=',num2str(dT*t,'%.3f'),'$'],...

? ? ? ?'Interpreter','latex','FontSize',20);

? ?text(ax,-0.47*L*N,0.48*L*N,1.7*h,...

? ? ? ?['$H=\vec{\mathcal{H}}\cdot\vec{\sigma}$,\ ',...

? ? ? ?'$\mathcal{H}_x = \Delta \sin(k_x),\ \mathcal{H}_y = \Delta \sin(k_y),\ ',...

? ? ? ?'\mathcal{H}_z = -2 \tau(\cos(k_x)+\cos(k_y))-\mu,\ $',newline,...

? ? ? ?'$\Delta=',num2str(Delta,'%.0f'),',\ \tau=',num2str(tau,'%.0f'),...

? ? ? ?',\ \mu=',num2str(mu,'%.0f'),'$',newline,...

? ? ? ?'$k_x(T = 0)\approx',num2str(kxo,'%.1f'),',\ k_y(T = 0)\approx',num2str(kyo,'%.1f'),'$'],...

? ? ? ?'Interpreter','latex','FontSize',15);

? ?

? ?% 顯示勢能

? ?imagesc(ax,[-0.5*L*N,0.5*L*N],[-0.5*L*N,0.5*L*N],...

? ? ? ?h*Ub*0.01,'AlphaData',0.1);

? ?

? ?

? ?

? ?% 顯示相位,僅顯示一定閾值(0.01h)以上模平方格點(diǎn)處的相位

? ? ? ?phase1 = ...

? ? ? ?h*angle(psi21).*heaviside(rho1-0.01*h);

? ? ? ?phase2 = ...

? ? ? ?h*angle(psi22).*heaviside(rho2-0.01*h);

? ?

? ?Ph1 = surf(ax,x,x,-Z0,phase1,'FaceAlpha',0.3);

? ?shading interp

? ?Ph1.EdgeColor = 'none';

? ?

? ?Ph2 = surf(ax,x,x,Z0,phase2,'FaceAlpha',0.3);

? ?shading interp

? ?Ph2.EdgeColor = 'none';

? ?

? ?hold off

? ?% 其它繪圖參數(shù)

? ?colormap(hsv)

? ?caxis([-pi*h pi*h])

? ?

? ?pbaspect([1 1 0.5]);

? ?campos([850 -850 1.9*h]);

? ?camtarget([0 0 0.24*h])

? ?camva(22)

? ?drawnow

end

sum(sum(rho1))+sum(sum(rho2))


QWZ模型的波包演化模擬的評論 (共 條)

分享到微博請遵守國家法律
称多县| 襄樊市| 威远县| 新竹市| 兴隆县| 琼中| 乌拉特前旗| 湖南省| 安阳市| 金华市| 策勒县| 石泉县| 浠水县| 屯昌县| 黑山县| 安丘市| 宝兴县| 交城县| 金沙县| 渑池县| 义马市| 曲麻莱县| 汨罗市| 黔西| 乐陵市| 疏附县| 郁南县| 察雅县| 朝阳县| 宁城县| 安丘市| 汤阴县| 湖北省| 鄂托克前旗| 乐至县| 旬邑县| 萝北县| 洛南县| 南阳市| 得荣县| 鸡泽县|