GenX is a versatile program using the differential evolution algorithm for fitting, primarily, X-ray and neutron reflectivity data, lately also surface x-ray diffraction data. The differential evolution algorithm is a robust optimization method which avoids local minima but at same is a highly effective. GenX is written in python and uses the wxpython package for the Graphical User Interface (GUI) Screenshot. A model to fit is defined either through a GUI plug-in or via a python script. The possibility to script everything makes it easy to develop completely new fitting model. Clearly, GenX is extremely modular, making it possible to extend the program with models and plug-ins for most fitting problems.
At the present GenX is shipped with models for x-ray and neutron specular reflectivity, off-specular x-ray reflectivity and surface x-ray diffraction. A detailed description, of a older version, has been published in https://www.iucr.org/cgi-bin/paper?aj5091 .
Feedback and Help: You can find a manual with examples at https://aglavic.github.io/genx/doc/, for reflectometry a good start is with the SimpleReflectivity guide https://aglavic.github.io/genx/doc/tutorials/simple_reflectivity.html and our Tutorial Videos https://aglavic.github.io/genx/doc/tutorials/neutron_fit.html.
Naturally a program does not become better if I do not get feedback from you! If you found a bug or want to have something included in the program submit a ticket on SourceForge at https://sourceforge.net/p/genx/tickets/ .