BornAgain

Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering.

Its name, BornAgain, alludes to the central role of the distorted-wave Born approximation in the physical description of the scattering process. The software provides a generic framework for modeling multilayer samples with smooth or rough interfaces and with various types of embedded nanoparticles.

Currently v23.0.
For updates, subscribe to BornAgain-announcements.

github logo

Open source

BornAgain is an open-source project maintained on Jugit, the GitLab server of Forschungszentrum Jülich.

multiplatform: Windows, MacOS and Linux logos

Cross platform

Multi-platform framework available in Windows, MacOS and Linux.

console logo

C++, Python and GUI

Written in C++, provided with Python bindings and standalone graphical user interface.

Simulates scattering from embedded nano-structures

X-rays, non-polarized and polarized neutrons, arbitrary number of layers, rough interfaces, simple and composite particles, correlated positions, magnetic materials.


Object-oriented approach for experiment description

Sample structure, beam and detector are defined via building blocks, which are combined by the user into a hierarchical tree of objects representing a simulation.

High level of flexibility and possibility to extend physical models following user requests.

Python API

Simulations are steered through Python scripts. Examples show how to visualize results, and how to refine model parameters to fit experimental data.