CRL模拟器
项目描述
### bnlcrl
复合折射透镜(CRL)模拟器。
更多信息请访问 https://github.com/mrakitin/bnlcrl。
文档:http://bnlcrl.readthedocs.org/en/latest/
| Travis CI | ReadTheDocs | Codecov |
|:--:|:--:|:--:|
| [](https://travis-ci.org/mrakitin/bnlcrl) | [](http://bnlcrl.readthedocs.io/en/latest/?badge=latest) | [](https://codecov.io/gh/mrakitin/bnlcrl) |
----
代码用Python编写,已在Linux和Windows的Python 2.7/3.5下进行测试,无需NumPy依赖,但仍可用于矩阵等操作(见下面的“用法”部分)。
确定Delta/衰减长度
-
要创建包含折射率递减或衰减长度的`.dat`文件,分别使用以下命令
```bash
bnlcrl simulate find-delta --characteristic delta -f Al -o Al_delta.dat 30
```
```bash
bnlcrl simulate find-delta --characteristic atten -f Al -o Al_atten.dat 30
```
用法
-
```
$ bnlcrl simulate find-delta -h
用法:bnlcrl simulate find-delta [-h] [--calc-delta]
[--characteristic {transmission,atten,delta}]
[-d DATA_FILE] [--e-max E_MAX]
[--e-min E_MIN] [--e-step E_STEP]
[-f FORMULA] [-n N_POINTS] [-o OUTFILE]
[--plot] [--precise] [--save]
[--save-output] [--show-plot] [-t THICKNESS]
[-u] [-v]
能量
确定折射率(delta)。
折射率可以通过三种不同的方法/方法定义
1) 从保存的 *.dat 文件中获取最接近的能量 delta(见 ``bnlcrl/package_data/dat/``)。
2) 从 http://henke.lbl.gov/optical_constants/getdb2.html 获取 delta。
3) 分析计算 delta(需要安装 ``periodictable`` 包)。
参数
calc_delta (bool): 是否分析计算 delta 的标志。
characteristic (str): 要提取的特性(``atten`` - 损耗长度,``delta`` - 折射率,``transmission`` - 过滤器透射率)。
data_file (str): 位于 ``bnlcrl/package_data/dat/`` 目录下的 *.dat 数据文件,包含 CRL 材料的 delta 值(例如,Be)。
e_max (float): 可用能量的最高值 [eV]。
e_min (float): 可用能量的最低值 [eV]。
e_step (float): 用于将数据保存到文件的能量步长 [eV]。
energy (float): 光子能量 [eV]。
formula (str): 关注材料的化学式。
n_points (int): 从服务器获取的点数。
outfile (str): 可选输出文件。
plot (bool): 是否绘制获得的数据的标志。
precise (bool): 是否在指定的能量加减 1 eV 的能量区间内查找 delta 的标志。
save (bool): 是否保存获得的数据的标志。
save_output (bool): 是否以 JSON 格式保存输出字典的标志。
show_plot (bool): 是否显示图表的标志。
thickness (float): 材料的厚度。
use_numpy (bool): 是否使用 NumPy 的标志。
verbose (bool): 是否将输出打印到控制台的标志。
返回值
dict: 包含结果的字典。
位置参数
energy -
可选参数
-h, --help 显示此帮助信息并退出
--calc-delta False
--characteristic {transmission,atten,delta}
'delta'
-d DATA_FILE, --data-file DATA_FILE
''
--e-max E_MAX 30000.0
--e-min E_MIN 30.0
--e-step E_STEP 10.0
-f FORMULA, --formula FORMULA
'Be'
-n N_POINTS, --n-points N_POINTS
500
-o OUTFILE, --outfile OUTFILE
''
--plot False
--precise False
--save False
--save-output False
--show-plot False
-t THICKNESS, --thickness THICKNESS
0.1
-u, --use-numpy False
-v, --verbose False
```
执行示例
-
```bash
$ bnlcrl simulate simulate-crl -p 6.52 -v --output-format json 2 4 6 7 8 21500
{
"d": 0.0012016728926447229,
"d_ideal": -0.06613035908221399,
"f": 1.0480597834969956,
"p0": 6.52,
"p1": 1.2487983271073553,
"p1_ideal": 1.3161303590822135
}
```
```bash
$ bnlcrl simulate simulate-crl -p 6.52 -v --output-format csv 2 4 6 7 8 21500
"d","d_ideal","f","p0","p1","p1_ideal"
0.00120167289264,-0.0661303590822,1.0480597835,6.52,1.24879832711,1.31613035908
```
```bash
$ bnlcrl simulate simulate-crl -p 6.52 -v --output-format txt 2 4 6 7 8 21500
d: 0.00120167289264, d_ideal: -0.0661303590822, f: 1.0480597835, p0: 6.52, p1: 1.24879832711, p1_ideal: 1.31613035908
```
```
$ bnlcrl simulate simulate-crl -p 6.52 21500 -v
"d","d_ideal","f","p0","p1","p1_ideal"
0,0,0,6.52,0,0
```
此库用于 NSLS-II 的 SMI 光束线


#### 许可证
许可证:https://apache.ac.cn/licenses/LICENSE2.0.html
版权所有 (c) 2016 mrakitin (BNL)。保留所有权利。
复合折射透镜(CRL)模拟器。
更多信息请访问 https://github.com/mrakitin/bnlcrl。
文档:http://bnlcrl.readthedocs.org/en/latest/
| Travis CI | ReadTheDocs | Codecov |
|:--:|:--:|:--:|
| [](https://travis-ci.org/mrakitin/bnlcrl) | [](http://bnlcrl.readthedocs.io/en/latest/?badge=latest) | [](https://codecov.io/gh/mrakitin/bnlcrl) |
----
代码用Python编写,已在Linux和Windows的Python 2.7/3.5下进行测试,无需NumPy依赖,但仍可用于矩阵等操作(见下面的“用法”部分)。
确定Delta/衰减长度
-
要创建包含折射率递减或衰减长度的`.dat`文件,分别使用以下命令
```bash
bnlcrl simulate find-delta --characteristic delta -f Al -o Al_delta.dat 30
```
```bash
bnlcrl simulate find-delta --characteristic atten -f Al -o Al_atten.dat 30
```
用法
-
```
$ bnlcrl simulate find-delta -h
用法:bnlcrl simulate find-delta [-h] [--calc-delta]
[--characteristic {transmission,atten,delta}]
[-d DATA_FILE] [--e-max E_MAX]
[--e-min E_MIN] [--e-step E_STEP]
[-f FORMULA] [-n N_POINTS] [-o OUTFILE]
[--plot] [--precise] [--save]
[--save-output] [--show-plot] [-t THICKNESS]
[-u] [-v]
能量
确定折射率(delta)。
折射率可以通过三种不同的方法/方法定义
1) 从保存的 *.dat 文件中获取最接近的能量 delta(见 ``bnlcrl/package_data/dat/``)。
2) 从 http://henke.lbl.gov/optical_constants/getdb2.html 获取 delta。
3) 分析计算 delta(需要安装 ``periodictable`` 包)。
参数
calc_delta (bool): 是否分析计算 delta 的标志。
characteristic (str): 要提取的特性(``atten`` - 损耗长度,``delta`` - 折射率,``transmission`` - 过滤器透射率)。
data_file (str): 位于 ``bnlcrl/package_data/dat/`` 目录下的 *.dat 数据文件,包含 CRL 材料的 delta 值(例如,Be)。
e_max (float): 可用能量的最高值 [eV]。
e_min (float): 可用能量的最低值 [eV]。
e_step (float): 用于将数据保存到文件的能量步长 [eV]。
energy (float): 光子能量 [eV]。
formula (str): 关注材料的化学式。
n_points (int): 从服务器获取的点数。
outfile (str): 可选输出文件。
plot (bool): 是否绘制获得的数据的标志。
precise (bool): 是否在指定的能量加减 1 eV 的能量区间内查找 delta 的标志。
save (bool): 是否保存获得的数据的标志。
save_output (bool): 是否以 JSON 格式保存输出字典的标志。
show_plot (bool): 是否显示图表的标志。
thickness (float): 材料的厚度。
use_numpy (bool): 是否使用 NumPy 的标志。
verbose (bool): 是否将输出打印到控制台的标志。
返回值
dict: 包含结果的字典。
位置参数
energy -
可选参数
-h, --help 显示此帮助信息并退出
--calc-delta False
--characteristic {transmission,atten,delta}
'delta'
-d DATA_FILE, --data-file DATA_FILE
''
--e-max E_MAX 30000.0
--e-min E_MIN 30.0
--e-step E_STEP 10.0
-f FORMULA, --formula FORMULA
'Be'
-n N_POINTS, --n-points N_POINTS
500
-o OUTFILE, --outfile OUTFILE
''
--plot False
--precise False
--save False
--save-output False
--show-plot False
-t THICKNESS, --thickness THICKNESS
0.1
-u, --use-numpy False
-v, --verbose False
```
执行示例
-
```bash
$ bnlcrl simulate simulate-crl -p 6.52 -v --output-format json 2 4 6 7 8 21500
{
"d": 0.0012016728926447229,
"d_ideal": -0.06613035908221399,
"f": 1.0480597834969956,
"p0": 6.52,
"p1": 1.2487983271073553,
"p1_ideal": 1.3161303590822135
}
```
```bash
$ bnlcrl simulate simulate-crl -p 6.52 -v --output-format csv 2 4 6 7 8 21500
"d","d_ideal","f","p0","p1","p1_ideal"
0.00120167289264,-0.0661303590822,1.0480597835,6.52,1.24879832711,1.31613035908
```
```bash
$ bnlcrl simulate simulate-crl -p 6.52 -v --output-format txt 2 4 6 7 8 21500
d: 0.00120167289264, d_ideal: -0.0661303590822, f: 1.0480597835, p0: 6.52, p1: 1.24879832711, p1_ideal: 1.31613035908
```
```
$ bnlcrl simulate simulate-crl -p 6.52 21500 -v
"d","d_ideal","f","p0","p1","p1_ideal"
0,0,0,6.52,0,0
```
此库用于 NSLS-II 的 SMI 光束线


#### 许可证
许可证:https://apache.ac.cn/licenses/LICENSE2.0.html
版权所有 (c) 2016 mrakitin (BNL)。保留所有权利。
项目详情
关闭
bnlcrl-20180115.183948.zip 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 29b34f287f33100d94b73e09a4cb5e844c418afa2b7820233464ee84a6741f01 |
|
MD5 | e0e84ac0c6cdb33e229c732dfa89eb65 |
|
BLAKE2b-256 | 0fa875d1a1d8d03d04eee80b358b5ac7047b2bcdaa05029b875a748ea07c1d18 |