Crates.io | polsim |
lib.rs | polsim |
version | 0.1.2 |
source | src |
created_at | 2019-08-21 18:20:14.184312 |
updated_at | 2019-08-21 18:34:39.234015 |
description | CLI application for polarization simulations |
homepage | https://github.com/zmitchell/polsim |
repository | https://github.com/zmitchell/polsim |
max_upload_size | |
id | 158696 |
size | 2,190,687 |
For installation and usage instructions, see the User Guide.
Would you rather look up (or calculate) the Jones matrix for an optical retarder oriented at an arbitrary angle with an arbitrary phase delay, or would you rather just type this:
[[elements]]
element_type = "retarder"
phase = 1.57 # pi/2
phase_units = "radians"
angle = 45.0
angle_units = "degrees"
Here's how it works:
For example, to specify a linearly polarized beam oriented at 0 degrees (i.e. horizontally) that passes through a polarizer oriented at 45 degrees, your file would look like this:
# simulation.toml
[beam]
polarization = "linear"
angle = 0.0
angle_units = "degrees"
[[elements]]
element_type = "polarizer"
angle = 45.0
angle_units = "degrees"
You would use polsim
to read the file and do the simulation like this:
$ polsim simulation.toml
intensity: 5.00000e-1
x_mag: 5.00000e-1
x_phase: 0.00000e0
y_mag: 5.00000e-1
y_phase: 0.00000e0
If you want to impress your friends and family, you can print the results in a table via the -p/--pretty
flag:
$ polsim -p simulation.toml
+------------+------------+-----------+------------+-----------+
| intensity | x_mag | x_phase | y_mag | y_phase |
+------------+------------+-----------+------------+-----------+
| 5.00000e-1 | 5.00000e-1 | 0.00000e0 | 5.00000e-1 | 0.00000e0 |
+------------+------------+-----------+------------+-----------+
For more information, see the User Guide.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.