MLZ is a cooperation between:
GISAXS data analysis with BornAgain
Céline Durniak*, Jonathan Fisher, Marina Ganeva, Gennady Pospelov, Walter Van Herck, Joachim Wuttke
Jülich Centre for Neutron Science (JCNS) at Heinz Maier-Leibnitz Zentrum (MLZ), Forschungszentrum Jülich GmbH, Garching, Germany
*Now at: DMSC filial of European Spallation Source ESS AB, Copenhagen, Denmark
Outline
l Theoretical background
l Introduction to BornAgain
l Working with BornAgain I: Graphical User Interface
l Working with BornAgain II: Python API
l Fitting
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 2
Theoretical background
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 3
Born Approximation DWBA
• considers only incident and outgoing wave
• multiple scattering is ignored
• the differential cross section
J accounts for reflection-refraction effects close to the critical angle
J equations for the layer structure solved exactly
J surface structure is treated as a small perturbation
The form factor
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 4
Born DWBA The Born form factor is the Fourier transform of the shape of the particle
Example: spherical particle of radius R
DWBA: interference between particles
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 5
The expectation value of the differential cross section is
where
Cylinder form factor Interference function Cylinder form factor with interference function
Approximations for polydisperse structures
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 6
Decoupling approximation (DA) è No correlation between type and interparticle distances
Local Monodisperse Approximation (LMA) è Incoherent superposition of different domains, each with their own type and interference function
dσdΩ
q( ) = Id q( )+ S q( ) ⋅ Fα q( )α
2
dσdΩ
q( ) = Sα q( ) ⋅ Fα q( )2
α
Size-Space Correlation Approximation (SSCA) è Interparticle distance depends on sizes of the two particles considered
Interface roughness: parameters
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 7
Roughness of the interface is described by: • RMS roughness σ • Hurst parameter H • Lateral correlation length Lc
Additionally for multilayer: • Cross-correlation length Lh
uncorrelated correlated
Lh = 0 Lh >> h
DWBA limitations: gratings
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 8
V. Soltwisch et. al., arXiv:1509.02003v2
V. Soltwisch et. al., GISAS 2015 abstract booklet
References
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 9
Theoretical background
l BornAgain User Manual, 2016, http://bornagainproject.org/documentation
l Gilles Renaud et. al., Surf. Sci. Rep. 64, 255 (2009)
l Rémi Lazzari, J. Appl. Cryst. 35, 406-421 (2002)
Interface roughness
l V. Holý and T. Baumbach, Phys. Rev. B 49, 10668 (1994)
l Sinha, et al., Phys. Rev. B 38, 2297 (1988)
Books
l Jens Als-Nielsen and Des McMorrow “Elements of modern x-ray physics”
l Martin Schmidbauer “Diffuse Scattering from Self-Organized Mesoscopic Semiconductor Structures”
l Ezquerra, T.A., et al. (Eds.), “Applications of Synchrotron Light to Scattering and Diffraction in Materials and Life Sciences”
BornAgain framework l Open-source multi-platform software project developed by scientific computing
group of MLZ (Garching, Germany) l Simulation of grazing-incidence small-angle scattering for X-rays and neutrons l Physics model is based on the Distorted Wave Born Approximation (DWBA) l Development started in April, 2012. l Project website http://bornagainproject.org
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 10
Functionality overview
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 11
l Fit of the experimental data l Graphical user interface l Different shapes of nanoparticles l Size distributions (polydispersity) l Nanoparticle assemblies l Multilayer systems l Different interference functions
l Polarized neutrons l 2 types of detectors l Detector resolution l Beam divergence
BornAgain: how to start
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 12
Introduction bornagainproject.org
Introduction bornagainproject.org
Introduction bornagainproject.org
Demo: BornAgain GUI define a sample
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 16
Available form factors
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 17
Complex shapes
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 18
Core shell particles Particles with size distribution With possibility to link parameters
Particle compositions collection of particles with fixed inter-particle distance coherent interference
All can be rotated
Very large particles
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 19
Large particles gives rise to a problem, known in communication theory as aliasing: Rapidly oscillating signal measured at fixed points shows up as slow sinusoid
In GISAS simulation Rapidly oscillating form factor of large particles leads to a significant variation of intensity over the detector bin. dx
dy
Very large particles
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 20
analytical calculations Monte-Carlo integration
Small cylinders height = 10 nm radius = 20 nm
Large cylinders height = 1000 nm radius = 2000 nm
Interference functions
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 21
o 1D lattice o Radial paracrystal
a b
o 2D lattice o 2D paracrystal
Demo: BornAgain GUI set up the instrument
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 22
GISAXS Instrument: Beam Parameters
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 23
l beam is defined via wavelength and incidence angles
l it is possible to define beam divergence
beam divergence OFF beam divergence ON
GISAXS Instrument: Detector
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 24
BornAgain supports two kinds of detectors: Spherical detector Rectangular detector
Detectors are defined by the number of bins and the accessible range
Specular and Off-specular geometry
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 25
specular geometry
off-specular geometry
Demo: BornAgain Python API
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 26
Software validation
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 27
l Validation against IsGISAXS
l Self validation
In process
l Validation against experimental data
Planned
l We agreed with HipGisaxs team upon cross-validation of our packages (& possibly others)
Validation against IsGISAXS
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 28
BornAgain results mostly coincide with IsGisaxs on numerical level
Self Validation
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 29
Part of new BornAgain’s functionality can be validated via BornAgain itself o Rotation machinery example o Particle compositions example
o Create box (30,20,6) o RotateY by 90 degrees o Compare with non-rotated box
(6,20,30) o Scattering intensities should be
identical
o Create particle composition from two hemi spheres
o Assign same material to them o Compare with normal full sphere, same
material, same radius o Scattering intensities should be identical
Demo: Fitting of experimental data
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 30
Fitting in BornAgain
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 31
BornAgain
Fitting in BornAgain: main features (1)
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 32
o Variety of minimization algorithms
o Possibility to fit every sample parameter or their combination
o Various fit strategies (e.g. fix/release
parameters)
FitParameter(“par1”, 8.0*nm, limited(5.0, 15.0))
radius = fun1(par1); lattice_length = fun2(par1)
Fitting in BornAgain: main features (2)
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 33
o Organizing different minimization algorithms into the chain o Genetic minimizer explores large parameter space, Levenberg-Marquardt finalize location of
minima o Simultaneous fit of multiple datasets
o Two or more experimental images obtained for different incident angles can be fitted with one sample model
o Fitting along slices, masking certain areas of the detector image
o Fitting along slices
Fitting problems
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 34
Why?
1e+05 CPU seconds later … Minimizer: “J”
fitting
Fitting problems
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 35
Possible reasons
l An unreliable sample model
l Large correlations between parameters
l Very different scales of parameters involved in the calculation
l Too many fit parameters
l Multiple local minima
Fitting problems: multiple local minima
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 36
Fitting problems: multiple local minima
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 37
There you are!
Fitting problems
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 38
Possible reasons
l An unreliable sample model
l Large correlations between parameters
l Very different scales of parameters involved in the calculation
l Too many fit parameters
l Multiple local minima
Troubleshooting
l Choose a small number of free fitting parameters
l Eliminate redundant parameters
l Provide a good initial guess for the fit parameters
Announcement
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 39
1st BornAgain School and User Meeting
(a satellite of the GISAXS2016 workshop)
which will take place on 21-22 November 2016 at Heinz Maier-Leibnitz-Zentrum in Garching (near Munich), Germany.
Registration at https://webapps.frm2.tum.de/indico/event/34/ More information at http://bornagainproject.org
Thank you for your attention!
15/06/16 M. Ganeva, GISAXS Tutorial, ALBA SR-ALD workshop 40
Contact:
http://bornagainproject.org