亥姆霍兹方程格林函数的推导与统一
前面已经推导出了球坐标下亥姆霍兹方程完整的形式解
G(r,r′)=ikl=0∑∞m=−l∑ljl(kr<)hl(1)(kr>)Ylm(θ,ϕ)Ylm∗(θ′,ϕ′),=l=0∑∞m=−l∑lgl(r,r′)Ylm(θ,ϕ)Ylm∗(θ′,ϕ′).(1)
其中,
- 球谐函数控制角度分布;
- 球贝塞尔/汉克尔函数控制径向传播;
- 格林函数是所有本征模态的叠加;
- k→0 时退化为静电势格林函数 1/4πr;
- r<=min(r,r′),r>=max(r,r′);
- gl(r,r′)=ikjl(kr<)hl(1)(kr>) 为径向格林函数;
- Ylm(θ,ϕ)=Nl,m⋅Plm(cosθ)⋅eimϕ 为球谐函数,其中 Nl,m=(−1)m4π2l+1(l+m)!(l−m)! 为归一化系数,Plm(cosθ)⋅eimϕ 为方位量子数 m 的连带勒让德多项式与方位角复指数的角向函数。
上面是不考虑球对称性下的,即考虑边界情况时,完整的亥姆霍兹方程的格林函数解。
3D 情形亥姆霍兹方程的格林函数
当我们只考虑 自由空间、无边界 的 3D 情形时,可以直接求出球面波解,下面是求解过程
把问题转成相对坐标
由于系统是平移不变的,可以只考虑 r′=0,即:
(∇2+k2)G(r)=−δ(r)(2)
设 r=∣r∣。
利用球对称性
G 只依赖于 r,所以可以写成 G(r)。
在球坐标中:
∇2G=r21drd(r2drdG)(3)
于是方程变成:
r21drd(r2drdG)+k2G=−δ(r)(4)
先求解右边=0的齐次方程
对 r>0,右边 δ=0:
dr2d2(rG)+k2(rG)=0(5)
设 u=rG,解为:
u(r)=Aeikr+Be−ikr(6)
所以:
G(r)=rAeikr+Be−ikr(7)
确定常数(辐射条件)
- eikr/r:表示向外传播的球面波;
- e−ikr/r:表示向内传播的球面波。
物理上我们要出射波(源点向外发散),即满足 Sommerfeld 辐射条件:
r→∞limr(∂r∂G−ikG)=0(8)
这要求 B=0,为什么?
球面波近似形式:
G(r)∼reikr(9)
它的径向导数是:
∂r∂G∼(ik−r1)reikr(10)
把它代入表达式:
r(∂r∂G−ikG)=r[(ik−r1)reikr−ikreikr]=−reikrr→∞0.(11)
所以 eikr/r 满足辐射条件。
而如果我们换成 e−ikr/r:
r(∂r∂G−ikG)=r[(−ik−r1)re−ikr−ikre−ikr]=−2ikrre−ikr=−2ike−ikr→0.(12)
它不满足条件(因为远处波是往内收的)。
因此:
Sommerfeld 辐射条件⇒B=0.(13)
于是:
G(r)=rAeikr(14)
确定系数 A
在 r=0 附近,δ 函数起作用。将方程在一个以 r=0 为中心的小球体 Vϵ 内积分:
∫Vϵ(∇2G+k2G)dV=−∫Vϵδ(r)dV=−1(15)
对第一项用高斯定理:
∮Sϵ∂n∂GdS+k2∫VϵGdV=−1(16)
当 ϵ→0,第二项趋近 0,只剩第一项。在球面上 r=ϵ,
∂r∂G=Aϵ2(ikϵ−1)eikϵ(17)
积分面面积 4πϵ2,于是:
∮Sϵ∂n∂GdS=4πA(ikϵ−1)eikϵ→−4πA(18)
匹配上式:
−4πA=−1⇒A=4π1(19)
得到最终结果:
G(r,r′)=4π∣r−r′∣eik∣r−r′∣(20)
这就是 3D Helmholtz 方程的自由空间格林函数。
2D 情形亥姆霍兹方程的格林函数
设 r=∣r−r′∣,解的径向形式为:
r1drd(rdrdG)+k2G=−δ(r)(21)
齐次方程的解为 Bessel 函数:
G(r)=AJ0(kr)+BY0(kr)(22)
满足“向外辐射条件”的组合是:
H0(1)(kr)=J0(kr)+iY0(kr)(23)
于是:
G(r,r′)=4iH0(1)(k∣r−r′∣)(24)
这就是 2D Helmholtz 格林函数。
1D 情形亥姆霍兹方程的格林函数
在 1D 情况下:
dx2d2G+k2G=−δ(x−x′)(25)
通解为:
G(x,x′)=2kieik∣x−x′∣(26)
这一维形式可以看作是 2D、3D 格林函数的“退化版本”。
3D 情形格林函数与完整形式解的统一
格林函数的球谐展开为:
G(r,r′)=ikl,m∑jl(kr<)hl(1)(kr>)Ylm(Ω)Ylm∗(Ω′).(27)
源在原点
现在令源点在原点,所以 r′=0,于是 r<=r′=0,因此对任意 l≥1,
jl(kr<)=jl(0)=0.(28)
唯一存活的是:
j0(0)=1.(29)
所以(27)中的和只剩:
G(r,0)=ikj0(0)h0(1)(kr)Y00(Ω)Y00∗(0).(30)
因为 Y00=1/4π,得到:
G(r,0)=ikh0(1)(kr)⋅4π1.(31)
而
h0(1)(x)=−ixeix,(32)
所以:
G(r,0)=4πreikr.(33)
完全等于自由空间格林函数的标准球面波形式。
源在任意
整个问题在自由空间中是各向同性的,所以一旦你知道源在原点时两种表达一致,对任意 r′ 只不过是坐标旋转和平移,两者仍然必须一致。
用球谐加法定理:
m=−l∑lYlm(Ω)Ylm∗(Ω′)=4π2l+1Pl(cosγ),(34)
带入(27)并对 m 求和
G(r,r′)=ikl=0∑∞4π2l+1jl(kr<)hl(1)(kr>)Pl(cosγ).(35)
右边显然只依赖 r,r′,γ,也就是只依赖 ∣r−r′∣,因此它必然是某个 F(∣r−r′∣)。
又由于在特殊情形 r′=0 时,(2) 已经等于 eikr/(4πr),结合方程的唯一性 ⇒ 对任意 r′,(2) 就是
G(r,r′)=4π∣r−r′∣eik∣r−r′∣.(36)
总结
-
从 PDE + 边界条件 出发构造:
分离变量 → 球谐展开 → 径向格林函数方程 → 正则内解 jl、辐射外解 hl(1) → 用朗斯基调常数得 ik → 得到模态展开式 (1)。
-
从物理直观球面波 出发:
已知自由空间格林函数是 eikR/(4πR),把它投影到球谐基底,得到同样的 gl=ikjlhl(1)。因为两者满足同一方程和边界条件、又在一个特殊点上完全吻合,所以它们在整个空间上就是同一函数。
可以把
4πReikR
看成“位置表象”的写法,而
ik∑jlhl(1)YlYl∗
是“角动量模态表象”的写法。
就像同一个信号在“时域”和“傅里叶域”的两种展开,一模一样,只是基底不同。
附录一些证明
2D 情形亥姆霍兹方程的具体证明过程
极坐标下写出微分方程
在以 r′ 为原点的极坐标 (ρ,φ) 中,拉普拉斯算符为
∇2=∂ρ2∂2+ρ1∂ρ∂+ρ21∂φ2∂2.(37)
因为 G 只依赖于 ρ,与角度无关(圆对称),所以
∂φ∂G=0,∂φ2∂2G=0.(38)
因此,对于 ρ=0(也就是远离点源)时,方程变成常微分方程:
[dρ2d2+ρ1dρd+k2]G(ρ)=0,(ρ=0).(39)
解为 0 阶贝塞尔方程
把变量换成 z=kρ,写成
dz2d2G+z1dzdG+G=0,(40)
这就是 0 阶的贝塞尔方程。它的一般解是
G(ρ)=AJ0(kρ)+BY0(kρ),(41)
其中
- J0 是 0 阶第一类贝塞尔函数,
- Y0 是 0 阶第二类贝塞尔函数。
也常用汉克尔函数写成
H0(1)(z)=J0(z)+iY0(z),H0(2)(z)=J0(z)−iY0(z),(42)
于是
G(ρ)=CH0(1)(kρ)+DH0(2)(kρ).
用辐射条件选出出射解
物理上我们要的是 出射波(向外传播) 的格林函数,即满足 Sommerfeld 辐射条件:
ρ→∞limρ(∂ρ∂G−ikG)=0.(43)
利用汉克尔函数的远场渐近形式:
H0(1)(z)∼πz2ei(z−4π),H0(2)(z)∼πz2e−i(z−4π),(z→∞)(44)
可以看到:
- H0(1)(kρ) 对应 ∼e+ikρ/ρ,是向外传播的波;
- H0(2)(kρ) 对应 ∼e−ikρ/ρ,是向内传播的波。
因此要选 出射波,令 D=0,得到
G(ρ)=CH0(1)(kρ).(45)
现在还差一个系数 C,它是靠 δ 函数条件 来确定的。
用积分确定系数
从定义方程出发:
(∇2+k2)G(ρ)=−δ(r−r′).(46)
取以 r′ 为中心、半径为 ε 的小圆盘 Dε,积分两边:
∫Dε(∇2G+k2G)dS=−∫Dεδ(r−r′)dS=−1.(47)
把左边拆成
∫Dε∇2GdS+k2∫DεGdS=−1.(48)
当 ε→0 时,小圆盘面积 ∼πε2,而 G 在原点附近最多是对数发散(下面会看到),所以
k2∫DεGdSε→00.(49)
于是有
∫Dε∇2GdSε→0−1.(50)
再利用二维的散度定理(Green 定理):
∫Dε∇2GdS=∮Cε∂n∂Gds,(51)
其中 Cε 是边界圆周,ds 是弧长微元;对圆来说,法向就是径向,所以 ∂G/∂n=∂G/∂ρ,而 ds=εdφ,总长是 2πε。因此
∮Cε∂n∂Gds=2πε∂ρ∂Gρ=ε.(52)
综合得到条件:
ε→0lim2πε∂ρ∂Gρ=ε=−1.(53)
接下来需要用到 H0(1)(z) 在 z→0 的小参数展开。
小参数展开与对数型奇点
H0(1)(z) 的小 z 展开为(只写出对数项):
H0(1)(z)≈1+π2i[ln(2z)+γ]+O(z2),(z→0),(54)
其中 γ 是欧拉常数。对我们来说,最重要的是 对数项:
H0(1)(z)∼π2ilnz+(常数).(55)
因此
G(ρ)=CH0(1)(kρ)∼C⋅π2iln(kρ)+常数,(56)
对 ρ 求导:
∂ρ∂G∼C⋅π2i⋅ρ1,(ρ→0).(57)
代入刚才的积分条件:
2πε∂ρ∂Gρ=ε∼2πε[C⋅π2i⋅ε1]=4iC.(58)
令其等于 −1:
4iC=−1⇒C=−4i1=4i.(59)
(因为 1/i=−i,所以 −1/(4i)=i/4)。
于是我们得到 最终的 2D 亥姆霍兹格林函数:
G(r,r′)=G(ρ)=4iH0(1)(k∣r−r′∣)(60)
关于第一类汉克尔函数的展开
H0(1)(z) 的小 z 展开怎么来的
H0(1)(z)≈1+π2i[ln(2z)+γ]+O(z2),(z→0),(61)
计算第二类贝塞尔函数的零阶表达式
一般阶的第二类贝塞尔函数定义为(ν 非整数时):
Yν(z)=sin(νπ)Jν(z)cos(νπ)−J−ν(z).(62)
当 ν→0 时,直接代进去会变成 0/0 型,所以我们要做极限:
Y0(z)=ν→0limYν(z)=ν→0limsin(νπ)Jν(z)cos(νπ)−J−ν(z).(63)
小 ν 展开:
sin(νπ)=νπ+O(ν3),cos(νπ)=1−2(νπ)2+O(ν4).(64)
把 ν 当成一个“参数”,对它在 0 点做泰勒展开:
Jν(z)=J0(z)+ν∂ν∂Jν(z)ν=0+O(ν2),(65)
而 J−ν 用同样的办法:
J−ν(z)=J0(z)−ν∂ν∂Jν(z)ν=0+O(ν2),(66)
取极限 ν→0:
Y0(z)=ν→0limYν(z)=ν→0limνπ+O(ν3)2νJ0′+O(ν2)=π2J0′(z).(67)
也就是得到了一个很重要的关系:
Y0(z)=π2∂ν∂Jν(z)ν=0.(68)
到这里为止,我们还没看到 ln(z/2),它会出现在 ∂Jν/∂ν∣ν=0 里面。
用幂级数计算贝塞尔函数对阶数的导数
贝塞尔函数的幂级数:
Jν(z)=m=0∑∞m!Γ(m+ν+1)(−1)m(2z)2m+ν.(69)
把 (z/2)2m+ν 拆成两部分:
(2z)2m+ν=(2z)2m(2z)ν.(70)
于是
Jν(z)=(2z)νm=0∑∞m!Γ(m+ν+1)(−1)m(2z)2m.(71)
记
S(ν)=m=0∑∞m!Γ(m+ν+1)(−1)m(2z)2m.(72)
那么
Jν(z)=(2z)νS(ν).(73)
先对前面这坨 (z/2)ν 求导
∂ν∂(2z)νν=0=eνln2zν=0=ln2z.(74)
这意味着
∂ν∂[(2z)νS(ν)]ν=0=来自幂ln2z=J0(z)S(0)+下面算∂ν∂S(ν)ν=0.(75)
所以
J0′(z)=∂ν∂Jν(z)ν=0=J0(z)ln2z+S′(0).(76)
现在的重点是 S′(0)。
ν 只出现在 Γ(m+ν+1) 里,所以
S′(0)=m=0∑∞(−1)m(2z)2mm!1∂ν∂Γ(m+ν+1)1ν=0.(77)
对 1/Γ 求导,利用
dxdΓ(x)1=−Γ2(x)Γ′(x)=−Γ(x)ψ(x),(78)
这里 ψ(x)=Γ′(x)/Γ(x) 是 digamma 函数。令 x=m+ν+1:
∂ν∂Γ(m+ν+1)1ν=0=−Γ(m+1)ψ(m+1)=−m!ψ(m+1).(79)
于是
S′(0)=m=0∑∞(−1)m(2z)2mm!1(−m!ψ(m+1))=−m=0∑∞(−1)mψ(m+1)(m!)2(z/2)2m.(80)
有一个重要的恒等式:
ψ(m+1)=−γ+Hm,(81)
其中γ 是欧拉常数,Hm=1+21+⋯+m1(约定 H0=0)。
代入:
S′(0)=−m=0∑∞(−1)m(−γ+Hm)(m!)2(z/2)2m=m=0∑∞(−1)m(γ−Hm)(m!)2(z/2)2m.(82)
于是
J0′(z)=J0(z)ln2z+S′(0)=J0(z)ln2z+m=0∑∞(−1)m(γ−Hm)(m!)2(z/2)2m.(83)
把里面的 γ 部分拆出来:
m=0∑∞(−1)mγ(m!)2(z/2)2m=γm=0∑∞(−1)m(m!)2(z/2)2m=γJ0(z),(84)
所以
J0′(z)=J0(z)ln2z+γJ0(z)−m=0∑∞(−1)mHm(m!)2(z/2)2m=J0(z)(ln2z+γ)−m=0∑∞(−1)mHm(m!)2(z/2)2m.(85)
记住 H0=0,所以最后一项从 m=1 起:
J0′(z)=J0(z)(ln2z+γ)−m=1∑∞(−1)mHm(m!)2(z/2)2m.(86)
因此
Y0(z)=π2[J0(z)(ln2z+γ)−m=1∑∞(−1)mHm(m!)2(z/2)2m]=π2(ln2z+γ)J0(z)+π2m=1∑∞(−1)m+1Hm(m!)2(z/2)2m.(87)
合并零阶第一类汉克尔函数
在格林函数推导里,我们只用到 z→0 的主导行为:
- J0(z)=1+O(z2),
- 级数部分是 O(z2) 开始的(因为从 m=1 起)。
所以
Y0(z)=π2(ln2z+γ)[1+O(z2)]+O(z2)=π2(ln2z+γ)+O(z2).(88)
再和 J0(z)≈1 合起来:
H0(1)(z)=J0(z)+iY0(z)≈1+π2i(ln2z+γ)+O(z2),(89)
关于双伽马函数与重要恒等式
我们用了这个恒等式:
ψ(m+1)=−γ+Hm,
其中
- ψ(x)=dxdlnΓ(x)=Γ′(x)/Γ(x) 是 双伽马函数(digamma function),
- γ 是欧拉常数,
- Hm=1+21+⋯+m1 是 调和级数。
可以使用 递推公式:
Γ(x+1)=xΓ(x).
两边取对数:
lnΓ(x+1)=lnx+lnΓ(x).
对 x 微分:
ψ(x+1)=x1+ψ(x).
递推展开:
ψ(2)=ψ(1)+1,
于是一般来说:
ψ(m+1)=ψ(1)+(1+21+⋯+m1)=ψ(1)+Hm.
现在只剩下 ψ(1)。
注意到欧拉常数的定义,它将调和级数和对数函数联系在了一起
γ=n→∞lim(1+21+⋯+n1−lnn).
定义 ψ(1)=−γ,则双伽马函数就能和对数函数联系在一起(ψ(m→∞)=lnm)