#egsphsp1 #egsphsp #beamdp #egsnrc #beamnrc

bin+lib beamdpr

将 egsphsp (EGS 相空间) 文件合并和转换,以便与 BEAMnrc 一起使用

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)

Download history 18/week @ 2024-07-03 252/week @ 2024-07-10 215/week @ 2024-07-17 19/week @ 2024-07-24 120/week @ 2024-07-31

606 次每月下载

MIT 许可证

1MB
1K SLoC

Rust 1K SLoC // 0.0% comments Python 129 SLoC

beamdpr

合并和转换 egsphsp (EGS 相空间) 文件。

Maintenance Crates.io

Basic usage screenshot

工作原理


    $ beamdpr translate -i first.egsphsp1 -x 2.3

现在 first.egsphsp1 已经在正 x 方向上平移了 2.3 厘米。

安装

Homebrew


    brew tap henrybaxter/tap
    brew install beamdpr

其他内容

  1. 为您系统安装 rust

    https://www.rust-lang.net.cn/en-US/downloads.html

  2. 使用 cargo 安装 beamdpr

    cargoinstall beamdpr

  3. 全部完成。 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

帮助

卡住了? 请提交一个问题

依赖项