基于PyQt5开发的简易图形界面,用于计算任意速度场下的二维全局走时场。计算模块基于我自己开发的C/Python库PyFMM。
该GUI本质算是个教学小工具,图像可帮助初学者更好的理解射线追踪,也可更方便、直观地看到不同速度场下射线的扭曲形态。
1、安装PyFMM.
2、安装PyQt5
conda install pyqt -c conda-forge
3、安装本GUI程序,有多种下载方式:
-
从PYPI下载(推荐)
最新更新,已将PyFMM-GUI程序源码同步到PYPI,可直接运行:pip install -v pyfmm-gui
进行安装。各操作平台的wheels后续会逐步支持。
-
从Github下载安装,安装有两个选择:
-
不提前下载程序包
要求你当前环境中有git工具。这样可直接运行
# vx.x.x指代Release中的版本号,建议下载最新稳定版本 pip install -v git+https://github.com/Dengda98/[email protected] # 若网速不好可改为gitee镜像 # pip install -v git+https://gitee.com/Dengda98/[email protected]
-
提前下载好程序包
注意代码主页更新频繁,建议在Release中下载最新稳定版本,不推荐clone,不推荐直接下载主分支。在下载解压后,在程序根目录下运行
pip install -v .
-
这样可安装到你的虚拟环境中。
直接运行
pyfmm_gui # 或者 pyfmm-gui
或者
python -m pyfmm_gui.main
功能按钮很简单,基本“所见即所得”。其中Update Velocity
下的文本框是个Python脚本窗口,可以自定义FMM网格范围(xmax, ymax
,最小值均为0)、划分数(nx, ny
)(组成xarr, yarr
),以及2D速度数组vel2d
。设置好后,点击Update Velocity
即可计算。
如果遇到bug,欢迎联系我([email protected]),我会完善! 也欢迎提出建议和更多示例!