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