mad-x序列的分析器/变换器
madseq的Python项目详细描述
说明
从源文件解析MAD-X序列并执行简单 元素的转换。
安装
将按如下方式执行设置
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>。
切片定义定义一个切片指令列表,其中 entry是具有以下互斥键组的字典:
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:driftdensity:10-name:B1DK1slice:10makethin:truestyle:uniform
注意,即使一个元素由多个规则匹配,也只有第一个 将使用一个。
小心
- 不要在输入序列中使用多行命令。目前 这些解析不正确!
- 不要在输入序列中添加任何at=位置参数。这个 Madseq脚本负责这项工作。
更改日志
0.4.4
- 修复文件扩展名检查
0.4.3
- 固定一些切片多极子系数
- 在makethin中处理四极杆.k1
- 修复使用模板切片时的命名问题
- 修复python3问题
0.4.2
- 允许将.json文件作为-s参数传递(扩展名用于 区分.json和.yaml)
0.4.1
- 对切片使用不同的名称
- 修正模板前注释中的序列名
0.4.0
- 添加“Use_at”切片选项,该选项允许在值处使用
0.3.2
- 内部:删除元素属性的属性访问
- 修复有错误的元素。copy and.\u包含与基元素相关的元素
- 修复json/yaml序列化错误
- 修复预定义元素的错误实现
- 修复有漏洞的循环样式
- 修复有漏洞的makethin
- 修复有漏洞的使用光学元件
- 重命名“使用光学元件”=>;“模板”。从技术上讲,这是 公共接口,但是我们仍然在0.x中,而且这个特性是 反正以前不工作。
0.3.1
- 使用语义版本控制<;http://semver.org/>;
- 修复元素的深层属性查找
0.3
- 重新设计的命令行
- 修复mad-x数组的错误解析,如knl={…}
- 删除切片的内联属性
- 通过切片配置文件扩展切片
- 修复模板(预定义)元素的可用性