Functionality overview

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

Instrument models

Simulation types
  • Specular reflectometry
  • Off-specular scattering
  • Grazing-incidence small-angle scattering (GISAS)
  • Small-angle scattering (SAS)
  • Depth probe (wave intensity as a function of depth in the sample)
Beam
  • Neutrons (polarized or unpolarized) or X-rays
  • Angular, wavelength, and $q_z$ scans with optional resolution
  • Wavelength spread and angular beam divergence according to different distributions
  • Beam footprint correction

Beam with angular divergence

Detector
  • Two-dimensional detectors defined in angular coordinates
  • Off-specular detectors with integration over the azimuthal angle
  • Optional masks for two-dimensional detectors
  • Optional polarization analysis
Background/noise
  • Background of constant intensity
  • Poisson counting noise
  • User-defined, coordinate-dependent backgrounds

Sample models

Multilayers
  • Multilayers with an arbitrary number of layers
  • Rough layer interfaces with optional cross-correlations
  • Magnetic materials

Multilayered structure with roughness

Particles
  • Library of basic particle shapes (form factors)
  • Core-shell particles and mesocrystals
  • Composite particles assembled from basic shapes
  • Probabilistic mixtures of particle types, for example to model size distributions (polydispersity)

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

Particle structures

In 2D structures, particle depths and in-plane correlations are specified separately.

  • 2D structures: particles at specified depths, possibly crossing interfaces

Deposited or embedded layers of particles

  • In-plane correlations of 2D structures
    • Disordered systems, dilute or dense
    • Short-range order: 1D and 2D paracrystals
    • Long-range order: 1D and 2D crystal lattices, including finite 2D lattices
  • 3D structures: particles randomly dispersed within a layer, without crossing its interfaces

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

Fitting

  • Fits with standard Python optimization packages
  • User-defined residual functions
  • Simultaneous fitting of multiple datasets
  • Live plots and textual fit monitoring