通过调整晶格参数和观察对晶格函数的影响,交互式地探索MADX晶格。

lattice-explorer的Python项目详细描述


这是一个通过调整相应的晶格参数来交互式可视化MADX晶格的应用程序 观察对晶格函数如β函数或由此产生的轨道的影响。在

安装

可以从Python包索引(PyPI)安装应用程序:

pip install lattice-explorer

使用

可以通过从命令行调用已安装的包来启动应用程序:

^{pr2}$

它需要一个参数,它是指向包含晶格定义的MADX文件的文件路径。在

然后,应用程序生成两个窗口,其中一个包含晶格图和常规控制元素 另一个包含晶格参数的特定控制元素(例如,kicker和四极强度)。 在“控制”窗口中更改晶格参数,会自动更新另一个窗口中的绘图。在

绘图窗口包含用于切换BETA0命令使用或激活光圈或信封的选项 “打印动态观察”画布中的元素。在

“冻结”选项将复制Twiss或“动态观察”画布中的当前绘图,并将其作为 虚线。现在更改晶格参数时,只有连续线更改,虚线更改 保留以指示先前的晶格函数,这有助于比较两个设置。在

定制

可以通过提供各种参数来定制应用程序,可以通过

python -m lattice_explorer --help

这些参数可以作为可选参数提供,如下所示:

python -m lattice_explorer <path-to-madx-file> --canvas-figsize-inches 9.6 4.8

示例截图

绘图窗口:

https://gitlab.com/Dominik1123/lattice-explorer/-/raw/master/screenshot_plot_window.png?inline=false

“控件”窗口:

https://gitlab.com/Dominik1123/lattice-explorer/-/raw/master/screenshot_controls_window.png?inline=false

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在安卓 studio中使用调用jaxws web服务的jar文件   java双时间模拟时钟不打印两个不同的时间   java Jackson反序列化处理不带字段的生成值   多线程在java同步中读锁的目的是什么   为什么java中有这么多获取日期时间的方法?   java从listview中的TextView获取数据   java是否可以定义如何对枚举进行(反)序列化以在枚举内持久化?   Java:异常处理我的catch()有问题   VMWare java SDK:可用的PerfMetricID何时不报告数据?   exec在Java中执行命令而不重定向输出   java使用SpringXML配置实现观察者模式?   java在竹笔平板电脑中使用JPen