贡献者: addis
本文使用原子单位制。若初始时刻 $t_0$ 一个自由粒子的三维空间波函数 $\Psi( \boldsymbol{\mathbf{r}} ,t)$ 已知,接下来空间中出现了随时间变化的电场 $ \boldsymbol{\mathbf{\mathcal E}} (t)$(我们采用偶极子近似,即假设电场不随位置变化,感生磁场可以忽略),那么接下来波函数会如何变化呢?
要求解该问题,可以用 “一维自由粒子高斯波包” 相似的思路,先把初始波函数拆解为无数平面波,再分别把每个平面波在电场 $ \boldsymbol{\mathbf{\mathcal E}} (t)$ 中演化到任意时间 $t$,最后重新组合成为 $\Psi( \boldsymbol{\mathbf{r}} ,t)$。该过程中,把平面波在电场中演化到某时刻的结果就称为 Volkov 波函数。
在 $t \le t_0$ 时,令 $ \boldsymbol{\mathbf{\mathcal E}} (t) = \boldsymbol{\mathbf{0}} $,且波函数是如下平面波
一维 Volkov 函数的 Matlab 代码如下,需要提供 t
和一列 x
,以及 $k(t)$ 的函数句柄 k_fun
。
% Volkov wave function in 1D
% supports 1d vector x and t
% output psi(i,j), k(j), E(j), phi(j) for x(i), t(j)
function [psi, k, E, phi] = volkov_1d(k_fun, x, t)
Nt = numel(t);
x = x(:); t = t(:).';
k = k_fun(t);
E_fun = @(t) 0.5*k_fun(t).^2;
E = E_fun(t);
phi = zeros(1, Nt); phi(1) = E(1)*t(1);
for i = 2:Nt
phi(i) = phi(i-1) + integral(E_fun, t(i-1), t(i));
end
psi = (2*pi)^(-1.5) .* exp(1i*k.*x - 1i*phi);
end
下面是一个做简谐运动的小球对应的 Volkov 波函数的动画程序
% === params ===
tmin = 0; tmax = 2*pi; Nt = 201;
xmin = -15; xmax = 20; Nx = 1000;
x00 = -5;
k00 = 0; % center of wave packet
sigma_x = 1; % width of wave packet
Nk0 = 101; % # of Volkov waves
% ==============
sigma_k = 1/(2*sigma_x);
k0min = k00-4*sigma_k;
k0max = k00+4*sigma_k;
k0 = linspace(k0min, k0max, Nk0);
dk0 = (k0max-k0min) / Nk0;
coeffs = 1/(2*pi*sigma_k^2)^0.25 *...
exp(-(k0-k00).^2./(2*sigma_k).^2) .*...
exp(-1i*x00*(k0-k00))* dk0;
x = linspace(xmin, xmax, Nx);
t = linspace(tmin, tmax, Nt);
force = 5*cos(t);
x_ball = x00 + 5*(1-cos(t));
psi_v = zeros(Nx, Nt, Nk0);
for i0 = 1:Nk0
k_fun = @(t) k0(i0) + 5*sin(t);
psi_v(:,:,i0) = volkov_1d(k_fun, x, t);
end
% wave packet
psi = zeros(Nx, Nt);
for it = 1:Nt
for ik0 = 1:Nk0
psi(:, it) = psi(:, it) + ...
coeffs(ik0) * psi_v(:, it, ik0);
end
end
% plot animation
i0 = (Nk0+1)/2;
for i = 1:Nt
% central Volkov wave
figure(1); clf;
subplot(2, 1, 1);
y = psi_v(:,i,i0);
plot(x, [real(y), imag(y)]);
hold on;
axis([xmin,xmax,[-1,1]*0.08]);
grid on;
title('central Volkov wave');
% Wave packet
subplot(2, 1, 2);
y = psi(:,i);
plot(x, [real(y), imag(y)]); hold on;
plot(x, abs(y), 'k');
axis([xmin,xmax,-0.11,0.15]);
grid on;
title('Wave packet');
% electric field
plot([0, force(i)], [1,1]*0.13, 'LineWidth', 3);
% classical ball
scatter(x_ball(i), 0.11, 'k');
saveas(gcf, [sprintf('%03d', i) '.png']);
end
注意以下所有规范中,算符 $ \boldsymbol{\mathbf{p}} = - \mathrm{i} \boldsymbol\nabla $ 都是广义动量。
注意本文中的 $ \boldsymbol{\mathbf{A}} (t)$ 都是指速度规范中的矢势,长度规范下的矢势恒为零(式 5 ),广义动量就是 $m \boldsymbol{\mathbf{v}} $(式 6 )。
========== 回收 ==============
(不同规范仅当电场出现后才会不同)
以下我们分别在长度规范、速度规范、加速度规范中求解 Volkov 波函数。在 $t \le t_0$ 时,令 $ \boldsymbol{\mathbf{\mathcal E}} (t) = \boldsymbol{\mathbf{A}} (t) = \boldsymbol{\mathbf{0}} $。令三种规范下
求解 Volkov 波函数最容易的方法就是使用所谓加速度规范,由于空间中没有净电荷,薛定谔方程(式 7 )中 $V( \boldsymbol{\mathbf{r}} ) = 0$
使用式 3 对式 6 做规范变换,得速度规范下的 Volkov 波函数为
要求长度规范长度规范下的 Volkov 波函数只需要对式 7 再次做规范变换即可(式 9 ),得式 3 。1