REMSOL Documentation#
Overview#
REMSOL is a software package for the calculation of optical modes propagating in 1D multilayered structure. It is based on the transfer matrix method. Scattering matrix method is also partially supported.
The software is written in Rust for speed and provides a Python interface for ease of use.
Installation#
PyPi#
The package is availavlbe on PyPi, so you can install it using pip:
pip install remsol
Building from source#
To build from source, you need to have Rust installed on your system. You can install Rust by following the instructions on the Rust website.
It also reccomended to install the UV python packge for easily managing the build process and its dependencies.
Once both are installed, you can clone the repository and build the package using uv with:
uv build
this will create a .tar.gz
and a .whl
file in the dist
directory.
You can then use pip install <name-of-your-whl-file>.whl
to install the package in yout main python or a dedicated virtual environment.
Note
Alternatively, you can use uv to automatically create a python virtuan environment with the package already installed. This is done by running uv sync
in the root of the repository.
This will create a virtual environment in the .venv
directory and install the package in it.
At this point, you can use the environment (after activation) to direcly run python scripts or jupyter notebooks.
Alternatively, you can use the uv run
command to run a python script in the virtual environment without activating it.
Contributing#
Contributions are welcome. Plase feel free to open an issue or a pull request on the GitHub repository.