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 v1.19.0
For updates, subscribe to BornAgain-announcements.

Open source

BornAgain is an open-source project maintained on GitHub.

Cross platform

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

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.

Graphical user interface and Python API

Convenient graphical user interface to define a sample in drag-and-drop style. Possibility to export sample description and simulation settings to Python script and continue the work gui-less.