Functionality overview

This section provides a bird’s-eye view of the functionality provided by BornAgain.

Operation modes

  • Fitting of simulations to measured data
  • Interactions via Python scripts or graphical user interface (GUI)

Instrument models

Experiment types

  • Specular reflectometry
  • Off-specular scattering
  • Grazing-incidence small-angel scattering (GISAS)
  • Small-angel scattering (SAS)


  • Polarized or unpolarized neutrons
  • X-rays
  • Divergence of the beam (wavelength, incident angles) according to different distributions

Beam with angular divergence


  • Spherical detectors, defined by their angular range
  • Rectangular detectors, defined by their size and relative position to the sample
  • Optional polarization analysis


  • Background of constant intensity
  • Poisson noise

Sample Models


  • Multilayers with arbitrary number of layers
  • Optional roughness of layer interfaces
  • Correlation between different interface roughness profiles
  • Magnetic materials

Multilayered structure with roughness


  • Library of basic shapes of particles (form factors)
  • Particles with inner structures
  • Possibility to assemble complex particle shapes from the basic ones
  • Size distribution of particles (polydispersity)

Selection of available shapes: basic shapes, combinations of particles, core-shell particles and polydisperse particles

Positions of particles

In BornAgain, the in-plane and out-of-plane positions of particles are decoupled. Out-of-pane positions are set by the user to a specific value for each particle, while the correlation between the in-plane positions is encoded by an interference function.

  • Out-of-plane: particles at specific depth in layers or on top.

Deposited or embedded layers of particles

  • In-plane correlations
    • Fully disordered systems
    • Short-range order (paracrystals)
    • Two- and one-dimensional lattices

Examples of in-plane distributions of particles: disordered and 2D lattice