Welcome to GenX’s documentation!

GenX is a tool to refine x-ray, neutron reflectivity as well as surface x-ray diffraction data written in Python. The refinement is conducted with an optimization algorithm called differential evolution which is very robust. The refelctivity model in GenX is build using a graphical plugin but can be highly customized in a script.

The documentation is based on tutorials as well as more in depth description of the program. Below you can find the table of contents. It is recommended, for the beginner, to start with the tutorials.

I hope I will get help from users to update and correct the manuals and tutorials I add here. If you find some errors or something that is missing please let me know! If you miss a page please contact me and we can discuss if and where it should be added.

Support is given through the issue tracker on Source Forge or through e-mail to artur.glavic@psi.ch.


The documentation is not updated as frequently as the software so some variation in functionality might exist. Please report these via the issue tracker.

You just want to do simple reflectometry fits and don’t care to read a large documentation, just jump to Simple Reflectivity Model (XRR/NR), Neutron reflectivity video tutorials or load one of the example GenX models.