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.0
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.0.tar.gz | 3.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xreticolo-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.1 MB
Release files / xreticolo-0.1.0.tar.gz
| Download URL | xreticolo-0.1.0.tar.gz |
|---|---|
| Size | 3.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a5670c69e83043e691c7dc3ec72e3ec191075e9f78710b806efe87c070c440d6
|
|
BLAKE2b-256 checksum How to use checksums |
de80d692a32c173cecdb35837d4ed354cf07e26d916d06e010af4e3370a54a09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / xreticolo-0.1.0-py3-none-any.whl
| Download URL | xreticolo-0.1.0-py3-none-any.whl |
|---|---|
| Size | 3.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4fd31e967b93a9e7c9b01304246e3f874c2f8c263866f56d2a12f540d1db1d38
|
|
BLAKE2b-256 checksum How to use checksums |
cdb3d39106c3f76cbfc013b60e23b7eefd0cc5eef49d9fef85e005972f5510ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|