Installation¶
Dependencies¶
strapy is a python package, and a CPython 3 interpreter must be installed
before it can be used. For installation guidance for python see the python
documentation (on Windows, or
Unix systems).
strapy uses numpy and scipy for matrix mathematics, sympy for symbolic
mathematics and pyctmm for transfer matrix modelling. If strapy is installed
with pip with the exception of pyctmm these dependencies will be installed
automatically. pyctmm must be installed before strapy, refer to the
ctmm/pyctmm documentation for installation instructions.
Installation from source¶
Once pyctmm has been installed, from a terminal open in the strapy root
folder:
pip install .
Testing¶
Once strapy is installed, to test from the strapy root directory run:
cd test
python -m unittest
Tests are provided for all optical components with the exception of
strapy.components.Dump. Components are tested against physical scenarios with
known solutions. Although the python unittest framework is used, these tests are
not true unit tests, as all tests contain multiple components. The aim is to test
that the implemented physics is correct, with the hope that bugs in the software
will also manifest themselves as incorrect physical results.