OPOSSUM v0.3.0 released

The developers are happy to announce the release v0.3.0 of the optic design / simulation software OPOSSUM. While the software is still in an early design / development phase and not really usable in daily work, many new features have been added. This work is part of the task 3.4 (“Supporting calculations for system design”) within the THRILL project.

1          Basic ray tracing

The foundation for ray-tracing calculations has been added. Rays can be defined in a very flexible way with individual wavelengths and energies. Support for polarization (Jones matrices) is also prepared. Rays can be grouped in ray bundles with various distribution functions (hexapolar, random, sobol sampling).

For a first demonstration, a simple free-space propagation node and a paraxial (ideal) lens have been added. For diagnostic, a spot diagram node has been implemented.

2          Node apertures

Each input and output port of an optical node now has an aperture for beam apodization defined. Various aperture types such a rectangular / circular holes or obstructions are implemented. Furthermore, Gaussian apodization is available and a set of apertures can be stacked in order form complex apodization shapes.

3          Analysis report

OPOSSUM now generates analysis reports in JSON format as well as a nice PDF report:

The example report shows the analysis of an optical system consisting of a “main beamline” and a “diagnostic path” including an energy filter and a very simple simulated camera system (CamBox) modeled as an optical group node.

4          Bug fixes and improved test suite

Besides above mentioned features, a lot of work went into quality improvements of the code base as well as a vastly extended test suite. OPOSSUM now contains more than 300 test cases with a code coverage of over 90%. In addition, more than 40 reported issues have been fixed in this release.

For the next release, we will concentrate on the development of the framework for easy integration of external code. As a first candidate, we will integrate an “SHG node” containing Python code which has been developed in our group.

For more information, visit thrill-project.eu/opossum

Text: Udo Eisenbarth

Subscribe to our newsletter

For regular updates on THRILL, sign up for our newsletter.