跳转到主要内容

MAD-X序列解析器/转换器

项目描述

Build Status Coverage Latest Version Downloads License

描述

从源文件解析MAD-X序列并对元素执行简单转换的脚本。

依赖项

  • docopt 用于解析命令行选项

  • pydicti 用于存储和访问元素属性

  • pyyaml 用于解析切片定义和使用YAML输出格式

安装

设置应按以下方式进行

python setup.py install

用法

命令应如下调用

Usage:
    madseq.py [-j|-y] [-s <slice>] [<input>] [<output>]
    madseq.py (--help | --version)

Options:
    -j, --json                      Use JSON as output format
    -y, --yaml                      Use YAML as output format
    -s <slice>, --slice=<slice>     Set slicing definition file
    -h, --help                      Show this help
    -v, --version                   Show version information

如果未指定 <input>,则将使用标准输入流来读取输入文件。相应地,如果未指定 <output>,则将使用标准输出流。

切片定义定义了一个切片指令列表,其中每个条目都是一个包含以下互斥键的字典

str type: match only elements with the specified type
str name: match only elements with the specified name

bool use_at: use manually entered AT values, default is True

float density: slice element with the specified number of slices per meter
int slice: slice element using a fixed count, default=1

bool makethin: whether to convert the slices to MULTIPOLE

bool template: whether to put a template for the element in front

str style: slicing style, either 'uniform' or 'loop', defaults to 'uniform'

示例文件

- type: drift
  density: 10
- name: B1DK1
  slice: 10
  makethin: true
  style: uniform

注意,即使元素被多个规则匹配,也只会使用第一个。

注意

  • 不要在输入序列中使用多行命令。目前这些无法正确解析!

  • 不要在输入序列中添加任何 at= 位置参数。madseq脚本负责这项工作。

变更日志

0.4.4

  • 修复对文件扩展名的检查

0.4.3

  • 修复一些切片多极系数

  • 处理 makethin 中的 QUADRUPOLE.K1S

  • 修复使用模板切片时的命名问题

  • 修复 Python 3 问题

0.4.2

  • 允许将.json文件作为-s参数传递(扩展名用于区分.json和.yaml文件)

0.4.1

  • 为切片使用不同的名称

  • 修复模板前的注释中的序列名称

0.4.0

  • 添加“use_at”切片选项,允许使用AT值

0.3.2

  • 内部:移除Element属性的属性访问

  • 修复Element.copy和.__contains__在基元素方面的错误

  • 修复JSON/YAML序列化错误

  • 修复预定义元素的错误实现

  • 修复LOOP风格的错误

  • 修复makethin的错误

  • 修复use_optics的错误

  • 将‘use_optics’重命名为‘template’。从技术上讲,这是公共接口的变化,但我们仍然处于0.X版本,而且这个功能之前根本不起作用。

0.3.1

  • 使用语义版本控制

  • 修复元素深度属性查找

0.3

  • 重新设计命令行

  • 修复MAD-X数组(如KNL={…})的错误解析

  • 移除切片的行内属性

  • 通过切片配置文件扩展切片

  • 修复模板(预定义)元素的可用性

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

madseq-0.4.4.tar.gz (18.4 kB 查看散列)

上传时间

由以下支持