pip install einsteinpy
EinsteinPy 是一个开源的纯 Python 包,致力于解决出现的问题 在广义相对论和引力物理学中,例如测地线绘制 Schwarzschild,Kerr和Kerr Newman时空模型,Schwarzschild的计算 半径,克尔时空事件视界和测力层的计算。符号 各种张量的操作,如公制、黎曼、里奇和克里斯托弗符号 也可以使用库。EinsteinPy 还具有超表面嵌入 史瓦西时空,这将很快导致引力透镜的建模! 它是在 MIT 许可下发布的。
查看 EinsteinPy 的源代码!
EinsteinPy 的主要功能是:
-
爱因斯坦场方程真空解中的几何分析和轨迹计算
史瓦西时空
克尔时空
克尔-纽曼时空
-
与上述几何模型相关的各种实用程序
史瓦西半径
克尔黑洞的事件视界和人体工程层
Kerr-Newman时空中的麦克斯韦张量和电磁势
还有更多!
-
各种量的符号计算
克里斯托弗尔符号
黎曼曲率张量
Ricci 张量
指数上下!
符号表达式的简化
-
测地线绘图
使用 Matplotlib 进行静态绘图
交互式 2D 绘图
环保绘图!
-
使用单元处理进行坐标转换
球面/笛卡尔坐标
Boyer-Lindquist/笛卡尔坐标
-
史瓦西时空的超表面嵌入
-
史瓦西黑洞周围薄薄的发射盘投射的阴影
-
编写一个黑洞阴影的例子 test_shadowplot.py 如下
-
# -*- coding: utf-8 -*- import astropy.units as u from einsteinpy.rays import Shadow mass = 1.98 * u.kg # 质量 fov = 100 * u.km # 视野范围 field of view shadow = Shadow(mass=mass, fov=fov, n_rays=1000) import matplotlib.pyplot as plt from einsteinpy.plotting import ShadowPlotter obj = ShadowPlotter(shadow=shadow, is_line_plot=False) obj.plot() obj.show() plt.show()