Abstract

anaklasis constitutes a set of open-source Python scripts that facilitate a range of specular neutron and X-ray reflectivity calculations, involving the generation of theoretical curves and the comparison/fitting of interfacial model reflectivity against experimental data sets. The primary focus of the software is twofold: on one hand to offer a more natural framework for model definition, requiring minimum coding literacy, and on the other hand to include advanced analysis methods that have been proposed in recent work. Particular attention is given to the ability to co-refine reflectivity data and to the estimation of model-parameter uncertainty and covariance using bootstrap analysis and Markov chain Monte Carlo sampling. The compactness and simplicity of model definition together with the streamlined analysis do not present a steep learning curve for the user, an aspect that may accelerate the generation of reproducible, easily readable and statistically accurate reports in future neutron and X-ray reflectivity related literature.

Highlights

  • Specular neutron and X-ray reflectometry (NR and XRR) are established experimental techniques for the investigation of the structure of interfaces at the sub-nanometre scale (Penfold & Thomas, 1990; Daillant & Gibaud, 2008; Born & Wolf, 2019; Heavens, 1955)

  • When the system under study is simple and may be approximated by a succession of a few uniform layers, the use of graphical user interface (GUI)-based programs provides a convenient way of fitting experimental results

  • When an interfacial model that is based on intuition or previous knowledge about the system needs to incorporate analytical expressions and constraints between model parameters, GUI programs tend to be restrictive

Read more

Summary

Introduction

Specular neutron and X-ray reflectometry (NR and XRR) are established experimental techniques for the investigation of the structure of interfaces at the sub-nanometre scale (Penfold & Thomas, 1990; Daillant & Gibaud, 2008; Born & Wolf, 2019; Heavens, 1955). (Essentially, the only 2 of 10 Alexandros Koutsioubas anaklasis coding skill that is required concerns the definition and basic manipulation of lists in Python.) The main novelty is the ability to define layer features (sld, thickness, roughness etc.) directly as symbolic mathematical expressions involving parameters. This aspect extends to the definition of constraints between parameters in the form of inequalities. Anaklasis includes the following key features: (1) Compact and flexible model definition, based on the creation of Python lists that contain layer data as numerical values and/or as SymPy (Meurer et al, 2017) symbolic expressions that involve parameters. Parameters as lists in a simple Python script and by passing them as arguments to the desired function

Model definition
Data-refinement-related definitions
Types of experimental data sets
Minimization and parameter uncertainty estimation
Reflectivity calculation and refinement examples
Two simple layers
Nanoparticle islands on a substrate
Polymer brush refinement
Refinement of lipid bilayer in three-solvent contrasts
Polarized neutron reflectivity refinement
Discussion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call