6 个版本

使用旧的 Rust 2015

0.2.0 2019 年 8 月 21 日
0.1.5 2019 年 8 月 21 日
0.1.4 2018 年 10 月 3 日
0.1.3 2018 年 9 月 16 日

#406科学

32 每月下载量
用于 polsim

MIT/Apache

87KB
1.5K SLoC

极化

Documentation Crates.io Licenses

你有没有想过,如果将线性极化光束通过一个相对于快轴为 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 许可证定义提交的任何有意包含在作品中的贡献,都将按照上述方式双许可,而无需附加条款或条件。

依赖关系

~3.5MB
~70K SLoC