xReticolo
Python bindings for Blazr.m, a grating-monochromator diffraction-efficiency
tool built on top of RETICOLO (RCWA
solver by J.P. Hugonin and P. Lalanne). Calculations run in
GNU Octave — no MATLAB license required.
Requirements
- Python >= 3.9
- Octave on
PATH(tested with 10.3.0):brew install octave(macOS) /apt install octave(Debian/Ubuntu)
Install
pip install xreticolo
Quickstart
import xreticolo as xr
# blazed grating, +1 order efficiency at 806 eV
alpha_rad, beta_rad, theta_rad = xr.vls_trajectory(
E_eV=806, E0_eV=806, g_lpm=287.44e3, p_m=24.301, q_m=7.573, cff=1.577
)
eta = xr.efficiency_blazedx(
g_lpm=287.44e3, blazed_angle_deg=0.40, E_eV=806,
grazing_angle_rad=1.5707963267948966 - alpha_rad, material="Au", order=1,
)
print(eta)
xr.call(method, *args, nargout=1) invokes any Blazr.<method> static
method directly, so it keeps working as Blazr.m gains new methods:
eta = xr.call("efficiency_lamellar", pitch_m, thickness_m, wavelength_m,
grazing_angle_rad, "Au")
See examples/ for full worked notebooks (blazed and lamellar
gratings, efficiency vs. photon energy).
What's bundled
Blazr.m— the grating efficiency/trajectory wrapper.- The RETICOLO V7 RCWA engine (
reticolo_allege), by J.P. Hugonin and P. Lalanne, CC-BY-4.0 — see arXiv:2101.00901 and zenodo.org/records/14631951. If you use this package for published work, please cite that paper. - A handful of tabulated optical constants (Au, Ni, Rh, SiC, C) used by
Blazr.m's efficiency functions.
Development
pip install -e ".[examples,test]"
pytest
License
BSD-3-Clause (see LICENSE) for the Python bindings and Blazr.m. The
bundled RETICOLO engine is distributed under its original CC-BY-4.0 license
from the authors.
Metadata
Release files for xreticolo 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xreticolo-0.1.1.tar.gz | 3.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xreticolo-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.1 MB
Release files / xreticolo-0.1.1.tar.gz
| Download URL | xreticolo-0.1.1.tar.gz |
|---|---|
| Size | 3.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
df2bc4ff81d39e71b1efffd190c8aca2e9fc273f699d63bce39f712ce0b20c1b
|
|
BLAKE2b-256 checksum How to use checksums |
dd896a73c3ba9742b7c20ff8f29cd21c52dfbe59cff287d5c3da22561c56316c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Release files / xreticolo-0.1.1-py3-none-any.whl
| Download URL | xreticolo-0.1.1-py3-none-any.whl |
|---|---|
| Size | 3.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4dc4b58fffa638b7bff8a5ea90108fa5173b5774737fd8cc5e410bbbb7ddc719
|
|
BLAKE2b-256 checksum How to use checksums |
a78bcfc20260e6f94982d5785bb818d97790a5daf675a8b536def853da214db5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|