6 个版本
使用旧的 Rust 2015
0.2.0 | 2019 年 8 月 21 日 |
---|---|
0.1.5 |
|
0.1.4 | 2018 年 10 月 3 日 |
0.1.3 | 2018 年 9 月 16 日 |
#406 在 科学
32 每月下载量
用于 polsim
87KB
1.5K SLoC
极化
你有没有想过,如果将线性极化光束通过一个相对于快轴为 46 度的 1/4 波片,而不是 45 度,会发生什么?谁会骗自己呢,当然是你了!这个库允许你将光束通过几个光学元件,看看从另一边出来的是什么。
模拟光束极化的典型方法是 琼斯算子 和 穆勒算子,但此时只实现了琼斯算子。
目前实现了几个标准的光学元件,并将在不久的将来支持从表面(介电和金属)的反射。
- 线性偏振器
- 偏振旋转器
- 1/4 波片
- 半波片
- 延迟器
支持线性极化、圆极化和任意(椭圆)极化的光束。
更多详情,请查看 文档。
示例
let beam = Beam::linear(Angle::Degrees(0.0));
let pol = OpticalElement::Polarizer(Polarizer::new(Angle::Degrees(45.0)));
let system = OpticalSystem::new()
.with_beam(beam)
.with_element(pol);
let final_beam: Result<Beam> = system.propagate();
let final_intensity: Result<f64> = final_beam.intensity();
许可证
根据您的选择,许可方式为以下之一
- Apache 许可证 2.0 版本,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确表示,否则您根据 Apache-2.0 许可证定义提交的任何有意包含在作品中的贡献,都将按照上述方式双许可,而无需附加条款或条件。
依赖关系
~3.5MB
~70K SLoC