19 个版本 (8 个稳定版)
使用旧的 Rust 2015
1.0.7 | 2024 年 7 月 16 日 |
---|---|
1.0.2 | 2021 年 1 月 24 日 |
1.0.1 | 2020 年 12 月 9 日 |
0.2.4 | 2020 年 12 月 9 日 |
0.2.0 | 2016 年 11 月 18 日 |
#55 in 国际化 (i18n)
606 次每月下载
1MB
1K SLoC
beamdpr
合并和转换 egsphsp (EGS 相空间) 文件。
工作原理
$ beamdpr translate -i first.egsphsp1 -x 2.3
现在 first.egsphsp1
已经在正 x 方向上平移了 2.3 厘米。
安装
Homebrew
brew tap henrybaxter/tap
brew install beamdpr
其他内容
-
为您系统安装 rust
-
使用
cargo
安装beamdpr
cargoinstall beamdpr
-
全部完成。
beamdpr
应该可以工作。如果不行,请提交一个 issue!
用法
首先在终端/命令行中输入 beamdpr
。如果不起作用,请回到安装步骤。还是不行? 请提交一个 issue!
合并
假设这些是你的文件
$ ls
first.egsphsp1 second.egsphsp1
制作一个合并版本
$ beamdpr combine *.egsphsp1 -o combined.egsphsp1
这就是它
$ ls
combined.egsphsp1 first.egsphsp1 second.egsphsp1
注意:只要它们的模式匹配,这就可以与任意数量的文件一起工作。这意味着它们要么全部有 ZLAST,要么没有任何一个有。
示例-合并
$ ls
first.egsphsp1 second.egsphsp1
从每个文件中取 1/10 的粒子样本
$ beamdpr sample-combine *.egsphsp1 -o combined.egsphsp1 --rate 10
$ du -sh *
256K first.egsphsp1
256K second.egsphsp1
52K combined.egsphsp1
注意我们已经将总空间分成了 10 份。
转换
假设这是你的文件
$ ls
first.egsphsp1
现在将它沿 x 轴平移 23 厘米,沿 y 轴平移 -5.7 厘米
$ beamdpr translate first.egsphsp1 translated.egsphsp1 -x 23 -y -5.7
这就是它
$ ls
first.egsphsp1 translated.egsphsp1
注意:如果你只想在一个方向上转换,可以省略一个参数。
旋转
假设这是你的文件
$ ls first.egsphsp1
first.egsphsp1
现在逆时针旋转 0.9 弧度
$ beamdpr rotate first.egsphsp1 rotated.egsphsp1 --angle .9
完成了!
$ ls
first.egsphsp1 rotated.egsphsp1
注意:如果你旋转 2π (6.28318530718),文件应该没有变化,对吧?但实际上,由于浮点数的细微差异,将会有微小的二进制差异,但数值差异将可以忽略不计。
反射
假设这是你的文件
$ ls first.egsphsp1
first.egsphsp1
现在围绕向量 (1, 0) 进行反射
$ beamdpr rotate first.egsphsp1 reflected.egsphsp1 -x 1
$ ls
first.egsphsp1 reflected.egsphsp1
注意:这实际上改变了所有 y 值和 y 方向的符号。
就地
这些转换操作中的任何一个都可以 就地 执行 - 也就是说,通过修改输入文件而不是创建一个新的文件来执行
$ ls first.egsphsp1
first.egsphsp1
就地反射向量 (-1, 0)
$ beamdpr rotate first.egsphsp1 -i -x -1
注意:标志 -i
与 --in-place
相同。
读取后删除
在进行合并操作时,您可能会担心磁盘空间(10x10gb的相位空间文件可能会再增加100gb的合并相位空间文件)。让我们边做边删除
$ ls
first.egsphsp1 second.egsphsp1
因此,制作一个合并版本
$ beamdpr combine *.egsphsp1 -o combined.egsphsp1 -d
$ ls
combined.egsphsp1
帮助
卡住了? 请提交一个问题