球谐函数及其作图


正交化复球谐函数(Orthonormalized Complexed Spherical Harmonics)的定义为:$$ Y^m_l(\theta,\phi) = \sqrt{\frac{2l+1}{4\pi} \dfrac{(l-m)!}{(l+m)!}}
e^{i m \theta} P^m_l(\cos(\phi)) $$,其中 $\theta$ 为 colatitude,$\phi$ 为 longitude,$$P_l^m = (-1)^m (1 – x^2)^{m/2} \dfrac{d^m}{dx^m} P_l(x)$$。下面的代码输出球谐函数 $Y_2^0$,$Y_3^3$,$Y_4^2$ 实部分的图像,代码中主要用到 scipy.special 程序包中的 sph_harm

输出的图像如下

红色表示球谐函数的值为正值,而蓝色表示球谐函数的值为负值;矢径越大球谐函数值的绝对值越大,反之矢径越小球谐函数值的绝对值越小。

输出的图像如下

两组图像本质上是一样的,唯一的区别在于球谐函数值在第二组图像上仅体现在颜色的变化上,而球谐函数值在第一组图像上不仅体现在颜色的变化上,也体现在矢径的变化上。最后,我们也可以使用 SHTOOLS – Tools for working with spherical harmonics 来作图,代码如下

运行上面的代码并修改 coeffs.set_coeffs(values=[1], ls=[2], ms=[0])coeffs.set_coeffs(values=[1], ls=[3], ms=[3])coeffs.set_coeffs(values=[1], ls=[4], ms=[2]),我们得到以下图像

grid.plot3d 中的作图方法与上面的第一类作图方法类似,所不同的是 grid.plot3d 中 r = (1+grid.data/np.abs(grid.data).max()/2)*xyz_2d,其中 grid.data 为网格化的数据。


参考

发表评论

电子邮件地址不会被公开。 必填项已用*标注